[INIT] Initial Project Structure
Some checks failed
Deploy Edge / deploy-edge (push) Failing after 2s
S3 Repo Backup / s3-repo-backup (push) Failing after 2s

This commit is contained in:
Dunemask 2024-08-24 12:41:04 -06:00
commit 0fc5f05b6a
105 changed files with 10448 additions and 0 deletions

15
lib/vix/AppGuards.ts Normal file
View 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`);
}