js: Move storePermission to C.
This commit is contained in:
48
core/core.js
48
core/core.js
@ -387,9 +387,9 @@ async function getProcessBlob(blobId, key, options) {
|
||||
} else if (process.app) {
|
||||
return process.app
|
||||
.makeFunction(['requestPermission'])(permission)
|
||||
.then(function (value) {
|
||||
.then(async function (value) {
|
||||
if (value == 'allow') {
|
||||
storePermission(
|
||||
await ssb.setUserPermission(
|
||||
user,
|
||||
options.packageOwner,
|
||||
options.packageName,
|
||||
@ -401,7 +401,7 @@ async function getProcessBlob(blobId, key, options) {
|
||||
} else if (value == 'allow once') {
|
||||
return true;
|
||||
} else if (value == 'deny') {
|
||||
storePermission(
|
||||
await ssb.setUserPermission(
|
||||
user,
|
||||
options.packageOwner,
|
||||
options.packageName,
|
||||
@ -748,7 +748,7 @@ async function getProcessBlob(blobId, key, options) {
|
||||
};
|
||||
process.resetPermission = async function resetPermission(permission) {
|
||||
let user = process?.credentials?.session?.name;
|
||||
storePermission(
|
||||
await ssb.setUserPermission(
|
||||
user,
|
||||
options?.packageOwner,
|
||||
options?.packageName,
|
||||
@ -1245,44 +1245,4 @@ loadSettings()
|
||||
exit(1);
|
||||
});
|
||||
|
||||
/**
|
||||
* TODOC
|
||||
* @param {*} user
|
||||
* @param {*} packageOwner
|
||||
* @param {*} packageName
|
||||
* @param {*} permission
|
||||
* @param {*} allow
|
||||
*/
|
||||
async function storePermission(user, packageOwner, packageName, permission, allow) {
|
||||
let settings = await loadSettings();
|
||||
if (!settings.userPermissions) {
|
||||
settings.userPermissions = {};
|
||||
}
|
||||
if (!settings.userPermissions[user]) {
|
||||
settings.userPermissions[user] = {};
|
||||
}
|
||||
if (!settings.userPermissions[user][packageOwner]) {
|
||||
settings.userPermissions[user][packageOwner] = {};
|
||||
}
|
||||
if (!settings.userPermissions[user][packageOwner][packageName]) {
|
||||
settings.userPermissions[user][packageOwner][packageName] = {};
|
||||
}
|
||||
if (
|
||||
settings.userPermissions[user][packageOwner][packageName][
|
||||
permission
|
||||
] !== allow
|
||||
) {
|
||||
if (allow === undefined) {
|
||||
delete settings.userPermissions[user][packageOwner][packageName][
|
||||
permission
|
||||
];
|
||||
} else {
|
||||
settings.userPermissions[user][packageOwner][packageName][
|
||||
permission
|
||||
] = allow;
|
||||
}
|
||||
return setGlobalSettings(settings);
|
||||
}
|
||||
}
|
||||
|
||||
export {invoke, getProcessBlob};
|
||||
|
Reference in New Issue
Block a user