mirror of
https://github.com/jambonz/jambonz-api-server.git
synced 2025-12-19 05:47:46 +00:00
* https://github.com/jambonz/jambonz-api-server/issues/371 Implemented view_only permission feature * calling prepare-permissions in create-test-db.js * check if there is only 1 permission and if it is VIEW_ONLY then consider user as read-only user * setting is_view_only flag for view user by userid
54 lines
1.1 KiB
JavaScript
54 lines
1.1 KiB
JavaScript
const Model = require('./model');
|
|
const {promisePool} = require('../db');
|
|
const sqlAll = `
|
|
SELECT * from user_permissions
|
|
`;
|
|
const sqlByUserIdPermissionSid = `
|
|
SELECT * from user_permissions where user_sid = ? and permission_sid = ?
|
|
`;
|
|
const sqlByUserId = `
|
|
SELECT * from user_permissions where user_sid = ?
|
|
`;
|
|
|
|
class UserPermissions extends Model {
|
|
constructor() {
|
|
super();
|
|
}
|
|
|
|
static async retrieveAll() {
|
|
const [rows] = await promisePool.query(sqlAll);
|
|
return rows;
|
|
}
|
|
|
|
static async retrieveByUserIdPermissionSid(user_sid, permission_sid) {
|
|
const [rows] = await promisePool.query(sqlByUserIdPermissionSid, [user_sid, permission_sid]);
|
|
return rows;
|
|
}
|
|
static async retrieveByUserId(user_sid) {
|
|
const [rows] = await promisePool.query(sqlByUserId, [user_sid]);
|
|
return rows;
|
|
}
|
|
|
|
}
|
|
|
|
UserPermissions.table = 'user_permissions';
|
|
UserPermissions.fields = [
|
|
{
|
|
name: 'user_permissions_sid',
|
|
type: 'string',
|
|
primaryKey: true
|
|
},
|
|
{
|
|
name: 'user_sid',
|
|
type: 'string',
|
|
required: true
|
|
},
|
|
{
|
|
name: 'permission_sid',
|
|
type: 'string',
|
|
required: true
|
|
}
|
|
];
|
|
|
|
module.exports = UserPermissions;
|