podverse-orm 5.1.0-alpha.0 → 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.
@@ -5,6 +5,7 @@ export declare class Clip {
5
5
  id: number;
6
6
  id_text: string;
7
7
  account: Account;
8
+ item_id: string;
8
9
  item: Item;
9
10
  start_time: string;
10
11
  end_time?: string | null;
@@ -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;IAIlB,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"}
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"}
@@ -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';
@@ -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;IAEzD,sBAAsB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAsBzC,sBAAsB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YAWjC,YAAY;IAmBpB,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3C,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAY3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
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 === 0) {
104
- yield this.feedRepositoryReadWrite.delete(feed.id);
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;IAItE,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;CAW5D"}
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(podcast_index_id) {
173
- return __awaiter(this, void 0, void 0, function* () {
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
- id: (0, typeorm_1.In)([feedFlagStatus_1.FeedFlagStatusStatusEnum.Active, feedFlagStatus_1.FeedFlagStatusStatusEnum.AlwaysParse])
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.0",
3
+ "version": "5.1.0-alpha.10",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,7 +11,6 @@
11
11
  "build:watch": "nodemon --watch 'src' --watch $(realpath node_modules/podverse-helpers) --delay 500ms -x \"npm run build\"",
12
12
  "build": "tsc",
13
13
  "lint": "eslint ./src",
14
- "prepublishOnly": "npm run build",
15
14
  "start": "ts-node ./dist/index.js"
16
15
  },
17
16
  "author": "",
@@ -19,7 +18,7 @@
19
18
  "dependencies": {
20
19
  "module-alias": "^2.2.3",
21
20
  "pg": "^8.12.0",
22
- "podverse-helpers": "^5.1.2-alpha.1",
21
+ "podverse-helpers": "^5.1.2-alpha.6",
23
22
  "shortid": "^2.2.16",
24
23
  "typeorm": "^0.3.20",
25
24
  "typeorm-naming-strategies": "^4.1.0"
@@ -28,7 +27,7 @@
28
27
  "@eslint/config-array": "^0.18.0",
29
28
  "@eslint/eslintrc": "^3.1.0",
30
29
  "@eslint/js": "^9.8.0",
31
- "@types/node": "^22.1.0",
30
+ "@types/node": "^22.0.0",
32
31
  "eslint": "^9.9.0",
33
32
  "nodemon": "^3.1.4",
34
33
  "ts-node": "^10.9.2",