podverse-orm 5.1.0-alpha.1 → 5.1.0-alpha.10
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/clip.d.ts +1 -0
- package/dist/entities/clip.d.ts.map +1 -1
- package/dist/entities/clip.js +4 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/services/archiver.d.ts +2 -0
- package/dist/services/archiver.d.ts.map +1 -1
- package/dist/services/archiver.js +40 -9
- package/dist/services/channel/channel.d.ts +2 -1
- package/dist/services/channel/channel.d.ts.map +1 -1
- package/dist/services/channel/channel.js +14 -4
- package/dist/services/deduplicator.d.ts +17 -0
- package/dist/services/deduplicator.d.ts.map +1 -0
- package/dist/services/deduplicator.js +97 -0
- package/package.json +3 -3
package/dist/entities/clip.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clip.d.ts","sourceRoot":"","sources":["../../src/entities/clip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAK/C,qBACa,IAAI;IAEf,EAAE,EAAG,MAAM,CAAC;IAGZ,OAAO,EAAG,MAAM,CAAC;IAIjB,OAAO,EAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"clip.d.ts","sourceRoot":"","sources":["../../src/entities/clip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAK/C,qBACa,IAAI;IAEf,EAAE,EAAG,MAAM,CAAC;IAGZ,OAAO,EAAG,MAAM,CAAC;IAIjB,OAAO,EAAG,OAAO,CAAC;IAGlB,OAAO,EAAG,MAAM,CAAC;IAIjB,IAAI,EAAG,IAAI,CAAC;IAGZ,UAAU,EAAG,MAAM,CAAC;IAGpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAI5B,eAAe,EAAG,kBAAkB,CAAC;IAGrC,cAAc;CAGf"}
|
package/dist/entities/clip.js
CHANGED
|
@@ -35,6 +35,10 @@ __decorate([
|
|
|
35
35
|
(0, typeorm_1.JoinColumn)({ name: 'account_id' }),
|
|
36
36
|
__metadata("design:type", account_1.Account)
|
|
37
37
|
], Clip.prototype, "account", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, typeorm_1.Column)(),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], Clip.prototype, "item_id", void 0);
|
|
38
42
|
__decorate([
|
|
39
43
|
(0, typeorm_1.ManyToOne)(() => item_1.Item, item => item.id, { onDelete: 'CASCADE' }),
|
|
40
44
|
(0, typeorm_1.JoinColumn)({ name: 'item_id' }),
|
package/dist/index.d.ts
CHANGED
|
@@ -126,6 +126,7 @@ export * from './services/channel/channelTxt';
|
|
|
126
126
|
export * from './services/channel/channelValue';
|
|
127
127
|
export * from './services/channel/channelValueRecipient';
|
|
128
128
|
export * from './services/clip';
|
|
129
|
+
export * from './services/deduplicator';
|
|
129
130
|
export * from './services/feed/feed';
|
|
130
131
|
export * from './services/feed/feedFlagStatus';
|
|
131
132
|
export * from './services/feed/feedLog';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -142,6 +142,7 @@ __exportStar(require("./services/channel/channelTxt"), exports);
|
|
|
142
142
|
__exportStar(require("./services/channel/channelValue"), exports);
|
|
143
143
|
__exportStar(require("./services/channel/channelValueRecipient"), exports);
|
|
144
144
|
__exportStar(require("./services/clip"), exports);
|
|
145
|
+
__exportStar(require("./services/deduplicator"), exports);
|
|
145
146
|
__exportStar(require("./services/feed/feed"), exports);
|
|
146
147
|
__exportStar(require("./services/feed/feedFlagStatus"), exports);
|
|
147
148
|
__exportStar(require("./services/feed/feedLog"), exports);
|
|
@@ -12,6 +12,8 @@ export declare class ArchiverService {
|
|
|
12
12
|
private processItems;
|
|
13
13
|
processPendingArchiveFeeds(): Promise<void>;
|
|
14
14
|
processPendingArchiveItems(): Promise<void>;
|
|
15
|
+
getFeedsWithTakedownStatus(): Promise<Feed[]>;
|
|
16
|
+
removeAllItemsForTakedownFeeds(): Promise<void>;
|
|
15
17
|
archiveAll(): Promise<void>;
|
|
16
18
|
}
|
|
17
19
|
//# sourceMappingURL=archiver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/services/archiver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAK/C,qBAAa,eAAe;IAC1B,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,0BAA0B,CAAqD;IACvF,OAAO,CAAC,cAAc,CAAyC;
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/services/archiver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAK/C,qBAAa,eAAe;IAC1B,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,kBAAkB,CAAyC;IACnE,OAAO,CAAC,uBAAuB,CAA8C;IAC7E,OAAO,CAAC,0BAA0B,CAAqD;IACvF,OAAO,CAAC,cAAc,CAAyC;IAMzD,sBAAsB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAsBzC,sBAAsB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAWjC,YAAY;IAmBpB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAqC3C,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3C,0BAA0B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAW7C,8BAA8B,IAAI,OAAO,CAAC,IAAI,CAAC;IAc/C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAKlC"}
|
|
@@ -27,6 +27,8 @@ class ArchiverService {
|
|
|
27
27
|
this.playlistResourceRepository = db_1.AppDataSourceRead.getRepository(playlistResource_1.PlaylistResource);
|
|
28
28
|
this.clipRepository = db_1.AppDataSourceRead.getRepository(clip_1.Clip);
|
|
29
29
|
}
|
|
30
|
+
// TODO: check if archived items no longer have clip or playlist resource relationships
|
|
31
|
+
// TODO: handle spam items
|
|
30
32
|
getItemsPendingArchive() {
|
|
31
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
34
|
return this.itemRepositoryRead.find({
|
|
@@ -65,12 +67,12 @@ class ArchiverService {
|
|
|
65
67
|
processItems(items, archivedStatus) {
|
|
66
68
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
69
|
for (const item of items) {
|
|
68
|
-
const hasPlaylistResource = yield this.playlistResourceRepository.findOne({
|
|
70
|
+
const hasPlaylistResource = !!(yield this.playlistResourceRepository.findOne({
|
|
69
71
|
where: { item: { id: item.id } },
|
|
70
|
-
});
|
|
71
|
-
const hasClip = yield this.clipRepository.findOne({
|
|
72
|
+
}));
|
|
73
|
+
const hasClip = !!(yield this.clipRepository.findOne({
|
|
72
74
|
where: { item: { id: item.id } },
|
|
73
|
-
});
|
|
75
|
+
}));
|
|
74
76
|
if (hasPlaylistResource || hasClip) {
|
|
75
77
|
item.item_flag_status = archivedStatus;
|
|
76
78
|
yield this.itemRepositoryReadWrite.save(item);
|
|
@@ -100,13 +102,14 @@ class ArchiverService {
|
|
|
100
102
|
},
|
|
101
103
|
relations: ['item_flag_status']
|
|
102
104
|
});
|
|
103
|
-
if (items.length
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
else {
|
|
107
|
-
const activeOrPendingItems = items.filter(item => [itemFlagStatus_1.ItemFlagStatusStatusEnum.Active, itemFlagStatus_1.ItemFlagStatusStatusEnum.PendingArchive].includes(item.item_flag_status.id));
|
|
105
|
+
if (items.length > 0) {
|
|
106
|
+
const activeOrPendingItems = items.filter(item => [itemFlagStatus_1.ItemFlagStatusStatusEnum.Active, itemFlagStatus_1.ItemFlagStatusStatusEnum.PendingArchive]
|
|
107
|
+
.includes(item.item_flag_status.id));
|
|
108
108
|
yield this.processItems(activeOrPendingItems, archivedStatus);
|
|
109
109
|
}
|
|
110
|
+
feed.feed_flag_status = Object.assign(Object.assign({}, feed.feed_flag_status), { id: feedFlagStatus_1.FeedFlagStatusStatusEnum.Archived });
|
|
111
|
+
feed.last_parsed_file_hash = null;
|
|
112
|
+
yield this.feedRepositoryReadWrite.save(feed);
|
|
110
113
|
}
|
|
111
114
|
});
|
|
112
115
|
}
|
|
@@ -121,10 +124,38 @@ class ArchiverService {
|
|
|
121
124
|
yield this.processItems(items, archivedStatus);
|
|
122
125
|
});
|
|
123
126
|
}
|
|
127
|
+
getFeedsWithTakedownStatus() {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
return this.feedRepositoryRead.find({
|
|
130
|
+
where: {
|
|
131
|
+
feed_flag_status: {
|
|
132
|
+
id: feedFlagStatus_1.FeedFlagStatusStatusEnum.Takedown,
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
relations: ['channel', 'channel.items', 'feed_flag_status'],
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
removeAllItemsForTakedownFeeds() {
|
|
140
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
const feeds = yield this.getFeedsWithTakedownStatus();
|
|
142
|
+
for (const feed of feeds) {
|
|
143
|
+
const channel = feed.channel;
|
|
144
|
+
if (!channel || !channel.items || channel.items.length === 0) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const itemIds = channel.items.map(item => item.id);
|
|
148
|
+
if (itemIds.length > 0) {
|
|
149
|
+
yield this.itemRepositoryReadWrite.delete(itemIds);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
124
154
|
archiveAll() {
|
|
125
155
|
return __awaiter(this, void 0, void 0, function* () {
|
|
126
156
|
yield this.processPendingArchiveFeeds();
|
|
127
157
|
yield this.processPendingArchiveItems();
|
|
158
|
+
yield this.removeAllItemsForTakedownFeeds();
|
|
128
159
|
});
|
|
129
160
|
}
|
|
130
161
|
}
|
|
@@ -25,10 +25,11 @@ export declare class ChannelService {
|
|
|
25
25
|
get(id: number, relations?: FindOptionsRelations<Channel>): Promise<Channel | null>;
|
|
26
26
|
getByIdText(id_text: string, relations?: FindOptionsRelations<Channel>): Promise<Channel | null>;
|
|
27
27
|
getByIdOrIdText(idOrIdText: string, relations?: FindOptionsRelations<Channel>): Promise<Channel | null>;
|
|
28
|
-
getByPodcastIndexId(podcast_index_id: number): Promise<Channel | null>;
|
|
28
|
+
getByPodcastIndexId(podcast_index_id: number, relations?: FindOptionsRelations<Channel>): Promise<Channel | null>;
|
|
29
29
|
getMany(config: FindManyOptions<Channel>): Promise<Channel[]>;
|
|
30
30
|
getOrCreateByPodcastIndexId(dto: ChannelInitializeDto): Promise<Channel>;
|
|
31
31
|
update(id: number, dto: ChannelDto): Promise<Channel>;
|
|
32
|
+
updatePodcastIndexId(id: number, podcast_index_id: number): Promise<Channel>;
|
|
32
33
|
}
|
|
33
34
|
export {};
|
|
34
35
|
//# sourceMappingURL=channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/services/channel/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAM,UAAU,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAgB/C,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,uBAAuB,UAUnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,CAmBhE,CAAC;AAiBF,qBAAa,cAAc;IACzB,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,SAAS,CAAC,mBAAmB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;;IAO7C,uBAAuB,CAC3B,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAChC,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAsFpB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,GAAE,oBAAoB,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOvF,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,oBAAoB,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOpG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,oBAAoB,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAa3G,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/services/channel/channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAM,UAAU,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAgB/C,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,gBAAgB,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAA;IAC1B,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,uBAAuB,UAUnC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,CAmBhE,CAAC;AAiBF,qBAAa,cAAc;IACzB,SAAS,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,SAAS,CAAC,mBAAmB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;;IAO7C,uBAAuB,CAC3B,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAChC,SAAS,EAAE,oBAAoB,CAAC,OAAO,CAAC,GACvC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAsFpB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,GAAE,oBAAoB,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOvF,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,oBAAoB,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOpG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,oBAAoB,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAa3G,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAE,oBAAoB,CAAC,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIrH,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAW7D,2BAA2B,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAaxE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAYrD,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAWnF"}
|
|
@@ -169,16 +169,16 @@ class ChannelService {
|
|
|
169
169
|
return channel;
|
|
170
170
|
});
|
|
171
171
|
}
|
|
172
|
-
getByPodcastIndexId(
|
|
173
|
-
return __awaiter(this,
|
|
174
|
-
return this.repositoryRead.findOne({ where: { podcast_index_id } });
|
|
172
|
+
getByPodcastIndexId(podcast_index_id_1) {
|
|
173
|
+
return __awaiter(this, arguments, void 0, function* (podcast_index_id, relations = {}) {
|
|
174
|
+
return this.repositoryRead.findOne({ where: { podcast_index_id }, relations });
|
|
175
175
|
});
|
|
176
176
|
}
|
|
177
177
|
getMany(config) {
|
|
178
178
|
return __awaiter(this, void 0, void 0, function* () {
|
|
179
179
|
return this.repositoryRead.find(Object.assign({ where: {
|
|
180
180
|
feed: {
|
|
181
|
-
|
|
181
|
+
feed_flag_status: (0, typeorm_1.In)([feedFlagStatus_1.FeedFlagStatusStatusEnum.Active, feedFlagStatus_1.FeedFlagStatusStatusEnum.AlwaysParse])
|
|
182
182
|
}
|
|
183
183
|
} }, config));
|
|
184
184
|
});
|
|
@@ -205,5 +205,15 @@ class ChannelService {
|
|
|
205
205
|
return this.repositoryReadWrite.save(channel);
|
|
206
206
|
});
|
|
207
207
|
}
|
|
208
|
+
updatePodcastIndexId(id, podcast_index_id) {
|
|
209
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
210
|
+
let channel = yield this.get(id);
|
|
211
|
+
if (!channel) {
|
|
212
|
+
channel = new channel_1.Channel();
|
|
213
|
+
}
|
|
214
|
+
channel = (0, applyProperties_1.applyProperties)(channel, { podcast_index_id });
|
|
215
|
+
return this.repositoryReadWrite.save(channel);
|
|
216
|
+
});
|
|
217
|
+
}
|
|
208
218
|
}
|
|
209
219
|
exports.ChannelService = ChannelService;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm';
|
|
2
|
+
import { Item } from '@orm/entities/item/item';
|
|
3
|
+
export declare class DeduplicatorService {
|
|
4
|
+
protected readWriteEntityManager: EntityManager;
|
|
5
|
+
constructor();
|
|
6
|
+
mergeChannels(id_to_archive: number, duplicate_id_to_keep: number): Promise<void>;
|
|
7
|
+
private updateAccountFollowingChannel;
|
|
8
|
+
private buildItemMaps;
|
|
9
|
+
private findDuplicateItem;
|
|
10
|
+
private updateClipAndPlaylistResource;
|
|
11
|
+
getChannelItems(channel_id: number): Promise<Item[]>;
|
|
12
|
+
getItemsForBothChannels(id_to_archive: number, duplicate_id_to_keep: number): Promise<{
|
|
13
|
+
itemsToArchive: Item[];
|
|
14
|
+
duplicateItemsToKeep: Item[];
|
|
15
|
+
}>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=deduplicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deduplicator.d.ts","sourceRoot":"","sources":["../../src/services/deduplicator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,qBAAa,mBAAmB;IAC9B,SAAS,CAAC,sBAAsB,EAAE,aAAa,CAAC;;IAM1C,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAczE,6BAA6B;IAS3C,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,iBAAiB;YAcX,6BAA6B;IAgBrC,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAOpD,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,cAAc,EAAE,IAAI,EAAE,CAAC;QAAC,oBAAoB,EAAE,IAAI,EAAE,CAAA;KAAE,CAAC;CAKtJ"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DeduplicatorService = void 0;
|
|
13
|
+
const db_1 = require("@orm/db");
|
|
14
|
+
const accountFollowingChannel_1 = require("@orm/entities/account/accountFollowingChannel");
|
|
15
|
+
const clip_1 = require("@orm/entities/clip");
|
|
16
|
+
const item_1 = require("@orm/entities/item/item");
|
|
17
|
+
const playlistResource_1 = require("@orm/entities/playlist/playlistResource");
|
|
18
|
+
class DeduplicatorService {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.readWriteEntityManager = db_1.AppDataSourceReadWrite.manager;
|
|
21
|
+
}
|
|
22
|
+
mergeChannels(id_to_archive, duplicate_id_to_keep) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
yield this.updateAccountFollowingChannel(id_to_archive, duplicate_id_to_keep);
|
|
25
|
+
const { itemsToArchive, duplicateItemsToKeep } = yield this.getItemsForBothChannels(id_to_archive, duplicate_id_to_keep);
|
|
26
|
+
const { guidMap, guidEnclosureUrlMap } = this.buildItemMaps(duplicateItemsToKeep);
|
|
27
|
+
for (const itemToArchive of itemsToArchive) {
|
|
28
|
+
const duplicateItemToKeep = this.findDuplicateItem(itemToArchive, guidMap, guidEnclosureUrlMap);
|
|
29
|
+
if (duplicateItemToKeep) {
|
|
30
|
+
yield this.updateClipAndPlaylistResource(itemToArchive.id, duplicateItemToKeep.id);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
updateAccountFollowingChannel(id_to_archive, duplicate_id_to_keep) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
yield this.readWriteEntityManager
|
|
38
|
+
.createQueryBuilder()
|
|
39
|
+
.update(accountFollowingChannel_1.AccountFollowingChannel)
|
|
40
|
+
.set({ channel_id: duplicate_id_to_keep })
|
|
41
|
+
.where("channel_id = :id_to_archive", { id_to_archive })
|
|
42
|
+
.execute();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
buildItemMaps(items) {
|
|
46
|
+
const guidMap = new Map();
|
|
47
|
+
const guidEnclosureUrlMap = new Map();
|
|
48
|
+
for (const item of items) {
|
|
49
|
+
if (item.guid)
|
|
50
|
+
guidMap.set(item.guid, item);
|
|
51
|
+
if (item.guid_enclosure_url)
|
|
52
|
+
guidEnclosureUrlMap.set(item.guid_enclosure_url, item);
|
|
53
|
+
}
|
|
54
|
+
return { guidMap, guidEnclosureUrlMap };
|
|
55
|
+
}
|
|
56
|
+
findDuplicateItem(itemToArchive, guidMap, guidEnclosureUrlMap) {
|
|
57
|
+
if (itemToArchive.guid && guidMap.has(itemToArchive.guid)) {
|
|
58
|
+
return guidMap.get(itemToArchive.guid);
|
|
59
|
+
}
|
|
60
|
+
if (itemToArchive.guid_enclosure_url && guidEnclosureUrlMap.has(itemToArchive.guid_enclosure_url)) {
|
|
61
|
+
return guidEnclosureUrlMap.get(itemToArchive.guid_enclosure_url);
|
|
62
|
+
}
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
updateClipAndPlaylistResource(itemToArchiveId, duplicateItemToKeepId) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
yield this.readWriteEntityManager
|
|
68
|
+
.createQueryBuilder()
|
|
69
|
+
.update(clip_1.Clip)
|
|
70
|
+
.set({ item_id: duplicateItemToKeepId })
|
|
71
|
+
.where("item_id = :itemToArchiveId", { itemToArchiveId })
|
|
72
|
+
.execute();
|
|
73
|
+
yield this.readWriteEntityManager
|
|
74
|
+
.createQueryBuilder()
|
|
75
|
+
.update(playlistResource_1.PlaylistResource)
|
|
76
|
+
.set({ item_id: duplicateItemToKeepId })
|
|
77
|
+
.where("item_id = :itemToArchiveId", { itemToArchiveId })
|
|
78
|
+
.execute();
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
getChannelItems(channel_id) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const items = yield this.readWriteEntityManager
|
|
84
|
+
.getRepository(item_1.Item)
|
|
85
|
+
.find({ where: { channel: { id: channel_id } } });
|
|
86
|
+
return items;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
getItemsForBothChannels(id_to_archive, duplicate_id_to_keep) {
|
|
90
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
const itemsToArchive = yield this.getChannelItems(id_to_archive);
|
|
92
|
+
const duplicateItemsToKeep = yield this.getChannelItems(duplicate_id_to_keep);
|
|
93
|
+
return { itemsToArchive, duplicateItemsToKeep };
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.DeduplicatorService = DeduplicatorService;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "podverse-orm",
|
|
3
|
-
"version": "5.1.0-alpha.
|
|
3
|
+
"version": "5.1.0-alpha.10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"module-alias": "^2.2.3",
|
|
20
20
|
"pg": "^8.12.0",
|
|
21
|
-
"podverse-helpers": "^5.1.2-alpha.
|
|
21
|
+
"podverse-helpers": "^5.1.2-alpha.6",
|
|
22
22
|
"shortid": "^2.2.16",
|
|
23
23
|
"typeorm": "^0.3.20",
|
|
24
24
|
"typeorm-naming-strategies": "^4.1.0"
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@eslint/config-array": "^0.18.0",
|
|
28
28
|
"@eslint/eslintrc": "^3.1.0",
|
|
29
29
|
"@eslint/js": "^9.8.0",
|
|
30
|
-
"@types/node": "^22.
|
|
30
|
+
"@types/node": "^22.0.0",
|
|
31
31
|
"eslint": "^9.9.0",
|
|
32
32
|
"nodemon": "^3.1.4",
|
|
33
33
|
"ts-node": "^10.9.2",
|