fix admin edit
All checks were successful
deploy / build-and-deploy (push) Successful in 22s

This commit is contained in:
2025-05-18 17:53:06 +02:00
parent 078ae89708
commit 7ac248baf5
6 changed files with 21 additions and 9 deletions

View File

@ -15,7 +15,12 @@ export const admin = mysqlTable('admin', {
export type AddAdminReq = Omit<typeof admin.$inferInsert, 'id'>;
export type EditAdminReq = Omit<typeof admin.$inferInsert, 'id'> & { id: number };
export type EditAdminReq = {
id: number;
username: string;
password: string | null;
permissions: number;
};
export type GetAdminReq = {};
export type GetAdminRes = Omit<typeof admin.$inferSelect, 'password'>[];
@ -39,9 +44,15 @@ export async function addAdmin(db: Database, values: AddAdminReq) {
}
export async function editAdmin(db: Database, values: EditAdminReq) {
values.password = bcrypt.hashSync(values.password, 10);
await db.update(admin).set(values).where(eq(admin.id, values.id));
return db
.update(admin)
.set({
id: values.id,
username: values.username,
password: values.password != null ? bcrypt.hashSync(values.password, 10) : undefined,
permissions: values.permissions
})
.where(eq(admin.id, values.id));
}
export async function getAdmins(db: Database, _values: GetAdminReq): Promise<GetAdminRes> {