clhq-postgres-module 1.1.0-alpha.90

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 (107) hide show
  1. package/dist/config/data-source.d.ts +3 -0
  2. package/dist/config/data-source.js +27 -0
  3. package/dist/config/typeorm.config.d.ts +2 -0
  4. package/dist/config/typeorm.config.js +27 -0
  5. package/dist/entities/ai-usage.entity.d.ts +15 -0
  6. package/dist/entities/ai-usage.entity.js +67 -0
  7. package/dist/entities/asset.entity.d.ts +47 -0
  8. package/dist/entities/asset.entity.js +155 -0
  9. package/dist/entities/auth-session.entity.d.ts +13 -0
  10. package/dist/entities/auth-session.entity.js +61 -0
  11. package/dist/entities/comment.entity.d.ts +16 -0
  12. package/dist/entities/comment.entity.js +72 -0
  13. package/dist/entities/credit-transaction.entity.d.ts +13 -0
  14. package/dist/entities/credit-transaction.entity.js +61 -0
  15. package/dist/entities/editor-project.entity.d.ts +60 -0
  16. package/dist/entities/editor-project.entity.js +173 -0
  17. package/dist/entities/effect.entity.d.ts +20 -0
  18. package/dist/entities/effect.entity.js +74 -0
  19. package/dist/entities/index.d.ts +23 -0
  20. package/dist/entities/index.js +41 -0
  21. package/dist/entities/invite.entity.d.ts +20 -0
  22. package/dist/entities/invite.entity.js +85 -0
  23. package/dist/entities/payment-transaction.entity.d.ts +27 -0
  24. package/dist/entities/payment-transaction.entity.js +91 -0
  25. package/dist/entities/plan.entity.d.ts +19 -0
  26. package/dist/entities/plan.entity.js +79 -0
  27. package/dist/entities/reward-rule.entity.d.ts +13 -0
  28. package/dist/entities/reward-rule.entity.js +63 -0
  29. package/dist/entities/stripe-webhook.entity.d.ts +17 -0
  30. package/dist/entities/stripe-webhook.entity.js +67 -0
  31. package/dist/entities/subscription-plan.entity.d.ts +37 -0
  32. package/dist/entities/subscription-plan.entity.js +160 -0
  33. package/dist/entities/subscription-usage.entity.d.ts +14 -0
  34. package/dist/entities/subscription-usage.entity.js +65 -0
  35. package/dist/entities/user-onboarding.entity.d.ts +10 -0
  36. package/dist/entities/user-onboarding.entity.js +49 -0
  37. package/dist/entities/user-profile.entity.d.ts +39 -0
  38. package/dist/entities/user-profile.entity.js +165 -0
  39. package/dist/entities/user-subscription.entity.d.ts +46 -0
  40. package/dist/entities/user-subscription.entity.js +151 -0
  41. package/dist/entities/user.entity.d.ts +41 -0
  42. package/dist/entities/user.entity.js +163 -0
  43. package/dist/entities/video-render.entity.d.ts +21 -0
  44. package/dist/entities/video-render.entity.js +79 -0
  45. package/dist/entities/video-subtitle.entity.d.ts +28 -0
  46. package/dist/entities/video-subtitle.entity.js +68 -0
  47. package/dist/entities/video-transcode.entity.d.ts +16 -0
  48. package/dist/entities/video-transcode.entity.js +64 -0
  49. package/dist/entities/workspace-member.entity.d.ts +19 -0
  50. package/dist/entities/workspace-member.entity.js +70 -0
  51. package/dist/entities/workspace.entity.d.ts +14 -0
  52. package/dist/entities/workspace.entity.js +63 -0
  53. package/dist/index.d.ts +5 -0
  54. package/dist/index.js +21 -0
  55. package/dist/postgres.module.d.ts +2 -0
  56. package/dist/postgres.module.js +62 -0
  57. package/dist/repositories/ai-usage.repository.d.ts +12 -0
  58. package/dist/repositories/ai-usage.repository.js +56 -0
  59. package/dist/repositories/asset.repository.d.ts +20 -0
  60. package/dist/repositories/asset.repository.js +108 -0
  61. package/dist/repositories/auth-session.repository.d.ts +10 -0
  62. package/dist/repositories/auth-session.repository.js +46 -0
  63. package/dist/repositories/base.repository.d.ts +18 -0
  64. package/dist/repositories/base.repository.js +53 -0
  65. package/dist/repositories/comment.repository.d.ts +14 -0
  66. package/dist/repositories/comment.repository.js +76 -0
  67. package/dist/repositories/credit-transaction.repository.d.ts +9 -0
  68. package/dist/repositories/credit-transaction.repository.js +49 -0
  69. package/dist/repositories/editor-project.repository.d.ts +31 -0
  70. package/dist/repositories/editor-project.repository.js +193 -0
  71. package/dist/repositories/effect.repository.d.ts +10 -0
  72. package/dist/repositories/effect.repository.js +47 -0
  73. package/dist/repositories/index.d.ts +23 -0
  74. package/dist/repositories/index.js +49 -0
  75. package/dist/repositories/invite.repository.d.ts +12 -0
  76. package/dist/repositories/invite.repository.js +60 -0
  77. package/dist/repositories/payment-transaction.repository.d.ts +10 -0
  78. package/dist/repositories/payment-transaction.repository.js +49 -0
  79. package/dist/repositories/plan.repository.d.ts +10 -0
  80. package/dist/repositories/plan.repository.js +48 -0
  81. package/dist/repositories/repository.module.d.ts +2 -0
  82. package/dist/repositories/repository.module.js +71 -0
  83. package/dist/repositories/reward-rule.repository.d.ts +10 -0
  84. package/dist/repositories/reward-rule.repository.js +48 -0
  85. package/dist/repositories/stripe-webhook.repository.d.ts +10 -0
  86. package/dist/repositories/stripe-webhook.repository.js +53 -0
  87. package/dist/repositories/subscription-plan.repository.d.ts +15 -0
  88. package/dist/repositories/subscription-plan.repository.js +77 -0
  89. package/dist/repositories/subscription-usage.repository.d.ts +9 -0
  90. package/dist/repositories/subscription-usage.repository.js +50 -0
  91. package/dist/repositories/user-onboarding.repository.d.ts +10 -0
  92. package/dist/repositories/user-onboarding.repository.js +56 -0
  93. package/dist/repositories/user-profile.repository.d.ts +9 -0
  94. package/dist/repositories/user-profile.repository.js +41 -0
  95. package/dist/repositories/user-subscription.repository.d.ts +16 -0
  96. package/dist/repositories/user-subscription.repository.js +90 -0
  97. package/dist/repositories/user.repository.d.ts +17 -0
  98. package/dist/repositories/user.repository.js +89 -0
  99. package/dist/repositories/video-render.repository.d.ts +28 -0
  100. package/dist/repositories/video-render.repository.js +63 -0
  101. package/dist/repositories/video-transcode.repository.d.ts +23 -0
  102. package/dist/repositories/video-transcode.repository.js +52 -0
  103. package/dist/repositories/workspace-member.repository.d.ts +13 -0
  104. package/dist/repositories/workspace-member.repository.js +79 -0
  105. package/dist/repositories/workspace.repository.d.ts +13 -0
  106. package/dist/repositories/workspace.repository.js +64 -0
  107. package/package.json +59 -0
