mirror of
https://github.com/Shadowfita/docmost.git
synced 2025-11-18 10:41:04 +10:00
Refactoring
* Refactor workspace membership system * Create setup endpoint * Use Passport.js * Several updates and fixes
This commit is contained in:
@ -4,7 +4,7 @@ export async function transactionWrapper(
|
||||
operation: (...args) => any,
|
||||
datasource: DataSource,
|
||||
entityManager: EntityManager,
|
||||
) {
|
||||
): Promise<any> {
|
||||
if (entityManager) {
|
||||
return await operation(entityManager);
|
||||
} else {
|
||||
|
||||
16
apps/server/src/helpers/types/permission.ts
Normal file
16
apps/server/src/helpers/types/permission.ts
Normal file
@ -0,0 +1,16 @@
|
||||
export enum UserRole {
|
||||
OWNER = 'owner',
|
||||
ADMIN = 'admin', // can have owner permissions but cannot delete workspace
|
||||
MEMBER = 'member',
|
||||
}
|
||||
|
||||
export enum SpaceRole {
|
||||
OWNER = 'owner', // can add members, remove, and delete space
|
||||
WRITER = 'writer', // can read and write pages in space
|
||||
READER = 'reader', // can only read pages in space
|
||||
}
|
||||
|
||||
export enum SpacePrivacy {
|
||||
OPEN = 'open', // any workspace member can see and join.
|
||||
PRIVATE = 'private', // only added space users can see
|
||||
}
|
||||
5
apps/server/src/helpers/utils.ts
Normal file
5
apps/server/src/helpers/utils.ts
Normal file
@ -0,0 +1,5 @@
|
||||
export function generateHostname(name: string): string {
|
||||
let hostname = name.replace(/[^a-z0-9]/gi, '').toLowerCase();
|
||||
hostname = hostname.substring(0, 30);
|
||||
return hostname;
|
||||
}
|
||||
Reference in New Issue
Block a user