diff --git a/src/lib/server/api/repositories/collections.repository.ts b/src/lib/server/api/repositories/collections.repository.ts new file mode 100644 index 0000000..80f4a31 --- /dev/null +++ b/src/lib/server/api/repositories/collections.repository.ts @@ -0,0 +1,11 @@ +import {inject, injectable} from "tsyringe"; +import {DatabaseProvider} from "$lib/server/api/providers"; + +@injectable() +export class CollectionsRepository { + constructor(@inject(DatabaseProvider) private readonly db: DatabaseProvider) { } + + async findAll() { + return db.query.collections.findMany(); + } +} \ No newline at end of file diff --git a/src/lib/server/api/repositories/credentials.repository.ts b/src/lib/server/api/repositories/credentials.repository.ts index 3cc4e6c..4d7c468 100644 --- a/src/lib/server/api/repositories/credentials.repository.ts +++ b/src/lib/server/api/repositories/credentials.repository.ts @@ -1,14 +1,15 @@ import { and, eq, type InferInsertModel } from "drizzle-orm"; import { credentialsTable, CredentialsType } from "../infrastructure/database/tables/credentials.table"; -import { db } from "../infrastructure/database"; import { takeFirstOrThrow } from "../infrastructure/database/utils"; -import {injectable} from "tsyringe"; +import {inject, injectable} from "tsyringe"; +import {DatabaseProvider} from "$lib/server/api/providers"; export type CreateCredentials = InferInsertModel; export type UpdateCredentials = Partial; @injectable() export class CredentialsRepository { + constructor(@inject(DatabaseProvider) private readonly db: DatabaseProvider) { } async findOneByUserId(userId: string) { return db.query.credentialsTable.findFirst({ diff --git a/src/lib/server/api/repositories/roles.repository.ts b/src/lib/server/api/repositories/roles.repository.ts index 7ced97f..816fa84 100644 --- a/src/lib/server/api/repositories/roles.repository.ts +++ b/src/lib/server/api/repositories/roles.repository.ts @@ -1,8 +1,8 @@ import { eq, type InferInsertModel } from 'drizzle-orm'; import { takeFirstOrThrow } from '../infrastructure/database/utils'; -import { db } from '../infrastructure/database'; import {roles} from "$lib/server/api/infrastructure/database/tables"; -import {injectable} from "tsyringe"; +import {inject, injectable} from "tsyringe"; +import {DatabaseProvider} from "$lib/server/api/providers"; /* -------------------------------------------------------------------------- */ /* Repository */ @@ -25,6 +25,8 @@ export type UpdateRole = Partial; @injectable() export class RolesRepository { + constructor(@inject(DatabaseProvider) private readonly db: DatabaseProvider) { } + async findOneById(id: string) { return db.query.roles.findFirst({ where: eq(roles.id, id) diff --git a/src/lib/server/api/repositories/user_roles.repository.ts b/src/lib/server/api/repositories/user_roles.repository.ts index d553a69..2dfcd4d 100644 --- a/src/lib/server/api/repositories/user_roles.repository.ts +++ b/src/lib/server/api/repositories/user_roles.repository.ts @@ -1,9 +1,8 @@ import { eq, type InferInsertModel } from 'drizzle-orm'; -import { usersTable } from '../infrastructure/database/tables/users.table'; import { takeFirstOrThrow } from '../infrastructure/database/utils'; -import { db } from '../infrastructure/database'; import {user_roles} from "$lib/server/api/infrastructure/database/tables"; -import {injectable} from "tsyringe"; +import {inject, injectable} from "tsyringe"; +import {DatabaseProvider} from "$lib/server/api/providers"; /* -------------------------------------------------------------------------- */ /* Repository */ @@ -26,6 +25,8 @@ export type UpdateUserRole = Partial; @injectable() export class UserRolesRepository { + constructor(@inject(DatabaseProvider) private readonly db: DatabaseProvider) { } + async findOneById(id: string) { return db.query.user_roles.findFirst({ where: eq(user_roles.id, id) diff --git a/src/lib/server/api/repositories/users.repository.ts b/src/lib/server/api/repositories/users.repository.ts index 5c60ba6..4106263 100644 --- a/src/lib/server/api/repositories/users.repository.ts +++ b/src/lib/server/api/repositories/users.repository.ts @@ -1,8 +1,8 @@ import { eq, type InferInsertModel } from 'drizzle-orm'; import { usersTable } from '../infrastructure/database/tables/users.table'; import { takeFirstOrThrow } from '../infrastructure/database/utils'; -import { db } from '../infrastructure/database'; -import {injectable} from "tsyringe"; +import {inject, injectable} from "tsyringe"; +import {DatabaseProvider} from "$lib/server/api/providers"; /* -------------------------------------------------------------------------- */ /* Repository */ @@ -25,6 +25,8 @@ export type UpdateUser = Partial; @injectable() export class UsersRepository { + constructor(@inject(DatabaseProvider) private readonly db: DatabaseProvider) { } + async findOneById(id: string) { return db.query.usersTable.findFirst({ where: eq(usersTable.id, id) diff --git a/src/lib/server/api/repositories/wishlists.repository.ts b/src/lib/server/api/repositories/wishlists.repository.ts new file mode 100644 index 0000000..9cdf394 --- /dev/null +++ b/src/lib/server/api/repositories/wishlists.repository.ts @@ -0,0 +1,9 @@ +import {inject, injectable} from "tsyringe"; +import {DatabaseProvider} from "$lib/server/api/providers"; + +@injectable() +export class CollectionsService { + constructor(@inject(DatabaseProvider) private readonly db: DatabaseProvider) { } + + +} \ No newline at end of file diff --git a/src/lib/server/api/services/collections.service.ts b/src/lib/server/api/services/collections.service.ts new file mode 100644 index 0000000..61e4337 --- /dev/null +++ b/src/lib/server/api/services/collections.service.ts @@ -0,0 +1,10 @@ +import { inject, injectable } from "tsyringe"; + +@injectable() +export class CollectionsService { + constructor( + @inject(CollectionsRepository) private readonly collectionsRepository: CollectionsRepository + ) { } + + +} \ No newline at end of file diff --git a/src/lib/server/api/services/users.service.ts b/src/lib/server/api/services/users.service.ts index ee1411c..be3dbce 100644 --- a/src/lib/server/api/services/users.service.ts +++ b/src/lib/server/api/services/users.service.ts @@ -42,30 +42,7 @@ export class UsersService { } this.userRolesService.addRoleToUser(user.id, 'user', true); -// -// const user = await db -// .insert(usersTable) -// .values({ -// username: form.data.username, -// hashed_password: hashedPassword, -// email: form.data.email, -// first_name: form.data.firstName ?? '', -// last_name: form.data.lastName ?? '', -// verified: false, -// receive_email: false, -// theme: 'system', -// }) -// .returning(); -// console.log('signup user', user); -// -// if (!user || user.length === 0) { -// return fail(400, { -// form, -// message: `Could not create your account. Please try again. If the problem persists, please contact support. Error ID: ${cuid2()}`, -// }); -// } -// -// await add_user_to_role(user[0].id, 'user', true); + // await db.insert(collections).values({ // user_id: user[0].id, // });