@deadair/sdk 0.31.2 → 0.32.0
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/deadair.sdk.d.ts +4 -0
- package/dist/deadair.sdk.d.ts.map +1 -1
- package/dist/director/types/director.types.d.ts +9 -6
- package/dist/director/types/director.types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +397 -46
- package/dist/index.js.map +1 -1
- package/dist/messaging/messaging.client.d.ts +22 -0
- package/dist/messaging/messaging.client.d.ts.map +1 -0
- package/dist/messaging/types/index.d.ts +2 -0
- package/dist/messaging/types/index.d.ts.map +1 -0
- package/dist/messaging/types/messaging.types.d.ts +39 -0
- package/dist/messaging/types/messaging.types.d.ts.map +1 -0
- package/dist/playlists/playlists.client.d.ts +46 -0
- package/dist/playlists/playlists.client.d.ts.map +1 -1
- package/dist/playlists/types/index.d.ts +1 -0
- package/dist/playlists/types/index.d.ts.map +1 -1
- package/dist/playlists/types/station.playlists.types.d.ts +185 -0
- package/dist/playlists/types/station.playlists.types.d.ts.map +1 -0
- package/dist/playout/playout.client.d.ts +6 -1
- package/dist/playout/playout.client.d.ts.map +1 -1
- package/dist/playout/types/playout.types.d.ts +21 -12
- package/dist/playout/types/playout.types.d.ts.map +1 -1
- package/dist/requests/requests.client.d.ts +42 -0
- package/dist/requests/requests.client.d.ts.map +1 -0
- package/dist/requests/types/index.d.ts +2 -0
- package/dist/requests/types/index.d.ts.map +1 -0
- package/dist/requests/types/requests.types.d.ts +89 -0
- package/dist/requests/types/requests.types.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { SdkFetch } from '../sdk-options.js';
|
|
2
|
+
import type { MessagingLinkCode, MessagingLinkList } from './types/messaging.types.js';
|
|
3
|
+
export declare class MessagingClient {
|
|
4
|
+
private fetch;
|
|
5
|
+
constructor(fetch: SdkFetch);
|
|
6
|
+
/**
|
|
7
|
+
* @name List messaging links
|
|
8
|
+
* @description The chat accounts linked to the signed-in account
|
|
9
|
+
*/
|
|
10
|
+
listMessagingLinks(): Promise<MessagingLinkList>;
|
|
11
|
+
/**
|
|
12
|
+
* @name Create messaging link code
|
|
13
|
+
* @description A new one-time code for linking a chat account. It replaces any earlier code and stops working after ten minutes
|
|
14
|
+
*/
|
|
15
|
+
createMessagingLinkCode(): Promise<MessagingLinkCode>;
|
|
16
|
+
/**
|
|
17
|
+
* @name Remove messaging link
|
|
18
|
+
* @description Unlink a chat account. Its operator commands are refused from the next one on
|
|
19
|
+
*/
|
|
20
|
+
removeMessagingLink(pluginId: string, platformUserId: string): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=messaging.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messaging.client.d.ts","sourceRoot":"","sources":["../../src/messaging/messaging.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGvF,qBAAa,eAAe;IACZ,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAKtD;;;OAGG;IACG,uBAAuB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAK3D;;;OAGG;IACG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/messaging/types/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { DateTime } from 'luxon';
|
|
2
|
+
/**
|
|
3
|
+
* A one-time code that links a chat account to the signed-in station account. Shown once: send it to the station's bot as `/link CODE` in a direct message
|
|
4
|
+
* generated from [MessagingLinkCode](../../../../../apps/api/data/contracts/messaging/messaging.types.ck#L7)
|
|
5
|
+
*/
|
|
6
|
+
export interface MessagingLinkCode {
|
|
7
|
+
/** The code itself. Case does not matter when it is sent */
|
|
8
|
+
code: string;
|
|
9
|
+
/** When the code stops working. A new code replaces any earlier one */
|
|
10
|
+
expiresAt: DateTime;
|
|
11
|
+
}
|
|
12
|
+
/** Rehydrates every wire-encoded scalar in a MessagingLinkCode into its runtime type. Mutates and returns `raw`. */
|
|
13
|
+
export declare function reviveMessagingLinkCode(raw: MessagingLinkCode): MessagingLinkCode;
|
|
14
|
+
/**
|
|
15
|
+
* A chat account linked to the signed-in station account. Operator commands sent from it run with this account's permissions
|
|
16
|
+
* generated from [MessagingLink](../../../../../apps/api/data/contracts/messaging/messaging.types.ck#L12)
|
|
17
|
+
*/
|
|
18
|
+
export interface MessagingLink {
|
|
19
|
+
/** Which messaging plugin the chat account is on, for example `deadair.telegram` */
|
|
20
|
+
pluginId: string;
|
|
21
|
+
/** The chat platform's own id for the person */
|
|
22
|
+
platformUserId: string;
|
|
23
|
+
/** What the chat platform called them when they linked */
|
|
24
|
+
displayName: string;
|
|
25
|
+
/** When the link was made */
|
|
26
|
+
createdAt: DateTime;
|
|
27
|
+
}
|
|
28
|
+
/** Rehydrates every wire-encoded scalar in a MessagingLink into its runtime type. Mutates and returns `raw`. */
|
|
29
|
+
export declare function reviveMessagingLink(raw: MessagingLink): MessagingLink;
|
|
30
|
+
/**
|
|
31
|
+
* Every chat account linked to the signed-in station account, newest first
|
|
32
|
+
* generated from [MessagingLinkList](../../../../../apps/api/data/contracts/messaging/messaging.types.ck#L19)
|
|
33
|
+
*/
|
|
34
|
+
export interface MessagingLinkList {
|
|
35
|
+
links: MessagingLink[];
|
|
36
|
+
}
|
|
37
|
+
/** Rehydrates every wire-encoded scalar in a MessagingLinkList into its runtime type. Mutates and returns `raw`. */
|
|
38
|
+
export declare function reviveMessagingLinkList(raw: MessagingLinkList): MessagingLinkList;
|
|
39
|
+
//# sourceMappingURL=messaging.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messaging.types.d.ts","sourceRoot":"","sources":["../../../src/messaging/types/messaging.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAUjC;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,SAAS,EAAE,QAAQ,CAAC;CACvB;AAED,oHAAoH;AACpH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,CAIjF;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,SAAS,EAAE,QAAQ,CAAC;CACvB;AAED,gHAAgH;AAChH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAIrE;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED,oHAAoH;AACpH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,CASjF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SdkFetch } from '../sdk-options.js';
|
|
2
2
|
import type { CatalogPlaylistPage, CatalogPlaylistTracks } from './types/playlists.types.js';
|
|
3
|
+
import type { PlaylistFile, PlaylistImportInput, PlaylistImportPlan, PlaylistImportResult, StationPlaylist, StationPlaylistDetail, StationPlaylistList, StationPlaylistUpdate } from './types/station.playlists.types.js';
|
|
3
4
|
export declare class PlaylistsClient {
|
|
4
5
|
private fetch;
|
|
5
6
|
constructor(fetch: SdkFetch);
|
|
@@ -33,5 +34,50 @@ export declare class PlaylistsClient {
|
|
|
33
34
|
* @description Reads one playlist again, in the background. New records reach the library; a record taken out of it stays until the next full read judges it
|
|
34
35
|
*/
|
|
35
36
|
refreshPlaylist(pluginId: string, playlistId: string): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* @name List station playlists
|
|
39
|
+
* @description Every playlist the station owns, newest first
|
|
40
|
+
*/
|
|
41
|
+
listStationPlaylists(): Promise<StationPlaylistList>;
|
|
42
|
+
/**
|
|
43
|
+
* @name Get station playlist
|
|
44
|
+
* @description One station playlist with its records in order, placeholders included
|
|
45
|
+
*/
|
|
46
|
+
getStationPlaylist(id: string): Promise<StationPlaylistDetail>;
|
|
47
|
+
/**
|
|
48
|
+
* @name Update station playlist
|
|
49
|
+
* @description Renames a station playlist, or rewrites what it is for
|
|
50
|
+
*/
|
|
51
|
+
updateStationPlaylist(id: string, body: StationPlaylistUpdate): Promise<StationPlaylist>;
|
|
52
|
+
/**
|
|
53
|
+
* @name Delete station playlist
|
|
54
|
+
* @description Deletes a station playlist. The records it named stay in the library
|
|
55
|
+
*/
|
|
56
|
+
deleteStationPlaylist(id: string): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* @name Fill station playlist
|
|
59
|
+
* @description Looks up the records this playlist names and the library does not hold, in the background, and adds the ones a provider has. The activity feed says how it went
|
|
60
|
+
*/
|
|
61
|
+
fillStationPlaylist(id: string): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* @name Export station playlist
|
|
64
|
+
* @description One station playlist as a file another station can import
|
|
65
|
+
*/
|
|
66
|
+
exportStationPlaylist(id: string): Promise<{
|
|
67
|
+
data: PlaylistFile;
|
|
68
|
+
headers: {
|
|
69
|
+
contentDisposition?: string;
|
|
70
|
+
};
|
|
71
|
+
}>;
|
|
72
|
+
/**
|
|
73
|
+
* @name Preview playlist import
|
|
74
|
+
* @description Reads a source and reports which of its records the library holds and which it would have to find. Writes nothing
|
|
75
|
+
*/
|
|
76
|
+
previewPlaylistImport(body: PlaylistImportInput): Promise<PlaylistImportPlan>;
|
|
77
|
+
/**
|
|
78
|
+
* @name Import playlist
|
|
79
|
+
* @description Makes a new station playlist from a source and answers with what it did
|
|
80
|
+
*/
|
|
81
|
+
importPlaylist(body: PlaylistImportInput): Promise<PlaylistImportResult>;
|
|
36
82
|
}
|
|
37
83
|
//# sourceMappingURL=playlists.client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playlists.client.d.ts","sourceRoot":"","sources":["../../src/playlists/playlists.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"playlists.client.d.ts","sourceRoot":"","sources":["../../src/playlists/playlists.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EACR,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACxB,MAAM,oCAAoC,CAAC;AAQ5C,qBAAa,eAAe;IACZ,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK7D;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK7F;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;;OAGG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK1D;;;OAGG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKpE;;;OAGG;IACG,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAS9F;;;OAGG;IACG,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;OAGG;IACG,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;OAGG;IACG,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE;YAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAMlH;;;OAGG;IACG,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASnF;;;OAGG;IACG,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAQjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/playlists/types/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/playlists/types/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { DateTime } from 'luxon';
|
|
2
|
+
/**
|
|
3
|
+
* A playlist the station owns: records it holds in its own library, in an order somebody chose, cloned
|
|
4
|
+
* from somewhere else and free to differ from it afterwards
|
|
5
|
+
* generated from [StationPlaylist](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L9)
|
|
6
|
+
*/
|
|
7
|
+
export interface StationPlaylist {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
/** What this playlist is for, in the operator's own words. Empty when nobody said */
|
|
11
|
+
prompt: string;
|
|
12
|
+
/** The plugin this was cloned from, for a badge and nothing else. Absent for one read from a file or made here */
|
|
13
|
+
originPluginId?: string;
|
|
14
|
+
/** Every row, placeholders included */
|
|
15
|
+
trackCount: number;
|
|
16
|
+
/** The rows that name a record in the library, which are the ones that can air */
|
|
17
|
+
resolvedCount: number;
|
|
18
|
+
createdAt: DateTime;
|
|
19
|
+
updatedAt: DateTime;
|
|
20
|
+
}
|
|
21
|
+
export interface StationPlaylistInput {
|
|
22
|
+
name: string;
|
|
23
|
+
/** What this playlist is for, in the operator's own words. Empty when nobody said */
|
|
24
|
+
prompt: string;
|
|
25
|
+
}
|
|
26
|
+
/** Rehydrates every wire-encoded scalar in a StationPlaylist into its runtime type. Mutates and returns `raw`. */
|
|
27
|
+
export declare function reviveStationPlaylist(raw: StationPlaylist): StationPlaylist;
|
|
28
|
+
/**
|
|
29
|
+
* One row of a station playlist: a record in the library, or a placeholder for one it does not hold yet
|
|
30
|
+
* generated from [StationPlaylistTrack](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L25)
|
|
31
|
+
*/
|
|
32
|
+
export interface StationPlaylistTrack {
|
|
33
|
+
/** The row's own id, not the record's */
|
|
34
|
+
id: string;
|
|
35
|
+
position: number;
|
|
36
|
+
title: string;
|
|
37
|
+
/** Ordered, primary artist first */
|
|
38
|
+
artists: string[];
|
|
39
|
+
album?: string;
|
|
40
|
+
durationMs?: number;
|
|
41
|
+
/** The library record this row plays. Absent on a placeholder */
|
|
42
|
+
trackId?: string;
|
|
43
|
+
artistId?: string;
|
|
44
|
+
albumId?: string;
|
|
45
|
+
/** On a placeholder, the plugin whose copy it was cloned from. Absent on one read from a file, which names a record and no copy of it */
|
|
46
|
+
originPluginId?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* What may change about a station playlist after it exists. Absent fields are left alone
|
|
50
|
+
* generated from [StationPlaylistUpdate](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L43)
|
|
51
|
+
*/
|
|
52
|
+
export interface StationPlaylistUpdate {
|
|
53
|
+
name?: string;
|
|
54
|
+
prompt?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Where a record in a file came from, when it came from a provider's copy. Carried so a record the
|
|
58
|
+
* receiving library does not hold can still be matched by that copy later
|
|
59
|
+
* generated from [PlaylistFileOrigin](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L50)
|
|
60
|
+
*/
|
|
61
|
+
export interface PlaylistFileOrigin {
|
|
62
|
+
pluginId: string;
|
|
63
|
+
externalId: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* A playlist one of the station's music sources holds, named the way the playlists listing names it
|
|
67
|
+
* generated from [PlaylistProviderRef](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L77)
|
|
68
|
+
*/
|
|
69
|
+
export interface PlaylistProviderRef {
|
|
70
|
+
pluginId: string;
|
|
71
|
+
playlistId: string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* What importing one record would do here
|
|
75
|
+
* generated from [PlaylistImportEntry](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L94)
|
|
76
|
+
*/
|
|
77
|
+
export interface PlaylistImportEntry {
|
|
78
|
+
position: number;
|
|
79
|
+
title: string;
|
|
80
|
+
artists: string[];
|
|
81
|
+
/** `matched`: the library holds it. `toAdd`: it names a provider's copy, which the station can add to its library. `toLookUp`: it names only a record, which the station has to search its providers for */
|
|
82
|
+
outcome: 'matched' | 'toAdd' | 'toLookUp';
|
|
83
|
+
/** The library record a `matched` row plays */
|
|
84
|
+
trackId?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* generated from [StationPlaylistList](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L20)
|
|
88
|
+
*/
|
|
89
|
+
export interface StationPlaylistList {
|
|
90
|
+
playlists: StationPlaylist[];
|
|
91
|
+
}
|
|
92
|
+
export interface StationPlaylistListInput {
|
|
93
|
+
playlists: StationPlaylistInput[];
|
|
94
|
+
}
|
|
95
|
+
/** Rehydrates every wire-encoded scalar in a StationPlaylistList into its runtime type. Mutates and returns `raw`. */
|
|
96
|
+
export declare function reviveStationPlaylistList(raw: StationPlaylistList): StationPlaylistList;
|
|
97
|
+
/**
|
|
98
|
+
* generated from [StationPlaylistDetail](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L38)
|
|
99
|
+
*/
|
|
100
|
+
export interface StationPlaylistDetail extends StationPlaylist {
|
|
101
|
+
tracks: StationPlaylistTrack[];
|
|
102
|
+
}
|
|
103
|
+
export interface StationPlaylistDetailInput extends StationPlaylistInput {
|
|
104
|
+
tracks: StationPlaylistTrack[];
|
|
105
|
+
}
|
|
106
|
+
/** Rehydrates every wire-encoded scalar in a StationPlaylistDetail into its runtime type. Mutates and returns `raw`. */
|
|
107
|
+
export declare function reviveStationPlaylistDetail(raw: StationPlaylistDetail): StationPlaylistDetail;
|
|
108
|
+
/**
|
|
109
|
+
* One record as a playlist file names it. By its words and its ISRC, never by an id of this station's:
|
|
110
|
+
* ids are minted afresh by every library, so a file keyed by them would restore onto nothing
|
|
111
|
+
* generated from [PlaylistFileTrack](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L57)
|
|
112
|
+
*/
|
|
113
|
+
export interface PlaylistFileTrack {
|
|
114
|
+
title: string;
|
|
115
|
+
/** Ordered, primary artist first */
|
|
116
|
+
artists: string[];
|
|
117
|
+
album?: string;
|
|
118
|
+
durationMs?: number;
|
|
119
|
+
isrc?: string;
|
|
120
|
+
origin?: PlaylistFileOrigin;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* What an import WOULD do, written nowhere
|
|
124
|
+
* generated from [PlaylistImportPlan](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L107)
|
|
125
|
+
*/
|
|
126
|
+
export interface PlaylistImportPlan {
|
|
127
|
+
name: string;
|
|
128
|
+
matched: number;
|
|
129
|
+
toAdd: number;
|
|
130
|
+
toLookUp: number;
|
|
131
|
+
/** Lines of the source that named no record the station could read */
|
|
132
|
+
skipped: number;
|
|
133
|
+
entries: PlaylistImportEntry[];
|
|
134
|
+
/** Anything about the source as a whole an operator should know before importing it */
|
|
135
|
+
notices: string[];
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* A playlist as a file: everything somebody would need to rebuild it on another station
|
|
139
|
+
* generated from [PlaylistFile](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L67)
|
|
140
|
+
*/
|
|
141
|
+
export interface PlaylistFile {
|
|
142
|
+
/** What shape this is, so a file from a later build says so rather than being read wrongly */
|
|
143
|
+
format: string;
|
|
144
|
+
/** When it was exported, ISO-8601 */
|
|
145
|
+
takenAt: string;
|
|
146
|
+
/** The station it was taken from. Provenance only */
|
|
147
|
+
station?: string;
|
|
148
|
+
name: string;
|
|
149
|
+
prompt?: string;
|
|
150
|
+
tracks: PlaylistFileTrack[];
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* generated from [PlaylistImportResult](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L117)
|
|
154
|
+
*/
|
|
155
|
+
export interface PlaylistImportResult {
|
|
156
|
+
plan: PlaylistImportPlan;
|
|
157
|
+
playlist: StationPlaylist;
|
|
158
|
+
}
|
|
159
|
+
export interface PlaylistImportResultInput {
|
|
160
|
+
plan: PlaylistImportPlan;
|
|
161
|
+
playlist: StationPlaylistInput;
|
|
162
|
+
}
|
|
163
|
+
/** Rehydrates every wire-encoded scalar in a PlaylistImportResult into its runtime type. Mutates and returns `raw`. */
|
|
164
|
+
export declare function revivePlaylistImportResult(raw: PlaylistImportResult): PlaylistImportResult;
|
|
165
|
+
/**
|
|
166
|
+
* Something to import a playlist from. Exactly one source
|
|
167
|
+
* generated from [PlaylistImportInput](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L83)
|
|
168
|
+
*/
|
|
169
|
+
export interface PlaylistImportInput {
|
|
170
|
+
/** A playlist exported from a deadair station */
|
|
171
|
+
file?: PlaylistFile;
|
|
172
|
+
/** A playlist another program wrote, as its text: an M3U, a CSV with a header row, or one `Artist - Title` per line */
|
|
173
|
+
text?: string;
|
|
174
|
+
/** Which of those `text` is. Absent works it out from the text */
|
|
175
|
+
format?: 'm3u' | 'csv' | 'text';
|
|
176
|
+
/** The name of the file `text` came from, which names the playlist when the text does not */
|
|
177
|
+
fileName?: string;
|
|
178
|
+
/** A link to a playlist at one of the station's music sources, as a browser or an app shows it */
|
|
179
|
+
url?: string;
|
|
180
|
+
/** A playlist a music source lists here, by its plugin and its id */
|
|
181
|
+
providerPlaylist?: PlaylistProviderRef;
|
|
182
|
+
/** What to call the new playlist. Absent keeps the name the source gives it */
|
|
183
|
+
name?: string;
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=station.playlists.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"station.playlists.types.d.ts","sourceRoot":"","sources":["../../../src/playlists/types/station.playlists.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAUjC;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;IACf,kHAAkH;IAClH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,kHAAkH;AAClH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAK3E;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACjC,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yIAAyI;IACzI,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,4MAA4M;IAC5M,OAAO,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IAC1C,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAChC,SAAS,EAAE,eAAe,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,oBAAoB,EAAE,CAAC;CACrC;AAED,sHAAsH;AACtH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,mBAAmB,GAAG,mBAAmB,CASvF;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC1D,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;IACpE,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,wHAAwH;AACxH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,qBAAqB,GAAG,qBAAqB,CAG7F;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,uFAAuF;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,8FAA8F;IAC9F,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACtC,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,oBAAoB,CAAC;CAClC;AAED,uHAAuH;AACvH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,oBAAoB,GAAG,oBAAoB,CAI1F;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAChC,iDAAiD;IACjD,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uHAAuH;IACvH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAChC,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SdkFetch } from '../sdk-options.js';
|
|
2
|
-
import type { PlayoutChartInput, PlayoutPlaylistInput, PlayoutStatus } from './types/playout.types.js';
|
|
2
|
+
import type { PlayoutChartInput, PlayoutPlaylistInput, PlayoutStationPlaylistInput, PlayoutStatus } from './types/playout.types.js';
|
|
3
3
|
export declare class PlayoutClient {
|
|
4
4
|
private fetch;
|
|
5
5
|
constructor(fetch: SdkFetch);
|
|
@@ -13,6 +13,11 @@ export declare class PlayoutClient {
|
|
|
13
13
|
* @description Loads a plugin playlist into the running order and starts handing it to the player. Replaces whatever was queued; what is on air finishes rather than being cut off
|
|
14
14
|
*/
|
|
15
15
|
playAPlaylist(body: PlayoutPlaylistInput): Promise<PlayoutStatus>;
|
|
16
|
+
/**
|
|
17
|
+
* @name Play a station playlist
|
|
18
|
+
* @description Loads a playlist the station owns into the running order and starts handing it to the player. The same replacement a plugin playlist makes, from records the library already holds
|
|
19
|
+
*/
|
|
20
|
+
playAStationPlaylist(body: PlayoutStationPlaylistInput): Promise<PlayoutStatus>;
|
|
16
21
|
/**
|
|
17
22
|
* @name Play a chart
|
|
18
23
|
* @description Builds the running order from a published chart and starts handing it to the player. The same replacement a playlist makes, from a document somebody else ranked
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playout.client.d.ts","sourceRoot":"","sources":["../../src/playout/playout.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"playout.client.d.ts","sourceRoot":"","sources":["../../src/playout/playout.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEpI,qBAAa,aAAa;IACV,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAKhD;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IASvE;;;OAGG;IACG,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IASrF;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IASjE;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;IAKlD;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAK5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;CAI9C"}
|
|
@@ -8,9 +8,18 @@ export interface PlayoutPlaylistInput {
|
|
|
8
8
|
/** Whether records that sound like the ones on this playlist are mixed in among them, one every `rotation.mixInEvery` records. The playlist still plays in full and in its own order around them. Absent takes the station's own setting, which is off */
|
|
9
9
|
mixInSimilar?: boolean;
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* A playlist the station owns, to load into the running order
|
|
13
|
+
* generated from [PlayoutStationPlaylistInput](../../../../../apps/api/data/contracts/playout/playout.types.ck#L13)
|
|
14
|
+
*/
|
|
15
|
+
export interface PlayoutStationPlaylistInput {
|
|
16
|
+
stationPlaylistId: string;
|
|
17
|
+
/** Whether records that sound like the ones on this playlist are mixed in among them, one every `rotation.mixInEvery` records. Absent takes the station's own setting, which is off */
|
|
18
|
+
mixInSimilar?: boolean;
|
|
19
|
+
}
|
|
11
20
|
/**
|
|
12
21
|
* The published chart to build the running order from
|
|
13
|
-
* generated from [PlayoutChartInput](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
22
|
+
* generated from [PlayoutChartInput](../../../../../apps/api/data/contracts/playout/playout.types.ck#L18)
|
|
14
23
|
*/
|
|
15
24
|
export interface PlayoutChartInput {
|
|
16
25
|
/** As `pluginId:chartId`, which is how `GET /charts` lists them */
|
|
@@ -20,7 +29,7 @@ export interface PlayoutChartInput {
|
|
|
20
29
|
}
|
|
21
30
|
/**
|
|
22
31
|
* One item in the running order, as the console sees it
|
|
23
|
-
* generated from [PlayoutItem](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
32
|
+
* generated from [PlayoutItem](../../../../../apps/api/data/contracts/playout/playout.types.ck#L23)
|
|
24
33
|
*/
|
|
25
34
|
export interface PlayoutItem {
|
|
26
35
|
/** deadair's own id for this item, not the provider's: a playlist may hold the same track twice */
|
|
@@ -46,7 +55,7 @@ export interface PlayoutItem {
|
|
|
46
55
|
* re-rendered — so a reseeded secret leaves a process holding credentials that match nothing,
|
|
47
56
|
* and the symptom names something else entirely (every listener refused, or no mount at all).
|
|
48
57
|
* The app cannot restart a sibling container and should not be able to, so it reports.
|
|
49
|
-
* generated from [StreamConfigWarning](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
58
|
+
* generated from [StreamConfigWarning](../../../../../apps/api/data/contracts/playout/playout.types.ck#L47)
|
|
50
59
|
*/
|
|
51
60
|
export interface StreamConfigWarning {
|
|
52
61
|
/** Which one is behind */
|
|
@@ -59,19 +68,19 @@ export interface StreamConfigWarning {
|
|
|
59
68
|
/**
|
|
60
69
|
* Which gate is keeping the station quiet, or `airing` when none of them is. Ordered by cause: a
|
|
61
70
|
* stalled transport loop makes every reading under it stale, so it is ruled out first
|
|
62
|
-
* generated from [SilenceCause](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
71
|
+
* generated from [SilenceCause](../../../../../apps/api/data/contracts/playout/playout.types.ck#L55)
|
|
63
72
|
*/
|
|
64
73
|
export type SilenceCause = 'airing' | 'transportStalled' | 'controlDenied' | 'streamUnreachable' | 'configNotAdopted' | 'stoodDown' | 'noProgramme' | 'noAudience' | 'warmingUp' | 'waitingOnAudio' | 'notDriving' | 'starved';
|
|
65
74
|
/**
|
|
66
75
|
* How one gate is doing. `waiting` is its own state rather than a mild fault, because a station
|
|
67
76
|
* idling for want of a listener and a station that cannot reach its stream are both silent and only
|
|
68
77
|
* one of them is something to go and fix
|
|
69
|
-
* generated from [SilenceState](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
78
|
+
* generated from [SilenceState](../../../../../apps/api/data/contracts/playout/playout.types.ck#L73)
|
|
70
79
|
*/
|
|
71
80
|
export type SilenceState = 'ok' | 'waiting' | 'fault';
|
|
72
81
|
/**
|
|
73
82
|
* One mount the station is publishing right now
|
|
74
|
-
* generated from [PlayoutMount](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
83
|
+
* generated from [PlayoutMount](../../../../../apps/api/data/contracts/playout/playout.types.ck#L90)
|
|
75
84
|
*/
|
|
76
85
|
export interface PlayoutMount {
|
|
77
86
|
format: 'mp3' | 'opus' | 'aac' | 'flac';
|
|
@@ -82,7 +91,7 @@ export interface PlayoutMount {
|
|
|
82
91
|
}
|
|
83
92
|
/**
|
|
84
93
|
* Which rundown item Liquidsoap has just started playing
|
|
85
|
-
* generated from [PlayoutAiredQuery](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
94
|
+
* generated from [PlayoutAiredQuery](../../../../../apps/api/data/contracts/playout/playout.types.ck#L110)
|
|
86
95
|
*/
|
|
87
96
|
export interface PlayoutAiredQuery {
|
|
88
97
|
/** The id the app put on the pushed uri's `annotate:` metadata */
|
|
@@ -90,7 +99,7 @@ export interface PlayoutAiredQuery {
|
|
|
90
99
|
}
|
|
91
100
|
/**
|
|
92
101
|
* Which way the running order went, and how long it had been that way
|
|
93
|
-
* generated from [PlayoutStarveQuery](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
102
|
+
* generated from [PlayoutStarveQuery](../../../../../apps/api/data/contracts/playout/playout.types.ck#L114)
|
|
94
103
|
*/
|
|
95
104
|
export interface PlayoutStarveQuery {
|
|
96
105
|
/** `starved`: the queue stopped producing while deadair was driving, so the mount fell through to the local bed. `recovered`: it is producing again */
|
|
@@ -100,7 +109,7 @@ export interface PlayoutStarveQuery {
|
|
|
100
109
|
}
|
|
101
110
|
/**
|
|
102
111
|
* What the PLAYER says is airing, which is not the same as what was last handed to it
|
|
103
|
-
* generated from [PlayoutNowPlaying](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
112
|
+
* generated from [PlayoutNowPlaying](../../../../../apps/api/data/contracts/playout/playout.types.ck#L36)
|
|
104
113
|
*/
|
|
105
114
|
export interface PlayoutNowPlaying {
|
|
106
115
|
item: PlayoutItem;
|
|
@@ -111,7 +120,7 @@ export interface PlayoutNowPlaying {
|
|
|
111
120
|
}
|
|
112
121
|
/**
|
|
113
122
|
* One gate's answer about itself
|
|
114
|
-
* generated from [SilenceCheck](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
123
|
+
* generated from [SilenceCheck](../../../../../apps/api/data/contracts/playout/playout.types.ck#L75)
|
|
115
124
|
*/
|
|
116
125
|
export interface SilenceCheck {
|
|
117
126
|
/** Never `airing`, which is the absence of a blocking gate rather than a gate */
|
|
@@ -124,7 +133,7 @@ export interface SilenceCheck {
|
|
|
124
133
|
}
|
|
125
134
|
/**
|
|
126
135
|
* Why the station cannot be heard, as one answer
|
|
127
|
-
* generated from [StationSilence](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
136
|
+
* generated from [StationSilence](../../../../../apps/api/data/contracts/playout/playout.types.ck#L82)
|
|
128
137
|
*/
|
|
129
138
|
export interface StationSilence {
|
|
130
139
|
/** Whether the station believes its programme is reaching the mount. NOT whether anybody is hearing it: a station can be audible with no listeners in `always` mode, and can have listeners while airing the local bed */
|
|
@@ -137,7 +146,7 @@ export interface StationSilence {
|
|
|
137
146
|
}
|
|
138
147
|
/**
|
|
139
148
|
* The station's transport, as one reading
|
|
140
|
-
* generated from [PlayoutStatus](../../../../../apps/api/data/contracts/playout/playout.types.ck#
|
|
149
|
+
* generated from [PlayoutStatus](../../../../../apps/api/data/contracts/playout/playout.types.ck#L96)
|
|
141
150
|
*/
|
|
142
151
|
export interface PlayoutStatus {
|
|
143
152
|
/** Whether Liquidsoap's control API is answering at all. False means nothing can air, whatever the running order holds */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playout.types.d.ts","sourceRoot":"","sources":["../../../src/playout/types/playout.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"playout.types.d.ts","sourceRoot":"","sources":["../../../src/playout/types/playout.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SdkFetch } from '../sdk-options.js';
|
|
2
|
+
import type { ListenerRequest, ListenerRequestCreate, ListenerRequestDecline, ListenerRequestList, RequestStatus, RequestableTrackList } from './types/requests.types.js';
|
|
3
|
+
export declare class RequestsClient {
|
|
4
|
+
private fetch;
|
|
5
|
+
constructor(fetch: SdkFetch);
|
|
6
|
+
/**
|
|
7
|
+
* @name Search requestable records
|
|
8
|
+
* @description Records the station could be asked to play, matching a title or an artist
|
|
9
|
+
*/
|
|
10
|
+
searchRequestableRecords(query: {
|
|
11
|
+
q: string;
|
|
12
|
+
limit?: number;
|
|
13
|
+
}): Promise<RequestableTrackList>;
|
|
14
|
+
/**
|
|
15
|
+
* @name List requests
|
|
16
|
+
* @description Every recent request, for the operator deciding on them
|
|
17
|
+
*/
|
|
18
|
+
listRequests(query?: {
|
|
19
|
+
status?: RequestStatus;
|
|
20
|
+
}): Promise<ListenerRequestList>;
|
|
21
|
+
/**
|
|
22
|
+
* @name Create request
|
|
23
|
+
* @description Ask the station to play a record. Answers with the request whatever became of it, so a refusal says why in `reason`
|
|
24
|
+
*/
|
|
25
|
+
createRequest(body: ListenerRequestCreate): Promise<ListenerRequest>;
|
|
26
|
+
/**
|
|
27
|
+
* @name List my requests
|
|
28
|
+
* @description The signed-in account's own recent requests
|
|
29
|
+
*/
|
|
30
|
+
listMyRequests(): Promise<ListenerRequestList>;
|
|
31
|
+
/**
|
|
32
|
+
* @name Grant request
|
|
33
|
+
* @description Let a waiting request through. It goes into the running order once its audio is here
|
|
34
|
+
*/
|
|
35
|
+
grantRequest(id: string): Promise<ListenerRequest>;
|
|
36
|
+
/**
|
|
37
|
+
* @name Decline request
|
|
38
|
+
* @description Turn a request down. One already in the running order is left there; take it out of the order instead
|
|
39
|
+
*/
|
|
40
|
+
declineRequest(id: string, body: ListenerRequestDecline): Promise<ListenerRequest>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=requests.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requests.client.d.ts","sourceRoot":"","sources":["../../src/requests/requests.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EACR,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACvB,MAAM,2BAA2B,CAAC;AAGnC,qBAAa,cAAc;IACX,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,wBAAwB,CAAC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQnG;;;OAGG;IACG,YAAY,CAAC,KAAK,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQpF;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAS1E;;;OAGG;IACG,cAAc,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKpD;;;OAGG;IACG,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAKxD;;;OAGG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;CAQ3F"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/requests/types/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC"}
|