@forestadmin/forestadmin-client
Version:
This package contains the logic to use the ForestAdmin API inside an agent.
29 lines • 2.67 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const USER_VALUE_PREFIX = 'currentUser.';
const USER_VALUE_TAG_PREFIX = 'currentUser.tags.';
const USER_VALUE_TEAM_PREFIX = 'currentUser.team.';
class ContextVariables {
constructor({ requestContextVariables = {}, team, user, }) {
this.requestContextVariables = requestContextVariables;
this.team = team;
this.user = user;
}
getCurrentUserData(contextVariableKey) {
if (contextVariableKey.startsWith(USER_VALUE_TEAM_PREFIX)) {
return this.team[contextVariableKey.substring(USER_VALUE_TEAM_PREFIX.length)];
}
if (contextVariableKey.startsWith(USER_VALUE_TAG_PREFIX)) {
return this.user?.tags?.[contextVariableKey.substring(USER_VALUE_TAG_PREFIX.length)];
}
return this.user?.[contextVariableKey.substring(USER_VALUE_PREFIX.length)];
}
getValue(contextVariableKey) {
if (contextVariableKey.startsWith(USER_VALUE_PREFIX)) {
return this.getCurrentUserData(contextVariableKey);
}
return this.requestContextVariables[contextVariableKey];
}
}
exports.default = ContextVariables;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC12YXJpYWJsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29udGV4dC12YXJpYWJsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztBQUN6QyxNQUFNLHFCQUFxQixHQUFHLG1CQUFtQixDQUFDO0FBQ2xELE1BQU0sc0JBQXNCLEdBQUcsbUJBQW1CLENBQUM7QUFFbkQsTUFBcUIsZ0JBQWdCO0lBS25DLFlBQVksRUFDVix1QkFBdUIsR0FBRyxFQUFFLEVBQzVCLElBQUksRUFDSixJQUFJLEdBS0w7UUFDQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVPLGtCQUFrQixDQUFDLGtCQUEwQjtRQUNuRCxJQUFJLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO1lBQ3pELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUMvRTtRQUVELElBQUksa0JBQWtCLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7WUFDeEQsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ3RGO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsa0JBQWtCLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVNLFFBQVEsQ0FBQyxrQkFBMEI7UUFDeEMsSUFBSSxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUNwRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMxRCxDQUFDO0NBQ0Y7QUF0Q0QsbUNBc0NDIn0=
;