@ooneex/typeorm 0.0.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/shared/chunk-1ez1q8rj.js +5 -0
- package/dist/shared/chunk-1ez1q8rj.js.map +10 -0
- package/dist/shared/chunk-23739ja5.js +5 -0
- package/dist/shared/{chunk-pwhygf44.js.map → chunk-23739ja5.js.map} +2 -2
- package/dist/shared/chunk-3s989zjv.js +5 -0
- package/dist/shared/{chunk-eh420jqn.js.map → chunk-3s989zjv.js.map} +2 -2
- package/dist/shared/chunk-4ysz6b7v.js +5 -0
- package/dist/shared/chunk-4ysz6b7v.js.map +10 -0
- package/dist/shared/chunk-635xd7h1.js +5 -0
- package/dist/shared/{chunk-wmftwzcs.js.map → chunk-635xd7h1.js.map} +2 -2
- package/dist/shared/chunk-63wp98dt.js +101 -0
- package/dist/shared/chunk-63wp98dt.js.map +11 -0
- package/dist/shared/chunk-6gzanxfz.js +5 -0
- package/dist/shared/chunk-6gzanxfz.js.map +18 -0
- package/dist/shared/chunk-81xh5hbk.js +5 -0
- package/dist/shared/chunk-81xh5hbk.js.map +21 -0
- package/dist/shared/chunk-8q6vs955.js +5 -0
- package/dist/shared/chunk-8q6vs955.js.map +10 -0
- package/dist/shared/chunk-bdyby4d8.js +5 -0
- package/dist/shared/chunk-bdyby4d8.js.map +10 -0
- package/dist/shared/chunk-fjtw26pp.js +5 -0
- package/dist/shared/{chunk-j7nprmyh.js.map → chunk-fjtw26pp.js.map} +2 -2
- package/dist/shared/chunk-gcch857j.js +5 -0
- package/dist/shared/chunk-gcch857j.js.map +11 -0
- package/dist/shared/chunk-h5mdrgqp.js +5 -0
- package/dist/shared/chunk-h5mdrgqp.js.map +21 -0
- package/dist/shared/chunk-mwb9mvew.js +42 -0
- package/dist/shared/chunk-mwb9mvew.js.map +10 -0
- package/dist/shared/chunk-n5dqa3qy.js +36 -0
- package/dist/shared/chunk-n5dqa3qy.js.map +10 -0
- package/dist/shared/chunk-qqvx08b4.js +5 -0
- package/dist/shared/{chunk-2e7zbxcq.js.map → chunk-qqvx08b4.js.map} +2 -2
- package/dist/shared/chunk-r7q1mkar.js +82 -0
- package/dist/shared/chunk-r7q1mkar.js.map +10 -0
- package/dist/shared/chunk-s1yxjjz5.js +5 -0
- package/dist/shared/chunk-s1yxjjz5.js.map +21 -0
- package/dist/shared/chunk-sm3brprk.js +51 -0
- package/dist/shared/chunk-sm3brprk.js.map +10 -0
- package/dist/shared/chunk-wp8mt34q.js +5 -0
- package/dist/shared/chunk-wp8mt34q.js.map +12 -0
- package/dist/shared/chunk-x9h6vngs.js +5 -0
- package/dist/shared/chunk-x9h6vngs.js.map +9 -0
- package/dist/shared/chunk-xyq6sfz0.js +5 -0
- package/dist/shared/{chunk-zmzz7hqq.js.map → chunk-xyq6sfz0.js.map} +2 -2
- package/dist/shared/chunk-yq9g4gac.js +5 -0
- package/dist/shared/{chunk-wawk30n1.js.map → chunk-yq9g4gac.js.map} +9 -4
- package/dist/src/entities/book/index.d.ts +80 -3
- package/dist/src/entities/book/index.js +2 -2
- package/dist/src/entities/book/index.js.map +1 -1
- package/dist/src/entities/common/index.d.ts +21 -28
- package/dist/src/entities/common/index.js +2 -2
- package/dist/src/entities/common/index.js.map +1 -1
- package/dist/src/entities/country/index.d.ts +21 -0
- package/dist/src/entities/country/index.js +4 -0
- package/dist/src/entities/country/index.js.map +9 -0
- package/dist/src/entities/currency/index.d.ts +23 -0
- package/dist/src/entities/currency/index.js +4 -0
- package/dist/src/entities/currency/index.js.map +9 -0
- package/dist/src/entities/folder/index.d.ts +104 -0
- package/dist/src/entities/folder/index.js +4 -0
- package/dist/src/entities/folder/index.js.map +19 -0
- package/dist/src/entities/gamification/flashcard/index.js +2 -2
- package/dist/src/entities/gamification/flashcard/index.js.map +1 -1
- package/dist/src/entities/gamification/index.js +2 -2
- package/dist/src/entities/gamification/index.js.map +1 -1
- package/dist/src/entities/gamification/mcq/index.d.ts +76 -7
- package/dist/src/entities/gamification/mcq/index.js +2 -2
- package/dist/src/entities/gamification/mcq/index.js.map +1 -1
- package/dist/src/entities/image/index.d.ts +83 -6
- package/dist/src/entities/image/index.js +2 -2
- package/dist/src/entities/image/index.js.map +1 -1
- package/dist/src/entities/medecine/index.d.ts +36 -0
- package/dist/src/entities/medecine/index.js +4 -0
- package/dist/src/entities/medecine/index.js.map +9 -0
- package/dist/src/entities/payment/index.js +2 -2
- package/dist/src/entities/payment/index.js.map +1 -1
- package/dist/src/entities/user/index.d.ts +48 -7
- package/dist/src/entities/user/index.js +2 -2
- package/dist/src/entities/user/index.js.map +1 -1
- package/dist/src/entities/video/index.d.ts +88 -10
- package/dist/src/entities/video/index.js +2 -2
- package/dist/src/entities/video/index.js.map +1 -1
- package/dist/src/migrations/book/index.d.ts +97 -0
- package/dist/src/migrations/book/index.js +516 -0
- package/dist/src/migrations/book/index.js.map +21 -0
- package/dist/src/migrations/common/index.d.ts +41 -0
- package/dist/src/migrations/common/index.js +57 -0
- package/dist/src/migrations/common/index.js.map +10 -0
- package/dist/src/migrations/country/index.d.ts +9 -0
- package/dist/src/migrations/country/index.js +40 -0
- package/dist/src/migrations/country/index.js.map +10 -0
- package/dist/src/migrations/currency/index.d.ts +9 -0
- package/dist/src/migrations/currency/index.js +44 -0
- package/dist/src/migrations/currency/index.js.map +10 -0
- package/dist/src/migrations/folder/index.d.ts +81 -0
- package/dist/src/migrations/folder/index.js +387 -0
- package/dist/src/migrations/folder/index.js.map +19 -0
- package/dist/src/migrations/gamification/flashcard/index.d.ts +57 -0
- package/dist/src/migrations/gamification/flashcard/index.js +420 -0
- package/dist/src/migrations/gamification/flashcard/index.js.map +16 -0
- package/dist/src/migrations/gamification/index.d.ts +9 -0
- package/dist/src/migrations/gamification/index.js +4 -0
- package/dist/src/migrations/gamification/index.js.map +9 -0
- package/dist/src/migrations/gamification/mcq/index.d.ts +97 -0
- package/dist/src/migrations/gamification/mcq/index.js +526 -0
- package/dist/src/migrations/gamification/mcq/index.js.map +21 -0
- package/dist/src/migrations/image/index.d.ts +81 -0
- package/dist/src/migrations/image/index.js +328 -0
- package/dist/src/migrations/image/index.js.map +18 -0
- package/dist/src/migrations/medecine/index.d.ts +25 -0
- package/dist/src/migrations/medecine/index.js +119 -0
- package/dist/src/migrations/medecine/index.js.map +12 -0
- package/dist/src/migrations/payment/index.d.ts +49 -0
- package/dist/src/migrations/payment/index.js +352 -0
- package/dist/src/migrations/payment/index.js.map +15 -0
- package/dist/src/migrations/user/index.d.ts +81 -0
- package/dist/src/migrations/user/index.js +309 -0
- package/dist/src/migrations/user/index.js.map +19 -0
- package/dist/src/migrations/video/index.d.ts +97 -0
- package/dist/src/migrations/video/index.js +289 -0
- package/dist/src/migrations/video/index.js.map +21 -0
- package/dist/src/repositories/book/index.d.ts +310 -35
- package/dist/src/repositories/book/index.js +2 -2
- package/dist/src/repositories/book/index.js.map +15 -6
- package/dist/src/repositories/common/index.d.ts +65 -94
- package/dist/src/repositories/common/index.js +2 -2
- package/dist/src/repositories/common/index.js.map +8 -9
- package/dist/src/repositories/country/index.d.ts +42 -0
- package/dist/src/repositories/country/index.js +4 -0
- package/dist/src/repositories/country/index.js.map +10 -0
- package/dist/src/repositories/currency/index.d.ts +44 -0
- package/dist/src/repositories/currency/index.js +4 -0
- package/dist/src/repositories/currency/index.js.map +10 -0
- package/dist/src/repositories/gamification/flashcard/index.d.ts +14 -14
- package/dist/src/repositories/gamification/flashcard/index.js +2 -2
- package/dist/src/repositories/gamification/flashcard/index.js.map +9 -9
- package/dist/src/repositories/gamification/index.d.ts +328 -83
- package/dist/src/repositories/gamification/index.js +2 -2
- package/dist/src/repositories/gamification/index.js.map +3 -3
- package/dist/src/repositories/gamification/mcq/index.d.ts +299 -54
- package/dist/src/repositories/gamification/mcq/index.js +2 -2
- package/dist/src/repositories/gamification/mcq/index.js.map +15 -7
- package/dist/src/repositories/image/index.d.ts +295 -20
- package/dist/src/repositories/image/index.js +2 -2
- package/dist/src/repositories/image/index.js.map +13 -4
- package/dist/src/repositories/medecine/index.d.ts +99 -0
- package/dist/src/repositories/medecine/index.js +4 -0
- package/dist/src/repositories/medecine/index.js.map +12 -0
- package/dist/src/repositories/payment/index.d.ts +12 -12
- package/dist/src/repositories/payment/index.js +2 -2
- package/dist/src/repositories/payment/index.js.map +8 -8
- package/dist/src/repositories/user/index.d.ts +210 -59
- package/dist/src/repositories/user/index.js +2 -2
- package/dist/src/repositories/user/index.js.map +13 -8
- package/dist/src/repositories/video/index.d.ts +330 -54
- package/dist/src/repositories/video/index.js +2 -2
- package/dist/src/repositories/video/index.js.map +15 -6
- package/package.json +188 -58
- package/dist/ooneex-typeorm-0.0.1.tgz +0 -0
- package/dist/shared/chunk-2e7zbxcq.js +0 -5
- package/dist/shared/chunk-764bzjhz.js +0 -5
- package/dist/shared/chunk-764bzjhz.js.map +0 -12
- package/dist/shared/chunk-eh420jqn.js +0 -5
- package/dist/shared/chunk-gjsgnzaq.js +0 -5
- package/dist/shared/chunk-gjsgnzaq.js.map +0 -10
- package/dist/shared/chunk-hw4vdg6q.js +0 -5
- package/dist/shared/chunk-hw4vdg6q.js.map +0 -10
- package/dist/shared/chunk-j7nprmyh.js +0 -5
- package/dist/shared/chunk-kgxsdeye.js +0 -5
- package/dist/shared/chunk-kgxsdeye.js.map +0 -13
- package/dist/shared/chunk-ntrrrvwt.js +0 -5
- package/dist/shared/chunk-ntrrrvwt.js.map +0 -12
- package/dist/shared/chunk-pwhygf44.js +0 -5
- package/dist/shared/chunk-sd6mmec6.js +0 -5
- package/dist/shared/chunk-sd6mmec6.js.map +0 -12
- package/dist/shared/chunk-wawk30n1.js +0 -5
- package/dist/shared/chunk-wmftwzcs.js +0 -5
- package/dist/shared/chunk-zmzz7hqq.js +0 -5
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["src/repositories/book/BookAuthorRepository.ts", "src/repositories/book/BookPublisherRepository.ts", "src/repositories/book/BookRepository.ts"],
|
|
3
|
+
"sources": ["src/repositories/book/BookAuthorRepository.ts", "src/repositories/book/BookCommentRepository.ts", "src/repositories/book/BookDislikedRepository.ts", "src/repositories/book/BookDownloadedRepository.ts", "src/repositories/book/BookLikedRepository.ts", "src/repositories/book/BookPublisherRepository.ts", "src/repositories/book/BookReportRepository.ts", "src/repositories/book/BookRepository.ts", "src/repositories/book/BookSavedRepository.ts", "src/repositories/book/BookSharedRepository.ts", "src/repositories/book/BookStatRepository.ts", "src/repositories/book/BookViewedRepository.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { inject } from \"@ooneex/container\";\nimport type {
|
|
6
|
-
"import { inject } from \"@ooneex/container\";\nimport type {
|
|
7
|
-
"import { inject } from \"@ooneex/container\";\nimport type {
|
|
5
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { ILike } from \"typeorm\";\nimport { BookAuthorEntity } from \"../../entities/book/BookAuthorEntity\";\n\n@decorator.repository()\nexport class BookAuthorRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookAuthorEntity>> {\n return await this.database.open(BookAuthorEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookAuthorEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookAuthorEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, q, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n // Apply author name search if q parameter is provided\n let findOptions = { ...rest, take, ...(skip !== undefined && { skip }) };\n if (q) {\n const searchConditions = [\n { firstName: ILike(`%${q}%`) },\n { lastName: ILike(`%${q}%`) },\n { fullName: ILike(`%${q}%`) },\n ];\n\n findOptions = {\n ...findOptions,\n where: rest.where\n ? [...searchConditions.map((condition) => ({ ...rest.where, ...condition }))]\n : searchConditions,\n };\n }\n\n const result = await repository.find(findOptions);\n\n // Apply the same where conditions for count including name search\n let countWhere = rest.where;\n if (q) {\n const searchConditions = [\n { firstName: ILike(`%${q}%`) },\n { lastName: ILike(`%${q}%`) },\n { fullName: ILike(`%${q}%`) },\n ];\n\n countWhere = rest.where\n ? [...searchConditions.map((condition) => ({ ...rest.where, ...condition }))]\n : searchConditions;\n }\n\n const total = await this.count(countWhere);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookAuthorEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookAuthorEntity>): Promise<BookAuthorEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookAuthorEntity, options?: SaveOptions): Promise<BookAuthorEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookAuthorEntity[], options?: SaveOptions): Promise<BookAuthorEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookAuthorEntity, options?: SaveOptions): Promise<BookAuthorEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookAuthorEntity[], options?: SaveOptions): Promise<BookAuthorEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookAuthorEntity> | FindOptionsWhere<BookAuthorEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookAuthorEntity> | FindOptionsWhere<BookAuthorEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
6
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookCommentEntity } from \"../../entities/book/BookCommentEntity\";\n\n@decorator.repository()\nexport class BookCommentRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookCommentEntity>> {\n return await this.database.open(BookCommentEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookCommentEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookCommentEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookCommentEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookCommentEntity>): Promise<BookCommentEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookCommentEntity, options?: SaveOptions): Promise<BookCommentEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookCommentEntity[], options?: SaveOptions): Promise<BookCommentEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookCommentEntity, options?: SaveOptions): Promise<BookCommentEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookCommentEntity[], options?: SaveOptions): Promise<BookCommentEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookCommentEntity> | FindOptionsWhere<BookCommentEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookCommentEntity> | FindOptionsWhere<BookCommentEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
7
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookDislikedEntity } from \"../../entities/book/BookDislikedEntity\";\n\n@decorator.repository()\nexport class BookDislikedRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookDislikedEntity>> {\n return await this.database.open(BookDislikedEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookDislikedEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookDislikedEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookDislikedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookDislikedEntity>): Promise<BookDislikedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookDislikedEntity, options?: SaveOptions): Promise<BookDislikedEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookDislikedEntity[], options?: SaveOptions): Promise<BookDislikedEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookDislikedEntity, options?: SaveOptions): Promise<BookDislikedEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookDislikedEntity[], options?: SaveOptions): Promise<BookDislikedEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookDislikedEntity> | FindOptionsWhere<BookDislikedEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookDislikedEntity> | FindOptionsWhere<BookDislikedEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
8
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookDownloadedEntity } from \"../../entities/book/BookDownloadedEntity\";\n\n@decorator.repository()\nexport class BookDownloadedRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookDownloadedEntity>> {\n return await this.database.open(BookDownloadedEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookDownloadedEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookDownloadedEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookDownloadedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookDownloadedEntity>): Promise<BookDownloadedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookDownloadedEntity, options?: SaveOptions): Promise<BookDownloadedEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookDownloadedEntity[], options?: SaveOptions): Promise<BookDownloadedEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookDownloadedEntity, options?: SaveOptions): Promise<BookDownloadedEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookDownloadedEntity[], options?: SaveOptions): Promise<BookDownloadedEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookDownloadedEntity> | FindOptionsWhere<BookDownloadedEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookDownloadedEntity> | FindOptionsWhere<BookDownloadedEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
9
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookLikedEntity } from \"../../entities/book/BookLikedEntity\";\n\n@decorator.repository()\nexport class BookLikedRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookLikedEntity>> {\n return await this.database.open(BookLikedEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookLikedEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookLikedEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookLikedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookLikedEntity>): Promise<BookLikedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookLikedEntity, options?: SaveOptions): Promise<BookLikedEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookLikedEntity[], options?: SaveOptions): Promise<BookLikedEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookLikedEntity, options?: SaveOptions): Promise<BookLikedEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookLikedEntity[], options?: SaveOptions): Promise<BookLikedEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookLikedEntity> | FindOptionsWhere<BookLikedEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookLikedEntity> | FindOptionsWhere<BookLikedEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
10
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { ILike } from \"typeorm\";\nimport { BookPublisherEntity } from \"../../entities/book/BookPublisherEntity\";\n\n@decorator.repository()\nexport class BookPublisherRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookPublisherEntity>> {\n return await this.database.open(BookPublisherEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookPublisherEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookPublisherEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, q, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n // Apply publisher name search if q parameter is provided\n let findOptions = { ...rest, take, ...(skip !== undefined && { skip }) };\n if (q) {\n findOptions = {\n ...findOptions,\n where: {\n ...rest.where,\n name: ILike(`%${q}%`),\n },\n };\n }\n\n const result = await repository.find(findOptions);\n\n // Apply the same where conditions for count including name search\n let countWhere = rest.where;\n if (q) {\n countWhere = {\n ...rest.where,\n name: ILike(`%${q}%`),\n };\n }\n\n const total = await this.count(countWhere);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookPublisherEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookPublisherEntity>): Promise<BookPublisherEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookPublisherEntity, options?: SaveOptions): Promise<BookPublisherEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookPublisherEntity[], options?: SaveOptions): Promise<BookPublisherEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookPublisherEntity, options?: SaveOptions): Promise<BookPublisherEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookPublisherEntity[], options?: SaveOptions): Promise<BookPublisherEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookPublisherEntity> | FindOptionsWhere<BookPublisherEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookPublisherEntity> | FindOptionsWhere<BookPublisherEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
11
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookReportEntity } from \"../../entities/book/BookReportEntity\";\n\n@decorator.repository()\nexport class BookReportRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookReportEntity>> {\n return await this.database.open(BookReportEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookReportEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookReportEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookReportEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookReportEntity>): Promise<BookReportEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookReportEntity, options?: SaveOptions): Promise<BookReportEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookReportEntity[], options?: SaveOptions): Promise<BookReportEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookReportEntity, options?: SaveOptions): Promise<BookReportEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookReportEntity[], options?: SaveOptions): Promise<BookReportEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookReportEntity> | FindOptionsWhere<BookReportEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookReportEntity> | FindOptionsWhere<BookReportEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
12
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { ILike } from \"typeorm\";\nimport { BookEntity } from \"../../entities/book/BookEntity\";\n\n@decorator.repository()\nexport class BookRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookEntity>> {\n return await this.database.open(BookEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, q, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n // Apply title search if q parameter is provided\n let findOptions = { ...rest, take, ...(skip !== undefined && { skip }) };\n if (q) {\n findOptions = {\n ...findOptions,\n where: {\n ...rest.where,\n title: ILike(`%${q}%`),\n },\n };\n }\n\n const result = await repository.find(findOptions);\n\n // Apply the same where conditions for count including title search\n let countWhere = rest.where;\n if (q) {\n countWhere = {\n ...rest.where,\n title: ILike(`%${q}%`),\n };\n }\n\n const total = await this.count(countWhere);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookEntity>): Promise<BookEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookEntity, options?: SaveOptions): Promise<BookEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookEntity[], options?: SaveOptions): Promise<BookEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookEntity, options?: SaveOptions): Promise<BookEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookEntity[], options?: SaveOptions): Promise<BookEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(criteria: FindOptionsWhere<BookEntity> | FindOptionsWhere<BookEntity>[]): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(criteria?: FindOptionsWhere<BookEntity> | FindOptionsWhere<BookEntity>[]): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
13
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookSavedEntity } from \"../../entities/book/BookSavedEntity\";\n\n@decorator.repository()\nexport class BookSavedRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookSavedEntity>> {\n return await this.database.open(BookSavedEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookSavedEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookSavedEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookSavedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookSavedEntity>): Promise<BookSavedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookSavedEntity, options?: SaveOptions): Promise<BookSavedEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookSavedEntity[], options?: SaveOptions): Promise<BookSavedEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookSavedEntity, options?: SaveOptions): Promise<BookSavedEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookSavedEntity[], options?: SaveOptions): Promise<BookSavedEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookSavedEntity> | FindOptionsWhere<BookSavedEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookSavedEntity> | FindOptionsWhere<BookSavedEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
14
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookSharedEntity } from \"../../entities/book/BookSharedEntity\";\n\n@decorator.repository()\nexport class BookSharedRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookSharedEntity>> {\n return await this.database.open(BookSharedEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookSharedEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookSharedEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookSharedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookSharedEntity>): Promise<BookSharedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookSharedEntity, options?: SaveOptions): Promise<BookSharedEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookSharedEntity[], options?: SaveOptions): Promise<BookSharedEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookSharedEntity, options?: SaveOptions): Promise<BookSharedEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookSharedEntity[], options?: SaveOptions): Promise<BookSharedEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookSharedEntity> | FindOptionsWhere<BookSharedEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookSharedEntity> | FindOptionsWhere<BookSharedEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
15
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookStatEntity } from \"../../entities/book/BookStatEntity\";\n\n@decorator.repository()\nexport class BookStatRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookStatEntity>> {\n return await this.database.open(BookStatEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookStatEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookStatEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookStatEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookStatEntity>): Promise<BookStatEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookStatEntity, options?: SaveOptions): Promise<BookStatEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookStatEntity[], options?: SaveOptions): Promise<BookStatEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookStatEntity, options?: SaveOptions): Promise<BookStatEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookStatEntity[], options?: SaveOptions): Promise<BookStatEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookStatEntity> | FindOptionsWhere<BookStatEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookStatEntity> | FindOptionsWhere<BookStatEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n",
|
|
16
|
+
"import { inject } from \"@ooneex/container\";\nimport type { ITypeormDatabase } from \"@ooneex/database\";\nimport { decorator } from \"@ooneex/repository\";\nimport type { FilterResultType } from \"@ooneex/types\";\nimport type { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from \"typeorm\";\nimport { BookViewedEntity } from \"../../entities/book/BookViewedEntity\";\n\n@decorator.repository()\nexport class BookViewedRepository {\n constructor(\n @inject(\"database\")\n private readonly database: ITypeormDatabase,\n ) {}\n\n public async open(): Promise<Repository<BookViewedEntity>> {\n return await this.database.open(BookViewedEntity);\n }\n\n public async close(): Promise<void> {\n await this.database.close();\n }\n\n public async find(\n criteria: FindManyOptions<BookViewedEntity> & { page?: number; limit?: number; q?: string },\n ): Promise<FilterResultType<BookViewedEntity>> {\n const repository = await this.open();\n\n const { page = 1, limit = 100, ...rest } = criteria;\n\n let skip: number | undefined;\n const take = limit === 0 ? 100 : limit;\n\n if (page && page > 0 && limit && limit > 0) {\n skip = (page - 1) * take;\n }\n\n const result = await repository.find({ ...rest, take, ...(skip !== undefined && { skip }) });\n\n const total = await this.count(rest.where);\n const totalPages = Math.ceil(total / limit);\n\n return {\n resources: result,\n total,\n totalPages,\n page,\n limit,\n };\n }\n\n public async findOne(id: string): Promise<BookViewedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: { id },\n });\n }\n\n public async findOneBy(criteria: FindOptionsWhere<BookViewedEntity>): Promise<BookViewedEntity | null> {\n const repository = await this.open();\n\n return await repository.findOne({\n where: criteria,\n });\n }\n\n public async create(entity: BookViewedEntity, options?: SaveOptions): Promise<BookViewedEntity> {\n const repository = await this.open();\n\n return await repository.save(entity, options);\n }\n\n public async createMany(entities: BookViewedEntity[], options?: SaveOptions): Promise<BookViewedEntity[]> {\n const repository = await this.open();\n\n return await repository.save(entities, options);\n }\n\n public async update(entity: BookViewedEntity, options?: SaveOptions): Promise<BookViewedEntity> {\n return await this.create(entity, options);\n }\n\n public async updateMany(entities: BookViewedEntity[], options?: SaveOptions): Promise<BookViewedEntity[]> {\n return await this.createMany(entities, options);\n }\n\n public async delete(\n criteria: FindOptionsWhere<BookViewedEntity> | FindOptionsWhere<BookViewedEntity>[],\n ): Promise<UpdateResult> {\n const repository = await this.open();\n\n return await repository.softDelete(criteria);\n }\n\n public async count(\n criteria?: FindOptionsWhere<BookViewedEntity> | FindOptionsWhere<BookViewedEntity>[],\n ): Promise<number> {\n const repository = await this.open();\n\n return await repository.count(criteria ? { where: criteria } : {});\n }\n}\n"
|
|
8
17
|
],
|
|
9
|
-
"mappings": "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",
|
|
10
|
-
"debugId": "
|
|
18
|
+
"mappings": "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",
|
|
19
|
+
"debugId": "7332E2CDC6B380CE64756E2164756E21",
|
|
11
20
|
"names": []
|
|
12
21
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ITypeormDatabase } from "@ooneex/database";
|
|
2
2
|
import { FilterResultType } from "@ooneex/types";
|
|
3
3
|
import { FindManyOptions, FindOptionsWhere, Repository, SaveOptions, UpdateResult } from "typeorm";
|
|
4
4
|
import { ICategory } from "@ooneex/category";
|
|
@@ -27,7 +27,7 @@ declare class CategoryEntity extends BaseEntity implements ICategory {
|
|
|
27
27
|
}
|
|
28
28
|
declare class CategoryRepository {
|
|
29
29
|
private readonly database;
|
|
30
|
-
constructor(database:
|
|
30
|
+
constructor(database: ITypeormDatabase);
|
|
31
31
|
open(): Promise<Repository<CategoryEntity>>;
|
|
32
32
|
close(): Promise<void>;
|
|
33
33
|
find(criteria: FindManyOptions<CategoryEntity> & {
|
|
@@ -44,7 +44,7 @@ declare class CategoryRepository {
|
|
|
44
44
|
delete(criteria: FindOptionsWhere<CategoryEntity> | FindOptionsWhere<CategoryEntity>[]): Promise<UpdateResult>;
|
|
45
45
|
count(criteria?: FindOptionsWhere<CategoryEntity> | FindOptionsWhere<CategoryEntity>[]): Promise<number>;
|
|
46
46
|
}
|
|
47
|
-
import {
|
|
47
|
+
import { ITypeormDatabase as ITypeormDatabase2 } from "@ooneex/database";
|
|
48
48
|
import { FilterResultType as FilterResultType2 } from "@ooneex/types";
|
|
49
49
|
import { FindManyOptions as FindManyOptions2, FindOptionsWhere as FindOptionsWhere2, Repository as Repository2, SaveOptions as SaveOptions2, UpdateResult as UpdateResult2 } from "typeorm";
|
|
50
50
|
import { HexaType, HSLAType, HSLType, IColor as IColor2, RGBAType, RGBType } from "@ooneex/color";
|
|
@@ -64,7 +64,7 @@ declare class ColorEntity extends BaseEntity implements IColor2 {
|
|
|
64
64
|
}
|
|
65
65
|
declare class ColorRepository {
|
|
66
66
|
private readonly database;
|
|
67
|
-
constructor(database:
|
|
67
|
+
constructor(database: ITypeormDatabase2);
|
|
68
68
|
open(): Promise<Repository2<ColorEntity>>;
|
|
69
69
|
close(): Promise<void>;
|
|
70
70
|
find(criteria: FindManyOptions2<ColorEntity> & {
|
|
@@ -80,131 +80,102 @@ declare class ColorRepository {
|
|
|
80
80
|
delete(criteria: FindOptionsWhere2<ColorEntity> | FindOptionsWhere2<ColorEntity>[]): Promise<UpdateResult2>;
|
|
81
81
|
count(criteria?: FindOptionsWhere2<ColorEntity> | FindOptionsWhere2<ColorEntity>[]): Promise<number>;
|
|
82
82
|
}
|
|
83
|
-
import {
|
|
83
|
+
import { ITypeormDatabase as ITypeormDatabase3 } from "@ooneex/database";
|
|
84
84
|
import { FilterResultType as FilterResultType3 } from "@ooneex/types";
|
|
85
85
|
import { FindManyOptions as FindManyOptions3, FindOptionsWhere as FindOptionsWhere3, Repository as Repository3, SaveOptions as SaveOptions3, UpdateResult as UpdateResult3 } from "typeorm";
|
|
86
|
-
import { IColor as IColor3 } from "@ooneex/color";
|
|
87
|
-
import { IFolder } from "@ooneex/folder";
|
|
88
|
-
declare class FolderEntity extends BaseEntity implements IFolder {
|
|
89
|
-
name: string;
|
|
90
|
-
color?: IColor3;
|
|
91
|
-
description?: string;
|
|
92
|
-
context?: string;
|
|
93
|
-
contextId?: string;
|
|
94
|
-
parent?: IFolder;
|
|
95
|
-
children?: IFolder[];
|
|
96
|
-
}
|
|
97
|
-
declare class FolderRepository {
|
|
98
|
-
private readonly database;
|
|
99
|
-
constructor(database: ITypeormDatabaseAdapter3);
|
|
100
|
-
open(): Promise<Repository3<FolderEntity>>;
|
|
101
|
-
close(): Promise<void>;
|
|
102
|
-
find(criteria: FindManyOptions3<FolderEntity> & {
|
|
103
|
-
page?: number;
|
|
104
|
-
limit?: number;
|
|
105
|
-
q?: string;
|
|
106
|
-
}): Promise<FilterResultType3<FolderEntity>>;
|
|
107
|
-
findOne(id: string): Promise<FolderEntity | null>;
|
|
108
|
-
findOneBy(criteria: FindOptionsWhere3<FolderEntity>): Promise<FolderEntity | null>;
|
|
109
|
-
create(entity: FolderEntity, options?: SaveOptions3): Promise<FolderEntity>;
|
|
110
|
-
createMany(entities: FolderEntity[], options?: SaveOptions3): Promise<FolderEntity[]>;
|
|
111
|
-
update(entity: FolderEntity, options?: SaveOptions3): Promise<FolderEntity>;
|
|
112
|
-
updateMany(entities: FolderEntity[], options?: SaveOptions3): Promise<FolderEntity[]>;
|
|
113
|
-
delete(criteria: FindOptionsWhere3<FolderEntity> | FindOptionsWhere3<FolderEntity>[]): Promise<UpdateResult3>;
|
|
114
|
-
count(criteria?: FindOptionsWhere3<FolderEntity> | FindOptionsWhere3<FolderEntity>[]): Promise<number>;
|
|
115
|
-
}
|
|
116
|
-
import { ITypeormDatabaseAdapter as ITypeormDatabaseAdapter4 } from "@ooneex/database";
|
|
117
|
-
import { FilterResultType as FilterResultType4 } from "@ooneex/types";
|
|
118
|
-
import { FindManyOptions as FindManyOptions4, FindOptionsWhere as FindOptionsWhere4, Repository as Repository4, SaveOptions as SaveOptions4, UpdateResult as UpdateResult4 } from "typeorm";
|
|
119
86
|
import { IStat } from "@ooneex/types";
|
|
120
87
|
declare class StatEntity extends BaseEntity implements IStat {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
88
|
+
commentsCount: number;
|
|
89
|
+
likesCount: number;
|
|
90
|
+
dislikesCount: number;
|
|
91
|
+
sharesCount: number;
|
|
92
|
+
viewsCount: number;
|
|
93
|
+
downloadsCount: number;
|
|
94
|
+
savesCount: number;
|
|
95
|
+
bookmarksCount: number;
|
|
96
|
+
repostsCount: number;
|
|
97
|
+
impressionsCount: number;
|
|
98
|
+
clicksCount: number;
|
|
130
99
|
engagementRate: number;
|
|
131
100
|
reach: number;
|
|
132
|
-
|
|
101
|
+
followersCount: number;
|
|
133
102
|
followingCount: number;
|
|
103
|
+
blockedCount: number;
|
|
104
|
+
reportsCount: number;
|
|
134
105
|
}
|
|
135
106
|
declare class StatRepository {
|
|
136
107
|
private readonly database;
|
|
137
|
-
constructor(database:
|
|
138
|
-
open(): Promise<
|
|
108
|
+
constructor(database: ITypeormDatabase3);
|
|
109
|
+
open(): Promise<Repository3<StatEntity>>;
|
|
139
110
|
close(): Promise<void>;
|
|
140
|
-
find(criteria:
|
|
111
|
+
find(criteria: FindManyOptions3<StatEntity> & {
|
|
141
112
|
page?: number;
|
|
142
113
|
limit?: number;
|
|
143
|
-
}): Promise<
|
|
114
|
+
}): Promise<FilterResultType3<StatEntity>>;
|
|
144
115
|
findOne(id: string): Promise<StatEntity | null>;
|
|
145
|
-
findOneBy(criteria:
|
|
146
|
-
create(entity: StatEntity, options?:
|
|
147
|
-
createMany(entities: StatEntity[], options?:
|
|
148
|
-
update(entity: StatEntity, options?:
|
|
149
|
-
updateMany(entities: StatEntity[], options?:
|
|
150
|
-
delete(criteria:
|
|
151
|
-
count(criteria?:
|
|
116
|
+
findOneBy(criteria: FindOptionsWhere3<StatEntity>): Promise<StatEntity | null>;
|
|
117
|
+
create(entity: StatEntity, options?: SaveOptions3): Promise<StatEntity>;
|
|
118
|
+
createMany(entities: StatEntity[], options?: SaveOptions3): Promise<StatEntity[]>;
|
|
119
|
+
update(entity: StatEntity, options?: SaveOptions3): Promise<StatEntity>;
|
|
120
|
+
updateMany(entities: StatEntity[], options?: SaveOptions3): Promise<StatEntity[]>;
|
|
121
|
+
delete(criteria: FindOptionsWhere3<StatEntity> | FindOptionsWhere3<StatEntity>[]): Promise<UpdateResult3>;
|
|
122
|
+
count(criteria?: FindOptionsWhere3<StatEntity> | FindOptionsWhere3<StatEntity>[]): Promise<number>;
|
|
152
123
|
}
|
|
153
|
-
import {
|
|
154
|
-
import { FilterResultType as
|
|
155
|
-
import { FindManyOptions as
|
|
156
|
-
import { IColor as
|
|
124
|
+
import { ITypeormDatabase as ITypeormDatabase4 } from "@ooneex/database";
|
|
125
|
+
import { FilterResultType as FilterResultType4 } from "@ooneex/types";
|
|
126
|
+
import { FindManyOptions as FindManyOptions4, FindOptionsWhere as FindOptionsWhere4, Repository as Repository4, SaveOptions as SaveOptions4, UpdateResult as UpdateResult4 } from "typeorm";
|
|
127
|
+
import { IColor as IColor3 } from "@ooneex/color";
|
|
157
128
|
import { EStatus, IStatus } from "@ooneex/status";
|
|
158
129
|
declare class StatusEntity extends BaseEntity implements IStatus {
|
|
159
130
|
status: EStatus;
|
|
160
|
-
color?:
|
|
161
|
-
description?: string;
|
|
162
|
-
reason?: string;
|
|
131
|
+
color?: IColor3 | undefined;
|
|
132
|
+
description?: string | undefined;
|
|
133
|
+
reason?: string | undefined;
|
|
163
134
|
}
|
|
164
135
|
declare class StatusRepository {
|
|
165
136
|
private readonly database;
|
|
166
|
-
constructor(database:
|
|
167
|
-
open(): Promise<
|
|
137
|
+
constructor(database: ITypeormDatabase4);
|
|
138
|
+
open(): Promise<Repository4<StatusEntity>>;
|
|
168
139
|
close(): Promise<void>;
|
|
169
|
-
find(criteria:
|
|
140
|
+
find(criteria: FindManyOptions4<StatusEntity> & {
|
|
170
141
|
page?: number;
|
|
171
142
|
limit?: number;
|
|
172
|
-
}): Promise<
|
|
143
|
+
}): Promise<FilterResultType4<StatusEntity>>;
|
|
173
144
|
findOne(id: string): Promise<StatusEntity | null>;
|
|
174
|
-
findOneBy(criteria:
|
|
175
|
-
create(entity: StatusEntity, options?:
|
|
176
|
-
createMany(entities: StatusEntity[], options?:
|
|
177
|
-
update(entity: StatusEntity, options?:
|
|
178
|
-
updateMany(entities: StatusEntity[], options?:
|
|
179
|
-
delete(criteria:
|
|
180
|
-
count(criteria?:
|
|
145
|
+
findOneBy(criteria: FindOptionsWhere4<StatusEntity>): Promise<StatusEntity | null>;
|
|
146
|
+
create(entity: StatusEntity, options?: SaveOptions4): Promise<StatusEntity>;
|
|
147
|
+
createMany(entities: StatusEntity[], options?: SaveOptions4): Promise<StatusEntity[]>;
|
|
148
|
+
update(entity: StatusEntity, options?: SaveOptions4): Promise<StatusEntity>;
|
|
149
|
+
updateMany(entities: StatusEntity[], options?: SaveOptions4): Promise<StatusEntity[]>;
|
|
150
|
+
delete(criteria: FindOptionsWhere4<StatusEntity> | FindOptionsWhere4<StatusEntity>[]): Promise<UpdateResult4>;
|
|
151
|
+
count(criteria?: FindOptionsWhere4<StatusEntity> | FindOptionsWhere4<StatusEntity>[]): Promise<number>;
|
|
181
152
|
}
|
|
182
|
-
import {
|
|
183
|
-
import { FilterResultType as
|
|
184
|
-
import { FindManyOptions as
|
|
185
|
-
import { IColor as
|
|
153
|
+
import { ITypeormDatabase as ITypeormDatabase5 } from "@ooneex/database";
|
|
154
|
+
import { FilterResultType as FilterResultType5 } from "@ooneex/types";
|
|
155
|
+
import { FindManyOptions as FindManyOptions5, FindOptionsWhere as FindOptionsWhere5, Repository as Repository5, SaveOptions as SaveOptions5, UpdateResult as UpdateResult5 } from "typeorm";
|
|
156
|
+
import { IColor as IColor4 } from "@ooneex/color";
|
|
186
157
|
import { ITag } from "@ooneex/tag";
|
|
187
158
|
declare class TagEntity extends BaseEntity implements ITag {
|
|
188
159
|
name: string;
|
|
189
|
-
color?:
|
|
160
|
+
color?: IColor4 | undefined;
|
|
190
161
|
}
|
|
191
162
|
declare class TagRepository {
|
|
192
163
|
private readonly database;
|
|
193
|
-
constructor(database:
|
|
194
|
-
open(): Promise<
|
|
164
|
+
constructor(database: ITypeormDatabase5);
|
|
165
|
+
open(): Promise<Repository5<TagEntity>>;
|
|
195
166
|
close(): Promise<void>;
|
|
196
|
-
find(criteria:
|
|
167
|
+
find(criteria: FindManyOptions5<TagEntity> & {
|
|
197
168
|
page?: number;
|
|
198
169
|
limit?: number;
|
|
199
170
|
q?: string;
|
|
200
|
-
}): Promise<
|
|
171
|
+
}): Promise<FilterResultType5<TagEntity>>;
|
|
201
172
|
findOne(id: string): Promise<TagEntity | null>;
|
|
202
|
-
findOneBy(criteria:
|
|
203
|
-
create(entity: TagEntity, options?:
|
|
204
|
-
createMany(entities: TagEntity[], options?:
|
|
205
|
-
update(entity: TagEntity, options?:
|
|
206
|
-
updateMany(entities: TagEntity[], options?:
|
|
207
|
-
delete(criteria:
|
|
208
|
-
count(criteria?:
|
|
173
|
+
findOneBy(criteria: FindOptionsWhere5<TagEntity>): Promise<TagEntity | null>;
|
|
174
|
+
create(entity: TagEntity, options?: SaveOptions5): Promise<TagEntity>;
|
|
175
|
+
createMany(entities: TagEntity[], options?: SaveOptions5): Promise<TagEntity[]>;
|
|
176
|
+
update(entity: TagEntity, options?: SaveOptions5): Promise<TagEntity>;
|
|
177
|
+
updateMany(entities: TagEntity[], options?: SaveOptions5): Promise<TagEntity[]>;
|
|
178
|
+
delete(criteria: FindOptionsWhere5<TagEntity> | FindOptionsWhere5<TagEntity>[]): Promise<UpdateResult5>;
|
|
179
|
+
count(criteria?: FindOptionsWhere5<TagEntity> | FindOptionsWhere5<TagEntity>[]): Promise<number>;
|
|
209
180
|
}
|
|
210
|
-
export { TagRepository, StatusRepository, StatRepository,
|
|
181
|
+
export { TagRepository, StatusRepository, StatRepository, ColorRepository, CategoryRepository };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{ha as W}from"../../../shared/chunk-4ysz6b7v.js";import{Ja as I}from"../../../shared/chunk-xyq6sfz0.js";import{Va as P}from"../../../shared/chunk-bdyby4d8.js";import{Wa as L,Xa as b}from"../../../shared/chunk-gcch857j.js";import"../../../shared/chunk-fjtw26pp.js";import{$a as M,_a as K,ab as N}from"../../../shared/chunk-x9h6vngs.js";import{inject as T}from"@ooneex/container";import{decorator as w}from"@ooneex/repository";import{ILike as f}from"typeorm";class X{database;constructor(x){this.database=x}async open(){return await this.database.open(I)}async close(){await this.database.close()}async find(x){let v=await this.open(),{page:z=1,limit:B=100,q:F,...D}=x,G,J=B===0?100:B;if(z&&z>0&&B&&B>0)G=(z-1)*J;let H={...D,take:J,...G!==void 0&&{skip:G}};if(F)H={...H,where:{...D.where,name:f(`%${F}%`)}};let Q=await v.find(H),U=D.where;if(F)U={...D.where,name:f(`%${F}%`)};let V=await this.count(U),A=Math.ceil(V/B);return{resources:Q,total:V,totalPages:A,page:z,limit:B}}async findOne(x){return await(await this.open()).findOne({where:{id:x}})}async findOneBy(x){return await(await this.open()).findOne({where:x})}async create(x,v){return await(await this.open()).save(x,v)}async createMany(x,v){return await(await this.open()).save(x,v)}async update(x,v){return await this.create(x,v)}async updateMany(x,v){return await this.createMany(x,v)}async delete(x){return await(await this.open()).softDelete(x)}async count(x){return await(await this.open()).count(x?{where:x}:{})}}X=K([w.repository(),M(0,T("database")),N("design:paramtypes",[typeof ITypeormDatabase==="undefined"?Object:ITypeormDatabase])],X);import{inject as O}from"@ooneex/container";import{decorator as h}from"@ooneex/repository";class Y{database;constructor(x){this.database=x}async open(){return await this.database.open(L)}async close(){await this.database.close()}async find(x){let v=await this.open(),{page:z=1,limit:B=100,...F}=x,D,G=B===0?100:B;if(z&&z>0&&B&&B>0)D=(z-1)*G;let J=await v.find({...F,take:G,...D!==void 0&&{skip:D}}),H=await this.count(F.where),Q=Math.ceil(H/B);return{resources:J,total:H,totalPages:Q,page:z,limit:B}}async findOne(x){return await(await this.open()).findOne({where:{id:x}})}async findOneBy(x){return await(await this.open()).findOne({where:x})}async create(x,v){return await(await this.open()).save(x,v)}async createMany(x,v){return await(await this.open()).save(x,v)}async update(x,v){return await this.create(x,v)}async updateMany(x,v){return await this.createMany(x,v)}async delete(x){return await(await this.open()).softDelete(x)}async count(x){return await(await this.open()).count(x?{where:x}:{})}}Y=K([h.repository(),M(0,O("database")),N("design:paramtypes",[typeof ITypeormDatabase==="undefined"?Object:ITypeormDatabase])],Y);import{inject as q}from"@ooneex/container";import{decorator as C}from"@ooneex/repository";class Z{database;constructor(x){this.database=x}async open(){return await this.database.open(W)}async close(){await this.database.close()}async find(x){let v=await this.open(),{page:z=1,limit:B=100,...F}=x,D,G=B===0?100:B;if(z&&z>0&&B&&B>0)D=(z-1)*G;let J=await v.find({...F,take:G,...D!==void 0&&{skip:D}}),H=await this.count(F.where),Q=Math.ceil(H/B);return{resources:J,total:H,totalPages:Q,page:z,limit:B}}async findOne(x){return await(await this.open()).findOne({where:{id:x}})}async findOneBy(x){return await(await this.open()).findOne({where:x})}async create(x,v){return await(await this.open()).save(x,v)}async createMany(x,v){return await(await this.open()).save(x,v)}async update(x,v){return await this.create(x,v)}async updateMany(x,v){return await this.createMany(x,v)}async delete(x){return await(await this.open()).softDelete(x)}async count(x){return await(await this.open()).count(x?{where:x}:{})}}Z=K([C.repository(),M(0,q("database")),N("design:paramtypes",[typeof ITypeormDatabase==="undefined"?Object:ITypeormDatabase])],Z);import{inject as E}from"@ooneex/container";import{decorator as S}from"@ooneex/repository";class _{database;constructor(x){this.database=x}async open(){return await this.database.open(b)}async close(){await this.database.close()}async find(x){let v=await this.open(),{page:z=1,limit:B=100,...F}=x,D,G=B===0?100:B;if(z&&z>0&&B&&B>0)D=(z-1)*G;let J=await v.find({...F,take:G,...D!==void 0&&{skip:D}}),H=await this.count(F.where),Q=Math.ceil(H/B);return{resources:J,total:H,totalPages:Q,page:z,limit:B}}async findOne(x){return await(await this.open()).findOne({where:{id:x}})}async findOneBy(x){return await(await this.open()).findOne({where:x})}async create(x,v){return await(await this.open()).save(x,v)}async createMany(x,v){return await(await this.open()).save(x,v)}async update(x,v){return await this.create(x,v)}async updateMany(x,v){return await this.createMany(x,v)}async delete(x){return await(await this.open()).softDelete(x)}async count(x){return await(await this.open()).count(x?{where:x}:{})}}_=K([S.repository(),M(0,E("database")),N("design:paramtypes",[typeof ITypeormDatabase==="undefined"?Object:ITypeormDatabase])],_);import{inject as R}from"@ooneex/container";import{decorator as u}from"@ooneex/repository";import{ILike as j}from"typeorm";class ${database;constructor(x){this.database=x}async open(){return await this.database.open(P)}async close(){await this.database.close()}async find(x){let v=await this.open(),{page:z=1,limit:B=100,q:F,...D}=x,G,J=B===0?100:B;if(z&&z>0&&B&&B>0)G=(z-1)*J;let H={...D,take:J,...G!==void 0&&{skip:G}};if(F)H={...H,where:{...D.where,name:j(`%${F}%`)}};let Q=await v.find(H),U=D.where;if(F)U={...D.where,name:j(`%${F}%`)};let V=await this.count(U),A=Math.ceil(V/B);return{resources:Q,total:V,totalPages:A,page:z,limit:B}}async findOne(x){return await(await this.open()).findOne({where:{id:x}})}async findOneBy(x){return await(await this.open()).findOne({where:x})}async create(x,v){return await(await this.open()).save(x,v)}async createMany(x,v){return await(await this.open()).save(x,v)}async update(x,v){return await this.create(x,v)}async updateMany(x,v){return await this.createMany(x,v)}async delete(x){return await(await this.open()).softDelete(x)}async count(x){return await(await this.open()).count(x?{where:x}:{})}}$=K([u.repository(),M(0,R("database")),N("design:paramtypes",[typeof ITypeormDatabase==="undefined"?Object:ITypeormDatabase])],$);export{$ as TagRepository,_ as StatusRepository,Z as StatRepository,Y as ColorRepository,X as CategoryRepository};
|
|
3
3
|
|
|
4
|
-
//# debugId=
|
|
4
|
+
//# debugId=2A0FE454F2DE0C9E64756E2164756E21
|