API
Exports shared by API methods.
/**
* An instance of the Media Masher API,
* providing methods for one or more of its
* endpoints.
*/
interface Api
extends WithId {
add?: ApiAddFunction
apis?: ApiApisFunction
args: ApiOptions
decode?: ApiDecodeFunction
delete?: ApiDeleteFunction
download?: ApiDownloadFunction
encode?: ApiEncodeFunction
find?: ApiFindFunction
host: Plugins
id: string
insert?: ApiInsertFunction
mash?: ApiMashFunction
media?: ApiMediaFunction
remove?: ApiRemoveFunction
status?: ApiStatusFunction
transcode?: ApiTranscodeFunction
upload?: ApiUploadFunction
}
interface ApiCodeOptions {
addResource?: boolean
requestResource?: boolean
updateResource?: boolean
}
/** Configuration options for an Api. */
interface ApiOptions {
accountId: string
count: number
decode?: ApiDecodeOptions
download?: ApiDownloadOptions
encode?: ApiEncodeOptions
endpoints: ApiEndpointIdRecord
find?: Array<StoredMedia>
icon?: string
id: string
label?: string
mash?: StoredMedia
prefix?: string
request?: EndpointRequest
transcode?: ApiTranscodeOptions
updatedAt: number
upload?: ApiUploadOptions
}
interface CodeArgs {
mediaId?: string
opt?: object
resourceId?: string
}
type CodeType = 'transcode' | 'encode' | 'decode'
interface OutputOptions
extends Record<string, ValueRecord | Value | undefined> {
basename?: string
extension?: string
format?: string
options?: ValueRecord
}
/**
* Base class for API implementations.
* @implements Api
*/
class ApiClass {
add?: ApiAddFunction
apis?: ApiApisFunction
args: ApiOptions
decode?: ApiDecodeFunction
delete?: ApiDeleteFunction
download?: ApiDownloadFunction
encode?: ApiEncodeFunction
find?: ApiFindFunction
host: Plugins
id: string
insert?: ApiInsertFunction
mash?: ApiMashFunction
media?: ApiMediaFunction
remove?: ApiRemoveFunction
status?: ApiStatusFunction
transcode?: ApiTranscodeFunction
upload?: ApiUploadFunction
}
/** @implements Api */
class ClientApi
extends ApiClass {
add?: ApiAddFunction
apis?: ApiApisFunction
args: ApiOptions
decode?: ApiDecodeFunction
delete?: ApiDeleteFunction
download?: ApiDownloadFunction
encode?: ApiEncodeFunction
find?: ApiFindFunction
host: Plugins
id: string
insert?: ApiInsertFunction
mash?: ApiMashFunction
media?: ApiMediaFunction
remove?: ApiRemoveFunction
status?: ApiStatusFunction
transcode?: ApiTranscodeFunction
upload?: ApiUploadFunction
}
/** @implements Api */
class ServerApi
extends ApiClass {
add?: ApiAddFunction
apiStoreDelete: StoreDeleteFunction
apis?: ApiApisFunction
args: ApiOptions
decode?: ApiDecodeFunction
delete?: ApiDeleteFunction
download?: ApiDownloadFunction
encode?: ApiEncodeFunction
find?: ApiFindFunction
host: Plugins
id: string
insert?: ApiInsertFunction
mash?: ApiMashFunction
media?: ApiMediaFunction
remove?: ApiRemoveFunction
status?: ApiStatusFunction
transcode?: ApiTranscodeFunction
upload?: ApiUploadFunction
}
function apiSourceTypeKeys(
source?: OrArray<string>,
type?: OrArray<string>,
users?: Strings
): Strings
function apiSourcesAndTypes(
source?: OrArray<string>,
type?: OrArray<string>
): StringsTuple
function createProgress(
signals: SignalsRecord,
id?: string
): JobProgress | undefined
/**
* Returns default transparent output
* options for a given transcode source.
*/
function typeOutputAlphaOptions(
type: string,
overrides?: OutputOptions
): OutputOptions
/**
* Returns default output options for a
* given transcode source.
*/
function typeOutputOptions(
type: string,
overrides?: OutputOptions
): OutputOptions