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
}