clhq-postgres-module 1.1.0-alpha.170 → 1.1.0-alpha.172

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.
Files changed (40) hide show
  1. package/dist/config/data-source.js +3 -6
  2. package/dist/entities/account-analytics-summary.entity.d.ts +17 -0
  3. package/dist/entities/account-analytics-summary.entity.js +82 -0
  4. package/dist/entities/analytics-report.entity.d.ts +20 -0
  5. package/dist/entities/analytics-report.entity.js +66 -0
  6. package/dist/entities/index.d.ts +7 -0
  7. package/dist/entities/index.js +7 -0
  8. package/dist/entities/platform-config.entity.d.ts +16 -0
  9. package/dist/entities/platform-config.entity.js +72 -0
  10. package/dist/entities/post-analytics-snapshot.entity.d.ts +33 -0
  11. package/dist/entities/post-analytics-snapshot.entity.js +122 -0
  12. package/dist/entities/post-brand-analysis.entity.d.ts +26 -0
  13. package/dist/entities/post-brand-analysis.entity.js +75 -0
  14. package/dist/entities/social-account.entity.d.ts +39 -0
  15. package/dist/entities/social-account.entity.js +131 -0
  16. package/dist/entities/social-post.entity.d.ts +45 -0
  17. package/dist/entities/social-post.entity.js +171 -0
  18. package/dist/migrations/1713000000000-Baseline.d.ts +6 -0
  19. package/dist/migrations/1713000000000-Baseline.js +13 -0
  20. package/dist/migrations/1713000000001-CreateSocialConnectionTables.d.ts +6 -0
  21. package/dist/migrations/1713000000001-CreateSocialConnectionTables.js +68 -0
  22. package/dist/migrations/1713000000002-AddIsActiveToWorkspaceMembers.d.ts +6 -0
  23. package/dist/migrations/1713000000002-AddIsActiveToWorkspaceMembers.js +36 -0
  24. package/dist/migrations/1713000000003-AddDescriptionToBrandKits.d.ts +6 -0
  25. package/dist/migrations/1713000000003-AddDescriptionToBrandKits.js +20 -0
  26. package/dist/repositories/account-analytics-summary.repository.d.ts +12 -0
  27. package/dist/repositories/account-analytics-summary.repository.js +55 -0
  28. package/dist/repositories/index.d.ts +5 -0
  29. package/dist/repositories/index.js +11 -1
  30. package/dist/repositories/platform-config.repository.d.ts +10 -0
  31. package/dist/repositories/platform-config.repository.js +43 -0
  32. package/dist/repositories/post-analytics-snapshot.repository.d.ts +9 -0
  33. package/dist/repositories/post-analytics-snapshot.repository.js +50 -0
  34. package/dist/repositories/repository.module.d.ts +1 -0
  35. package/dist/repositories/repository.module.js +16 -1
  36. package/dist/repositories/social-account.repository.d.ts +9 -0
  37. package/dist/repositories/social-account.repository.js +44 -0
  38. package/dist/repositories/social-post.repository.d.ts +17 -0
  39. package/dist/repositories/social-post.repository.js +91 -0
  40. package/package.json +12 -34
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.PlatformConfigRepository = void 0;
16
+ const typeorm_1 = require("typeorm");
17
+ const common_1 = require("@nestjs/common");
18
+ const typeorm_2 = require("@nestjs/typeorm");
19
+ const base_repository_1 = require("./base.repository");
20
+ const platform_config_entity_1 = require("../entities/platform-config.entity");
21
+ let PlatformConfigRepository = class PlatformConfigRepository extends base_repository_1.BaseRepository {
22
+ constructor(platformConfigRepository) {
23
+ super(platformConfigRepository);
24
+ this.platformConfigRepository = platformConfigRepository;
25
+ }
26
+ async findByWorkspace(workspaceId) {
27
+ return this.platformConfigRepository.find({
28
+ where: { workspaceId },
29
+ order: { createdAt: 'DESC' },
30
+ });
31
+ }
32
+ async findByWorkspaceAndPlatform(workspaceId, platform) {
33
+ return this.platformConfigRepository.findOne({
34
+ where: { workspaceId, platform },
35
+ });
36
+ }
37
+ };
38
+ exports.PlatformConfigRepository = PlatformConfigRepository;
39
+ exports.PlatformConfigRepository = PlatformConfigRepository = __decorate([
40
+ (0, common_1.Injectable)(),
41
+ __param(0, (0, typeorm_2.InjectRepository)(platform_config_entity_1.PlatformConfig)),
42
+ __metadata("design:paramtypes", [typeorm_1.Repository])
43
+ ], PlatformConfigRepository);
@@ -0,0 +1,9 @@
1
+ import { DataSource, Repository } from 'typeorm';
2
+ import { PostAnalyticsSnapshot } from '../entities/post-analytics-snapshot.entity';
3
+ export declare class PostAnalyticsSnapshotRepository extends Repository<PostAnalyticsSnapshot> {
4
+ private dataSource;
5
+ constructor(dataSource: DataSource);
6
+ findLatestByPost(socialPostId: string): Promise<PostAnalyticsSnapshot | null>;
7
+ findByPostInRange(socialPostId: string, startDate: Date, endDate: Date): Promise<PostAnalyticsSnapshot[]>;
8
+ findByWorkspaceInRange(workspaceId: string, startDate: Date, endDate: Date): Promise<PostAnalyticsSnapshot[]>;
9
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.PostAnalyticsSnapshotRepository = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const typeorm_1 = require("typeorm");
15
+ const post_analytics_snapshot_entity_1 = require("../entities/post-analytics-snapshot.entity");
16
+ let PostAnalyticsSnapshotRepository = class PostAnalyticsSnapshotRepository extends typeorm_1.Repository {
17
+ constructor(dataSource) {
18
+ super(post_analytics_snapshot_entity_1.PostAnalyticsSnapshot, dataSource.createEntityManager());
19
+ this.dataSource = dataSource;
20
+ }
21
+ async findLatestByPost(socialPostId) {
22
+ return this.findOne({
23
+ where: { socialPostId },
24
+ order: { snapshotTakenAt: 'DESC' },
25
+ });
26
+ }
27
+ async findByPostInRange(socialPostId, startDate, endDate) {
28
+ return this.find({
29
+ where: {
30
+ socialPostId,
31
+ snapshotTakenAt: (0, typeorm_1.Between)(startDate, endDate),
32
+ },
33
+ order: { snapshotTakenAt: 'ASC' },
34
+ });
35
+ }
36
+ async findByWorkspaceInRange(workspaceId, startDate, endDate) {
37
+ return this.find({
38
+ where: {
39
+ workspaceId,
40
+ snapshotTakenAt: (0, typeorm_1.Between)(startDate, endDate),
41
+ },
42
+ order: { snapshotTakenAt: 'DESC' },
43
+ });
44
+ }
45
+ };
46
+ exports.PostAnalyticsSnapshotRepository = PostAnalyticsSnapshotRepository;
47
+ exports.PostAnalyticsSnapshotRepository = PostAnalyticsSnapshotRepository = __decorate([
48
+ (0, common_1.Injectable)(),
49
+ __metadata("design:paramtypes", [typeorm_1.DataSource])
50
+ ], PostAnalyticsSnapshotRepository);
@@ -1,2 +1,3 @@
1
+ export { SocialPlatform, AuthMethod, SocialAccountStatus, SocialPostStatus, } from '../entities';
1
2
  export declare class RepositoryModule {
2
3
  }
@@ -6,10 +6,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.RepositoryModule = void 0;
9
+ exports.RepositoryModule = exports.SocialPostStatus = exports.SocialAccountStatus = exports.AuthMethod = exports.SocialPlatform = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const typeorm_1 = require("@nestjs/typeorm");
12
12
  const entities_1 = require("../entities");
13
+ var entities_2 = require("../entities");
14
+ Object.defineProperty(exports, "SocialPlatform", { enumerable: true, get: function () { return entities_2.SocialPlatform; } });
15
+ Object.defineProperty(exports, "AuthMethod", { enumerable: true, get: function () { return entities_2.AuthMethod; } });
16
+ Object.defineProperty(exports, "SocialAccountStatus", { enumerable: true, get: function () { return entities_2.SocialAccountStatus; } });
17
+ Object.defineProperty(exports, "SocialPostStatus", { enumerable: true, get: function () { return entities_2.SocialPostStatus; } });
13
18
  const _1 = require("./");
14
19
  const repositories = [
15
20
  _1.UserRepository,
@@ -56,6 +61,11 @@ const repositories = [
56
61
  _1.ProjectBrandOverrideRepository,
57
62
  _1.AiVideoJobRepository,
58
63
  _1.AiVideoSceneTaskRepository,
64
+ _1.SocialAccountRepository,
65
+ _1.PlatformConfigRepository,
66
+ _1.SocialPostRepository,
67
+ _1.PostAnalyticsSnapshotRepository,
68
+ _1.AccountAnalyticsSummaryRepository,
59
69
  ];
60
70
  const entities = [
61
71
  entities_1.User,
@@ -104,6 +114,11 @@ const entities = [
104
114
  entities_1.ProjectBrandOverride,
105
115
  entities_1.AiVideoJob,
106
116
  entities_1.AiVideoSceneTask,
117
+ entities_1.SocialAccount,
118
+ entities_1.PlatformConfig,
119
+ entities_1.SocialPost,
120
+ entities_1.PostAnalyticsSnapshot,
121
+ entities_1.AccountAnalyticsSummary,
107
122
  ];
108
123
  let RepositoryModule = class RepositoryModule {
109
124
  };
@@ -0,0 +1,9 @@
1
+ import { Repository } from 'typeorm';
2
+ import { BaseRepository } from './base.repository';
3
+ import { SocialAccount, SocialPlatform } from '../entities/social-account.entity';
4
+ export declare class SocialAccountRepository extends BaseRepository<SocialAccount> {
5
+ private readonly socialAccountRepository;
6
+ constructor(socialAccountRepository: Repository<SocialAccount>);
7
+ findByWorkspace(workspaceId: string): Promise<SocialAccount[]>;
8
+ findByWorkspaceAndPlatform(workspaceId: string, platform: SocialPlatform): Promise<SocialAccount[]>;
9
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SocialAccountRepository = void 0;
16
+ const typeorm_1 = require("typeorm");
17
+ const common_1 = require("@nestjs/common");
18
+ const typeorm_2 = require("@nestjs/typeorm");
19
+ const base_repository_1 = require("./base.repository");
20
+ const social_account_entity_1 = require("../entities/social-account.entity");
21
+ let SocialAccountRepository = class SocialAccountRepository extends base_repository_1.BaseRepository {
22
+ constructor(socialAccountRepository) {
23
+ super(socialAccountRepository);
24
+ this.socialAccountRepository = socialAccountRepository;
25
+ }
26
+ async findByWorkspace(workspaceId) {
27
+ return this.socialAccountRepository.find({
28
+ where: { workspaceId },
29
+ order: { createdAt: 'DESC' },
30
+ });
31
+ }
32
+ async findByWorkspaceAndPlatform(workspaceId, platform) {
33
+ return this.socialAccountRepository.find({
34
+ where: { workspaceId, platform },
35
+ order: { createdAt: 'DESC' },
36
+ });
37
+ }
38
+ };
39
+ exports.SocialAccountRepository = SocialAccountRepository;
40
+ exports.SocialAccountRepository = SocialAccountRepository = __decorate([
41
+ (0, common_1.Injectable)(),
42
+ __param(0, (0, typeorm_2.InjectRepository)(social_account_entity_1.SocialAccount)),
43
+ __metadata("design:paramtypes", [typeorm_1.Repository])
44
+ ], SocialAccountRepository);
@@ -0,0 +1,17 @@
1
+ import { Repository } from 'typeorm';
2
+ import { BaseRepository } from './base.repository';
3
+ import { SocialPost, SocialPostStatus, SocialPlatform } from '../entities/social-post.entity';
4
+ export interface SocialPostFilters {
5
+ platform?: SocialPlatform;
6
+ status?: SocialPostStatus;
7
+ startDate?: Date;
8
+ endDate?: Date;
9
+ }
10
+ export declare class SocialPostRepository extends BaseRepository<SocialPost> {
11
+ private readonly socialPostRepository;
12
+ constructor(socialPostRepository: Repository<SocialPost>);
13
+ findByWorkspace(workspaceId: string, filters?: SocialPostFilters, limit?: number, offset?: number): Promise<SocialPost[]>;
14
+ findByAccount(socialAccountId: string): Promise<SocialPost[]>;
15
+ countByWorkspaceThisMonth(workspaceId: string): Promise<number>;
16
+ findById(id: string): Promise<SocialPost | null>;
17
+ }
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.SocialPostRepository = void 0;
16
+ const typeorm_1 = require("typeorm");
17
+ const common_1 = require("@nestjs/common");
18
+ const typeorm_2 = require("@nestjs/typeorm");
19
+ const base_repository_1 = require("./base.repository");
20
+ const social_post_entity_1 = require("../entities/social-post.entity");
21
+ let SocialPostRepository = class SocialPostRepository extends base_repository_1.BaseRepository {
22
+ constructor(socialPostRepository) {
23
+ super(socialPostRepository);
24
+ this.socialPostRepository = socialPostRepository;
25
+ }
26
+ async findByWorkspace(workspaceId, filters, limit = 20, offset = 0) {
27
+ const where = { workspaceId };
28
+ if (filters?.platform) {
29
+ where.platform = filters.platform;
30
+ }
31
+ if (filters?.status) {
32
+ where.status = filters.status;
33
+ }
34
+ const query = this.socialPostRepository
35
+ .createQueryBuilder('post')
36
+ .where('post.workspace_id = :workspaceId', { workspaceId });
37
+ if (filters?.platform) {
38
+ query.andWhere('post.platform = :platform', {
39
+ platform: filters.platform,
40
+ });
41
+ }
42
+ if (filters?.status) {
43
+ query.andWhere('post.status = :status', { status: filters.status });
44
+ }
45
+ if (filters?.startDate) {
46
+ query.andWhere('post.created_at >= :startDate', {
47
+ startDate: filters.startDate,
48
+ });
49
+ }
50
+ if (filters?.endDate) {
51
+ query.andWhere('post.created_at <= :endDate', {
52
+ endDate: filters.endDate,
53
+ });
54
+ }
55
+ return query
56
+ .orderBy('post.created_at', 'DESC')
57
+ .skip(offset)
58
+ .take(limit)
59
+ .getMany();
60
+ }
61
+ async findByAccount(socialAccountId) {
62
+ return this.socialPostRepository.find({
63
+ where: { socialAccountId },
64
+ order: { createdAt: 'DESC' },
65
+ });
66
+ }
67
+ async countByWorkspaceThisMonth(workspaceId) {
68
+ const startOfMonth = new Date();
69
+ startOfMonth.setDate(1);
70
+ startOfMonth.setHours(0, 0, 0, 0);
71
+ return this.socialPostRepository.count({
72
+ where: {
73
+ workspaceId,
74
+ status: social_post_entity_1.SocialPostStatus.PUBLISHED,
75
+ publishedAt: undefined,
76
+ },
77
+ });
78
+ }
79
+ async findById(id) {
80
+ return this.socialPostRepository.findOne({
81
+ where: { id },
82
+ relations: ['socialAccount', 'workspace'],
83
+ });
84
+ }
85
+ };
86
+ exports.SocialPostRepository = SocialPostRepository;
87
+ exports.SocialPostRepository = SocialPostRepository = __decorate([
88
+ (0, common_1.Injectable)(),
89
+ __param(0, (0, typeorm_2.InjectRepository)(social_post_entity_1.SocialPost)),
90
+ __metadata("design:paramtypes", [typeorm_1.Repository])
91
+ ], SocialPostRepository);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clhq-postgres-module",
3
- "version": "1.1.0-alpha.170",
3
+ "version": "1.1.0-alpha.172",
4
4
  "description": "PostgreSQL module using TypeORM for Clippy",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,40 +22,18 @@
22
22
  "scripts": {
23
23
  "build": "tsc",
24
24
  "watch": "tsc --watch",
25
- "typeorm": "typeorm-ts-node-commonjs",
25
+ "typeorm": "env-cmd -f ../../.env.dev typeorm-ts-node-commonjs",
26
26
  "db:setup": "env-cmd -f ../../.env.dev npx ts-node scripts/setup-database.ts",
27
- "db:migrate": "npx ts-node scripts/run-migrations.ts --all",
28
- "db:migrate:002": "npx ts-node scripts/run-migrations.ts 002",
29
- "db:migrate:003": "npx ts-node scripts/run-migrations.ts 003",
30
- "db:migrate:004": "npx ts-node scripts/run-migrations.ts 004",
31
- "db:migrate:008": "npx ts-node scripts/run-migrations.ts 008",
32
- "db:migrate:009": "npx ts-node scripts/run-migrations.ts 009",
33
- "db:migrate:011": "npx ts-node scripts/run-migrations.ts 011",
34
- "db:migrate:012": "npx ts-node scripts/run-migrations.ts 012",
35
- "db:migrate:013": "npx ts-node scripts/run-migrations.ts 013",
36
- "db:migrate:014": "npx ts-node scripts/run-migrations.ts 014",
37
- "db:migrate:015": "npx ts-node scripts/run-migrations.ts 015",
38
- "db:migrate:016": "npx ts-node scripts/run-migrations.ts 016",
39
- "db:migrate:017": "npx ts-node scripts/run-migrations.ts 017",
40
- "db:migrate:018": "npx ts-node scripts/run-migrations.ts 018",
41
- "db:migrate:019": "npx ts-node scripts/run-migrations.ts 019",
42
- "db:migrate:020": "npx ts-node scripts/run-migrations.ts 020",
43
- "db:migrate:metadata": "npx ts-node scripts/run-migrations.ts 019 && npx ts-node scripts/run-migrations.ts 020",
44
- "db:migrate:031": "npx ts-node scripts/run-migrations.ts 031",
45
- "db:migrate:webp": "npx ts-node scripts/run-migrations.ts 031",
46
- "db:migrate:032": "npx ts-node scripts/run-migrations.ts 032",
47
- "db:migrate:scenes-format": "npx ts-node scripts/run-migrations.ts 032",
48
- "db:migrate:033": "npx ts-node scripts/run-migrations.ts 033",
49
- "db:migrate:fix-scenes-constraint": "npx ts-node scripts/run-migrations.ts 033",
50
- "db:migrate:035": "npx ts-node scripts/run-migrations.ts 035",
51
- "db:migrate:remotion-credits": "npx ts-node scripts/run-migrations.ts 035",
52
- "db:migrate:036": "npx ts-node scripts/run-migrations.ts 036",
53
- "db:migrate:037": "npx ts-node scripts/run-migrations.ts 037",
54
- "db:migrate:rls": "npx ts-node scripts/run-migrations.ts 037",
55
- "db:verify": "env-cmd -f ../../.env.dev npx ts-node scripts/verify-tables.ts",
56
- "db:test": "env-cmd -f ../../.env.dev npx ts-node scripts/test-connections.ts",
57
- "db:sync": "env-cmd -f ../../.env.dev npm run typeorm schema:sync -- -d src/config/data-source.ts",
58
- "db:drop": "env-cmd -f ../../.env.dev npm run typeorm schema:drop -- -d src/config/data-source.ts"
27
+ "db:migrate": "npm run typeorm migration:run -- -d src/config/data-source.ts",
28
+ "db:migrate:revert": "npm run typeorm migration:revert -- -d src/config/data-source.ts",
29
+ "db:migrate:generate": "npm run typeorm migration:generate -- -d src/config/data-source.ts",
30
+ "db:migrate:create": "npm run typeorm migration:create",
31
+ "db:migrate:show": "npm run typeorm migration:show -- -d src/config/data-source.ts",
32
+ "db:migrate:legacy": "npx ts-node scripts/run-migrations.ts --all",
33
+ "db:verify": "env-cmd -f ../../.env.dev npx ts-node scripts/verify-tables.ts",
34
+ "db:test": "env-cmd -f ../../.env.dev npx ts-node scripts/test-connections.ts",
35
+ "db:sync": "env-cmd -f ../../.env.dev npm run typeorm schema:sync -- -d src/config/data-source.ts",
36
+ "db:drop": "env-cmd -f ../../.env.dev npm run typeorm schema:drop -- -d src/config/data-source.ts"
59
37
  },
60
38
  "dependencies": {
61
39
  "@nestjs/common": "11.1.9",