podverse-orm 5.1.0-alpha.9 → 5.1.3-alpha.1
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/index.d.ts +5 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +5 -0
- package/dist/db/index.d.ts.map +1 -1
- package/dist/db/index.js +0 -2
- package/dist/entities/account/account.d.ts +0 -2
- package/dist/entities/account/account.d.ts.map +1 -1
- package/dist/entities/account/account.js +2 -7
- package/dist/entities/channel/channel.d.ts +2 -1
- package/dist/entities/channel/channel.d.ts.map +1 -1
- package/dist/entities/channel/channel.js +8 -4
- package/dist/entities/channel/channelDescription.js +1 -1
- package/dist/entities/clip.d.ts +2 -0
- package/dist/entities/clip.d.ts.map +1 -1
- package/dist/entities/clip.js +10 -2
- package/dist/entities/item/item.d.ts +1 -0
- package/dist/entities/item/item.d.ts.map +1 -1
- package/dist/entities/item/item.js +6 -2
- package/dist/entities/item/itemChapter.d.ts +1 -0
- package/dist/entities/item/itemChapter.d.ts.map +1 -1
- package/dist/entities/item/itemChapter.js +6 -2
- package/dist/entities/item/itemDescription.js +1 -1
- package/dist/entities/item/itemEnclosure.js +1 -1
- package/dist/entities/item/itemSoundbite.js +2 -2
- package/dist/entities/playlist/playlist.d.ts +5 -0
- package/dist/entities/playlist/playlist.d.ts.map +1 -1
- package/dist/entities/playlist/playlist.js +19 -2
- package/dist/entities/playlist/playlistResource.d.ts +0 -3
- package/dist/entities/playlist/playlistResource.d.ts.map +1 -1
- package/dist/entities/playlist/playlistResource.js +0 -10
- package/dist/entities/queue/queue.d.ts +2 -0
- package/dist/entities/queue/queue.d.ts.map +1 -1
- package/dist/entities/queue/queue.js +10 -2
- package/dist/entities/queue/queueResource.d.ts +0 -3
- package/dist/entities/queue/queueResource.d.ts.map +1 -1
- package/dist/entities/queue/queueResource.js +0 -10
- package/dist/factories/loggerService.d.ts +3 -0
- package/dist/factories/loggerService.d.ts.map +1 -0
- package/dist/factories/loggerService.js +9 -0
- package/dist/index.d.ts +12 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/lib/feedFlagHelpers.d.ts +9 -0
- package/dist/lib/feedFlagHelpers.d.ts.map +1 -0
- package/dist/lib/feedFlagHelpers.js +12 -0
- package/dist/lib/nanoid.d.ts +2 -0
- package/dist/lib/nanoid.d.ts.map +1 -0
- package/dist/lib/nanoid.js +11 -0
- package/dist/lib/password.d.ts +2 -0
- package/dist/lib/password.d.ts.map +1 -0
- package/dist/lib/password.js +24 -0
- package/dist/services/account/account.d.ts +1 -1
- package/dist/services/account/account.d.ts.map +1 -1
- package/dist/services/account/account.js +5 -4
- package/dist/services/account/accountFollowingChannel.d.ts +4 -0
- package/dist/services/account/accountFollowingChannel.d.ts.map +1 -1
- package/dist/services/account/accountFollowingChannel.js +9 -0
- package/dist/services/account/accountFollowingPlaylist.d.ts +1 -0
- package/dist/services/account/accountFollowingPlaylist.d.ts.map +1 -1
- package/dist/services/account/accountFollowingPlaylist.js +9 -0
- package/dist/services/base/baseManyService.d.ts +4 -0
- package/dist/services/base/baseManyService.d.ts.map +1 -1
- package/dist/services/base/baseManyService.js +10 -3
- package/dist/services/base/baseOneService.d.ts.map +1 -1
- package/dist/services/base/baseOneService.js +3 -3
- package/dist/services/category.d.ts.map +1 -1
- package/dist/services/category.js +10 -4
- package/dist/services/channel/channel.d.ts +8 -3
- package/dist/services/channel/channel.d.ts.map +1 -1
- package/dist/services/channel/channel.js +40 -5
- package/dist/services/channel/channelPodroll.d.ts +7 -0
- package/dist/services/channel/channelPodroll.d.ts.map +1 -1
- package/dist/services/channel/channelPodroll.js +74 -0
- package/dist/services/clip.d.ts +3 -3
- package/dist/services/clip.d.ts.map +1 -1
- package/dist/services/clip.js +20 -3
- package/dist/services/feed/feed.js +1 -1
- package/dist/services/item/item.d.ts +13 -3
- package/dist/services/item/item.d.ts.map +1 -1
- package/dist/services/item/item.js +147 -38
- package/dist/services/item/itemChapter.d.ts +6 -0
- package/dist/services/item/itemChapter.d.ts.map +1 -1
- package/dist/services/item/itemChapter.js +44 -3
- package/dist/services/item/itemSoundbite.d.ts +5 -2
- package/dist/services/item/itemSoundbite.d.ts.map +1 -1
- package/dist/services/item/itemSoundbite.js +26 -2
- package/dist/services/item/itemTranscript.d.ts +2 -1
- package/dist/services/item/itemTranscript.d.ts.map +1 -1
- package/dist/services/item/itemTranscript.js +5 -0
- package/dist/services/playlist/playlist.d.ts +9 -5
- package/dist/services/playlist/playlist.d.ts.map +1 -1
- package/dist/services/playlist/playlist.js +55 -8
- package/dist/services/playlist/playlistResource.d.ts +3 -12
- package/dist/services/playlist/playlistResource.d.ts.map +1 -1
- package/dist/services/playlist/playlistResource.js +50 -61
- package/dist/services/queue/queue.d.ts +2 -3
- package/dist/services/queue/queue.d.ts.map +1 -1
- package/dist/services/queue/queue.js +36 -10
- package/dist/services/queue/queueResource.d.ts +19 -23
- package/dist/services/queue/queueResource.d.ts.map +1 -1
- package/dist/services/queue/queueResource.js +181 -102
- package/dist/services/stats/baseStatsAggregated.d.ts +23 -2
- package/dist/services/stats/baseStatsAggregated.d.ts.map +1 -1
- package/dist/services/stats/baseStatsAggregated.js +27 -5
- package/dist/services/stats/statsAggregatedAccount.d.ts.map +1 -1
- package/dist/services/stats/statsAggregatedAccount.js +1 -2
- package/dist/services/stats/statsAggregatedChannel.d.ts +6 -0
- package/dist/services/stats/statsAggregatedChannel.d.ts.map +1 -1
- package/dist/services/stats/statsAggregatedChannel.js +29 -2
- package/dist/services/stats/statsAggregatedClip.d.ts +3 -0
- package/dist/services/stats/statsAggregatedClip.d.ts.map +1 -1
- package/dist/services/stats/statsAggregatedClip.js +22 -2
- package/dist/services/stats/statsAggregatedItem.d.ts +3 -0
- package/dist/services/stats/statsAggregatedItem.d.ts.map +1 -1
- package/dist/services/stats/statsAggregatedItem.js +16 -2
- package/dist/services/stats/statsAggregatedPlaylist.d.ts +7 -0
- package/dist/services/stats/statsAggregatedPlaylist.d.ts.map +1 -1
- package/dist/services/stats/statsAggregatedPlaylist.js +70 -2
- package/dist/services/stats/statsTrackAccountGuid.d.ts.map +1 -1
- package/package.json +16 -13
- package/dist/entities/account/accountAdminRoles.d.ts +0 -8
- package/dist/entities/account/accountAdminRoles.d.ts.map +0 -1
- package/dist/entities/account/accountAdminRoles.js +0 -37
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityManager } from 'typeorm';
|
|
1
|
+
import { EntityManager, FindManyOptions } from 'typeorm';
|
|
2
2
|
import { Item } from '@orm/entities/item/item';
|
|
3
3
|
import { ItemTranscript } from '@orm/entities/item/itemTranscript';
|
|
4
4
|
import { BaseManyService } from '@orm/services/base/baseManyService';
|
|
@@ -8,6 +8,7 @@ type ItemTranscriptDto = {
|
|
|
8
8
|
};
|
|
9
9
|
export declare class ItemTranscriptService extends BaseManyService<ItemTranscript, 'item'> {
|
|
10
10
|
constructor(transactionalEntityManager?: EntityManager);
|
|
11
|
+
getMany(options?: FindManyOptions<ItemTranscript>): Promise<ItemTranscript[]>;
|
|
11
12
|
update(item: Item, dto: ItemTranscriptDto): Promise<ItemTranscript>;
|
|
12
13
|
updateMany(item: Item, dtos: ItemTranscriptDto[]): Promise<ItemTranscript[]>;
|
|
13
14
|
deleteAll(item: Item): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"itemTranscript.d.ts","sourceRoot":"","sources":["../../../src/services/item/itemTranscript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"itemTranscript.d.ts","sourceRoot":"","sources":["../../../src/services/item/itemTranscript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAErE,KAAK,iBAAiB,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB,CAAA;AAED,qBAAa,qBAAsB,SAAQ,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC;gBACpE,0BAA0B,CAAC,EAAE,aAAa;IAIhD,OAAO,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI7E,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAKnE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAK5E,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3C"}
|
|
@@ -16,6 +16,11 @@ class ItemTranscriptService extends baseManyService_1.BaseManyService {
|
|
|
16
16
|
constructor(transactionalEntityManager) {
|
|
17
17
|
super(itemTranscript_1.ItemTranscript, 'item', transactionalEntityManager);
|
|
18
18
|
}
|
|
19
|
+
getMany(options) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
return this.repositoryRead.find(options);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
19
24
|
update(item, dto) {
|
|
20
25
|
const _super = Object.create(null, {
|
|
21
26
|
_update: { get: () => super._update }
|
|
@@ -5,18 +5,22 @@ import { BaseManyService } from '@orm/services/base/baseManyService';
|
|
|
5
5
|
export type PlaylistDto = {
|
|
6
6
|
title?: string;
|
|
7
7
|
description?: string;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
is_default_favorites
|
|
8
|
+
medium_id: MediumEnum;
|
|
9
|
+
sharable_status_id: SharableStatusEnum;
|
|
10
|
+
is_default_favorites?: boolean;
|
|
11
11
|
};
|
|
12
12
|
export declare class PlaylistService extends BaseManyService<Playlist, 'account'> {
|
|
13
13
|
private accountService;
|
|
14
14
|
constructor(transactionalEntityManager?: EntityManager);
|
|
15
15
|
create(account_id: number, dto: PlaylistDto): Promise<Playlist>;
|
|
16
16
|
update(account_id: number, playlist_id_text: string, dto: PlaylistDto): Promise<Playlist>;
|
|
17
|
+
updateLastUpdatedAndItemCount(playlist_id_text: string): Promise<Playlist>;
|
|
17
18
|
delete(account_id: number, playlist_id_text: string): Promise<void>;
|
|
18
19
|
getByIdText(playlist_id_text: string, options?: FindOneOptions<Playlist>): Promise<Playlist | null>;
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
getManyPublic(options?: FindManyOptions<Playlist>): Promise<Playlist[]>;
|
|
21
|
+
getManyPrivate(account_id: number, options?: FindManyOptions<Playlist>): Promise<[Playlist[], number]>;
|
|
22
|
+
getOnePublic(playlist_id_text: string, options?: FindOneOptions<Playlist>): Promise<Playlist | null>;
|
|
23
|
+
getOnePrivate(account_id_text: string, playlist_id_text: string, options?: FindOneOptions<Playlist>): Promise<Playlist | null>;
|
|
24
|
+
getAllFavoritesPrivate(account_id: number): Promise<Playlist[]>;
|
|
21
25
|
}
|
|
22
26
|
//# sourceMappingURL=playlist.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playlist.d.ts","sourceRoot":"","sources":["../../../src/services/playlist/playlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"playlist.d.ts","sourceRoot":"","sources":["../../../src/services/playlist/playlist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAO,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAIrE,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;IACtB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe,CAAC,QAAQ,EAAE,SAAS,CAAC;IACvE,OAAO,CAAC,cAAc,CAAiB;gBAE3B,0BAA0B,CAAC,EAAE,aAAa;IAKhD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAW/D,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC;IAezF,6BAA6B,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAa1E,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASnE,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAOnG,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAUvE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAE;IAYvG,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAYpG,aAAa,CAAC,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAY9H,sBAAsB,CAAC,UAAU,EAAE,MAAM;CAsBhD"}
|
|
@@ -10,9 +10,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.PlaylistService = void 0;
|
|
13
|
+
const podverse_helpers_1 = require("podverse-helpers");
|
|
14
|
+
const typeorm_1 = require("typeorm");
|
|
13
15
|
const playlist_1 = require("@orm/entities/playlist/playlist");
|
|
14
16
|
const baseManyService_1 = require("@orm/services/base/baseManyService");
|
|
15
17
|
const account_1 = require("@orm/services/account/account");
|
|
18
|
+
const playlistResource_1 = require("./playlistResource");
|
|
16
19
|
class PlaylistService extends baseManyService_1.BaseManyService {
|
|
17
20
|
constructor(transactionalEntityManager) {
|
|
18
21
|
super(playlist_1.Playlist, 'account', transactionalEntityManager);
|
|
@@ -42,6 +45,19 @@ class PlaylistService extends baseManyService_1.BaseManyService {
|
|
|
42
45
|
return this._update(account, whereKeys, dto, undefined, playlist);
|
|
43
46
|
});
|
|
44
47
|
}
|
|
48
|
+
updateLastUpdatedAndItemCount(playlist_id_text) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
const playlist = yield this.repositoryRead.findOne({ where: { id_text: playlist_id_text } });
|
|
51
|
+
if (!playlist) {
|
|
52
|
+
throw new Error("Playlist not found.");
|
|
53
|
+
}
|
|
54
|
+
const playlistResourceService = new playlistResource_1.PlaylistResourceService();
|
|
55
|
+
const itemCount = yield playlistResourceService.getAllByPlaylistIdTextCount(playlist_id_text);
|
|
56
|
+
playlist.item_count = itemCount;
|
|
57
|
+
playlist.last_updated = new Date();
|
|
58
|
+
return this.repositoryReadWrite.save(playlist);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
45
61
|
delete(account_id, playlist_id_text) {
|
|
46
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
63
|
const account = yield this.accountService.get(account_id);
|
|
@@ -56,18 +72,49 @@ class PlaylistService extends baseManyService_1.BaseManyService {
|
|
|
56
72
|
return this.repositoryRead.findOne(Object.assign({ where: { id_text: playlist_id_text } }, options));
|
|
57
73
|
});
|
|
58
74
|
}
|
|
59
|
-
|
|
75
|
+
getManyPublic(options) {
|
|
60
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
return this.repositoryRead.find(options);
|
|
77
|
+
return this.repositoryRead.find(Object.assign({ where: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.where), { sharable_status_id: podverse_helpers_1.SharableStatusEnum.Public }) }, options));
|
|
62
78
|
});
|
|
63
79
|
}
|
|
64
|
-
|
|
80
|
+
getManyPrivate(account_id, options) {
|
|
65
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
82
|
+
return this.repositoryRead.findAndCount(Object.assign(Object.assign({}, options), { where: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.where), { account: {
|
|
83
|
+
id: account_id
|
|
84
|
+
} }) }));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
getOnePublic(playlist_id_text, options) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return this.repositoryRead.findOne(Object.assign({ where: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.where), { id_text: playlist_id_text, sharable_status_id: (0, typeorm_1.Not)(podverse_helpers_1.SharableStatusEnum.Private) }), relations: ['account', 'account.account_profile'] }, options));
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
getOnePrivate(account_id_text, playlist_id_text, options) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
return this.repositoryRead.findOne(Object.assign({ where: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.where), { id_text: playlist_id_text, account: { id_text: account_id_text } }), relations: ['account', 'account.account_profile'] }, options));
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
getAllFavoritesPrivate(account_id) {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
const options = {
|
|
100
|
+
select: {
|
|
101
|
+
id: true,
|
|
102
|
+
id_text: true,
|
|
103
|
+
medium: true,
|
|
104
|
+
playlist_resources: {
|
|
105
|
+
clip_id: true,
|
|
106
|
+
item_id: true,
|
|
107
|
+
item_soundbite_id: true,
|
|
108
|
+
add_by_rss_hash_id: true
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
where: {
|
|
112
|
+
is_default_favorites: true,
|
|
113
|
+
account: { id: account_id }
|
|
114
|
+
},
|
|
115
|
+
relations: ['medium', 'playlist_resources']
|
|
116
|
+
};
|
|
117
|
+
return this.repositoryRead.find(options);
|
|
71
118
|
});
|
|
72
119
|
}
|
|
73
120
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { EntityManager } from 'typeorm';
|
|
1
|
+
import { EntityManager, FindManyOptions } from 'typeorm';
|
|
2
2
|
import { PlaylistResource } from '@orm/entities/playlist/playlistResource';
|
|
3
3
|
import { BaseManyService } from '@orm/services/base/baseManyService';
|
|
4
4
|
export declare class PlaylistResourceService extends BaseManyService<PlaylistResource, 'playlist'> {
|
|
5
5
|
private playlistService;
|
|
6
6
|
private clipService;
|
|
7
7
|
private itemService;
|
|
8
|
-
private itemChapterService;
|
|
9
8
|
private itemSoundbiteService;
|
|
10
9
|
constructor(transactionalEntityManager?: EntityManager);
|
|
10
|
+
getManyByPlaylistIdText(playlist_id_text: string, options?: Partial<FindManyOptions<PlaylistResource>>): Promise<PlaylistResource[]>;
|
|
11
11
|
getAllByPlaylistIdText(playlist_id_text: string): Promise<PlaylistResource[]>;
|
|
12
|
+
getAllByPlaylistIdTextCount(playlist_id_text: string): Promise<number>;
|
|
12
13
|
getFirstAndLastItemsByPlaylistIdText(playlist_id_text: string): Promise<{
|
|
13
14
|
firstItem: PlaylistResource | null;
|
|
14
15
|
lastItem: PlaylistResource | null;
|
|
@@ -27,10 +28,6 @@ export declare class PlaylistResourceService extends BaseManyService<PlaylistRes
|
|
|
27
28
|
addItemToPlaylistLast(playlist_id_text: string, item_id_text: string): Promise<PlaylistResource>;
|
|
28
29
|
addItemToPlaylistBetween(playlist_id_text: string, item_id_text: string, position1: number, position2: number): Promise<PlaylistResource>;
|
|
29
30
|
removeItemFromPlaylist(playlist_id_text: string, item_id_text: string): Promise<void>;
|
|
30
|
-
addItemChapterToPlaylistFirst(playlist_id_text: string, item_chapter_id_text: string): Promise<PlaylistResource>;
|
|
31
|
-
addItemChapterToPlaylistLast(playlist_id_text: string, item_chapter_id_text: string): Promise<PlaylistResource>;
|
|
32
|
-
addItemChapterToPlaylistBetween(playlist_id_text: string, item_chapter_id_text: string, position1: number, position2: number): Promise<PlaylistResource>;
|
|
33
|
-
removeItemChapterFromPlaylist(playlist_id_text: string, item_chapter_id_text: string): Promise<void>;
|
|
34
31
|
addItemSoundbiteToPlaylistFirst(playlist_id_text: string, item_soundbite_id_text: string): Promise<PlaylistResource>;
|
|
35
32
|
addItemSoundbiteToPlaylistLast(playlist_id_text: string, item_soundbite_id_text: string): Promise<PlaylistResource>;
|
|
36
33
|
addItemSoundbiteToPlaylistBetween(playlist_id_text: string, item_soundbite_id_text: string, position1: number, position2: number): Promise<PlaylistResource>;
|
|
@@ -41,11 +38,5 @@ export declare class PlaylistResourceService extends BaseManyService<PlaylistRes
|
|
|
41
38
|
addItemAddByRSSToPlaylistLast(playlist_id_text: string, add_by_rss_resource_data: object): Promise<PlaylistResource>;
|
|
42
39
|
addItemAddByRSSToPlaylistBetween(playlist_id_text: string, add_by_rss_resource_data: object, position1: number, position2: number): Promise<PlaylistResource>;
|
|
43
40
|
removeItemAddByRSSFromPlaylist(playlist_id_text: string, add_by_rss_hash_id: string): Promise<void>;
|
|
44
|
-
getResourcesByParams(params: {
|
|
45
|
-
clip_id?: number;
|
|
46
|
-
item_id?: number;
|
|
47
|
-
item_chapter_id?: number;
|
|
48
|
-
item_soundbite_id?: number;
|
|
49
|
-
}): Promise<PlaylistResource[]>;
|
|
50
41
|
}
|
|
51
42
|
//# sourceMappingURL=playlistResource.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playlistResource.d.ts","sourceRoot":"","sources":["../../../src/services/playlist/playlistResource.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAyB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"playlistResource.d.ts","sourceRoot":"","sources":["../../../src/services/playlist/playlistResource.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,8 +18,8 @@ const playlist_1 = require("./playlist");
|
|
|
18
18
|
const baseManyService_1 = require("@orm/services/base/baseManyService");
|
|
19
19
|
const clip_1 = require("../clip");
|
|
20
20
|
const item_1 = require("../item/item");
|
|
21
|
-
const itemChapter_1 = require("../item/itemChapter");
|
|
22
21
|
const itemSoundbite_1 = require("../item/itemSoundbite");
|
|
22
|
+
const queueResource_1 = require("../queue/queueResource");
|
|
23
23
|
const PLAYLIST_LIST_POSITION_INCREMENT = 0.00000001;
|
|
24
24
|
class PlaylistResourceService extends baseManyService_1.BaseManyService {
|
|
25
25
|
constructor(transactionalEntityManager) {
|
|
@@ -27,9 +27,22 @@ class PlaylistResourceService extends baseManyService_1.BaseManyService {
|
|
|
27
27
|
this.playlistService = new playlist_1.PlaylistService(transactionalEntityManager);
|
|
28
28
|
this.clipService = new clip_1.ClipService(transactionalEntityManager);
|
|
29
29
|
this.itemService = new item_1.ItemService();
|
|
30
|
-
this.itemChapterService = new itemChapter_1.ItemChapterService(transactionalEntityManager);
|
|
31
30
|
this.itemSoundbiteService = new itemSoundbite_1.ItemSoundbiteService(transactionalEntityManager);
|
|
32
31
|
}
|
|
32
|
+
getManyByPlaylistIdText(playlist_id_text_1) {
|
|
33
|
+
return __awaiter(this, arguments, void 0, function* (playlist_id_text, options = {}) {
|
|
34
|
+
const playlist = yield this.playlistService.getByIdText(playlist_id_text);
|
|
35
|
+
if (!playlist) {
|
|
36
|
+
throw new Error("Playlist not found.");
|
|
37
|
+
}
|
|
38
|
+
const defaultOptions = {
|
|
39
|
+
where: { playlist: { id: playlist.id } },
|
|
40
|
+
order: { list_position: 'ASC' },
|
|
41
|
+
relations: queueResource_1.listResourceRelations
|
|
42
|
+
};
|
|
43
|
+
return this.repositoryRead.find(Object.assign(Object.assign(Object.assign({}, defaultOptions), options), { where: Object.assign(Object.assign({}, defaultOptions.where), (options.where || {})) }));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
33
46
|
getAllByPlaylistIdText(playlist_id_text) {
|
|
34
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
48
|
const playlist = yield this.playlistService.getByIdText(playlist_id_text);
|
|
@@ -39,11 +52,20 @@ class PlaylistResourceService extends baseManyService_1.BaseManyService {
|
|
|
39
52
|
const options = {
|
|
40
53
|
where: { playlist: { id: playlist.id } },
|
|
41
54
|
order: { list_position: 'ASC' },
|
|
42
|
-
relations:
|
|
55
|
+
relations: queueResource_1.listResourceRelations
|
|
43
56
|
};
|
|
44
57
|
return this.repositoryRead.find(options);
|
|
45
58
|
});
|
|
46
59
|
}
|
|
60
|
+
getAllByPlaylistIdTextCount(playlist_id_text) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const playlist = yield this.playlistService.getByIdText(playlist_id_text);
|
|
63
|
+
if (!playlist) {
|
|
64
|
+
throw new Error("Playlist not found.");
|
|
65
|
+
}
|
|
66
|
+
return this.repositoryRead.count({ where: { playlist: { id: playlist.id } } });
|
|
67
|
+
});
|
|
68
|
+
}
|
|
47
69
|
getFirstAndLastItemsByPlaylistIdText(playlist_id_text) {
|
|
48
70
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
71
|
const playlist = yield this.playlistService.getByIdText(playlist_id_text);
|
|
@@ -74,10 +96,12 @@ class PlaylistResourceService extends baseManyService_1.BaseManyService {
|
|
|
74
96
|
const { firstItem, lastItem } = yield this.getFirstAndLastItemsByPlaylistIdText(playlist_id_text);
|
|
75
97
|
const list_position = calculatePosition(firstItem, lastItem);
|
|
76
98
|
const finalDto = {
|
|
77
|
-
[resourceKey]: resource,
|
|
99
|
+
[resourceKey]: resource.id,
|
|
78
100
|
list_position
|
|
79
101
|
};
|
|
80
|
-
|
|
102
|
+
const results = yield this._update(playlist, ['playlist', resourceKey], finalDto);
|
|
103
|
+
yield this.playlistService.updateLastUpdatedAndItemCount(playlist.id_text);
|
|
104
|
+
return results;
|
|
81
105
|
});
|
|
82
106
|
}
|
|
83
107
|
addResourceToPlaylistHelper(playlist_id_text, resource_id_text, resourceService, resourceKey, calculatePosition) {
|
|
@@ -128,87 +152,69 @@ class PlaylistResourceService extends baseManyService_1.BaseManyService {
|
|
|
128
152
|
if (!resource) {
|
|
129
153
|
throw new Error(`${resourceKey} not found.`);
|
|
130
154
|
}
|
|
131
|
-
|
|
155
|
+
const results = yield this._delete(playlist, { [resourceKey]: resource.id });
|
|
156
|
+
yield this.playlistService.updateLastUpdatedAndItemCount(playlist.id_text);
|
|
157
|
+
return results;
|
|
132
158
|
});
|
|
133
159
|
}
|
|
134
160
|
addClipToPlaylistFirst(playlist_id_text, clip_id_text) {
|
|
135
161
|
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
return this.addResourceToPlaylistFirst(playlist_id_text, clip_id_text, this.clipService, '
|
|
162
|
+
return this.addResourceToPlaylistFirst(playlist_id_text, clip_id_text, this.clipService, 'clip_id');
|
|
137
163
|
});
|
|
138
164
|
}
|
|
139
165
|
addClipToPlaylistLast(playlist_id_text, clip_id_text) {
|
|
140
166
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
-
return this.addResourceToPlaylistLast(playlist_id_text, clip_id_text, this.clipService, '
|
|
167
|
+
return this.addResourceToPlaylistLast(playlist_id_text, clip_id_text, this.clipService, 'clip_id');
|
|
142
168
|
});
|
|
143
169
|
}
|
|
144
170
|
addClipToPlaylistBetween(playlist_id_text, clip_id_text, position1, position2) {
|
|
145
171
|
return __awaiter(this, void 0, void 0, function* () {
|
|
146
|
-
return this.addResourceToPlaylistBetween(playlist_id_text, clip_id_text, this.clipService, '
|
|
172
|
+
return this.addResourceToPlaylistBetween(playlist_id_text, clip_id_text, this.clipService, 'clip_id', position1, position2);
|
|
147
173
|
});
|
|
148
174
|
}
|
|
149
175
|
removeClipFromPlaylist(playlist_id_text, clip_id_text) {
|
|
150
176
|
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
return this.removeResourceFromPlaylist(playlist_id_text, clip_id_text, this.clipService, '
|
|
177
|
+
return this.removeResourceFromPlaylist(playlist_id_text, clip_id_text, this.clipService, 'clip_id');
|
|
152
178
|
});
|
|
153
179
|
}
|
|
154
180
|
addItemToPlaylistFirst(playlist_id_text, item_id_text) {
|
|
155
181
|
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
-
return this.addResourceToPlaylistFirst(playlist_id_text, item_id_text, this.itemService, '
|
|
182
|
+
return this.addResourceToPlaylistFirst(playlist_id_text, item_id_text, this.itemService, 'item_id');
|
|
157
183
|
});
|
|
158
184
|
}
|
|
159
185
|
addItemToPlaylistLast(playlist_id_text, item_id_text) {
|
|
160
186
|
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
-
return this.addResourceToPlaylistLast(playlist_id_text, item_id_text, this.itemService, '
|
|
187
|
+
return this.addResourceToPlaylistLast(playlist_id_text, item_id_text, this.itemService, 'item_id');
|
|
162
188
|
});
|
|
163
189
|
}
|
|
164
190
|
addItemToPlaylistBetween(playlist_id_text, item_id_text, position1, position2) {
|
|
165
191
|
return __awaiter(this, void 0, void 0, function* () {
|
|
166
|
-
return this.addResourceToPlaylistBetween(playlist_id_text, item_id_text, this.itemService, '
|
|
192
|
+
return this.addResourceToPlaylistBetween(playlist_id_text, item_id_text, this.itemService, 'item_id', position1, position2);
|
|
167
193
|
});
|
|
168
194
|
}
|
|
169
195
|
removeItemFromPlaylist(playlist_id_text, item_id_text) {
|
|
170
196
|
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
-
return this.removeResourceFromPlaylist(playlist_id_text, item_id_text, this.itemService, '
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
addItemChapterToPlaylistFirst(playlist_id_text, item_chapter_id_text) {
|
|
175
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
176
|
-
return this.addResourceToPlaylistFirst(playlist_id_text, item_chapter_id_text, this.itemChapterService, 'item_chapter');
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
|
-
addItemChapterToPlaylistLast(playlist_id_text, item_chapter_id_text) {
|
|
180
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
181
|
-
return this.addResourceToPlaylistLast(playlist_id_text, item_chapter_id_text, this.itemChapterService, 'item_chapter');
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
addItemChapterToPlaylistBetween(playlist_id_text, item_chapter_id_text, position1, position2) {
|
|
185
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
186
|
-
return this.addResourceToPlaylistBetween(playlist_id_text, item_chapter_id_text, this.itemChapterService, 'item_chapter', position1, position2);
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
removeItemChapterFromPlaylist(playlist_id_text, item_chapter_id_text) {
|
|
190
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
191
|
-
return this.removeResourceFromPlaylist(playlist_id_text, item_chapter_id_text, this.itemChapterService, 'item_chapter');
|
|
197
|
+
return this.removeResourceFromPlaylist(playlist_id_text, item_id_text, this.itemService, 'item_id');
|
|
192
198
|
});
|
|
193
199
|
}
|
|
194
200
|
addItemSoundbiteToPlaylistFirst(playlist_id_text, item_soundbite_id_text) {
|
|
195
201
|
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
-
return this.addResourceToPlaylistFirst(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, '
|
|
202
|
+
return this.addResourceToPlaylistFirst(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, 'item_soundbite_id');
|
|
197
203
|
});
|
|
198
204
|
}
|
|
199
205
|
addItemSoundbiteToPlaylistLast(playlist_id_text, item_soundbite_id_text) {
|
|
200
206
|
return __awaiter(this, void 0, void 0, function* () {
|
|
201
|
-
return this.addResourceToPlaylistLast(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, '
|
|
207
|
+
return this.addResourceToPlaylistLast(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, 'item_soundbite_id');
|
|
202
208
|
});
|
|
203
209
|
}
|
|
204
210
|
addItemSoundbiteToPlaylistBetween(playlist_id_text, item_soundbite_id_text, position1, position2) {
|
|
205
211
|
return __awaiter(this, void 0, void 0, function* () {
|
|
206
|
-
return this.addResourceToPlaylistBetween(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, '
|
|
212
|
+
return this.addResourceToPlaylistBetween(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, 'item_soundbite_id', position1, position2);
|
|
207
213
|
});
|
|
208
214
|
}
|
|
209
215
|
removeItemSoundbiteFromPlaylist(playlist_id_text, item_soundbite_id_text) {
|
|
210
216
|
return __awaiter(this, void 0, void 0, function* () {
|
|
211
|
-
return this.removeResourceFromPlaylist(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, '
|
|
217
|
+
return this.removeResourceFromPlaylist(playlist_id_text, item_soundbite_id_text, this.itemSoundbiteService, 'item_soundbite_id');
|
|
212
218
|
});
|
|
213
219
|
}
|
|
214
220
|
addItemAddByRSSToPlaylist(playlist_id_text, add_by_rss_resource_data, calculatePosition) {
|
|
@@ -225,7 +231,9 @@ class PlaylistResourceService extends baseManyService_1.BaseManyService {
|
|
|
225
231
|
list_position,
|
|
226
232
|
add_by_rss_hash_id
|
|
227
233
|
};
|
|
228
|
-
|
|
234
|
+
const results = yield this._update(playlist, ['playlist', 'add_by_rss_hash_id'], finalDto);
|
|
235
|
+
yield this.playlistService.updateLastUpdatedAndItemCount(playlist.id_text);
|
|
236
|
+
return results;
|
|
229
237
|
});
|
|
230
238
|
}
|
|
231
239
|
addItemAddByRSSToPlaylistHelper(playlist_id_text, add_by_rss_resource_data, calculatePosition) {
|
|
@@ -272,28 +280,9 @@ class PlaylistResourceService extends baseManyService_1.BaseManyService {
|
|
|
272
280
|
if (!playlist) {
|
|
273
281
|
throw new Error("Playlist not found.");
|
|
274
282
|
}
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
getResourcesByParams(params) {
|
|
279
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
280
|
-
const whereClause = {};
|
|
281
|
-
if (params.clip_id) {
|
|
282
|
-
whereClause.clip = { id: params.clip_id };
|
|
283
|
-
}
|
|
284
|
-
if (params.item_id) {
|
|
285
|
-
whereClause.item = { id: params.item_id };
|
|
286
|
-
}
|
|
287
|
-
if (params.item_chapter_id) {
|
|
288
|
-
whereClause.item_chapter = { id: params.item_chapter_id };
|
|
289
|
-
}
|
|
290
|
-
if (params.item_soundbite_id) {
|
|
291
|
-
whereClause.item_soundbite = { id: params.item_soundbite_id };
|
|
292
|
-
}
|
|
293
|
-
return this.repositoryRead.find({
|
|
294
|
-
where: whereClause,
|
|
295
|
-
relations: ['clip', 'item', 'item_chapter', 'item_soundbite', 'playlist']
|
|
296
|
-
});
|
|
283
|
+
const results = yield this._delete(playlist, { add_by_rss_hash_id });
|
|
284
|
+
yield this.playlistService.updateLastUpdatedAndItemCount(playlist.id_text);
|
|
285
|
+
return results;
|
|
297
286
|
});
|
|
298
287
|
}
|
|
299
288
|
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { MediumEnum } from 'podverse-helpers';
|
|
2
1
|
import { EntityManager, FindManyOptions, FindOneOptions } from 'typeorm';
|
|
3
2
|
import { Queue } from '@orm/entities/queue/queue';
|
|
4
3
|
import { BaseManyService } from '@orm/services/base/baseManyService';
|
|
5
4
|
export type QueueDto = {
|
|
6
|
-
|
|
5
|
+
medium_id: number;
|
|
7
6
|
};
|
|
8
7
|
export declare class QueueService extends BaseManyService<Queue, 'account'> {
|
|
9
8
|
private accountService;
|
|
10
9
|
constructor(transactionalEntityManager?: EntityManager);
|
|
11
10
|
create(account_id: number, dto: QueueDto): Promise<Queue>;
|
|
12
|
-
delete(account_id: number, queue_id_text: string): Promise<void>;
|
|
13
11
|
getByIdText(queue_id_text: string, config?: FindOneOptions<Queue>): Promise<Queue | null>;
|
|
14
12
|
getAllPrivate(account_id: number, config?: FindManyOptions<Queue>): Promise<Queue[]>;
|
|
13
|
+
updateIsActiveQueue(account_id: number, queue_id_text: string, is_active_queue: boolean): Promise<void>;
|
|
15
14
|
}
|
|
16
15
|
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/services/queue/queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/services/queue/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,MAAM,MAAM,QAAQ,GAAG;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,YAAa,SAAQ,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC;IACjE,OAAO,CAAC,cAAc,CAAiB;gBAE3B,0BAA0B,CAAC,EAAE,aAAa;IAKhD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAUzD,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IASzF,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA4BpF,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB9G"}
|
|
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.QueueService = void 0;
|
|
13
|
+
const podverse_helpers_1 = require("podverse-helpers");
|
|
13
14
|
const queue_1 = require("@orm/entities/queue/queue");
|
|
14
15
|
const baseManyService_1 = require("@orm/services/base/baseManyService");
|
|
15
16
|
const account_1 = require("@orm/services/account/account");
|
|
@@ -28,15 +29,6 @@ class QueueService extends baseManyService_1.BaseManyService {
|
|
|
28
29
|
return this._update(account, whereKeys, dto);
|
|
29
30
|
});
|
|
30
31
|
}
|
|
31
|
-
delete(account_id, queue_id_text) {
|
|
32
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
const account = yield this.accountService.get(account_id);
|
|
34
|
-
if (!account) {
|
|
35
|
-
throw new Error("Account not found.");
|
|
36
|
-
}
|
|
37
|
-
return this._delete(account, { id_text: queue_id_text });
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
32
|
getByIdText(queue_id_text, config) {
|
|
41
33
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
34
|
return this.repositoryRead.findOne(Object.assign({ where: {
|
|
@@ -50,7 +42,41 @@ class QueueService extends baseManyService_1.BaseManyService {
|
|
|
50
42
|
if (!account) {
|
|
51
43
|
throw new Error("Account not found.");
|
|
52
44
|
}
|
|
53
|
-
|
|
45
|
+
let results = yield this._getAll(account, config);
|
|
46
|
+
const existingMediums = new Set(results.map(q => Number(q.medium_id)));
|
|
47
|
+
const missingMediums = [];
|
|
48
|
+
for (const mediumKey of Object.keys(podverse_helpers_1.supportedQueueMediums)) {
|
|
49
|
+
const medium_id = Number(mediumKey);
|
|
50
|
+
if (podverse_helpers_1.supportedQueueMediums[medium_id] && !existingMediums.has(medium_id)) {
|
|
51
|
+
missingMediums.push(medium_id);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (missingMediums.length > 0) {
|
|
55
|
+
for (const medium_id of missingMediums) {
|
|
56
|
+
yield this.create(account_id, { medium_id });
|
|
57
|
+
}
|
|
58
|
+
results = yield this._getAll(account, config);
|
|
59
|
+
}
|
|
60
|
+
return results;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
updateIsActiveQueue(account_id, queue_id_text, is_active_queue) {
|
|
64
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const queues = yield this.getAllPrivate(account_id);
|
|
66
|
+
const currentActiveQueue = queues.find(q => q.is_active_queue);
|
|
67
|
+
const targetQueue = queues.find(q => q.id_text === queue_id_text);
|
|
68
|
+
if (!targetQueue) {
|
|
69
|
+
throw new Error(`Queue with id_text ${queue_id_text} not found for account ${account_id}`);
|
|
70
|
+
}
|
|
71
|
+
if (is_active_queue && targetQueue.is_active_queue) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
if (currentActiveQueue && currentActiveQueue.id_text !== queue_id_text) {
|
|
75
|
+
yield this.repositoryReadWrite.update({ id: currentActiveQueue.id }, { is_active_queue: false });
|
|
76
|
+
}
|
|
77
|
+
if (targetQueue.is_active_queue !== is_active_queue) {
|
|
78
|
+
yield this.repositoryReadWrite.update({ id: targetQueue.id }, { is_active_queue });
|
|
79
|
+
}
|
|
54
80
|
});
|
|
55
81
|
}
|
|
56
82
|
}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { QueueExtraParams } from 'podverse-helpers';
|
|
2
|
+
import { EntityManager, FindManyOptions } from 'typeorm';
|
|
2
3
|
import { QueueResource } from '@orm/entities/queue/queueResource';
|
|
3
4
|
import { BaseManyService } from '@orm/services/base/baseManyService';
|
|
5
|
+
export declare const listResourceRelations: string[];
|
|
4
6
|
export declare class QueueResourceService extends BaseManyService<QueueResource, 'queue'> {
|
|
5
7
|
private queueService;
|
|
6
8
|
private clipService;
|
|
7
9
|
private itemService;
|
|
8
|
-
private itemChapterService;
|
|
9
10
|
private itemSoundbiteService;
|
|
11
|
+
private static queueLocks;
|
|
12
|
+
private getQueueLock;
|
|
10
13
|
constructor(transactionalEntityManager?: EntityManager);
|
|
11
|
-
|
|
14
|
+
getAllByAccountAbridged(account_id: number): Promise<any[]>;
|
|
15
|
+
getNowPlayingByQueueIdText(queue_id_text: string): Promise<QueueResource | null>;
|
|
16
|
+
getAllUpcomingByQueueIdText(queue_id_text: string): Promise<QueueResource[]>;
|
|
17
|
+
getHistoryResourcesByQueueIdText(queue_id_text: string, options?: FindManyOptions<QueueResource>): Promise<[QueueResource[], number]>;
|
|
12
18
|
getItemsByQueueIdTextAndPosition(queue_id_text: string, position: string): Promise<QueueResource[]>;
|
|
13
19
|
getFirstAndLastQueuedItemsByQueueIdText(queue_id_text: string): Promise<{
|
|
14
20
|
firstQueued: QueueResource | null;
|
|
@@ -20,32 +26,28 @@ export declare class QueueResourceService extends BaseManyService<QueueResource,
|
|
|
20
26
|
addResourceToQueueNext(queue_id_text: string, resource_id_text: string, resourceService: any, resourceKey: keyof QueueResource): Promise<QueueResource>;
|
|
21
27
|
addResourceToQueueLast(queue_id_text: string, resource_id_text: string, resourceService: any, resourceKey: keyof QueueResource): Promise<QueueResource>;
|
|
22
28
|
addResourceToQueueBetween(queue_id_text: string, resource_id_text: string, resourceService: any, resourceKey: keyof QueueResource, position1: number, position2: number): Promise<QueueResource>;
|
|
23
|
-
addResourceToNowPlaying(queue_id_text: string, resource_id_text: string, resourceService: any, resourceKey: keyof QueueResource): Promise<QueueResource>;
|
|
24
|
-
|
|
29
|
+
addResourceToNowPlaying(queue_id_text: string, resource_id_text: string, resourceService: any, resourceKey: keyof QueueResource, params?: QueueExtraParams): Promise<QueueResource>;
|
|
30
|
+
private _addResourceToNowPlayingTransactional;
|
|
31
|
+
private moveQueueResourceToHistoryByIdTransactional;
|
|
32
|
+
addResourceToHistory(queue_id_text: string, resource_id_text: string, resourceService: any, resourceKey: keyof QueueResource, params: QueueExtraParams): Promise<QueueResource>;
|
|
25
33
|
removeResourceFromQueue(queue_id_text: string, resource_id_text: string, resourceService: any, resourceKey: keyof QueueResource): Promise<void>;
|
|
26
34
|
addClipToQueueNext(queue_id_text: string, clip_id_text: string): Promise<QueueResource>;
|
|
27
35
|
addClipToQueueLast(queue_id_text: string, clip_id_text: string): Promise<QueueResource>;
|
|
28
36
|
addClipToQueueBetween(queue_id_text: string, clip_id_text: string, position1: number, position2: number): Promise<QueueResource>;
|
|
29
|
-
addClipToNowPlaying(queue_id_text: string, clip_id_text: string): Promise<QueueResource>;
|
|
30
|
-
addClipToHistory(queue_id_text: string, clip_id_text: string): Promise<QueueResource>;
|
|
37
|
+
addClipToNowPlaying(queue_id_text: string, clip_id_text: string, params?: QueueExtraParams): Promise<QueueResource>;
|
|
38
|
+
addClipToHistory(queue_id_text: string, clip_id_text: string, params: QueueExtraParams): Promise<QueueResource>;
|
|
31
39
|
removeClipFromQueue(queue_id_text: string, clip_id_text: string): Promise<void>;
|
|
32
40
|
addItemToQueueNext(queue_id_text: string, item_id_text: string): Promise<QueueResource>;
|
|
33
41
|
addItemToQueueLast(queue_id_text: string, item_id_text: string): Promise<QueueResource>;
|
|
34
42
|
addItemToQueueBetween(queue_id_text: string, item_id_text: string, position1: number, position2: number): Promise<QueueResource>;
|
|
35
|
-
addItemToNowPlaying(queue_id_text: string, item_id_text: string): Promise<QueueResource>;
|
|
36
|
-
addItemToHistory(queue_id_text: string, item_id_text: string): Promise<QueueResource>;
|
|
43
|
+
addItemToNowPlaying(queue_id_text: string, item_id_text: string, params?: QueueExtraParams): Promise<QueueResource>;
|
|
44
|
+
addItemToHistory(queue_id_text: string, item_id_text: string, params: QueueExtraParams): Promise<QueueResource>;
|
|
37
45
|
removeItemFromQueue(queue_id_text: string, item_id_text: string): Promise<void>;
|
|
38
|
-
addItemChapterToQueueNext(queue_id_text: string, item_chapter_id_text: string): Promise<QueueResource>;
|
|
39
|
-
addItemChapterToQueueLast(queue_id_text: string, item_chapter_id_text: string): Promise<QueueResource>;
|
|
40
|
-
addItemChapterToQueueBetween(queue_id_text: string, item_chapter_id_text: string, position1: number, position2: number): Promise<QueueResource>;
|
|
41
|
-
addItemChapterToNowPlaying(queue_id_text: string, item_chapter_id_text: string): Promise<QueueResource>;
|
|
42
|
-
addItemChapterToHistory(queue_id_text: string, item_chapter_id_text: string): Promise<QueueResource>;
|
|
43
|
-
removeItemChapterFromQueue(queue_id_text: string, item_chapter_id_text: string): Promise<void>;
|
|
44
46
|
addItemSoundbiteToQueueNext(queue_id_text: string, item_soundbite_id_text: string): Promise<QueueResource>;
|
|
45
47
|
addItemSoundbiteToQueueLast(queue_id_text: string, item_soundbite_id_text: string): Promise<QueueResource>;
|
|
46
48
|
addItemSoundbiteToQueueBetween(queue_id_text: string, item_soundbite_id_text: string, position1: number, position2: number): Promise<QueueResource>;
|
|
47
|
-
addItemSoundbiteToNowPlaying(queue_id_text: string, item_soundbite_id_text: string): Promise<QueueResource>;
|
|
48
|
-
addItemSoundbiteToHistory(queue_id_text: string, item_soundbite_id_text: string): Promise<QueueResource>;
|
|
49
|
+
addItemSoundbiteToNowPlaying(queue_id_text: string, item_soundbite_id_text: string, params?: QueueExtraParams): Promise<QueueResource>;
|
|
50
|
+
addItemSoundbiteToHistory(queue_id_text: string, item_soundbite_id_text: string, params: QueueExtraParams): Promise<QueueResource>;
|
|
49
51
|
removeItemSoundbiteFromQueue(queue_id_text: string, item_soundbite_id_text: string): Promise<void>;
|
|
50
52
|
private addItemAddByRSSToQueue;
|
|
51
53
|
private addItemAddByRSSToQueueHelper;
|
|
@@ -55,11 +57,5 @@ export declare class QueueResourceService extends BaseManyService<QueueResource,
|
|
|
55
57
|
addItemAddByRSSToNowPlaying(queue_id_text: string, add_by_rss_resource_data: object): Promise<QueueResource>;
|
|
56
58
|
addItemAddByRSSToHistory(queue_id_text: string, add_by_rss_resource_data: object): Promise<QueueResource>;
|
|
57
59
|
removeItemAddByRSSFromQueue(queue_id_text: string, add_by_rss_hash_id: string): Promise<void>;
|
|
58
|
-
getResourcesByParams(params: {
|
|
59
|
-
clip_id?: number;
|
|
60
|
-
item_id?: number;
|
|
61
|
-
item_chapter_id?: number;
|
|
62
|
-
item_soundbite_id?: number;
|
|
63
|
-
}): Promise<QueueResource[]>;
|
|
64
60
|
}
|
|
65
61
|
//# sourceMappingURL=queueResource.d.ts.map
|