mirror of
https://github.com/docmost/docmost.git
synced 2026-08-20 07:01:36 +10:00
feat: workspace default edit preference (#2319)
This commit is contained in:
@@ -112,6 +112,7 @@ export class UserRepo {
|
||||
async insertUser(
|
||||
insertableUser: InsertableUser,
|
||||
trx?: KyselyTransaction,
|
||||
opts?: { pageEditMode?: string },
|
||||
): Promise<User> {
|
||||
const user: InsertableUser = {
|
||||
name:
|
||||
@@ -126,7 +127,17 @@ export class UserRepo {
|
||||
const db = dbOrTx(this.db, trx);
|
||||
return db
|
||||
.insertInto('users')
|
||||
.values({ ...insertableUser, ...user })
|
||||
.values({
|
||||
...insertableUser,
|
||||
...user,
|
||||
...(opts?.pageEditMode
|
||||
? {
|
||||
settings: sql`${JSON.stringify({
|
||||
preferences: { pageEditMode: opts.pageEditMode },
|
||||
})}::text::jsonb`,
|
||||
}
|
||||
: {}),
|
||||
})
|
||||
.returning(this.baseFields)
|
||||
.executeTakeFirst();
|
||||
}
|
||||
|
||||
@@ -271,4 +271,22 @@ export class WorkspaceRepo {
|
||||
.executeTakeFirst();
|
||||
}
|
||||
|
||||
async updateDefaultPageEditMode(
|
||||
workspaceId: string,
|
||||
pageEditMode: string,
|
||||
trx?: KyselyTransaction,
|
||||
) {
|
||||
const db = dbOrTx(this.db, trx);
|
||||
return db
|
||||
.updateTable('workspaces')
|
||||
.set({
|
||||
settings: sql`COALESCE(settings, '{}'::jsonb)
|
||||
|| jsonb_build_object('defaultPageEditMode', ${sql.lit(pageEditMode)})`,
|
||||
updatedAt: new Date(),
|
||||
})
|
||||
.where('id', '=', workspaceId)
|
||||
.returning(this.baseFields)
|
||||
.executeTakeFirst();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user