@@ -0,0 +1,28 @@
1
+ export declare enum VideoSubtitleStatus {
2
+ NEW = "NEW",
3
+ PROCESSING = "PROCESSING",
4
+ SUCCESS = "SUCCESS",
5
+ ERROR = "ERROR"
6
+ }
7
+ export declare class VideoSubtitle {
8
+ id: string;
9
+ projectId: string;
10
+ videoS3Key: string;
11
+ status: VideoSubtitleStatus;
12
+ language: string;
13
+ data: {
14
+ vttKey?: string;
15
+ srtKey?: string;
16
+ jsonKey?: string;
17
+ vttUrl?: string;
18
+ srtUrl?: string;
19
+ jsonUrl?: string;
20
+ wordCount?: number;
21
+ duration?: number;
22
+ detectedLanguage?: string;
23
+ error?: string;
24
+ };
25
+ queueStatus: string;
26
+ createdAt: Date;
27
+ updatedAt: Date;
28
+ }
@@ -0,0 +1,68 @@
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.VideoSubtitle = exports.VideoSubtitleStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ var VideoSubtitleStatus;
15
+ (function (VideoSubtitleStatus) {
16
+ VideoSubtitleStatus["NEW"] = "NEW";
17
+ VideoSubtitleStatus["PROCESSING"] = "PROCESSING";
18
+ VideoSubtitleStatus["SUCCESS"] = "SUCCESS";
19
+ VideoSubtitleStatus["ERROR"] = "ERROR";
20
+ })(VideoSubtitleStatus || (exports.VideoSubtitleStatus = VideoSubtitleStatus = {}));
21
+ let VideoSubtitle = class VideoSubtitle {
22
+ };
23
+ exports.VideoSubtitle = VideoSubtitle;
24
+ __decorate([
25
+ (0, typeorm_1.PrimaryColumn)({ type: 'varchar', length: 255 }),
26
+ __metadata("design:type", String)
27
+ ], VideoSubtitle.prototype, "id", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.Column)({ name: 'project_id', type: 'varchar', length: 255, nullable: true }),
30
+ __metadata("design:type", String)
31
+ ], VideoSubtitle.prototype, "projectId", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ name: 'video_s3_key', type: 'text', nullable: true }),
34
+ __metadata("design:type", String)
35
+ ], VideoSubtitle.prototype, "videoS3Key", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)({
38
+ type: 'enum',
39
+ enum: VideoSubtitleStatus,
40
+ default: VideoSubtitleStatus.NEW,
41
+ }),
42
+ __metadata("design:type", String)
43
+ ], VideoSubtitle.prototype, "status", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'varchar', length: 10, nullable: true }),
46
+ __metadata("design:type", String)
47
+ ], VideoSubtitle.prototype, "language", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
50
+ __metadata("design:type", Object)
51
+ ], VideoSubtitle.prototype, "data", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.Column)({ name: 'queue_status', type: 'varchar', length: 50, nullable: true }),
54
+ __metadata("design:type", String)
55
+ ], VideoSubtitle.prototype, "queueStatus", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
58
+ __metadata("design:type", Date)
59
+ ], VideoSubtitle.prototype, "createdAt", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
62
+ __metadata("design:type", Date)
63
+ ], VideoSubtitle.prototype, "updatedAt", void 0);
64
+ exports.VideoSubtitle = VideoSubtitle = __decorate([
65
+ (0, typeorm_1.Entity)('video_subtitles'),
66
+ (0, typeorm_1.Index)(['projectId']),
67
+ (0, typeorm_1.Index)(['status'])
68
+ ], VideoSubtitle);
@@ -0,0 +1,16 @@
1
+ export declare enum VideoTranscodeStatus {
2
+ NEW = "NEW",
3
+ PROCESSING = "PROCESSING",
4
+ SUCCESS = "SUCCESS",
5
+ ERROR = "ERROR"
6
+ }
7
+ export declare class VideoTranscode {
8
+ id: string;
9
+ projectId: string;
10
+ s3Key: string;
11
+ status: VideoTranscodeStatus;
12
+ data: any;
13
+ queueStatus: string;
14
+ createdAt: Date;
15
+ updatedAt: Date;
16
+ }
@@ -0,0 +1,64 @@
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.VideoTranscode = exports.VideoTranscodeStatus = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ var VideoTranscodeStatus;
15
+ (function (VideoTranscodeStatus) {
16
+ VideoTranscodeStatus["NEW"] = "NEW";
17
+ VideoTranscodeStatus["PROCESSING"] = "PROCESSING";
18
+ VideoTranscodeStatus["SUCCESS"] = "SUCCESS";
19
+ VideoTranscodeStatus["ERROR"] = "ERROR";
20
+ })(VideoTranscodeStatus || (exports.VideoTranscodeStatus = VideoTranscodeStatus = {}));
21
+ let VideoTranscode = class VideoTranscode {
22
+ };
23
+ exports.VideoTranscode = VideoTranscode;
24
+ __decorate([
25
+ (0, typeorm_1.PrimaryColumn)({ type: 'varchar', length: 255 }),
26
+ __metadata("design:type", String)
27
+ ], VideoTranscode.prototype, "id", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.Column)({ name: 'project_id', type: 'varchar', length: 255, nullable: true }),
30
+ __metadata("design:type", String)
31
+ ], VideoTranscode.prototype, "projectId", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ name: 's3_key', type: 'text', nullable: true }),
34
+ __metadata("design:type", String)
35
+ ], VideoTranscode.prototype, "s3Key", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)({
38
+ type: 'enum',
39
+ enum: VideoTranscodeStatus,
40
+ default: VideoTranscodeStatus.NEW,
41
+ }),
42
+ __metadata("design:type", String)
43
+ ], VideoTranscode.prototype, "status", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.Column)({ type: 'jsonb', nullable: true }),
46
+ __metadata("design:type", Object)
47
+ ], VideoTranscode.prototype, "data", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({ name: 'queue_status', type: 'varchar', length: 50, nullable: true }),
50
+ __metadata("design:type", String)
51
+ ], VideoTranscode.prototype, "queueStatus", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
54
+ __metadata("design:type", Date)
55
+ ], VideoTranscode.prototype, "createdAt", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
58
+ __metadata("design:type", Date)
59
+ ], VideoTranscode.prototype, "updatedAt", void 0);
60
+ exports.VideoTranscode = VideoTranscode = __decorate([
61
+ (0, typeorm_1.Entity)('video_transcodes'),
62
+ (0, typeorm_1.Index)(['projectId']),
63
+ (0, typeorm_1.Index)(['status'])
64
+ ], VideoTranscode);
@@ -0,0 +1,19 @@
1
+ import { User } from './user.entity';
2
+ import { Workspace } from './workspace.entity';
3
+ export declare enum WorkspaceMemberRole {
4
+ OWNER = "owner",
5
+ ADMIN = "admin",
6
+ MEMBER = "member",
7
+ VIEWER = "viewer"
8
+ }
9
+ export declare class WorkspaceMember {
10
+ id: string;
11
+ workspaceId: string;
12
+ workspace: Workspace;
13
+ userId: string;
14
+ user: User;
15
+ role: WorkspaceMemberRole;
16
+ isActive: boolean;
17
+ createdAt: Date;
18
+ updatedAt: Date;
19
+ }
@@ -0,0 +1,70 @@
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.WorkspaceMember = exports.WorkspaceMemberRole = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const user_entity_1 = require("./user.entity");
15
+ const workspace_entity_1 = require("./workspace.entity");
16
+ var WorkspaceMemberRole;
17
+ (function (WorkspaceMemberRole) {
18
+ WorkspaceMemberRole["OWNER"] = "owner";
19
+ WorkspaceMemberRole["ADMIN"] = "admin";
20
+ WorkspaceMemberRole["MEMBER"] = "member";
21
+ WorkspaceMemberRole["VIEWER"] = "viewer";
22
+ })(WorkspaceMemberRole || (exports.WorkspaceMemberRole = WorkspaceMemberRole = {}));
23
+ let WorkspaceMember = class WorkspaceMember {
24
+ };
25
+ exports.WorkspaceMember = WorkspaceMember;
26
+ __decorate([
27
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
28
+ __metadata("design:type", String)
29
+ ], WorkspaceMember.prototype, "id", void 0);
30
+ __decorate([
31
+ (0, typeorm_1.Column)({ name: 'workspace_id', type: 'uuid' }),
32
+ __metadata("design:type", String)
33
+ ], WorkspaceMember.prototype, "workspaceId", void 0);
34
+ __decorate([
35
+ (0, typeorm_1.ManyToOne)(() => workspace_entity_1.Workspace),
36
+ (0, typeorm_1.JoinColumn)({ name: 'workspace_id' }),
37
+ __metadata("design:type", workspace_entity_1.Workspace)
38
+ ], WorkspaceMember.prototype, "workspace", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ name: 'user_id', type: 'uuid' }),
41
+ __metadata("design:type", String)
42
+ ], WorkspaceMember.prototype, "userId", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.ManyToOne)(() => user_entity_1.User),
45
+ (0, typeorm_1.JoinColumn)({ name: 'user_id' }),
46
+ __metadata("design:type", user_entity_1.User)
47
+ ], WorkspaceMember.prototype, "user", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.Column)({
50
+ type: 'enum',
51
+ enum: WorkspaceMemberRole,
52
+ default: WorkspaceMemberRole.MEMBER,
53
+ }),
54
+ __metadata("design:type", String)
55
+ ], WorkspaceMember.prototype, "role", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
58
+ __metadata("design:type", Boolean)
59
+ ], WorkspaceMember.prototype, "isActive", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
62
+ __metadata("design:type", Date)
63
+ ], WorkspaceMember.prototype, "createdAt", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
66
+ __metadata("design:type", Date)
67
+ ], WorkspaceMember.prototype, "updatedAt", void 0);
68
+ exports.WorkspaceMember = WorkspaceMember = __decorate([
69
+ (0, typeorm_1.Entity)('workspace_members')
70
+ ], WorkspaceMember);
@@ -0,0 +1,14 @@
1
+ import { User } from './user.entity';
2
+ import { EditorProject } from './editor-project.entity';
3
+ export declare class Workspace {
4
+ id: string;
5
+ name: string;
6
+ description: string;
7
+ ownerId: string;
8
+ isShared: boolean;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ owner: User;
12
+ users: User[];
13
+ projects: EditorProject[];
14
+ }
@@ -0,0 +1,63 @@
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.Workspace = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const user_entity_1 = require("./user.entity");
15
+ const editor_project_entity_1 = require("./editor-project.entity");
16
+ let Workspace = class Workspace {
17
+ };
18
+ exports.Workspace = Workspace;
19
+ __decorate([
20
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
21
+ __metadata("design:type", String)
22
+ ], Workspace.prototype, "id", void 0);
23
+ __decorate([
24
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255 }),
25
+ __metadata("design:type", String)
26
+ ], Workspace.prototype, "name", void 0);
27
+ __decorate([
28
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
29
+ __metadata("design:type", String)
30
+ ], Workspace.prototype, "description", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ name: 'owner_id', type: 'uuid' }),
33
+ (0, typeorm_1.Index)(),
34
+ __metadata("design:type", String)
35
+ ], Workspace.prototype, "ownerId", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)({ name: 'is_shared', type: 'boolean', default: false }),
38
+ __metadata("design:type", Boolean)
39
+ ], Workspace.prototype, "isShared", void 0);
40
+ __decorate([
41
+ (0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
42
+ __metadata("design:type", Date)
43
+ ], Workspace.prototype, "createdAt", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
46
+ __metadata("design:type", Date)
47
+ ], Workspace.prototype, "updatedAt", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.ManyToOne)(() => user_entity_1.User, { nullable: false }),
50
+ (0, typeorm_1.JoinColumn)({ name: 'owner_id' }),
51
+ __metadata("design:type", user_entity_1.User)
52
+ ], Workspace.prototype, "owner", void 0);
53
+ __decorate([
54
+ (0, typeorm_1.OneToMany)(() => user_entity_1.User, (user) => user.workspace),
55
+ __metadata("design:type", Array)
56
+ ], Workspace.prototype, "users", void 0);
57
+ __decorate([
58
+ (0, typeorm_1.OneToMany)(() => editor_project_entity_1.EditorProject, (project) => project.workspace),
59
+ __metadata("design:type", Array)
60
+ ], Workspace.prototype, "projects", void 0);
61
+ exports.Workspace = Workspace = __decorate([
62
+ (0, typeorm_1.Entity)('workspaces')
63
+ ], Workspace);
@@ -0,0 +1,5 @@
1
+ export * from './entities';
2
+ export * from './repositories';
3
+ export * from './repositories/repository.module';
4
+ export * from './postgres.module';
5
+ export * from './config/data-source';
package/dist/index.js ADDED
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./entities"), exports);
18
+ __exportStar(require("./repositories"), exports);
19
+ __exportStar(require("./repositories/repository.module"), exports);
20
+ __exportStar(require("./postgres.module"), exports);
21
+ __exportStar(require("./config/data-source"), exports);
@@ -0,0 +1,2 @@
1
+ export declare class PostgresModule {
2
+ }
@@ -0,0 +1,62 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.PostgresModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const typeorm_1 = require("@nestjs/typeorm");
12
+ const entities_1 = require("./entities");
13
+ const pgSessionPoolerUrl = process.env.PG_SESSION_POOLER_URL;
14
+ const pgPoolerUrl = process.env.PG_POOLER_URL;
15
+ const selectedUrl = pgSessionPoolerUrl || pgPoolerUrl;
16
+ console.log('🔍 PostgreSQL Connection Debug:');
17
+ console.log(' PG_SESSION_POOLER_URL:', pgSessionPoolerUrl ? '✅ SET' : '❌ NOT SET');
18
+ console.log(' PG_POOLER_URL:', pgPoolerUrl ? '✅ SET' : '❌ NOT SET');
19
+ console.log(' Selected URL:', selectedUrl ? selectedUrl.substring(0, 60) + '...' : '❌ NONE');
20
+ const allEntities = [
21
+ entities_1.User,
22
+ entities_1.UserProfile,
23
+ entities_1.UserOnboardingResponse,
24
+ entities_1.AuthSession,
25
+ entities_1.Workspace,
26
+ entities_1.WorkspaceMember,
27
+ entities_1.Invite,
28
+ entities_1.EditorProject,
29
+ entities_1.Comment,
30
+ entities_1.SubscriptionPlan,
31
+ entities_1.Plan,
32
+ entities_1.UserSubscription,
33
+ entities_1.SubscriptionUsage,
34
+ entities_1.PaymentTransaction,
35
+ entities_1.StripeWebhookEvent,
36
+ entities_1.CreditTransaction,
37
+ entities_1.RewardRule,
38
+ entities_1.AIUsage,
39
+ entities_1.Asset,
40
+ entities_1.Effect,
41
+ entities_1.VideoTranscode,
42
+ entities_1.VideoRender,
43
+ entities_1.VideoSubtitle,
44
+ ];
45
+ let PostgresModule = class PostgresModule {
46
+ };
47
+ exports.PostgresModule = PostgresModule;
48
+ exports.PostgresModule = PostgresModule = __decorate([
49
+ (0, common_1.Module)({
50
+ imports: [
51
+ typeorm_1.TypeOrmModule.forRoot({
52
+ type: 'postgres',
53
+ url: selectedUrl,
54
+ entities: allEntities,
55
+ synchronize: false,
56
+ logging: false,
57
+ ssl: { rejectUnauthorized: false },
58
+ }),
59
+ ],
60
+ exports: [typeorm_1.TypeOrmModule],
61
+ })
62
+ ], PostgresModule);
@@ -0,0 +1,12 @@
1
+ import { Repository } from 'typeorm';
2
+ import { BaseRepository } from './base.repository';
3
+ import { AiUsage } from '../entities/ai-usage.entity';
4
+ export declare class AiUsageRepository extends BaseRepository<AiUsage> {
5
+ constructor(repository: Repository<AiUsage>);
6
+ findByUserId(userId: string): Promise<AiUsage[]>;
7
+ findByProjectId(projectId: string): Promise<AiUsage[]>;
8
+ getTotalUsage(userId: string, startDate: Date, endDate: Date): Promise<{
9
+ totalTokens: number;
10
+ totalCost: number;
11
+ }>;
12
+ }
@@ -0,0 +1,56 @@
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.AiUsageRepository = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const base_repository_1 = require("./base.repository");
20
+ const ai_usage_entity_1 = require("../entities/ai-usage.entity");
21
+ let AiUsageRepository = class AiUsageRepository extends base_repository_1.BaseRepository {
22
+ constructor(repository) {
23
+ super(repository);
24
+ }
25
+ async findByUserId(userId) {
26
+ return this.repository.find({
27
+ where: { userId },
28
+ order: { createdAt: 'DESC' },
29
+ });
30
+ }
31
+ async findByProjectId(projectId) {
32
+ return this.repository.find({
33
+ where: { projectId },
34
+ order: { createdAt: 'DESC' },
35
+ });
36
+ }
37
+ async getTotalUsage(userId, startDate, endDate) {
38
+ const result = await this.repository
39
+ .createQueryBuilder('ai_usage')
40
+ .select('SUM(ai_usage.tokens_used)', 'totalTokens')
41
+ .addSelect('SUM(ai_usage.cost_cents)', 'totalCost')
42
+ .where('ai_usage.user_id = :userId', { userId })
43
+ .andWhere('ai_usage.created_at BETWEEN :startDate AND :endDate', { startDate, endDate })
44
+ .getRawOne();
45
+ return {
46
+ totalTokens: parseInt(result.totalTokens || '0'),
47
+ totalCost: parseInt(result.totalCost || '0'),
48
+ };
49
+ }
50
+ };
51
+ exports.AiUsageRepository = AiUsageRepository;
52
+ exports.AiUsageRepository = AiUsageRepository = __decorate([
53
+ (0, common_1.Injectable)(),
54
+ __param(0, (0, typeorm_1.InjectRepository)(ai_usage_entity_1.AiUsage)),
55
+ __metadata("design:paramtypes", [typeorm_2.Repository])
56
+ ], AiUsageRepository);
@@ -0,0 +1,20 @@
1
+ import { Repository } from 'typeorm';
2
+ import { BaseRepository } from './base.repository';
3
+ import { Asset } from '../entities/asset.entity';
4
+ export declare class AssetRepository extends BaseRepository<Asset> {
5
+ private readonly assetRepository;
6
+ constructor(assetRepository: Repository<Asset>);
7
+ findByWorkspace(workspaceId: string): Promise<Asset[]>;
8
+ findByFileType(workspaceId: string, fileType: string): Promise<Asset[]>;
9
+ findByUser(userId: string): Promise<Asset[]>;
10
+ searchByName(workspaceId: string, searchTerm: string): Promise<Asset[]>;
11
+ findByUploadedBy(userId: string): Promise<Asset[]>;
12
+ findByWorkspaceId(workspaceId: string): Promise<Asset[]>;
13
+ findByUploadStatus(uploadStatus: string): Promise<Asset[]>;
14
+ updateUploadStatus(id: string, uploadStatus: string): Promise<Asset | null>;
15
+ bulkUpdateUploadStatus(ids: string[], uploadStatus: string): Promise<void>;
16
+ updateMetadata(id: string, metadata: Record<string, any>): Promise<Asset | null>;
17
+ getAll(): Promise<Asset[]>;
18
+ findByUserOrLegacy(userId: string): Promise<Asset[]>;
19
+ incrementUsageCount(id: string): Promise<void>;
20
+ }
@@ -0,0 +1,108 @@
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.AssetRepository = 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 asset_entity_1 = require("../entities/asset.entity");
21
+ let AssetRepository = class AssetRepository extends base_repository_1.BaseRepository {
22
+ constructor(assetRepository) {
23
+ super(assetRepository);
24
+ this.assetRepository = assetRepository;
25
+ }
26
+ async findByWorkspace(workspaceId) {
27
+ return this.assetRepository.find({
28
+ where: { workspaceId },
29
+ order: { createdAt: 'DESC' }
30
+ });
31
+ }
32
+ async findByFileType(workspaceId, fileType) {
33
+ return this.assetRepository.find({
34
+ where: {
35
+ workspaceId,
36
+ fileType,
37
+ },
38
+ order: { createdAt: 'DESC' }
39
+ });
40
+ }
41
+ async findByUser(userId) {
42
+ return this.assetRepository.find({
43
+ where: { uploadedBy: userId },
44
+ order: { createdAt: 'DESC' }
45
+ });
46
+ }
47
+ async searchByName(workspaceId, searchTerm) {
48
+ return this.assetRepository
49
+ .createQueryBuilder('asset')
50
+ .where('asset.workspaceId = :workspaceId', { workspaceId })
51
+ .andWhere('asset.name ILIKE :searchTerm', { searchTerm: `%${searchTerm}%` })
52
+ .orderBy('asset.createdAt', 'DESC')
53
+ .getMany();
54
+ }
55
+ async findByUploadedBy(userId) {
56
+ return this.findByUser(userId);
57
+ }
58
+ async findByWorkspaceId(workspaceId) {
59
+ return this.findByWorkspace(workspaceId);
60
+ }
61
+ async findByUploadStatus(uploadStatus) {
62
+ return this.assetRepository.find({
63
+ where: { uploadStatus },
64
+ order: { createdAt: 'DESC' },
65
+ });
66
+ }
67
+ async updateUploadStatus(id, uploadStatus) {
68
+ await this.assetRepository.update(id, { uploadStatus });
69
+ return this.findById(id);
70
+ }
71
+ async bulkUpdateUploadStatus(ids, uploadStatus) {
72
+ await this.assetRepository.update({ id: (0, typeorm_1.In)(ids) }, { uploadStatus });
73
+ }
74
+ async updateMetadata(id, metadata) {
75
+ await this.assetRepository.update(id, { metadata });
76
+ return this.findById(id);
77
+ }
78
+ async getAll() {
79
+ return this.assetRepository.find({
80
+ order: { createdAt: 'DESC' },
81
+ });
82
+ }
83
+ async findByUserOrLegacy(userId) {
84
+ return this.assetRepository
85
+ .createQueryBuilder('asset')
86
+ .where('asset.uploadedBy = :userId', { userId })
87
+ .orWhere("asset.metadata->>'user' = :userId", { userId })
88
+ .orderBy('asset.createdAt', 'DESC')
89
+ .getMany();
90
+ }
91
+ async incrementUsageCount(id) {
92
+ await this.assetRepository
93
+ .createQueryBuilder()
94
+ .update()
95
+ .set({
96
+ usageCount: () => 'usage_count + 1',
97
+ lastUsedAt: new Date(),
98
+ })
99
+ .where('id = :id', { id })
100
+ .execute();
101
+ }
102
+ };
103
+ exports.AssetRepository = AssetRepository;
104
+ exports.AssetRepository = AssetRepository = __decorate([
105
+ (0, common_1.Injectable)(),
106
+ __param(0, (0, typeorm_2.InjectRepository)(asset_entity_1.Asset)),
107
+ __metadata("design:paramtypes", [typeorm_1.Repository])
108
+ ], AssetRepository);
@@ -0,0 +1,10 @@
1
+ import { Repository } from 'typeorm';
2
+ import { AuthSession } from '../entities/auth-session.entity';
3
+ import { BaseRepository } from './base.repository';
4
+ export declare class AuthSessionRepository extends BaseRepository<AuthSession> {
5
+ private readonly sessionRepository;
6
+ constructor(sessionRepository: Repository<AuthSession>);
7
+ findByToken(token: string): Promise<AuthSession | null>;
8
+ findActiveByUserId(userId: string): Promise<AuthSession[]>;
9
+ invalidateSession(id: string): Promise<void>;
10
+ }