/* tslint:disable */ // @ts-nocheck /* eslint-disable */ /** * Audius API * * The version of the OpenAPI document: 1.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { CreateAccessKeyResponse, CreateDeveloperAppRequestBody, CreateDeveloperAppResponse, DeactivateAccessKeyRequestBody, DeactivateAccessKeyResponse, DeveloperAppResponse, DeveloperAppsResponse, RegisterApiKeyRequestBody, RegisterApiKeyResponse, UpdateDeveloperAppRequestBody, WriteResponse, } from '../models'; import { CreateAccessKeyResponseFromJSON, CreateAccessKeyResponseToJSON, CreateDeveloperAppRequestBodyFromJSON, CreateDeveloperAppRequestBodyToJSON, CreateDeveloperAppResponseFromJSON, CreateDeveloperAppResponseToJSON, DeactivateAccessKeyRequestBodyFromJSON, DeactivateAccessKeyRequestBodyToJSON, DeactivateAccessKeyResponseFromJSON, DeactivateAccessKeyResponseToJSON, DeveloperAppResponseFromJSON, DeveloperAppResponseToJSON, DeveloperAppsResponseFromJSON, DeveloperAppsResponseToJSON, RegisterApiKeyRequestBodyFromJSON, RegisterApiKeyRequestBodyToJSON, RegisterApiKeyResponseFromJSON, RegisterApiKeyResponseToJSON, UpdateDeveloperAppRequestBodyFromJSON, UpdateDeveloperAppRequestBodyToJSON, WriteResponseFromJSON, WriteResponseToJSON, } from '../models'; export interface CreateDeveloperAppRequest { userId: string; metadata: CreateDeveloperAppRequestBody; } export interface CreateDeveloperAppAccessKeyRequest { userId: string; address: string; } export interface DeactivateDeveloperAppAccessKeyRequest { userId: string; address: string; metadata: DeactivateAccessKeyRequestBody; } export interface DeleteDeveloperAppRequest { userId: string; address: string; } export interface GetDeveloperAppRequest { address: string; } export interface GetDeveloperAppsRequest { id: string; include?: GetDeveloperAppsIncludeEnum; } export interface RegisterDeveloperAppAPIKeyRequest { userId: string; address: string; metadata: RegisterApiKeyRequestBody; } export interface UpdateDeveloperAppRequest { userId: string; address: string; metadata: UpdateDeveloperAppRequestBody; } /** * */ export class DeveloperAppsApi extends runtime.BaseAPI { /** * @hidden * Create a new developer app. Indexer validates grants. */ async createDeveloperAppRaw(params: CreateDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (params.userId === null || params.userId === undefined) { throw new runtime.RequiredError('userId','Required parameter params.userId was null or undefined when calling createDeveloperApp.'); } if (params.metadata === null || params.metadata === undefined) { throw new runtime.RequiredError('metadata','Required parameter params.metadata was null or undefined when calling createDeveloperApp.'); } const queryParameters: any = {}; if (params.userId !== undefined) { queryParameters['user_id'] = params.userId; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; const response = await this.request({ path: `/developer-apps`, method: 'POST', headers: headerParameters, query: queryParameters, body: CreateDeveloperAppRequestBodyToJSON(params.metadata), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CreateDeveloperAppResponseFromJSON(jsonValue)); } /** * Create a new developer app. Indexer validates grants. */ async createDeveloperApp(params: CreateDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.createDeveloperAppRaw(params, initOverrides); return await response.value(); } /** * @hidden * Create a new bearer token (API access key) for a developer app. Indexer validates grants. */ async createDeveloperAppAccessKeyRaw(params: CreateDeveloperAppAccessKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (params.userId === null || params.userId === undefined) { throw new runtime.RequiredError('userId','Required parameter params.userId was null or undefined when calling createDeveloperAppAccessKey.'); } if (params.address === null || params.address === undefined) { throw new runtime.RequiredError('address','Required parameter params.address was null or undefined when calling createDeveloperAppAccessKey.'); } const queryParameters: any = {}; if (params.userId !== undefined) { queryParameters['user_id'] = params.userId; } const headerParameters: runtime.HTTPHeaders = {}; const response = await this.request({ path: `/developer-apps/{address}/access-keys`.replace(`{${"address"}}`, encodeURIComponent(String(params.address))), method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => CreateAccessKeyResponseFromJSON(jsonValue)); } /** * Create a new bearer token (API access key) for a developer app. Indexer validates grants. */ async createDeveloperAppAccessKey(params: CreateDeveloperAppAccessKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.createDeveloperAppAccessKeyRaw(params, initOverrides); return await response.value(); } /** * @hidden * Deactivate a bearer token (API access key) for a developer app. Indexer validates grants. */ async deactivateDeveloperAppAccessKeyRaw(params: DeactivateDeveloperAppAccessKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (params.userId === null || params.userId === undefined) { throw new runtime.RequiredError('userId','Required parameter params.userId was null or undefined when calling deactivateDeveloperAppAccessKey.'); } if (params.address === null || params.address === undefined) { throw new runtime.RequiredError('address','Required parameter params.address was null or undefined when calling deactivateDeveloperAppAccessKey.'); } if (params.metadata === null || params.metadata === undefined) { throw new runtime.RequiredError('metadata','Required parameter params.metadata was null or undefined when calling deactivateDeveloperAppAccessKey.'); } const queryParameters: any = {}; if (params.userId !== undefined) { queryParameters['user_id'] = params.userId; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; const response = await this.request({ path: `/developer-apps/{address}/access-keys/deactivate`.replace(`{${"address"}}`, encodeURIComponent(String(params.address))), method: 'POST', headers: headerParameters, query: queryParameters, body: DeactivateAccessKeyRequestBodyToJSON(params.metadata), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => DeactivateAccessKeyResponseFromJSON(jsonValue)); } /** * Deactivate a bearer token (API access key) for a developer app. Indexer validates grants. */ async deactivateDeveloperAppAccessKey(params: DeactivateDeveloperAppAccessKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.deactivateDeveloperAppAccessKeyRaw(params, initOverrides); return await response.value(); } /** * @hidden * Deletes a developer app. Indexer validates grants. */ async deleteDeveloperAppRaw(params: DeleteDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (params.userId === null || params.userId === undefined) { throw new runtime.RequiredError('userId','Required parameter params.userId was null or undefined when calling deleteDeveloperApp.'); } if (params.address === null || params.address === undefined) { throw new runtime.RequiredError('address','Required parameter params.address was null or undefined when calling deleteDeveloperApp.'); } const queryParameters: any = {}; if (params.userId !== undefined) { queryParameters['user_id'] = params.userId; } const headerParameters: runtime.HTTPHeaders = {}; const response = await this.request({ path: `/developer-apps/{address}`.replace(`{${"address"}}`, encodeURIComponent(String(params.address))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => WriteResponseFromJSON(jsonValue)); } /** * Deletes a developer app. Indexer validates grants. */ async deleteDeveloperApp(params: DeleteDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.deleteDeveloperAppRaw(params, initOverrides); return await response.value(); } /** * @hidden * Gets developer app matching given address (API key) */ async getDeveloperAppRaw(params: GetDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (params.address === null || params.address === undefined) { throw new runtime.RequiredError('address','Required parameter params.address was null or undefined when calling getDeveloperApp.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; const response = await this.request({ path: `/developer-apps/{address}`.replace(`{${"address"}}`, encodeURIComponent(String(params.address))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => DeveloperAppResponseFromJSON(jsonValue)); } /** * Gets developer app matching given address (API key) */ async getDeveloperApp(params: GetDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getDeveloperAppRaw(params, initOverrides); return await response.value(); } /** * @hidden * Get developer apps for the user. */ async getDeveloperAppsRaw(params: GetDeveloperAppsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (params.id === null || params.id === undefined) { throw new runtime.RequiredError('id','Required parameter params.id was null or undefined when calling getDeveloperApps.'); } const queryParameters: any = {}; if (params.include !== undefined) { queryParameters['include'] = params.include; } const headerParameters: runtime.HTTPHeaders = {}; const response = await this.request({ path: `/users/{id}/developer-apps`.replace(`{${"id"}}`, encodeURIComponent(String(params.id))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => DeveloperAppsResponseFromJSON(jsonValue)); } /** * Get developer apps for the user. */ async getDeveloperApps(params: GetDeveloperAppsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getDeveloperAppsRaw(params, initOverrides); return await response.value(); } /** * @hidden * Register api_key and api_secret in api_keys table for developer apps created via entity manager transactions. Use when the client sends raw ManageEntity tx instead of POST /developer-apps. Inserts with rps=10, rpm=500000. Requires the app to exist in developer_apps and belong to the authenticated user. */ async registerDeveloperAppAPIKeyRaw(params: RegisterDeveloperAppAPIKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (params.userId === null || params.userId === undefined) { throw new runtime.RequiredError('userId','Required parameter params.userId was null or undefined when calling registerDeveloperAppAPIKey.'); } if (params.address === null || params.address === undefined) { throw new runtime.RequiredError('address','Required parameter params.address was null or undefined when calling registerDeveloperAppAPIKey.'); } if (params.metadata === null || params.metadata === undefined) { throw new runtime.RequiredError('metadata','Required parameter params.metadata was null or undefined when calling registerDeveloperAppAPIKey.'); } const queryParameters: any = {}; if (params.userId !== undefined) { queryParameters['user_id'] = params.userId; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (!headerParameters["Authorization"] && this.configuration && this.configuration.accessToken) { const token = await this.configuration.accessToken("OAuth2", ["write"]); if (token) { headerParameters["Authorization"] = token; } } if (!headerParameters["Authorization"] && this.configuration && (this.configuration.username !== undefined || this.configuration.password !== undefined)) { headerParameters["Authorization"] = "Basic " + btoa(this.configuration.username + ":" + this.configuration.password); } if (!headerParameters["Authorization"] && this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("BearerAuth", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } const response = await this.request({ path: `/developer-apps/{address}/register-api-key`.replace(`{${"address"}}`, encodeURIComponent(String(params.address))), method: 'POST', headers: headerParameters, query: queryParameters, body: RegisterApiKeyRequestBodyToJSON(params.metadata), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RegisterApiKeyResponseFromJSON(jsonValue)); } /** * Register api_key and api_secret in api_keys table for developer apps created via entity manager transactions. Use when the client sends raw ManageEntity tx instead of POST /developer-apps. Inserts with rps=10, rpm=500000. Requires the app to exist in developer_apps and belong to the authenticated user. */ async registerDeveloperAppAPIKey(params: RegisterDeveloperAppAPIKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.registerDeveloperAppAPIKeyRaw(params, initOverrides); return await response.value(); } /** * @hidden * Updates a developer app. Indexer validates grants. */ async updateDeveloperAppRaw(params: UpdateDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (params.userId === null || params.userId === undefined) { throw new runtime.RequiredError('userId','Required parameter params.userId was null or undefined when calling updateDeveloperApp.'); } if (params.address === null || params.address === undefined) { throw new runtime.RequiredError('address','Required parameter params.address was null or undefined when calling updateDeveloperApp.'); } if (params.metadata === null || params.metadata === undefined) { throw new runtime.RequiredError('metadata','Required parameter params.metadata was null or undefined when calling updateDeveloperApp.'); } const queryParameters: any = {}; if (params.userId !== undefined) { queryParameters['user_id'] = params.userId; } const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; const response = await this.request({ path: `/developer-apps/{address}`.replace(`{${"address"}}`, encodeURIComponent(String(params.address))), method: 'PUT', headers: headerParameters, query: queryParameters, body: UpdateDeveloperAppRequestBodyToJSON(params.metadata), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => WriteResponseFromJSON(jsonValue)); } /** * Updates a developer app. Indexer validates grants. */ async updateDeveloperApp(params: UpdateDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.updateDeveloperAppRaw(params, initOverrides); return await response.value(); } } /** * @export */ export const GetDeveloperAppsIncludeEnum = { Metrics: 'metrics' } as const; export type GetDeveloperAppsIncludeEnum = typeof GetDeveloperAppsIncludeEnum[keyof typeof GetDeveloperAppsIncludeEnum];