Skip to content

Commit 9b77358

Browse files
committed
Add crud cashing of roles
1 parent 6f1fdda commit 9b77358

2 files changed

Lines changed: 2 additions & 4 deletions

File tree

OpenFlow/src/Config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ export class Config {
160160

161161
public static expected_max_roles: number = parseInt(Config.getEnv("expected_max_roles", "4000"));
162162
public static decorate_roles_fetching_all_roles = Config.parseBoolean(Config.getEnv("decorate_roles_fetching_all_roles", "true"));
163+
public static roles_cached_in_seconds: number = parseInt(Config.getEnv("roles_cached_in_seconds", "300"));
163164
public static max_recursive_group_depth: number = parseInt(Config.getEnv("max_recursive_group_depth", "3"));
164165
public static update_acl_based_on_groups: boolean = Config.parseBoolean(Config.getEnv("update_acl_based_on_groups", "false"));
165166
public static multi_tenant: boolean = Config.parseBoolean(Config.getEnv("multi_tenant", "false"));

OpenFlow/src/DBHelper.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,17 +69,15 @@ export class DBHelper {
6969
public static cached_at: Date = new Date();
7070
public static async DecorateWithRoles(user: User): Promise<void> {
7171
if (!Config.decorate_roles_fetching_all_roles) {
72-
console.log("DecorateWithRoles::begin - multiple queries");
7372
const roles: Role[] = await this.GetRoles(user._id, 0);
7473
user.roles = [];
7574
roles.forEach(role => {
7675
user.roles.push(new Rolemember(role.name, role._id));
7776
});
7877
} else {
79-
console.log("DecorateWithRoles::begin - load all roles at once");
8078
var end: number = new Date().getTime();
8179
var seconds = Math.round((end - this.cached_at.getTime()) / 1000);
82-
if (seconds > 60) {
80+
if (seconds > Config.roles_cached_in_seconds || Config.roles_cached_in_seconds <= 0) {
8381
this.cached_roles = [];
8482
}
8583
if (this.cached_roles.length == 0) {
@@ -115,7 +113,6 @@ export class DBHelper {
115113
});
116114
}
117115
}
118-
console.log("DecorateWithRoles::end");
119116
}
120117
public static async FindRoleByName(name: string): Promise<Role> {
121118
const items: Role[] = await Config.db.query<Role>({ name: name }, null, 1, 0, null, "users", Crypt.rootToken());

0 commit comments

Comments
 (0)