@exanderal/stackcraft 0.4.1 → 0.5.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/README.md +57 -8
- package/dist/create/index.d.ts +1 -1
- package/dist/create/index.d.ts.map +1 -1
- package/dist/create/index.js +34 -14
- package/dist/create/index.js.map +1 -1
- package/dist/create/scaffolders/__tests__/web-vite.test.js +1 -0
- package/dist/create/scaffolders/__tests__/web-vite.test.js.map +1 -1
- package/dist/create/scaffolders/api-nestjs-graphql.d.ts.map +1 -1
- package/dist/create/scaffolders/api-nestjs-graphql.js +14 -17
- package/dist/create/scaffolders/api-nestjs-graphql.js.map +1 -1
- package/dist/create/scaffolders/api-nestjs-rest.d.ts.map +1 -1
- package/dist/create/scaffolders/api-nestjs-rest.js +14 -17
- package/dist/create/scaffolders/api-nestjs-rest.js.map +1 -1
- package/dist/create/scaffolders/orm.d.ts +6 -0
- package/dist/create/scaffolders/orm.d.ts.map +1 -0
- package/dist/create/scaffolders/orm.js +271 -0
- package/dist/create/scaffolders/orm.js.map +1 -0
- package/dist/create/scaffolders/setup-docker.js +35 -8
- package/dist/create/scaffolders/setup-docker.js.map +1 -1
- package/dist/create/scaffolders/utils/copy.d.ts.map +1 -1
- package/dist/create/scaffolders/utils/copy.js +1 -0
- package/dist/create/scaffolders/utils/copy.js.map +1 -1
- package/dist/create/scaffolders/wire-client.js +4 -4
- package/dist/create/types.d.ts +2 -0
- package/dist/create/types.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/api-nestjs-graphql/package.json +2 -3
- package/templates/api-nestjs-graphql/src/modules/health/health.module.ts +2 -1
- package/templates/api-nestjs-graphql/src/modules/health/health.resolver.ts +12 -0
- package/templates/api-nestjs-rest/package.json +1 -3
- package/templates/base/tools/generators/module/graphql-files/__fileName__.model.ts__tmpl__ +10 -8
- package/templates/base/tools/generators/module/index.js +0 -4
- package/templates/base/tools/generators/module/schema.json +0 -6
- package/templates/orm-kysely/scripts/migration-create.ts +30 -0
- package/templates/orm-kysely/src/common/repositories/entity.repository.ts +33 -0
- package/templates/orm-kysely/src/common/repositories/readonly-entity.repository.ts +46 -0
- package/templates/orm-kysely/src/database/database.types.ts +17 -0
- package/templates/orm-kysely/src/database/migrations/.gitkeep +0 -0
- package/templates/orm-kysely/src/database/seeds/seed.ts +12 -0
- package/templates/orm-kysely/src/database/utils/columns.ts +32 -0
- package/templates/orm-kysely/src/database/utils/index.ts +3 -0
- package/templates/orm-kysely/src/database/utils/indexes.ts +20 -0
- package/templates/orm-kysely/src/database/utils/tables.ts +7 -0
- package/templates/orm-kysely/src/modules/database/database.module.ts +9 -0
- package/templates/orm-kysely/tools/generators/module/files/__fileName__.model.ts__tmpl__ +16 -0
- package/templates/orm-kysely/tools/generators/module/files/__fileName__.module.ts__tmpl__ +9 -0
- package/templates/orm-kysely/tools/generators/module/files/__fileName__.repository.ts__tmpl__ +26 -0
- package/templates/orm-kysely/tools/generators/module/files/__fileName__.service.ts__tmpl__ +28 -0
- package/templates/orm-kysely/tools/generators/module/files/__tests__/__fileName__.integration.spec.ts__tmpl__ +23 -0
- package/templates/orm-kysely/tools/generators/module/graphql-files/__fileName__.model.ts__tmpl__ +24 -0
- package/templates/orm-prisma/prisma/schema.prisma +8 -0
- package/templates/orm-prisma/prisma/seeds/seed.ts +16 -0
- package/templates/orm-prisma/src/modules/database/database.module.ts +8 -0
- package/templates/orm-prisma/src/modules/prisma/prisma.module.ts +9 -0
- package/templates/orm-prisma/src/modules/prisma/prisma.service.ts +9 -0
- package/templates/orm-prisma/tools/generators/module/files/__fileName__.model.ts__tmpl__ +15 -0
- package/templates/orm-prisma/tools/generators/module/files/__fileName__.module.ts__tmpl__ +9 -0
- package/templates/orm-prisma/tools/generators/module/files/__fileName__.repository.ts__tmpl__ +28 -0
- package/templates/orm-prisma/tools/generators/module/files/__fileName__.service.ts__tmpl__ +28 -0
- package/templates/orm-prisma/tools/generators/module/files/__tests__/__fileName__.integration.spec.ts__tmpl__ +23 -0
- package/templates/orm-prisma/tools/generators/module/graphql-files/__fileName__.model.ts__tmpl__ +23 -0
- package/templates/api-nestjs-graphql/src/common/entities/base.entity.ts +0 -21
- package/templates/api-nestjs-graphql/src/common/repositories/entity.repository.ts +0 -21
- package/templates/api-nestjs-graphql/src/common/repositories/readonly-entity.repository.ts +0 -22
- package/templates/api-nestjs-graphql/src/common/services/entity.service.ts +0 -24
- package/templates/api-nestjs-graphql/src/common/services/readonly-entity.service.ts +0 -23
- package/templates/api-nestjs-graphql/src/modules/database/database.module.ts +0 -18
- package/templates/api-nestjs-rest/src/common/entities/base.entity.ts +0 -16
- package/templates/api-nestjs-rest/src/common/repositories/entity.repository.ts +0 -21
- package/templates/api-nestjs-rest/src/common/repositories/readonly-entity.repository.ts +0 -22
- package/templates/api-nestjs-rest/src/common/services/entity.service.ts +0 -24
- package/templates/api-nestjs-rest/src/common/services/readonly-entity.service.ts +0 -23
- package/templates/api-nestjs-rest/src/modules/database/database.module.ts +0 -18
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { FindManyOptions, FindOptionsWhere, In, Repository } from 'typeorm';
|
|
2
|
-
import { BaseEntity } from '../entities/base.entity';
|
|
3
|
-
|
|
4
|
-
export abstract class ReadonlyEntityRepository<T extends BaseEntity> {
|
|
5
|
-
constructor(protected readonly repo: Repository<T>) {}
|
|
6
|
-
|
|
7
|
-
findAll(options?: FindManyOptions<T>): Promise<T[]> {
|
|
8
|
-
return this.repo.find(options);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
findByIds(ids: string[]): Promise<T[]> {
|
|
12
|
-
return this.repo.findBy({ id: In(ids) } as FindOptionsWhere<T>);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
findById(id: string): Promise<T | null> {
|
|
16
|
-
return this.repo.findOneBy({ id } as FindOptionsWhere<T>);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
findOne(where: FindOptionsWhere<T>): Promise<T | null> {
|
|
20
|
-
return this.repo.findOneBy(where);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { DeepPartial } from 'typeorm';
|
|
2
|
-
import { BaseEntity } from '../entities/base.entity';
|
|
3
|
-
import { EntityRepository } from '../repositories/entity.repository';
|
|
4
|
-
import { ReadonlyEntityService } from './readonly-entity.service';
|
|
5
|
-
|
|
6
|
-
export abstract class EntityService<
|
|
7
|
-
T extends BaseEntity,
|
|
8
|
-
> extends ReadonlyEntityService<T> {
|
|
9
|
-
constructor(protected readonly repository: EntityRepository<T>) {
|
|
10
|
-
super(repository);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
create(data: DeepPartial<T>): Promise<T> {
|
|
14
|
-
return this.repository.create(data);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
update(id: string, data: DeepPartial<T>): Promise<T> {
|
|
18
|
-
return this.repository.update(id, data);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
remove(id: string): Promise<void> {
|
|
22
|
-
return this.repository.remove(id);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { FindManyOptions, FindOptionsWhere } from 'typeorm';
|
|
2
|
-
import { BaseEntity } from '../entities/base.entity';
|
|
3
|
-
import { ReadonlyEntityRepository } from '../repositories/readonly-entity.repository';
|
|
4
|
-
|
|
5
|
-
export abstract class ReadonlyEntityService<T extends BaseEntity> {
|
|
6
|
-
constructor(protected readonly repository: ReadonlyEntityRepository<T>) {}
|
|
7
|
-
|
|
8
|
-
findAll(options?: FindManyOptions<T>): Promise<T[]> {
|
|
9
|
-
return this.repository.findAll(options);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
findByIds(ids: string[]): Promise<T[]> {
|
|
13
|
-
return this.repository.findByIds(ids);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
findById(id: string): Promise<T | null> {
|
|
17
|
-
return this.repository.findById(id);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
findOne(where: FindOptionsWhere<T>): Promise<T | null> {
|
|
21
|
-
return this.repository.findOne(where);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Module } from '@nestjs/common';
|
|
2
|
-
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
3
|
-
|
|
4
|
-
@Module({
|
|
5
|
-
imports: [
|
|
6
|
-
TypeOrmModule.forRoot({
|
|
7
|
-
type: '{{dbType}}' as 'postgres' | 'mysql',
|
|
8
|
-
host: process.env.DB_HOST ?? 'localhost',
|
|
9
|
-
port: parseInt(process.env.DB_PORT ?? '{{dbPort}}', 10),
|
|
10
|
-
username: process.env.DB_USER ?? 'postgres',
|
|
11
|
-
password: process.env.DB_PASSWORD ?? '',
|
|
12
|
-
database: process.env.DB_NAME ?? '{{projectName}}',
|
|
13
|
-
entities: [],
|
|
14
|
-
synchronize: process.env.NODE_ENV !== 'production',
|
|
15
|
-
}),
|
|
16
|
-
],
|
|
17
|
-
})
|
|
18
|
-
export class DatabaseModule {}
|