Apis
Manages API options and instances
type ApisAddFunction = (args: ApisAddRequest) => Promise<Array<ApiOptions>>
interface ApisAddRequest {
accountId?: string
id?: string
options: Array<ApiOptions>
updated?: number
userId?: string
}
type ApisApiFunction = (args: ApiOptions) => Promise<Api>
type ApisAssureOwnedFunction = (media: OrArray<(StoredMedia|Media)>, accountId?: string) => Promise<void>
type ApisFetchFunction = (args: ApisFetchRequest) => Promise<DataOrError<Array<ApiOptions>>>
interface ApisFetchRequest {
accountId?: string
id?: string
request: EndpointRequest
updatedAt?: number
}
type ApisFindFunction = (args: ApisFindRequest) => Promise<Array<Api>>
type ApisFindOptionsFunction = (args: ApisFindRequest) => Promise<Array<ApiOptions>>
interface ApisFindRequest {
/** Sort api having this accountId first. */
accountId?: string
/** Limit to APIs supporting endpoints. */
endpoint?: OrArray<string>
/** Exclude APIs with just local endpoints. */
excludeLocal?: boolean
/** Exclude APIs with authed temp userIds. */
excludeTemp?: boolean
/** Exclude the unauthed api. */
excludeUnauthed?: boolean
/** Sort API having this id first. */
id?: string
/** Created the unauthed API, if needed. */
includeUnauthed?: boolean
}
type ApisOptionsFunction = (args: ApisFindRequest) => Array<ApiOptions>
interface ApisPlugin
extends Plugable {
add: ApisAddFunction
api: ApisApiFunction
apis: Array<Api>
assureOwned: ApisAssureOwnedFunction
fetch: ApisFetchFunction
find: ApisFindFunction
findOptions: ApisFindOptionsFunction
install: function
options: ApisOptionsFunction
remove: ApisRemoveFunction
unauthedUserId: string
}
interface ApisPluginOptions {
apiOptions: Array<ApiOptions>
unauthedApiId?: string
version: string
}
type ApisRemoveFunction = (args: ApisFindRequest) => Promise<Array<ApiOptions>>
/** @implements ApisPlugin */
class ApisPluginClass
extends PluginClass {
add: ApisAddFunction
api: ApisApiFunction
apis: Array<Api>
assureOwned: ApisAssureOwnedFunction
fetch: ApisFetchFunction
find: ApisFindFunction
findOptions: ApisFindOptionsFunction
install: function
mediaMasher: MediaMasher
options: ApisOptionsFunction
remove: ApisRemoveFunction
unauthedUserId: string
}
/** @implements ApisPlugin */
class ClientApisPlugin {
add: ApisAddFunction
api: ApisApiFunction
apis: Array<Api>
assureOwned: ApisAssureOwnedFunction
fetch: ApisFetchFunction
find: ApisFindFunction
findOptions: ApisFindOptionsFunction
install: function
options: ApisOptionsFunction
remove: ApisRemoveFunction
unauthedUserId: string
}
/** @implements ApisPlugin */
class ServerApisPlugin
extends ApisPluginClass {
add: ApisAddFunction
api: ApisApiFunction
apis: Array<Api>
assureOwned: ApisAssureOwnedFunction
fetch: ApisFetchFunction
find: ApisFindFunction
findOptions: ApisFindOptionsFunction
install: function
mediaMasher: MediaMasher
options: ApisOptionsFunction
remove: ApisRemoveFunction
unauthedUserId: string
}