* use lower case db column names
* fix signup workspaceId
This commit is contained in:
Philipinho
2024-03-29 16:25:42 +00:00
parent 82da4ffdc2
commit b241523ff6
25 changed files with 248 additions and 407 deletions

View File

@ -23,7 +23,7 @@ export class GroupUserRepo {
this.db,
async (trx) => {
return await trx
.selectFrom('group_users')
.selectFrom('groupUsers')
.selectAll()
.where('userId', '=', userId)
.where('groupId', '=', groupId)
@ -41,7 +41,7 @@ export class GroupUserRepo {
this.db,
async (trx) => {
return await trx
.insertInto('group_users')
.insertInto('groupUsers')
.values(insertableGroupUser)
.returningAll()
.executeTakeFirst();
@ -57,8 +57,8 @@ export class GroupUserRepo {
// todo add group member count
return executeTx(this.db, async (trx) => {
const groupUsers = (await trx
.selectFrom('group_users')
.innerJoin('users', 'users.id', 'group_users.userId')
.selectFrom('groupUsers')
.innerJoin('users', 'users.id', 'groupUsers.userId')
.select(sql<User>`users.*` as any)
.where('groupId', '=', groupId)
.limit(paginationOptions.limit)
@ -71,7 +71,7 @@ export class GroupUserRepo {
});
let { count } = await trx
.selectFrom('group_users')
.selectFrom('groupUsers')
.select((eb) => eb.fn.count('id').as('count'))
.where('groupId', '=', groupId)
.executeTakeFirst();
@ -84,7 +84,7 @@ export class GroupUserRepo {
async delete(userId: string, groupId: string): Promise<void> {
await this.db
.deleteFrom('group_users')
.deleteFrom('groupUsers')
.where('userId', '=', userId)
.where('groupId', '=', groupId)
.execute();

View File

@ -15,7 +15,7 @@ export class PageHistoryRepo {
async findById(pageHistoryId: string): Promise<PageHistory> {
return await this.db
.selectFrom('page_history')
.selectFrom('pageHistory')
.selectAll()
.where('id', '=', pageHistoryId)
.executeTakeFirst();
@ -30,7 +30,7 @@ export class PageHistoryRepo {
this.db,
async (trx) => {
return await trx
.updateTable('page_history')
.updateTable('pageHistory')
.set(updatablePageHistory)
.where('id', '=', pageHistoryId)
.execute();
@ -47,7 +47,7 @@ export class PageHistoryRepo {
this.db,
async (trx) => {
return await trx
.insertInto('page_history')
.insertInto('pageHistory')
.values(insertablePageHistory)
.returningAll()
.executeTakeFirst();
@ -62,7 +62,7 @@ export class PageHistoryRepo {
) {
return executeTx(this.db, async (trx) => {
const pageHistory = await trx
.selectFrom('page_history as history')
.selectFrom('pageHistory as history')
.innerJoin('users as user', 'user.id', 'history.lastUpdatedById')
.select([
'history.id',
@ -87,7 +87,7 @@ export class PageHistoryRepo {
.execute();
let { count } = await trx
.selectFrom('page_history')
.selectFrom('pageHistory')
.select((eb) => eb.fn.count('id').as('count'))
.where('pageId', '=', pageId)
.executeTakeFirst();

View File

@ -10,7 +10,6 @@ import {
import { sql } from 'kysely';
import { PaginationOptions } from 'src/helpers/pagination/pagination-options';
import { OrderingEntity } from 'src/core/page/page.util';
import { PageWithOrderingDto } from 'src/core/page/dto/page-with-ordering.dto';
// TODO: scope to space/workspace
@Injectable()
@ -23,7 +22,7 @@ export class PageRepo {
'slug',
'icon',
'coverPhoto',
'shareId',
'key',
'parentPageId',
'creatorId',
'lastUpdatedById',
@ -126,7 +125,7 @@ export class PageRepo {
async getSpaceSidebarPages(spaceId: string, limit: number) {
const pages = await this.db
.selectFrom('pages as page')
.innerJoin('page_ordering as ordering', 'ordering.entityId', 'page.id')
.innerJoin('pageOrdering as ordering', 'ordering.entityId', 'page.id')
.where('ordering.entityType', '=', OrderingEntity.PAGE)
.where('page.spaceId', '=', spaceId)
.select([

View File

@ -22,7 +22,7 @@ export class SpaceMemberRepo {
this.db,
async (trx) => {
return await trx
.insertInto('space_members')
.insertInto('spaceMembers')
.values(insertableSpaceMember)
.returningAll()
.executeTakeFirst();
@ -37,9 +37,9 @@ export class SpaceMemberRepo {
) {
return executeTx(this.db, async (trx) => {
const spaceMembers = await trx
.selectFrom('space_members')
.leftJoin('users', 'users.id', 'space_members.userId')
.leftJoin('groups', 'groups.id', 'space_members.groupId')
.selectFrom('spaceMembers')
.leftJoin('users', 'users.id', 'spaceMembers.userId')
.leftJoin('groups', 'groups.id', 'spaceMembers.groupId')
.select([
'groups.id as group_id',
'groups.name as group_name',
@ -51,10 +51,10 @@ export class SpaceMemberRepo {
'users.name as user_name',
'users.avatarUrl as user_avatarUrl',
'users.email as user_email',
'space_members.role',
'spaceMembers.role',
])
.where('spaceId', '=', spaceId)
.orderBy('space_members.createdAt', 'asc')
.orderBy('spaceMembers.createdAt', 'asc')
.limit(paginationOptions.limit)
.offset(paginationOptions.offset)
.execute();
@ -87,7 +87,7 @@ export class SpaceMemberRepo {
});
let { count } = await trx
.selectFrom('space_members')
.selectFrom('spaceMembers')
.select((eb) => eb.fn.count('id').as('count'))
.where('spaceId', '=', spaceId)
.executeTakeFirst();
@ -106,7 +106,7 @@ export class SpaceMemberRepo {
* Todo: needs more work. this is a draft
*/
async getUserSpaces(userId: string, workspaceId: string) {
const rolePriority = sql`CASE "space_members"."role"
const rolePriority = sql`CASE "spaceMembers"."role"
WHEN 'owner' THEN 3
WHEN 'writer' THEN 2
WHEN 'reader' THEN 1
@ -114,35 +114,31 @@ export class SpaceMemberRepo {
const subquery = this.db
.selectFrom('spaces')
.innerJoin('space_members', 'spaces.id', 'space_members.spaceId')
.innerJoin('spaceMembers', 'spaces.id', 'spaceMembers.spaceId')
.select([
'spaces.id',
'spaces.name',
'spaces.slug',
'spaces.icon',
'space_members.role',
'spaceMembers.role',
rolePriority,
])
.where('space_members.userId', '=', userId)
.where('spaceMembers.userId', '=', userId)
.where('spaces.workspaceId', '=', workspaceId)
.unionAll(
this.db
.selectFrom('spaces')
.innerJoin('space_members', 'spaces.id', 'space_members.spaceId')
.innerJoin(
'group_users',
'space_members.groupId',
'group_users.groupId',
)
.innerJoin('spaceMembers', 'spaces.id', 'spaceMembers.spaceId')
.innerJoin('groupUsers', 'spaceMembers.groupId', 'groupUsers.groupId')
.select([
'spaces.id',
'spaces.name',
'spaces.slug',
'spaces.icon',
'space_members.role',
'spaceMembers.role',
rolePriority,
])
.where('group_users.userId', '=', userId),
.where('groupUsers.userId', '=', userId),
)
.as('membership');
@ -194,7 +190,7 @@ export class SpaceMemberRepo {
spaceId: string,
workspaceId: string,
) {
const rolePriority = sql`CASE "space_members"."role"
const rolePriority = sql`CASE "spaceMembers"."role"
WHEN 'owner' THEN 3
WHEN 'writer' THEN 2
WHEN 'reader' THEN 1
@ -202,36 +198,32 @@ export class SpaceMemberRepo {
const subquery = this.db
.selectFrom('spaces')
.innerJoin('space_members', 'spaces.id', 'space_members.spaceId')
.innerJoin('spaceMembers', 'spaces.id', 'spaceMembers.spaceId')
.select([
'spaces.id',
'spaces.name',
'space_members.role',
'space_members.userId',
'spaceMembers.role',
'spaceMembers.userId',
rolePriority,
])
.where('space_members.userId', '=', userId)
.where('spaceMembers.userId', '=', userId)
.where('spaces.id', '=', spaceId)
.where('spaces.workspaceId', '=', workspaceId)
.unionAll(
this.db
.selectFrom('spaces')
.innerJoin('space_members', 'spaces.id', 'space_members.spaceId')
.innerJoin(
'group_users',
'space_members.groupId',
'group_users.groupId',
)
.innerJoin('spaceMembers', 'spaces.id', 'spaceMembers.spaceId')
.innerJoin('groupUsers', 'spaceMembers.groupId', 'groupUsers.groupId')
.select([
'spaces.id',
'spaces.name',
'space_members.role',
'space_members.userId',
'spaceMembers.role',
'spaceMembers.userId',
rolePriority,
])
.where('spaces.id', '=', spaceId)
.where('spaces.workspaceId', '=', workspaceId)
.where('group_users.userId', '=', userId),
.where('groupUsers.userId', '=', userId),
)
.as('membership');
@ -275,7 +267,7 @@ export class SpaceMemberRepo {
this.db,
async (trx) => {
return await trx
.selectFrom('space_members')
.selectFrom('spaceMembers')
.selectAll()
.where('userId', '=', userId)
.where('groupId', '=', groupId)
@ -287,7 +279,7 @@ export class SpaceMemberRepo {
async removeUser(userId: string, spaceId: string): Promise<void> {
await this.db
.deleteFrom('space_members')
.deleteFrom('spaceMembers')
.where('userId', '=', userId)
.where('spaceId', '=', spaceId)
.execute();
@ -295,7 +287,7 @@ export class SpaceMemberRepo {
async removeGroup(groupId: string, spaceId: string): Promise<void> {
await this.db
.deleteFrom('space_members')
.deleteFrom('spaceMembers')
.where('userId', '=', groupId)
.where('spaceId', '=', spaceId)
.execute();