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,60 @@
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.InviteRepository = 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 invite_entity_1 = require("../entities/invite.entity");
21
+ let InviteRepository = class InviteRepository extends base_repository_1.BaseRepository {
22
+ constructor(repository) {
23
+ super(repository);
24
+ }
25
+ async findByToken(token) {
26
+ return this.repository.findOne({ where: { token } });
27
+ }
28
+ async findByEmail(email) {
29
+ return this.repository.find({
30
+ where: { email },
31
+ order: { createdAt: 'DESC' },
32
+ });
33
+ }
34
+ async findByWorkspaceId(workspaceId) {
35
+ return this.repository.find({
36
+ where: { workspaceId },
37
+ order: { createdAt: 'DESC' },
38
+ });
39
+ }
40
+ async findPending() {
41
+ return this.repository.find({
42
+ where: {
43
+ status: 'pending',
44
+ expiresAt: (0, typeorm_2.LessThan)(new Date()),
45
+ },
46
+ });
47
+ }
48
+ async markExpired(id) {
49
+ await this.repository.update(id, { status: 'expired' });
50
+ }
51
+ async acceptInvite(token) {
52
+ await this.repository.update({ token }, { status: 'accepted', acceptedAt: new Date() });
53
+ }
54
+ };
55
+ exports.InviteRepository = InviteRepository;
56
+ exports.InviteRepository = InviteRepository = __decorate([
57
+ (0, common_1.Injectable)(),
58
+ __param(0, (0, typeorm_1.InjectRepository)(invite_entity_1.Invite)),
59
+ __metadata("design:paramtypes", [typeorm_2.Repository])
60
+ ], InviteRepository);
@@ -0,0 +1,10 @@
1
+ import { Repository } from 'typeorm';
2
+ import { PaymentTransaction, PaymentStatus } from '../entities/payment-transaction.entity';
3
+ import { BaseRepository } from './base.repository';
4
+ export declare class PaymentTransactionRepository extends BaseRepository<PaymentTransaction> {
5
+ private readonly transactionRepository;
6
+ constructor(transactionRepository: Repository<PaymentTransaction>);
7
+ findByUserId(userId: string): Promise<PaymentTransaction[]>;
8
+ findByTransactionId(transactionId: string): Promise<PaymentTransaction | null>;
9
+ findByStatus(status: PaymentStatus): Promise<PaymentTransaction[]>;
10
+ }
@@ -0,0 +1,49 @@
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.PaymentTransactionRepository = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const payment_transaction_entity_1 = require("../entities/payment-transaction.entity");
20
+ const base_repository_1 = require("./base.repository");
21
+ let PaymentTransactionRepository = class PaymentTransactionRepository extends base_repository_1.BaseRepository {
22
+ constructor(transactionRepository) {
23
+ super(transactionRepository);
24
+ this.transactionRepository = transactionRepository;
25
+ }
26
+ async findByUserId(userId) {
27
+ return this.transactionRepository.find({
28
+ where: { userId },
29
+ order: { createdAt: 'DESC' },
30
+ });
31
+ }
32
+ async findByTransactionId(transactionId) {
33
+ return this.transactionRepository.findOne({
34
+ where: { transactionId },
35
+ });
36
+ }
37
+ async findByStatus(status) {
38
+ return this.transactionRepository.find({
39
+ where: { status },
40
+ order: { createdAt: 'DESC' },
41
+ });
42
+ }
43
+ };
44
+ exports.PaymentTransactionRepository = PaymentTransactionRepository;
45
+ exports.PaymentTransactionRepository = PaymentTransactionRepository = __decorate([
46
+ (0, common_1.Injectable)(),
47
+ __param(0, (0, typeorm_1.InjectRepository)(payment_transaction_entity_1.PaymentTransaction)),
48
+ __metadata("design:paramtypes", [typeorm_2.Repository])
49
+ ], PaymentTransactionRepository);
@@ -0,0 +1,10 @@
1
+ import { Repository } from 'typeorm';
2
+ import { Plan } from '../entities/plan.entity';
3
+ import { BaseRepository } from './base.repository';
4
+ export declare class PlanRepository extends BaseRepository<Plan> {
5
+ private readonly planRepository;
6
+ constructor(planRepository: Repository<Plan>);
7
+ findByKey(planKey: string): Promise<Plan | null>;
8
+ findActivePlans(): Promise<Plan[]>;
9
+ findByStripeProductId(stripeProductId: string): Promise<Plan | null>;
10
+ }
@@ -0,0 +1,48 @@
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.PlanRepository = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const plan_entity_1 = require("../entities/plan.entity");
20
+ const base_repository_1 = require("./base.repository");
21
+ let PlanRepository = class PlanRepository extends base_repository_1.BaseRepository {
22
+ constructor(planRepository) {
23
+ super(planRepository);
24
+ this.planRepository = planRepository;
25
+ }
26
+ async findByKey(planKey) {
27
+ return this.planRepository.findOne({
28
+ where: { planKey },
29
+ });
30
+ }
31
+ async findActivePlans() {
32
+ return this.planRepository.find({
33
+ where: { isActive: true },
34
+ order: { displayOrder: 'ASC' },
35
+ });
36
+ }
37
+ async findByStripeProductId(stripeProductId) {
38
+ return this.planRepository.findOne({
39
+ where: { stripeProductId },
40
+ });
41
+ }
42
+ };
43
+ exports.PlanRepository = PlanRepository;
44
+ exports.PlanRepository = PlanRepository = __decorate([
45
+ (0, common_1.Injectable)(),
46
+ __param(0, (0, typeorm_1.InjectRepository)(plan_entity_1.Plan)),
47
+ __metadata("design:paramtypes", [typeorm_2.Repository])
48
+ ], PlanRepository);
@@ -0,0 +1,2 @@
1
+ export declare class RepositoryModule {
2
+ }
@@ -0,0 +1,71 @@
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.RepositoryModule = void 0;
10
+ const common_1 = require("@nestjs/common");
11
+ const typeorm_1 = require("@nestjs/typeorm");
12
+ const entities_1 = require("../entities");
13
+ const _1 = require("./");
14
+ const repositories = [
15
+ _1.UserRepository,
16
+ _1.UserProfileRepository,
17
+ _1.UserOnboardingRepository,
18
+ _1.AuthSessionRepository,
19
+ _1.WorkspaceRepository,
20
+ _1.WorkspaceMemberRepository,
21
+ _1.InviteRepository,
22
+ _1.EditorProjectRepository,
23
+ _1.CommentRepository,
24
+ _1.SubscriptionPlanRepository,
25
+ _1.PlanRepository,
26
+ _1.UserSubscriptionRepository,
27
+ _1.SubscriptionUsageRepository,
28
+ _1.PaymentTransactionRepository,
29
+ _1.StripeWebhookRepository,
30
+ _1.CreditTransactionRepository,
31
+ _1.RewardRuleRepository,
32
+ _1.AiUsageRepository,
33
+ _1.AssetRepository,
34
+ _1.EffectRepository,
35
+ _1.VideoTranscodeRepository,
36
+ _1.VideoRenderRepository,
37
+ ];
38
+ const entities = [
39
+ entities_1.User,
40
+ entities_1.UserProfile,
41
+ entities_1.UserOnboardingResponse,
42
+ entities_1.AuthSession,
43
+ entities_1.Workspace,
44
+ entities_1.WorkspaceMember,
45
+ entities_1.Invite,
46
+ entities_1.EditorProject,
47
+ entities_1.Comment,
48
+ entities_1.SubscriptionPlan,
49
+ entities_1.Plan,
50
+ entities_1.UserSubscription,
51
+ entities_1.SubscriptionUsage,
52
+ entities_1.PaymentTransaction,
53
+ entities_1.StripeWebhookEvent,
54
+ entities_1.CreditTransaction,
55
+ entities_1.RewardRule,
56
+ entities_1.AIUsage,
57
+ entities_1.Asset,
58
+ entities_1.Effect,
59
+ entities_1.VideoTranscode,
60
+ entities_1.VideoRender,
61
+ ];
62
+ let RepositoryModule = class RepositoryModule {
63
+ };
64
+ exports.RepositoryModule = RepositoryModule;
65
+ exports.RepositoryModule = RepositoryModule = __decorate([
66
+ (0, common_1.Module)({
67
+ imports: [typeorm_1.TypeOrmModule.forFeature(entities)],
68
+ providers: repositories,
69
+ exports: repositories,
70
+ })
71
+ ], RepositoryModule);
@@ -0,0 +1,10 @@
1
+ import { Repository } from 'typeorm';
2
+ import { BaseRepository } from './base.repository';
3
+ import { RewardRule } from '../entities/reward-rule.entity';
4
+ export declare class RewardRuleRepository extends BaseRepository<RewardRule> {
5
+ constructor(repository: Repository<RewardRule>);
6
+ findActive(): Promise<RewardRule[]>;
7
+ findByTriggerEvent(event: string): Promise<RewardRule[]>;
8
+ findByRuleName(ruleName: string): Promise<RewardRule | null>;
9
+ deactivate(id: string): Promise<void>;
10
+ }
@@ -0,0 +1,48 @@
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.RewardRuleRepository = 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 reward_rule_entity_1 = require("../entities/reward-rule.entity");
21
+ let RewardRuleRepository = class RewardRuleRepository extends base_repository_1.BaseRepository {
22
+ constructor(repository) {
23
+ super(repository);
24
+ }
25
+ async findActive() {
26
+ return this.repository.find({
27
+ where: { isActive: true },
28
+ order: { createdAt: 'DESC' },
29
+ });
30
+ }
31
+ async findByTriggerEvent(event) {
32
+ return this.repository.find({
33
+ where: { triggerEvent: event, isActive: true },
34
+ });
35
+ }
36
+ async findByRuleName(ruleName) {
37
+ return this.repository.findOne({ where: { ruleName } });
38
+ }
39
+ async deactivate(id) {
40
+ await this.repository.update(id, { isActive: false });
41
+ }
42
+ };
43
+ exports.RewardRuleRepository = RewardRuleRepository;
44
+ exports.RewardRuleRepository = RewardRuleRepository = __decorate([
45
+ (0, common_1.Injectable)(),
46
+ __param(0, (0, typeorm_1.InjectRepository)(reward_rule_entity_1.RewardRule)),
47
+ __metadata("design:paramtypes", [typeorm_2.Repository])
48
+ ], RewardRuleRepository);
@@ -0,0 +1,10 @@
1
+ import { Repository } from 'typeorm';
2
+ import { StripeWebhookEvent, WebhookStatus } from '../entities/stripe-webhook.entity';
3
+ import { BaseRepository } from './base.repository';
4
+ export declare class StripeWebhookRepository extends BaseRepository<StripeWebhookEvent> {
5
+ private readonly webhookRepository;
6
+ constructor(webhookRepository: Repository<StripeWebhookEvent>);
7
+ findByEventId(eventId: string): Promise<StripeWebhookEvent | null>;
8
+ findByStatus(status: WebhookStatus): Promise<StripeWebhookEvent[]>;
9
+ updateStatus(id: string, status: WebhookStatus, errorMessage?: string): Promise<void>;
10
+ }
@@ -0,0 +1,53 @@
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.StripeWebhookRepository = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const stripe_webhook_entity_1 = require("../entities/stripe-webhook.entity");
20
+ const base_repository_1 = require("./base.repository");
21
+ let StripeWebhookRepository = class StripeWebhookRepository extends base_repository_1.BaseRepository {
22
+ constructor(webhookRepository) {
23
+ super(webhookRepository);
24
+ this.webhookRepository = webhookRepository;
25
+ }
26
+ async findByEventId(eventId) {
27
+ return this.webhookRepository.findOne({
28
+ where: { eventId },
29
+ });
30
+ }
31
+ async findByStatus(status) {
32
+ return this.webhookRepository.find({
33
+ where: { status },
34
+ order: { createdAt: 'DESC' },
35
+ });
36
+ }
37
+ async updateStatus(id, status, errorMessage) {
38
+ const updates = { status };
39
+ if (status === stripe_webhook_entity_1.WebhookStatus.PROCESSED) {
40
+ updates.processedAt = new Date();
41
+ }
42
+ if (errorMessage) {
43
+ updates.errorMessage = errorMessage;
44
+ }
45
+ await this.webhookRepository.update(id, updates);
46
+ }
47
+ };
48
+ exports.StripeWebhookRepository = StripeWebhookRepository;
49
+ exports.StripeWebhookRepository = StripeWebhookRepository = __decorate([
50
+ (0, common_1.Injectable)(),
51
+ __param(0, (0, typeorm_1.InjectRepository)(stripe_webhook_entity_1.StripeWebhookEvent)),
52
+ __metadata("design:paramtypes", [typeorm_2.Repository])
53
+ ], StripeWebhookRepository);
@@ -0,0 +1,15 @@
1
+ import { Repository } from 'typeorm';
2
+ import { BaseRepository } from './base.repository';
3
+ import { SubscriptionPlan } from '../entities/subscription-plan.entity';
4
+ export declare class SubscriptionPlanRepository extends BaseRepository<SubscriptionPlan> {
5
+ private readonly planRepository;
6
+ constructor(planRepository: Repository<SubscriptionPlan>);
7
+ findActive(): Promise<SubscriptionPlan[]>;
8
+ findByKey(planKey: string): Promise<SubscriptionPlan | null>;
9
+ findFeatured(): Promise<SubscriptionPlan[]>;
10
+ findByStripeProductId(stripeProductId: string): Promise<SubscriptionPlan | null>;
11
+ findWithCollaboration(): Promise<SubscriptionPlan[]>;
12
+ findActivePlans(): Promise<SubscriptionPlan[]>;
13
+ findByPlanKey(planKey: string): Promise<SubscriptionPlan | null>;
14
+ findAllPlans(): Promise<SubscriptionPlan[]>;
15
+ }
@@ -0,0 +1,77 @@
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.SubscriptionPlanRepository = 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 subscription_plan_entity_1 = require("../entities/subscription-plan.entity");
21
+ let SubscriptionPlanRepository = class SubscriptionPlanRepository extends base_repository_1.BaseRepository {
22
+ constructor(planRepository) {
23
+ super(planRepository);
24
+ this.planRepository = planRepository;
25
+ }
26
+ async findActive() {
27
+ return this.planRepository.find({
28
+ where: { isActive: true },
29
+ order: { displayOrder: 'ASC' }
30
+ });
31
+ }
32
+ async findByKey(planKey) {
33
+ return this.planRepository.findOne({
34
+ where: { planKey }
35
+ });
36
+ }
37
+ async findFeatured() {
38
+ return this.planRepository.find({
39
+ where: {
40
+ isActive: true,
41
+ isFeatured: true
42
+ },
43
+ order: { displayOrder: 'ASC' }
44
+ });
45
+ }
46
+ async findByStripeProductId(stripeProductId) {
47
+ return this.planRepository.findOne({
48
+ where: { stripeProductId }
49
+ });
50
+ }
51
+ async findWithCollaboration() {
52
+ return this.planRepository.find({
53
+ where: {
54
+ isActive: true,
55
+ hasCollaboration: true
56
+ },
57
+ order: { priceMonthly: 'ASC' }
58
+ });
59
+ }
60
+ async findActivePlans() {
61
+ return this.findActive();
62
+ }
63
+ async findByPlanKey(planKey) {
64
+ return this.findByKey(planKey);
65
+ }
66
+ async findAllPlans() {
67
+ return this.planRepository.find({
68
+ order: { displayOrder: 'ASC' }
69
+ });
70
+ }
71
+ };
72
+ exports.SubscriptionPlanRepository = SubscriptionPlanRepository;
73
+ exports.SubscriptionPlanRepository = SubscriptionPlanRepository = __decorate([
74
+ (0, common_1.Injectable)(),
75
+ __param(0, (0, typeorm_2.InjectRepository)(subscription_plan_entity_1.SubscriptionPlan)),
76
+ __metadata("design:paramtypes", [typeorm_1.Repository])
77
+ ], SubscriptionPlanRepository);
@@ -0,0 +1,9 @@
1
+ import { Repository } from 'typeorm';
2
+ import { BaseRepository } from './base.repository';
3
+ import { SubscriptionUsage } from '../entities/subscription-usage.entity';
4
+ export declare class SubscriptionUsageRepository extends BaseRepository<SubscriptionUsage> {
5
+ constructor(repository: Repository<SubscriptionUsage>);
6
+ findBySubscriptionId(subscriptionId: string): Promise<SubscriptionUsage[]>;
7
+ findCurrentPeriod(subscriptionId: string): Promise<SubscriptionUsage | null>;
8
+ incrementUsage(id: string, amount?: number): Promise<void>;
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
+ 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.SubscriptionUsageRepository = 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 subscription_usage_entity_1 = require("../entities/subscription-usage.entity");
21
+ let SubscriptionUsageRepository = class SubscriptionUsageRepository extends base_repository_1.BaseRepository {
22
+ constructor(repository) {
23
+ super(repository);
24
+ }
25
+ async findBySubscriptionId(subscriptionId) {
26
+ return this.repository.find({
27
+ where: { subscriptionId },
28
+ order: { periodStart: 'DESC' },
29
+ });
30
+ }
31
+ async findCurrentPeriod(subscriptionId) {
32
+ const now = new Date();
33
+ return this.repository.findOne({
34
+ where: {
35
+ subscriptionId,
36
+ periodStart: (0, typeorm_2.Between)(new Date(now.getTime() - 32 * 24 * 60 * 60 * 1000), now),
37
+ },
38
+ order: { periodStart: 'DESC' },
39
+ });
40
+ }
41
+ async incrementUsage(id, amount = 1) {
42
+ await this.repository.increment({ id }, 'usageCount', amount);
43
+ }
44
+ };
45
+ exports.SubscriptionUsageRepository = SubscriptionUsageRepository;
46
+ exports.SubscriptionUsageRepository = SubscriptionUsageRepository = __decorate([
47
+ (0, common_1.Injectable)(),
48
+ __param(0, (0, typeorm_1.InjectRepository)(subscription_usage_entity_1.SubscriptionUsage)),
49
+ __metadata("design:paramtypes", [typeorm_2.Repository])
50
+ ], SubscriptionUsageRepository);
@@ -0,0 +1,10 @@
1
+ import { Repository } from 'typeorm';
2
+ import { UserOnboardingResponse } from '../entities/user-onboarding.entity';
3
+ import { BaseRepository } from './base.repository';
4
+ export declare class UserOnboardingRepository extends BaseRepository<UserOnboardingResponse> {
5
+ private readonly onboardingRepository;
6
+ constructor(onboardingRepository: Repository<UserOnboardingResponse>);
7
+ findByUserId(userId: string): Promise<UserOnboardingResponse[]>;
8
+ findByUserAndQuestion(userId: string, questionKey: string): Promise<UserOnboardingResponse | null>;
9
+ upsertResponse(userId: string, questionKey: string, responseValue: any): Promise<UserOnboardingResponse>;
10
+ }
@@ -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.UserOnboardingRepository = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const typeorm_1 = require("@nestjs/typeorm");
18
+ const typeorm_2 = require("typeorm");
19
+ const user_onboarding_entity_1 = require("../entities/user-onboarding.entity");
20
+ const base_repository_1 = require("./base.repository");
21
+ let UserOnboardingRepository = class UserOnboardingRepository extends base_repository_1.BaseRepository {
22
+ constructor(onboardingRepository) {
23
+ super(onboardingRepository);
24
+ this.onboardingRepository = onboardingRepository;
25
+ }
26
+ async findByUserId(userId) {
27
+ return this.onboardingRepository.find({
28
+ where: { userId },
29
+ order: { createdAt: 'ASC' },
30
+ });
31
+ }
32
+ async findByUserAndQuestion(userId, questionKey) {
33
+ return this.onboardingRepository.findOne({
34
+ where: { userId, questionKey },
35
+ });
36
+ }
37
+ async upsertResponse(userId, questionKey, responseValue) {
38
+ const existing = await this.findByUserAndQuestion(userId, questionKey);
39
+ if (existing) {
40
+ existing.responseValue = responseValue;
41
+ return this.onboardingRepository.save(existing);
42
+ }
43
+ const newResponse = this.onboardingRepository.create({
44
+ userId,
45
+ questionKey,
46
+ responseValue,
47
+ });
48
+ return this.onboardingRepository.save(newResponse);
49
+ }
50
+ };
51
+ exports.UserOnboardingRepository = UserOnboardingRepository;
52
+ exports.UserOnboardingRepository = UserOnboardingRepository = __decorate([
53
+ (0, common_1.Injectable)(),
54
+ __param(0, (0, typeorm_1.InjectRepository)(user_onboarding_entity_1.UserOnboardingResponse)),
55
+ __metadata("design:paramtypes", [typeorm_2.Repository])
56
+ ], UserOnboardingRepository);
@@ -0,0 +1,9 @@
1
+ import { Repository } from 'typeorm';
2
+ import { UserProfile } from '../entities/user-profile.entity';
3
+ import { BaseRepository } from './base.repository';
4
+ export declare class UserProfileRepository extends BaseRepository<UserProfile> {
5
+ private readonly userProfileRepository;
6
+ constructor(userProfileRepository: Repository<UserProfile>);
7
+ findByUserId(userId: string): Promise<UserProfile | null>;
8
+ updateProfile(userId: string, updates: Partial<UserProfile>): Promise<UserProfile | null>;
9
+ }