Refactoring

* Refactor workspace membership system
* Create setup endpoint
* Use Passport.js
* Several updates and fixes
This commit is contained in:
Philipinho
2024-03-16 22:58:12 +00:00
parent b42fe48e9b
commit a821e37028
87 changed files with 2703 additions and 2307 deletions

View File

@ -4,7 +4,7 @@ export async function transactionWrapper(
operation: (...args) => any,
datasource: DataSource,
entityManager: EntityManager,
) {
): Promise<any> {
if (entityManager) {
return await operation(entityManager);
} else {

View 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
}

View 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;
}