Changeset View
Changeset View
Standalone View
Standalone View
lib/app/base-chips/access-strategy-types/super.js
"use strict"; | |||||
const locreq = require("locreq")(__dirname); | |||||
const Promise = require("bluebird"); | const Promise = require("bluebird"); | ||||
const Query = require("../../../datastore/query.js"); | const Query = require("../../../datastore/query.js"); | ||||
const Super = { | const Super = { | ||||
name: "super", | name: "super", | ||||
getRestrictingQuery: async function(context) { | async getRestrictingQuery(context) { | ||||
if (context.is_super) { | if (context.is_super) { | ||||
return new Query.AllowAll(); | return new Query.AllowAll(); | ||||
} | } | ||||
return new Query.DenyAll(); | return new Query.DenyAll(); | ||||
}, | }, | ||||
checker_function: function(context) { | checker_function(context) { | ||||
if (context.is_super) { | if (context.is_super) { | ||||
return Promise.resolve(); | return Promise.resolve(); | ||||
} else { | } | ||||
return Promise.reject( | return Promise.reject( | ||||
"This action cannot be performed by a regular user, but only by the server itself." | "This action cannot be performed by a regular user, but only by the server itself." | ||||
); | ); | ||||
} | |||||
}, | }, | ||||
item_sensitive: true, | item_sensitive: true, | ||||
}; | }; | ||||
module.exports = Super; | module.exports = Super; |