Skip to content
This repository has been archived by the owner on Mar 10, 2024. It is now read-only.

Commit

Permalink
fix(group): leader should be updated when modify
Browse files Browse the repository at this point in the history
  • Loading branch information
AsyncFox committed Nov 18, 2023
1 parent 279e045 commit 3d8f26a
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
7 changes: 5 additions & 2 deletions src/controllers/group.ts
Original file line number Diff line number Diff line change
Expand Up @@ -62,9 +62,12 @@ export class GroupController {
}

async modifyMembers(groupId: string, newMembers: string[], newLeader: string) {
if (!newMembers.includes(newLeader)) return { success: false, message: '组长需要包含于组员中' };
if (!(await db.select().from(groups).where(eq(groups.id, groupId))).length) return { success: false, message: '小组id不存在' };
if (!newMembers.includes(newLeader))
return { success: false, message: '组长需要包含于组员中' };
if (!(await db.select().from(groups).where(eq(groups.id, groupId))).length)
return { success: false, message: '小组id不存在' };
try {
await db.update(groups).set({ leader: newLeader }).where(eq(groups.id, groupId));
await db.delete(usersToGroups).where(eq(usersToGroups.groupId, groupId));
for (const userId of newMembers) {
await db.insert(usersToGroups).values({ userId, groupId });
Expand Down
3 changes: 2 additions & 1 deletion src/db/schema/group.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
import { integer, sqliteTable, text } from 'drizzle-orm/sqlite-core';
import { nanoid } from 'nanoid';
import { users } from './user';

export const groups = sqliteTable('groups', {
id: text('id', { mode: 'text' }).primaryKey().$defaultFn(() => nanoid(12)),
leader: text('leader', { mode: 'text' }),
leader: text('leader', { mode: 'text' }).notNull().references(() => users.id),
archived: integer('archived', { mode: 'boolean' }).notNull().default(false),
createdAt: integer('created_at', { mode: 'timestamp' }).notNull().$defaultFn(() => new Date()),
});

0 comments on commit 3d8f26a

Please sign in to comment.