[INIT] Initial Project Structure
This commit is contained in:
commit
0fc5f05b6a
105 changed files with 10448 additions and 0 deletions
15
lib/vix/AppGuards.ts
Normal file
15
lib/vix/AppGuards.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
import { IAMResource, ManagementResource } from "./AppResources";
|
||||
import { Policy, PolicyType } from "./AppPolicies";
|
||||
|
||||
function appPolicies(...userPolicies: PolicyType[] | PolicyType[][]) {
|
||||
const policies = userPolicies.length === 1 && Array.isArray(userPolicies[0]) ? userPolicies[0] : (userPolicies as PolicyType[]);
|
||||
const requiredPolicies = Policy.parseResourcePolicies(policies);
|
||||
return requiredPolicies;
|
||||
}
|
||||
|
||||
export default class AppGuard {
|
||||
static IAMRoot = appPolicies(`${IAMResource.Root}.root`);
|
||||
static IAMAuthenticated = appPolicies(Object.values(IAMResource).map((iam) => `${iam}.root`) as PolicyType[]);
|
||||
static ManageProjects = appPolicies(`${ManagementResource.ManageProject}.*`);
|
||||
static CreateProjects = appPolicies(`${ManagementResource.ManageProject}.create`);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue