Skip to content

Commit

Permalink
feat(assetGroups): add assetGroups roles
Browse files Browse the repository at this point in the history
  • Loading branch information
sebtiz13 committed Aug 14, 2023
1 parent 36a4575 commit b9d0fae
Show file tree
Hide file tree
Showing 5 changed files with 84 additions and 0 deletions.
7 changes: 7 additions & 0 deletions lib/modules/asset/AssetModule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import { AssetService } from "./AssetService";
import { AssetsGroupsController } from "./AssetsGroupsController";
import { RoleAssetsAdmin } from "./roles/RoleAssetsAdmin";
import { RoleAssetsReader } from "./roles/RoleAssetsReader";
import { RoleAssetsGroupsAdmin } from "./roles/RoleAssetsGroupsAdmin";
import { RoleAssetsGroupsReader } from "./roles/RoleAssetsGroupsReader";

export class AssetModule extends Module {
private assetService: AssetService;
Expand All @@ -28,5 +30,10 @@ export class AssetModule extends Module {
RoleAssetsAdmin.definition;
this.plugin.imports.roles[RoleAssetsReader.name] =
RoleAssetsReader.definition;

this.plugin.imports.roles[RoleAssetsGroupsAdmin.name] =
RoleAssetsGroupsAdmin.definition;
this.plugin.imports.roles[RoleAssetsGroupsReader.name] =
RoleAssetsGroupsReader.definition;
}
}
2 changes: 2 additions & 0 deletions lib/modules/asset/exports.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,7 @@ export * from "./types/AssetGroupContent";
export * from "./types/AssetGroupsApi";
export * from "./roles/RoleAssetsAdmin";
export * from "./roles/RoleAssetsReader";
export * from "./roles/RoleAssetsGroupsAdmin";
export * from "./roles/RoleAssetsGroupsReader";
export * from "./collections/assetsMappings";
export * from "./collections/assetsHistoryMappings";
2 changes: 2 additions & 0 deletions lib/modules/asset/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ export * from "./model/AssetSerializer";
export * from "./AssetModule";
export * from "./roles/RoleAssetsAdmin";
export * from "./roles/RoleAssetsReader";
export * from "./roles/RoleAssetsGroupsAdmin";
export * from "./roles/RoleAssetsGroupsReader";
36 changes: 36 additions & 0 deletions lib/modules/asset/roles/RoleAssetsGroupsAdmin.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import { KuzzleRole } from "../../shared/types/KuzzleRole";

/**
* This role allows to manage assets and their models.
*
* It's a tenant role.
*
* @example
*
"device-manager/assets": {
actions: {
"*": true,
},
},
"device-manager/models": {
actions: {
deleteAsset: true,
listAssets: true,
getAsset: true,
writeAsset: true,
listMeasures: true,
},
},
*/
export const RoleAssetsGroupsAdmin: KuzzleRole = {
name: "assetsGroup.admin",
definition: {
controllers: {
"device-manager/assetsGroup": {
actions: {
"*": true,
},
},
},
},
};
37 changes: 37 additions & 0 deletions lib/modules/asset/roles/RoleAssetsGroupsReader.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import { KuzzleRole } from "../../shared/types/KuzzleRole";

/**
* This role allows to manage assets and their models.
*
* It's a tenant role.
*
* @example
*
"device-manager/assets": {
actions: {
"*": true,
},
},
"device-manager/models": {
actions: {
deleteAsset: true,
listAssets: true,
getAsset: true,
writeAsset: true,
listMeasures: true,
},
},
*/
export const RoleAssetsGroupsReader: KuzzleRole = {
name: "assetsGroup.reader",
definition: {
controllers: {
"device-manager/assetsGroup": {
actions: {
get: true,
search: true,
},
},
},
},
};

0 comments on commit b9d0fae

Please sign in to comment.