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.
- package/dist/config/data-source.d.ts +3 -0
- package/dist/config/data-source.js +27 -0
- package/dist/config/typeorm.config.d.ts +2 -0
- package/dist/config/typeorm.config.js +27 -0
- package/dist/entities/ai-usage.entity.d.ts +15 -0
- package/dist/entities/ai-usage.entity.js +67 -0
- package/dist/entities/asset.entity.d.ts +47 -0
- package/dist/entities/asset.entity.js +155 -0
- package/dist/entities/auth-session.entity.d.ts +13 -0
- package/dist/entities/auth-session.entity.js +61 -0
- package/dist/entities/comment.entity.d.ts +16 -0
- package/dist/entities/comment.entity.js +72 -0
- package/dist/entities/credit-transaction.entity.d.ts +13 -0
- package/dist/entities/credit-transaction.entity.js +61 -0
- package/dist/entities/editor-project.entity.d.ts +60 -0
- package/dist/entities/editor-project.entity.js +173 -0
- package/dist/entities/effect.entity.d.ts +20 -0
- package/dist/entities/effect.entity.js +74 -0
- package/dist/entities/index.d.ts +23 -0
- package/dist/entities/index.js +41 -0
- package/dist/entities/invite.entity.d.ts +20 -0
- package/dist/entities/invite.entity.js +85 -0
- package/dist/entities/payment-transaction.entity.d.ts +27 -0
- package/dist/entities/payment-transaction.entity.js +91 -0
- package/dist/entities/plan.entity.d.ts +19 -0
- package/dist/entities/plan.entity.js +79 -0
- package/dist/entities/reward-rule.entity.d.ts +13 -0
- package/dist/entities/reward-rule.entity.js +63 -0
- package/dist/entities/stripe-webhook.entity.d.ts +17 -0
- package/dist/entities/stripe-webhook.entity.js +67 -0
- package/dist/entities/subscription-plan.entity.d.ts +37 -0
- package/dist/entities/subscription-plan.entity.js +160 -0
- package/dist/entities/subscription-usage.entity.d.ts +14 -0
- package/dist/entities/subscription-usage.entity.js +65 -0
- package/dist/entities/user-onboarding.entity.d.ts +10 -0
- package/dist/entities/user-onboarding.entity.js +49 -0
- package/dist/entities/user-profile.entity.d.ts +39 -0
- package/dist/entities/user-profile.entity.js +165 -0
- package/dist/entities/user-subscription.entity.d.ts +46 -0
- package/dist/entities/user-subscription.entity.js +151 -0
- package/dist/entities/user.entity.d.ts +41 -0
- package/dist/entities/user.entity.js +163 -0
- package/dist/entities/video-render.entity.d.ts +21 -0
- package/dist/entities/video-render.entity.js +79 -0
- package/dist/entities/video-subtitle.entity.d.ts +28 -0
- package/dist/entities/video-subtitle.entity.js +68 -0
- package/dist/entities/video-transcode.entity.d.ts +16 -0
- package/dist/entities/video-transcode.entity.js +64 -0
- package/dist/entities/workspace-member.entity.d.ts +19 -0
- package/dist/entities/workspace-member.entity.js +70 -0
- package/dist/entities/workspace.entity.d.ts +14 -0
- package/dist/entities/workspace.entity.js +63 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +21 -0
- package/dist/postgres.module.d.ts +2 -0
- package/dist/postgres.module.js +62 -0
- package/dist/repositories/ai-usage.repository.d.ts +12 -0
- package/dist/repositories/ai-usage.repository.js +56 -0
- package/dist/repositories/asset.repository.d.ts +20 -0
- package/dist/repositories/asset.repository.js +108 -0
- package/dist/repositories/auth-session.repository.d.ts +10 -0
- package/dist/repositories/auth-session.repository.js +46 -0
- package/dist/repositories/base.repository.d.ts +18 -0
- package/dist/repositories/base.repository.js +53 -0
- package/dist/repositories/comment.repository.d.ts +14 -0
- package/dist/repositories/comment.repository.js +76 -0
- package/dist/repositories/credit-transaction.repository.d.ts +9 -0
- package/dist/repositories/credit-transaction.repository.js +49 -0
- package/dist/repositories/editor-project.repository.d.ts +31 -0
- package/dist/repositories/editor-project.repository.js +193 -0
- package/dist/repositories/effect.repository.d.ts +10 -0
- package/dist/repositories/effect.repository.js +47 -0
- package/dist/repositories/index.d.ts +23 -0
- package/dist/repositories/index.js +49 -0
- package/dist/repositories/invite.repository.d.ts +12 -0
- package/dist/repositories/invite.repository.js +60 -0
- package/dist/repositories/payment-transaction.repository.d.ts +10 -0
- package/dist/repositories/payment-transaction.repository.js +49 -0
- package/dist/repositories/plan.repository.d.ts +10 -0
- package/dist/repositories/plan.repository.js +48 -0
- package/dist/repositories/repository.module.d.ts +2 -0
- package/dist/repositories/repository.module.js +71 -0
- package/dist/repositories/reward-rule.repository.d.ts +10 -0
- package/dist/repositories/reward-rule.repository.js +48 -0
- package/dist/repositories/stripe-webhook.repository.d.ts +10 -0
- package/dist/repositories/stripe-webhook.repository.js +53 -0
- package/dist/repositories/subscription-plan.repository.d.ts +15 -0
- package/dist/repositories/subscription-plan.repository.js +77 -0
- package/dist/repositories/subscription-usage.repository.d.ts +9 -0
- package/dist/repositories/subscription-usage.repository.js +50 -0
- package/dist/repositories/user-onboarding.repository.d.ts +10 -0
- package/dist/repositories/user-onboarding.repository.js +56 -0
- package/dist/repositories/user-profile.repository.d.ts +9 -0
- package/dist/repositories/user-profile.repository.js +41 -0
- package/dist/repositories/user-subscription.repository.d.ts +16 -0
- package/dist/repositories/user-subscription.repository.js +90 -0
- package/dist/repositories/user.repository.d.ts +17 -0
- package/dist/repositories/user.repository.js +89 -0
- package/dist/repositories/video-render.repository.d.ts +28 -0
- package/dist/repositories/video-render.repository.js +63 -0
- package/dist/repositories/video-transcode.repository.d.ts +23 -0
- package/dist/repositories/video-transcode.repository.js +52 -0
- package/dist/repositories/workspace-member.repository.d.ts +13 -0
- package/dist/repositories/workspace-member.repository.js +79 -0
- package/dist/repositories/workspace.repository.d.ts +13 -0
- package/dist/repositories/workspace.repository.js +64 -0
- 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);
|
package/dist/index.d.ts
ADDED
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,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
|
+
}
|