#4 - add support for sharing pages publicly, without login

This commit is contained in:
2021-03-04 11:26:14 -06:00
parent 2f3d94adf3
commit 82605bb697
8 changed files with 139 additions and 15 deletions

View File

@@ -12,10 +12,18 @@ class PublicUserPermissionModel extends Model {
}
static async can(permission) {
const permission_parts = permission.split(':');
const permission_parts = permission.split(':')
const permission_checks = []
const current_check = []
for ( const part of permission_parts ) {
current_check.push(part)
permission_checks.push(current_check.join(':'))
}
const match = await this.findOne({
permission: {
$in: permission_parts
$in: permission_checks
}
})

View File

@@ -76,6 +76,14 @@ class User extends AuthUser {
is_public_user() {
return false
}
async can(permission) {
if ( super.can(permission) ) return true
const PublicUserPermission = this.models.get('auth:PublicUserPermission')
return await PublicUserPermission.can(permission)
}
}
module.exports = exports = User