Name
sn_entitlement.UserDao
Description
No description available
Script
/**
* Data access functions that return a single or many userIds (sys_user.sys_id)
*/
var UserDao = Class.create();
UserDao.prototype = {
initialize: function() {},
/**
* Retrieves the sys_user.sys_id values for all active users
*
* @returns {array} An array of sys_user.sys_id values
*/
getUserIdsByActive: function() {
const gr = new GlideRecord('sys_user');
gr.addQuery('active', true);
gr.query();
let ids = [];
while (gr.next())
ids.push(gr.getUniqueValue());
return ids;
},
/**
* Checks to see if the user is active and returns a boolean indicating if it is or not
*
* @param {guid} userId the sys_user.sys_id to check
* @returns {bool} True if the user exists and is active
*/
getUserIdIsActive: function(userId) {
const gr = new GlideRecord('sys_user');
gr.addQuery('sys_id', userId);
gr.addQuery('active', true);
gr.query();
return gr.hasNext();
},
/**
* Retieves the sys_user.sys_id values for all active users that also have at least
* one of the roles provided.
*
* @param {array} roleIds An array of sys_user_role.sys_id values to filter users down
* @returns {array} An array of sys_user.sys_id values
*/
getUserIdsByActiveAndHasRole: function(roleIds) {
const gr = new GlideRecord('sys_user_has_role');
gr.addQuery('user.active', true);
gr.addQuery('role.sys_id', 'IN', roleIds);
gr.query();
let ids = new Set();
while (gr.next())
ids.add(String(gr.user.sys_id));
return Array.from(ids);
},
type: 'UserDao'
};
Sys ID
e4774f39ff18e110468365d7d3b8feec