clhq-postgres-module 1.1.0-alpha.152 → 1.1.0-alpha.154
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/entities/index.d.ts +1 -0
- package/dist/entities/index.js +1 -0
- package/dist/entities/project-share.entity.d.ts +23 -0
- package/dist/entities/project-share.entity.js +105 -0
- package/dist/postgres.module.js +1 -0
- package/dist/repositories/RemotionRenderRepository.d.ts +1 -0
- package/dist/repositories/RemotionRenderRepository.js +6 -0
- package/dist/repositories/index.d.ts +1 -0
- package/dist/repositories/index.js +3 -1
- package/dist/repositories/project-share.repository.d.ts +12 -0
- package/dist/repositories/project-share.repository.js +66 -0
- package/dist/repositories/repository.module.js +2 -0
- package/package.json +1 -1
package/dist/entities/index.d.ts
CHANGED
package/dist/entities/index.js
CHANGED
|
@@ -55,3 +55,4 @@ __exportStar(require("./project-scene.entity"), exports);
|
|
|
55
55
|
__exportStar(require("./scene.entity"), exports);
|
|
56
56
|
__exportStar(require("./item.entity"), exports);
|
|
57
57
|
__exportStar(require("./RemotionRender"), exports);
|
|
58
|
+
__exportStar(require("./project-share.entity"), exports);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EditorProject } from './editor-project.entity';
|
|
2
|
+
import { User } from './user.entity';
|
|
3
|
+
export declare enum ProjectShareStatus {
|
|
4
|
+
ACTIVE = "active",
|
|
5
|
+
REVOKED = "revoked",
|
|
6
|
+
EXPIRED = "expired"
|
|
7
|
+
}
|
|
8
|
+
export declare class ProjectShare {
|
|
9
|
+
id: string;
|
|
10
|
+
projectId: string;
|
|
11
|
+
project?: EditorProject;
|
|
12
|
+
ownerId: string;
|
|
13
|
+
owner?: User;
|
|
14
|
+
shareToken: string;
|
|
15
|
+
status: ProjectShareStatus;
|
|
16
|
+
allowDownload: boolean;
|
|
17
|
+
expiresAt: Date | null;
|
|
18
|
+
revokedAt: Date | null;
|
|
19
|
+
viewCount: number;
|
|
20
|
+
lastViewedAt: Date | null;
|
|
21
|
+
createdAt: Date;
|
|
22
|
+
updatedAt: Date;
|
|
23
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
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.ProjectShare = exports.ProjectShareStatus = void 0;
|
|
13
|
+
const typeorm_1 = require("typeorm");
|
|
14
|
+
const editor_project_entity_1 = require("./editor-project.entity");
|
|
15
|
+
const user_entity_1 = require("./user.entity");
|
|
16
|
+
var ProjectShareStatus;
|
|
17
|
+
(function (ProjectShareStatus) {
|
|
18
|
+
ProjectShareStatus["ACTIVE"] = "active";
|
|
19
|
+
ProjectShareStatus["REVOKED"] = "revoked";
|
|
20
|
+
ProjectShareStatus["EXPIRED"] = "expired";
|
|
21
|
+
})(ProjectShareStatus || (exports.ProjectShareStatus = ProjectShareStatus = {}));
|
|
22
|
+
let ProjectShare = class ProjectShare {
|
|
23
|
+
};
|
|
24
|
+
exports.ProjectShare = ProjectShare;
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
27
|
+
__metadata("design:type", String)
|
|
28
|
+
], ProjectShare.prototype, "id", void 0);
|
|
29
|
+
__decorate([
|
|
30
|
+
(0, typeorm_1.Column)({ name: 'project_id', type: 'varchar', length: 255 }),
|
|
31
|
+
__metadata("design:type", String)
|
|
32
|
+
], ProjectShare.prototype, "projectId", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, typeorm_1.ManyToOne)(() => editor_project_entity_1.EditorProject, { onDelete: 'CASCADE' }),
|
|
35
|
+
(0, typeorm_1.JoinColumn)({ name: 'project_id' }),
|
|
36
|
+
__metadata("design:type", editor_project_entity_1.EditorProject)
|
|
37
|
+
], ProjectShare.prototype, "project", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, typeorm_1.Column)({ name: 'owner_id', type: 'uuid' }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], ProjectShare.prototype, "ownerId", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, typeorm_1.ManyToOne)(() => user_entity_1.User, { onDelete: 'CASCADE' }),
|
|
44
|
+
(0, typeorm_1.JoinColumn)({ name: 'owner_id' }),
|
|
45
|
+
__metadata("design:type", user_entity_1.User)
|
|
46
|
+
], ProjectShare.prototype, "owner", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, typeorm_1.Column)({ name: 'share_token', type: 'varchar', length: 64, unique: true }),
|
|
49
|
+
__metadata("design:type", String)
|
|
50
|
+
], ProjectShare.prototype, "shareToken", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, typeorm_1.Column)({
|
|
53
|
+
type: 'enum',
|
|
54
|
+
enum: ProjectShareStatus,
|
|
55
|
+
default: ProjectShareStatus.ACTIVE,
|
|
56
|
+
}),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], ProjectShare.prototype, "status", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, typeorm_1.Column)({ name: 'allow_download', type: 'boolean', default: false }),
|
|
61
|
+
__metadata("design:type", Boolean)
|
|
62
|
+
], ProjectShare.prototype, "allowDownload", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, typeorm_1.Column)({
|
|
65
|
+
name: 'expires_at',
|
|
66
|
+
type: 'timestamp with time zone',
|
|
67
|
+
nullable: true,
|
|
68
|
+
}),
|
|
69
|
+
__metadata("design:type", Date)
|
|
70
|
+
], ProjectShare.prototype, "expiresAt", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, typeorm_1.Column)({
|
|
73
|
+
name: 'revoked_at',
|
|
74
|
+
type: 'timestamp with time zone',
|
|
75
|
+
nullable: true,
|
|
76
|
+
}),
|
|
77
|
+
__metadata("design:type", Date)
|
|
78
|
+
], ProjectShare.prototype, "revokedAt", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
(0, typeorm_1.Column)({ name: 'view_count', type: 'integer', default: 0 }),
|
|
81
|
+
__metadata("design:type", Number)
|
|
82
|
+
], ProjectShare.prototype, "viewCount", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
(0, typeorm_1.Column)({
|
|
85
|
+
name: 'last_viewed_at',
|
|
86
|
+
type: 'timestamp with time zone',
|
|
87
|
+
nullable: true,
|
|
88
|
+
}),
|
|
89
|
+
__metadata("design:type", Date)
|
|
90
|
+
], ProjectShare.prototype, "lastViewedAt", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
(0, typeorm_1.CreateDateColumn)({ name: 'created_at' }),
|
|
93
|
+
__metadata("design:type", Date)
|
|
94
|
+
], ProjectShare.prototype, "createdAt", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
(0, typeorm_1.UpdateDateColumn)({ name: 'updated_at' }),
|
|
97
|
+
__metadata("design:type", Date)
|
|
98
|
+
], ProjectShare.prototype, "updatedAt", void 0);
|
|
99
|
+
exports.ProjectShare = ProjectShare = __decorate([
|
|
100
|
+
(0, typeorm_1.Entity)('project_shares'),
|
|
101
|
+
(0, typeorm_1.Index)(['projectId']),
|
|
102
|
+
(0, typeorm_1.Index)(['ownerId']),
|
|
103
|
+
(0, typeorm_1.Index)(['status']),
|
|
104
|
+
(0, typeorm_1.Index)(['projectId', 'status'])
|
|
105
|
+
], ProjectShare);
|
package/dist/postgres.module.js
CHANGED
|
@@ -7,6 +7,7 @@ export declare class RemotionRenderRepository extends BaseRepository<RemotionRen
|
|
|
7
7
|
createRender(data: Partial<RemotionRender>): Promise<RemotionRender>;
|
|
8
8
|
findByRenderId(renderId: string): Promise<RemotionRender | null>;
|
|
9
9
|
findByProjectId(projectId: string): Promise<RemotionRender[]>;
|
|
10
|
+
findByUserId(userId: string): Promise<RemotionRender[]>;
|
|
10
11
|
findByProjectIdAndUserId(projectId: string, userId: string): Promise<RemotionRender[]>;
|
|
11
12
|
findByIdAndUserId(id: string, userId: string): Promise<RemotionRender | null>;
|
|
12
13
|
findActiveByUserId(userId: string): Promise<RemotionRender[]>;
|
|
@@ -36,6 +36,12 @@ let RemotionRenderRepository = class RemotionRenderRepository extends base_repos
|
|
|
36
36
|
order: { createdAt: 'DESC' },
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
+
async findByUserId(userId) {
|
|
40
|
+
return this.remotionRenderRepository.find({
|
|
41
|
+
where: { userId },
|
|
42
|
+
order: { createdAt: 'DESC' },
|
|
43
|
+
});
|
|
44
|
+
}
|
|
39
45
|
async findByProjectIdAndUserId(projectId, userId) {
|
|
40
46
|
return this.remotionRenderRepository.find({
|
|
41
47
|
where: { projectId, userId },
|
|
@@ -36,3 +36,4 @@ export { ProjectSceneRepository } from './project-scene.repository';
|
|
|
36
36
|
export { SceneRepository } from './scene.repository';
|
|
37
37
|
export { ItemRepository } from './item.repository';
|
|
38
38
|
export { RemotionRenderRepository } from './RemotionRenderRepository';
|
|
39
|
+
export { ProjectShareRepository } from './project-share.repository';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RemotionRenderRepository = exports.ItemRepository = exports.SceneRepository = exports.ProjectSceneRepository = exports.MetadataActivityLogRepository = exports.AiEmbeddingRepository = exports.UserContextRepository = exports.ProjectMetadataRepository = exports.AssetMetadataRepository = exports.AudioWaveformRepository = exports.VideoFilmstripRepository = exports.VideoSubtitleRepository = exports.VideoRenderRepository = exports.VideoTranscodeRepository = exports.EffectRepository = exports.AssetRepository = exports.AiUsageRepository = exports.ReferralEventRepository = exports.RewardRuleRepository = exports.PlanCreditConfigurationRepository = exports.CreditTransactionRepository = exports.CreditAllocationRepository = exports.StripeWebhookRepository = exports.PaymentTransactionRepository = exports.SubscriptionUsageRepository = exports.UserSubscriptionRepository = exports.PlanRepository = exports.SubscriptionPlanRepository = exports.CommentRepository = exports.EditorProjectRepository = exports.InviteRepository = exports.WorkspaceMemberRepository = exports.WorkspaceRepository = exports.AuthSessionRepository = exports.UserOnboardingRepository = exports.UserProfileRepository = exports.UserRepository = exports.BaseRepository = void 0;
|
|
3
|
+
exports.ProjectShareRepository = exports.RemotionRenderRepository = exports.ItemRepository = exports.SceneRepository = exports.ProjectSceneRepository = exports.MetadataActivityLogRepository = exports.AiEmbeddingRepository = exports.UserContextRepository = exports.ProjectMetadataRepository = exports.AssetMetadataRepository = exports.AudioWaveformRepository = exports.VideoFilmstripRepository = exports.VideoSubtitleRepository = exports.VideoRenderRepository = exports.VideoTranscodeRepository = exports.EffectRepository = exports.AssetRepository = exports.AiUsageRepository = exports.ReferralEventRepository = exports.RewardRuleRepository = exports.PlanCreditConfigurationRepository = exports.CreditTransactionRepository = exports.CreditAllocationRepository = exports.StripeWebhookRepository = exports.PaymentTransactionRepository = exports.SubscriptionUsageRepository = exports.UserSubscriptionRepository = exports.PlanRepository = exports.SubscriptionPlanRepository = exports.CommentRepository = exports.EditorProjectRepository = exports.InviteRepository = exports.WorkspaceMemberRepository = exports.WorkspaceRepository = exports.AuthSessionRepository = exports.UserOnboardingRepository = exports.UserProfileRepository = exports.UserRepository = exports.BaseRepository = void 0;
|
|
4
4
|
var base_repository_1 = require("./base.repository");
|
|
5
5
|
Object.defineProperty(exports, "BaseRepository", { enumerable: true, get: function () { return base_repository_1.BaseRepository; } });
|
|
6
6
|
var user_repository_1 = require("./user.repository");
|
|
@@ -77,3 +77,5 @@ var item_repository_1 = require("./item.repository");
|
|
|
77
77
|
Object.defineProperty(exports, "ItemRepository", { enumerable: true, get: function () { return item_repository_1.ItemRepository; } });
|
|
78
78
|
var RemotionRenderRepository_1 = require("./RemotionRenderRepository");
|
|
79
79
|
Object.defineProperty(exports, "RemotionRenderRepository", { enumerable: true, get: function () { return RemotionRenderRepository_1.RemotionRenderRepository; } });
|
|
80
|
+
var project_share_repository_1 = require("./project-share.repository");
|
|
81
|
+
Object.defineProperty(exports, "ProjectShareRepository", { enumerable: true, get: function () { return project_share_repository_1.ProjectShareRepository; } });
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Repository } from 'typeorm';
|
|
2
|
+
import { BaseRepository } from './base.repository';
|
|
3
|
+
import { ProjectShare } from '../entities/project-share.entity';
|
|
4
|
+
export declare class ProjectShareRepository extends BaseRepository<ProjectShare> {
|
|
5
|
+
private readonly projectShareRepository;
|
|
6
|
+
constructor(projectShareRepository: Repository<ProjectShare>);
|
|
7
|
+
findActiveByProjectId(projectId: string): Promise<ProjectShare | null>;
|
|
8
|
+
findByShareToken(shareToken: string): Promise<ProjectShare | null>;
|
|
9
|
+
findAllByProjectId(projectId: string): Promise<ProjectShare[]>;
|
|
10
|
+
revokeShare(id: string): Promise<ProjectShare | null>;
|
|
11
|
+
incrementViewCount(id: string): Promise<void>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
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.ProjectShareRepository = 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 project_share_entity_1 = require("../entities/project-share.entity");
|
|
21
|
+
let ProjectShareRepository = class ProjectShareRepository extends base_repository_1.BaseRepository {
|
|
22
|
+
constructor(projectShareRepository) {
|
|
23
|
+
super(projectShareRepository);
|
|
24
|
+
this.projectShareRepository = projectShareRepository;
|
|
25
|
+
}
|
|
26
|
+
async findActiveByProjectId(projectId) {
|
|
27
|
+
return this.projectShareRepository.findOne({
|
|
28
|
+
where: { projectId, status: project_share_entity_1.ProjectShareStatus.ACTIVE },
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async findByShareToken(shareToken) {
|
|
32
|
+
return this.projectShareRepository.findOne({
|
|
33
|
+
where: { shareToken, status: project_share_entity_1.ProjectShareStatus.ACTIVE },
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async findAllByProjectId(projectId) {
|
|
37
|
+
return this.projectShareRepository.find({
|
|
38
|
+
where: { projectId },
|
|
39
|
+
order: { createdAt: 'DESC' },
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
async revokeShare(id) {
|
|
43
|
+
await this.projectShareRepository.update(id, {
|
|
44
|
+
status: project_share_entity_1.ProjectShareStatus.REVOKED,
|
|
45
|
+
revokedAt: new Date(),
|
|
46
|
+
});
|
|
47
|
+
return this.findById(id);
|
|
48
|
+
}
|
|
49
|
+
async incrementViewCount(id) {
|
|
50
|
+
await this.projectShareRepository
|
|
51
|
+
.createQueryBuilder()
|
|
52
|
+
.update()
|
|
53
|
+
.set({
|
|
54
|
+
viewCount: () => 'view_count + 1',
|
|
55
|
+
lastViewedAt: new Date(),
|
|
56
|
+
})
|
|
57
|
+
.where('id = :id', { id })
|
|
58
|
+
.execute();
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
exports.ProjectShareRepository = ProjectShareRepository;
|
|
62
|
+
exports.ProjectShareRepository = ProjectShareRepository = __decorate([
|
|
63
|
+
(0, common_1.Injectable)(),
|
|
64
|
+
__param(0, (0, typeorm_1.InjectRepository)(project_share_entity_1.ProjectShare)),
|
|
65
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
66
|
+
], ProjectShareRepository);
|
|
@@ -49,6 +49,7 @@ const repositories = [
|
|
|
49
49
|
_1.SceneRepository,
|
|
50
50
|
_1.ItemRepository,
|
|
51
51
|
_1.RemotionRenderRepository,
|
|
52
|
+
_1.ProjectShareRepository,
|
|
52
53
|
];
|
|
53
54
|
const entities = [
|
|
54
55
|
entities_1.User,
|
|
@@ -90,6 +91,7 @@ const entities = [
|
|
|
90
91
|
entities_1.CreditAllocation,
|
|
91
92
|
entities_1.PlanCreditConfiguration,
|
|
92
93
|
entities_1.CreditConsumptionLog,
|
|
94
|
+
entities_1.ProjectShare,
|
|
93
95
|
];
|
|
94
96
|
let RepositoryModule = class RepositoryModule {
|
|
95
97
|
};
|