chore: init platform packages (#12603)
* chore: init platform packages * fixup! chore: init platform packages * fixup! fixup! chore: init platform packages * fix: type in package.json * fixup! fixup! fixup! chore: init platform packages * fixup! fixup! fixup! fixup! chore: init platform packages * fixup! fixup! fixup! fixup! fixup! chore: init platform packages * fixup! fixup! fixup! fixup! fixup! fixup! chore: init platform packages --------- Co-authored-by: Lauris Skraucis <lauris.skraucis@gmail.com>
This commit is contained in:
parent
88b3845bb0
commit
67f4756ccb
|
@ -19,7 +19,8 @@
|
|||
"typescript": "^4.9.4",
|
||||
"vite": "^4.1.2"
|
||||
},
|
||||
"main": "./index",
|
||||
"main": "./index.ts",
|
||||
"types": "./index.ts",
|
||||
"dependencies": {
|
||||
"@calcom/ui": "*",
|
||||
"@radix-ui/react-slot": "^1.0.2",
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
export * from "./permissions";
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "@calcom/platform-constants",
|
||||
"version": "0.0.0",
|
||||
"main": "./index.ts",
|
||||
"types": "./index.ts"
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
export const EVENT_TYPE_READ = 1; // 2^0
|
||||
export const EVENT_TYPE_WRITE = 2; // 2^1
|
||||
export const BOOKING_READ = 4; // 2^2
|
||||
export const BOOKING_WRITE = 8; // 2^3
|
||||
export const SCHEDULE_READ = 16; // 2^4
|
||||
export const SCHEDULE_WRITE = 32; // 2^5
|
||||
|
||||
export const PERMISSIONS = [
|
||||
EVENT_TYPE_READ,
|
||||
EVENT_TYPE_WRITE,
|
||||
BOOKING_READ,
|
||||
BOOKING_WRITE,
|
||||
SCHEDULE_READ,
|
||||
SCHEDULE_WRITE,
|
||||
] as const;
|
||||
|
||||
export const PERMISSION_MAP = {
|
||||
EVENT_TYPE_READ,
|
||||
EVENT_TYPE_WRITE,
|
||||
BOOKING_READ,
|
||||
BOOKING_WRITE,
|
||||
SCHEDULE_READ,
|
||||
SCHEDULE_WRITE,
|
||||
} as const;
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"extends": "@calcom/tsconfig/base.json",
|
||||
"compilerOptions": {
|
||||
"target": "ES6",
|
||||
"resolveJsonModule": true
|
||||
},
|
||||
"include": ["."],
|
||||
"exclude": ["dist", "build", "node_modules"]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
export type * from "./permissions";
|
|
@ -1,6 +1,9 @@
|
|||
{
|
||||
"name": "@calcom/platform-types",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"main": "index.js"
|
||||
"main": "./index.ts",
|
||||
"types": "./index.ts",
|
||||
"dependencies": {
|
||||
"@calcom/platform-constants": "*"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
import type { PERMISSIONS } from "@calcom/platform-constants";
|
||||
|
||||
export type PLATFORM_PERMISSION = (typeof PERMISSIONS)[number];
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"extends": "@calcom/tsconfig/base.json",
|
||||
"compilerOptions": {
|
||||
"target": "ES6",
|
||||
"resolveJsonModule": true
|
||||
},
|
||||
"include": ["."],
|
||||
"exclude": ["dist", "build", "node_modules"]
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
export * from "./permissions";
|
|
@ -1,6 +1,10 @@
|
|||
{
|
||||
"name": "@calcom/platform-utils",
|
||||
"version": "0.0.0",
|
||||
"private": true,
|
||||
"main": "index.js"
|
||||
"main": "./index.ts",
|
||||
"types": "./index.ts",
|
||||
"dependencies": {
|
||||
"@calcom/platform-constants": "*",
|
||||
"@calcom/platform-types": "*"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
import type { PLATFORM_PERMISSION } from "@calcom/platform-types";
|
||||
|
||||
export const hasPermission = (userPermissions: number, permission: PLATFORM_PERMISSION): boolean => {
|
||||
// use bitwise AND to check if user has the permission
|
||||
return (userPermissions & permission) === permission;
|
||||
};
|
||||
|
||||
export const hasPermissions = (userPermissions: number, permissions: PLATFORM_PERMISSION[]): boolean => {
|
||||
// use bitwise AND to check if each required permission is present
|
||||
return permissions.every((permission) => hasPermission(userPermissions, permission));
|
||||
};
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"extends": "@calcom/tsconfig/base.json",
|
||||
"compilerOptions": {
|
||||
"target": "ES6",
|
||||
"resolveJsonModule": true
|
||||
},
|
||||
"include": ["."],
|
||||
"exclude": ["dist", "build", "node_modules"]
|
||||
}
|
13
yarn.lock
13
yarn.lock
|
@ -4613,15 +4613,26 @@ __metadata:
|
|||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@calcom/platform-types@workspace:packages/platform/types":
|
||||
"@calcom/platform-constants@*, @calcom/platform-constants@workspace:packages/platform/constants":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@calcom/platform-constants@workspace:packages/platform/constants"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@calcom/platform-types@*, @calcom/platform-types@workspace:packages/platform/types":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@calcom/platform-types@workspace:packages/platform/types"
|
||||
dependencies:
|
||||
"@calcom/platform-constants": "*"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
"@calcom/platform-utils@workspace:packages/platform/utils":
|
||||
version: 0.0.0-use.local
|
||||
resolution: "@calcom/platform-utils@workspace:packages/platform/utils"
|
||||
dependencies:
|
||||
"@calcom/platform-constants": "*"
|
||||
"@calcom/platform-types": "*"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user