File tree Expand file tree Collapse file tree
scripts/code-generation/mongoose/repositories Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -33,7 +33,6 @@ export class RepositoryGenerator {
3333 }
3434
3535 this . generateEntity ( ) ;
36- this . generateInterface ( ) ;
3736 this . generateRepository ( ) ;
3837
3938 console . log (
@@ -50,15 +49,6 @@ export class RepositoryGenerator {
5049 fs . writeFileSync ( filePath , content , 'utf-8' ) ;
5150 }
5251
53- private generateInterface ( ) : void {
54- const content = this . loadTemplate ( 'interface.template.txt' ) ;
55- const filePath = path . join (
56- this . outputDir ,
57- `${ this . entityNameKebab } .mongoose-repository.interface.ts` ,
58- ) ;
59- fs . writeFileSync ( filePath , content , 'utf-8' ) ;
60- }
61-
6252 private generateRepository ( ) : void {
6353 const content = this . loadTemplate ( 'repository.template.txt' ) ;
6454 const filePath = path . join (
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -12,7 +12,10 @@ import { {{ENTITY_NAME_PASCAL}}MongooseBaseRepository } from './{{ENTITY_NAME_KE
1212import { ServerConstants } from '../../../../constants/server.constants';
1313
1414@Injectable()
15- export class {{ENTITY_NAME_PASCAL}}MongooseRepository extends {{ENTITY_NAME_PASCAL}}MongooseBaseRepository {
15+ export class {{ENTITY_NAME_PASCAL}}MongooseRepository extends MongooseBaseRepository<
16+ {{ENTITY_NAME_PASCAL}},
17+ {{ENTITY_NAME_PASCAL}}MongooseEntity
18+ > {
1619 constructor(
1720 @InjectModel({{ENTITY_NAME_PASCAL}}MongooseEntity.name)
1821 {{ENTITY_NAME_CAMEL}}Model: Model<{{ENTITY_NAME_PASCAL}}MongooseEntity>,
@@ -23,11 +26,9 @@ export class {{ENTITY_NAME_PASCAL}}MongooseRepository extends {{ENTITY_NAME_PASC
2326 }
2427
2528 protected toDomainEntity({{ENTITY_NAME_CAMEL}}Entity: {{ENTITY_NAME_PASCAL}}MongooseEntity): {{ENTITY_NAME_PASCAL}} {
26- throw new Error('Method not implemented.');
27-
28- // Complete Conversion Below
29- // return {
30- // id: dbEntity._id?.toString() ?? '',
31- // };
29+ return {
30+ id: dbEntity._id?.toString() ?? '',
31+ ...{{ENTITY_NAME_CAMEL}}Entity,
32+ };
3233 }
3334}
Original file line number Diff line number Diff line change @@ -3,9 +3,4 @@ export class ServerConstants {
33 Mongoose : 'MONGOOSE_CONNECTION' ,
44 Prisma : 'PRISMA_CONNECTION' ,
55 } as const ;
6-
7- static readonly Repositories = {
8- MongooseCrudInterface : Symbol ( 'ICrudMongooseRepository' ) ,
9- PrismaCrudInterface : Symbol ( 'ICrudPrismaRepository' ) ,
10- } as const ;
116}
Original file line number Diff line number Diff line change @@ -10,7 +10,6 @@ import { CrudMongooseRepository } from './repositories/mongoose/crud.mongoose-re
1010import { CrudPrismaRepository } from './repositories/prisma/crud.prisma-repository' ;
1111import { CrudMongooseService } from './services/crud.mongoose.service' ;
1212import { CrudPrismaService } from './services/crud.prisma.service' ;
13- import { ServerConstants } from '../../constants/server.constants' ;
1413
1514@Module ( {
1615 imports : [
@@ -20,17 +19,11 @@ import { ServerConstants } from '../../constants/server.constants';
2019 ] ) ,
2120 ] ,
2221 providers : [
23- {
24- provide : ServerConstants . Repositories . MongooseCrudInterface ,
25- useClass : CrudMongooseRepository ,
26- } ,
27- {
28- provide : ServerConstants . Repositories . PrismaCrudInterface ,
29- useClass : CrudPrismaRepository ,
30- } ,
3122 CrudMongooseService ,
3223 CrudPrismaService ,
3324 CrudRouter ,
25+ CrudMongooseRepository ,
26+ CrudPrismaRepository ,
3427 ] ,
3528 exports : [ CrudMongooseService , CrudPrismaService ] ,
3629} )
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -8,11 +8,14 @@ import {
88import { TransactionalAdapterMongoose } from '@nestjs-cls/transactional-adapter-mongoose' ;
99import { CrudMongooseEntity } from './crud.mongoose-entity' ;
1010import { Crud } from '../../schemas/crud.schema' ;
11- import { CrudMongooseBaseRepository } from './crud.mongoose-repository.interface' ;
1211import { ServerConstants } from '../../../../constants/server.constants' ;
12+ import { MongooseBaseRepository } from '../../../../repositories/mongoose/mongoose.base-repository' ;
1313
1414@Injectable ( )
15- export class CrudMongooseRepository extends CrudMongooseBaseRepository {
15+ export class CrudMongooseRepository extends MongooseBaseRepository <
16+ Crud ,
17+ CrudMongooseEntity
18+ > {
1619 constructor (
1720 @InjectModel ( CrudMongooseEntity . name )
1821 crudModel : Model < CrudMongooseEntity > ,
Original file line number Diff line number Diff line change 11import {
22 BadRequestException ,
3- Inject ,
43 Injectable ,
54 NotFoundException ,
65} from '@nestjs/common' ;
76import { Crud } from '../schemas/crud.schema' ;
87import { NoTransaction } from '../../../decorators/method/no-transaction.decorator' ;
98import { AutoTransaction } from '../../../decorators/class/auto-transaction.decorator' ;
109import { ServerConstants } from '../../../constants/server.constants' ;
11- import { ICrudMongooseRepository } from '../repositories/mongoose/crud.mongoose-repository.interface' ;
1210import { Logger , StringExtensions } from '@repo/utils-core' ;
1311import { Propagation } from '@nestjs-cls/transactional' ;
12+ import { CrudMongooseRepository } from '../repositories/mongoose/crud.mongoose-repository' ;
1413
1514@Injectable ( )
1615@AutoTransaction (
1716 ServerConstants . TransactionConnectionNames . Mongoose ,
1817 Propagation . Required ,
1918)
2019export class CrudMongooseService {
21- constructor (
22- @Inject ( ServerConstants . Repositories . MongooseCrudInterface )
23- private readonly crudRepository : ICrudMongooseRepository ,
24- ) { }
20+ constructor ( private readonly crudRepository : CrudMongooseRepository ) { }
2521
2622 async createCrud ( data : Partial < Crud > ) : Promise < Crud > {
2723 if ( StringExtensions . IsNullOrEmpty ( data . content ) ) {
Original file line number Diff line number Diff line change @@ -3,20 +3,17 @@ import { Crud } from '../schemas/crud.schema';
33import { NoTransaction } from '../../../decorators/method/no-transaction.decorator' ;
44import { AutoTransaction } from '../../../decorators/class/auto-transaction.decorator' ;
55import { ServerConstants } from '../../../constants/server.constants' ;
6- import { ICrudPrismaRepository } from '../repositories/prisma/crud.prisma-repository.interface' ;
76import { Logger } from '@repo/utils-core' ;
87import { Propagation } from '@nestjs-cls/transactional' ;
8+ import { CrudPrismaRepository } from '../repositories/prisma/crud.prisma-repository' ;
99
1010@Injectable ( )
1111@AutoTransaction (
1212 ServerConstants . TransactionConnectionNames . Prisma ,
1313 Propagation . Required ,
1414)
1515export class CrudPrismaService {
16- constructor (
17- @Inject ( ServerConstants . Repositories . PrismaCrudInterface )
18- private readonly crudRepository : ICrudPrismaRepository ,
19- ) { }
16+ constructor ( private readonly crudRepository : CrudPrismaRepository ) { }
2017
2118 async createCrud ( data : Partial < Crud > ) : Promise < Crud > {
2219 const created = await this . crudRepository . create ( {
You can’t perform that action at this time.
0 commit comments