@suin/esa-api
Version:
esa.io APIクライアント
456 lines (427 loc) • 13.8 kB
text/typescript
/* tslint:disable */
/* eslint-disable */
/**
* esa API v1
* チームのナレッジ共有サービス[esa.io](https://esa.io/)のAPI v1の仕様書
*
* The version of the OpenAPI document: 1.0.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 globalAxios, { AxiosPromise, AxiosInstance } from "axios";
import { Configuration } from "../configuration";
// Some imports not used depending on template conditions
// @ts-ignore
import {
DUMMY_BASE_URL,
assertParamExists,
setApiKeyToObject,
setBasicAuthToObject,
setBearerAuthToObject,
setOAuthToObject,
setSearchParams,
serializeDataIfNeeded,
toPathString,
createRequestFunction,
} from "../common";
// @ts-ignore
import {
BASE_PATH,
COLLECTION_FORMATS,
RequestArgs,
BaseAPI,
RequiredError,
} from "../base";
// @ts-ignore
import { PaginatedMembers } from "../models";
/**
* MemberApi - axios parameter creator
* @export
*/
export const MemberApiAxiosParamCreator = function (
configuration?: Configuration,
) {
return {
/**
* 指定した screen_name のメンバーをチームから削除します。 - チームの owner である必要があります - APIで自分自身をチームから削除することはできません。
* @summary メンバーを削除する
* @param {string} teamName チーム名
* @param {string} screenName 削除するメンバーのscreen_name
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
deleteMember: async (
teamName: string,
screenName: string,
options: any = {},
): Promise<RequestArgs> => {
// verify required parameter 'teamName' is not null or undefined
assertParamExists("deleteMember", "teamName", teamName);
// verify required parameter 'screenName' is not null or undefined
assertParamExists("deleteMember", "screenName", screenName);
const localVarPath = `/teams/{team_name}/members/{screen_name}`
.replace(`{${"team_name"}}`, encodeURIComponent(String(teamName)))
.replace(`{${"screen_name"}}`, encodeURIComponent(String(screenName)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = {
method: "DELETE",
...baseOptions,
...options,
};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication AccessTokenHeader required
// http bearer authentication required
await setBearerAuthToObject(localVarHeaderParameter, configuration);
// authentication AccessTokenQueryParam required
await setApiKeyToObject(
localVarQueryParameter,
"access_token",
configuration,
);
// authentication OAuth2 required
// oauth required
await setOAuthToObject(
localVarHeaderParameter,
"OAuth2",
["write"],
configuration,
);
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions =
baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {
...localVarHeaderParameter,
...headersFromBaseOptions,
...options.headers,
};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @summary メンバーを取得する
* @param {string} teamName チーム名
* @param {'posts_count' | 'joined' | 'last_accessed'} [sort]
* @param {'asc' | 'desc'} [order] 設定可能な値: - `desc`: 降順 (default) - `asc`: 昇順
* @param {number} [page] ページ番号
* @param {number} [perPage] 1ページあたりに含まれる要素数
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getMembers: async (
teamName: string,
sort?: "posts_count" | "joined" | "last_accessed",
order?: "asc" | "desc",
page?: number,
perPage?: number,
options: any = {},
): Promise<RequestArgs> => {
// verify required parameter 'teamName' is not null or undefined
assertParamExists("getMembers", "teamName", teamName);
const localVarPath = `/teams/{team_name}/members`.replace(
`{${"team_name"}}`,
encodeURIComponent(String(teamName)),
);
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = {
method: "GET",
...baseOptions,
...options,
};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
// authentication AccessTokenHeader required
// http bearer authentication required
await setBearerAuthToObject(localVarHeaderParameter, configuration);
// authentication AccessTokenQueryParam required
await setApiKeyToObject(
localVarQueryParameter,
"access_token",
configuration,
);
// authentication OAuth2 required
// oauth required
await setOAuthToObject(
localVarHeaderParameter,
"OAuth2",
["read"],
configuration,
);
if (sort !== undefined) {
localVarQueryParameter["sort"] = sort;
}
if (order !== undefined) {
localVarQueryParameter["order"] = order;
}
if (page !== undefined) {
localVarQueryParameter["page"] = page;
}
if (perPage !== undefined) {
localVarQueryParameter["per_page"] = perPage;
}
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions =
baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {
...localVarHeaderParameter,
...headersFromBaseOptions,
...options.headers,
};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
};
};
/**
* MemberApi - functional programming interface
* @export
*/
export const MemberApiFp = function (configuration?: Configuration) {
const localVarAxiosParamCreator = MemberApiAxiosParamCreator(configuration);
return {
/**
* 指定した screen_name のメンバーをチームから削除します。 - チームの owner である必要があります - APIで自分自身をチームから削除することはできません。
* @summary メンバーを削除する
* @param {string} teamName チーム名
* @param {string} screenName 削除するメンバーのscreen_name
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async deleteMember(
teamName: string,
screenName: string,
options?: any,
): Promise<
(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>
> {
const localVarAxiosArgs = await localVarAxiosParamCreator.deleteMember(
teamName,
screenName,
options,
);
return createRequestFunction(
localVarAxiosArgs,
globalAxios,
BASE_PATH,
configuration,
);
},
/**
*
* @summary メンバーを取得する
* @param {string} teamName チーム名
* @param {'posts_count' | 'joined' | 'last_accessed'} [sort]
* @param {'asc' | 'desc'} [order] 設定可能な値: - `desc`: 降順 (default) - `asc`: 昇順
* @param {number} [page] ページ番号
* @param {number} [perPage] 1ページあたりに含まれる要素数
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async getMembers(
teamName: string,
sort?: "posts_count" | "joined" | "last_accessed",
order?: "asc" | "desc",
page?: number,
perPage?: number,
options?: any,
): Promise<
(
axios?: AxiosInstance,
basePath?: string,
) => AxiosPromise<PaginatedMembers>
> {
const localVarAxiosArgs = await localVarAxiosParamCreator.getMembers(
teamName,
sort,
order,
page,
perPage,
options,
);
return createRequestFunction(
localVarAxiosArgs,
globalAxios,
BASE_PATH,
configuration,
);
},
};
};
/**
* MemberApi - factory interface
* @export
*/
export const MemberApiFactory = function (
configuration?: Configuration,
basePath?: string,
axios?: AxiosInstance,
) {
const localVarFp = MemberApiFp(configuration);
return {
/**
* 指定した screen_name のメンバーをチームから削除します。 - チームの owner である必要があります - APIで自分自身をチームから削除することはできません。
* @summary メンバーを削除する
* @param {string} teamName チーム名
* @param {string} screenName 削除するメンバーのscreen_name
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
deleteMember(
teamName: string,
screenName: string,
options?: any,
): AxiosPromise<void> {
return localVarFp
.deleteMember(teamName, screenName, options)
.then((request) => request(axios, basePath));
},
/**
*
* @summary メンバーを取得する
* @param {string} teamName チーム名
* @param {'posts_count' | 'joined' | 'last_accessed'} [sort]
* @param {'asc' | 'desc'} [order] 設定可能な値: - `desc`: 降順 (default) - `asc`: 昇順
* @param {number} [page] ページ番号
* @param {number} [perPage] 1ページあたりに含まれる要素数
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getMembers(
teamName: string,
sort?: "posts_count" | "joined" | "last_accessed",
order?: "asc" | "desc",
page?: number,
perPage?: number,
options?: any,
): AxiosPromise<PaginatedMembers> {
return localVarFp
.getMembers(teamName, sort, order, page, perPage, options)
.then((request) => request(axios, basePath));
},
};
};
/**
* Request parameters for deleteMember operation in MemberApi.
* @export
* @interface MemberApiDeleteMemberRequest
*/
export interface MemberApiDeleteMemberRequest {
/**
* チーム名
* @type {string}
* @memberof MemberApiDeleteMember
*/
readonly teamName: string;
/**
* 削除するメンバーのscreen_name
* @type {string}
* @memberof MemberApiDeleteMember
*/
readonly screenName: string;
}
/**
* Request parameters for getMembers operation in MemberApi.
* @export
* @interface MemberApiGetMembersRequest
*/
export interface MemberApiGetMembersRequest {
/**
* チーム名
* @type {string}
* @memberof MemberApiGetMembers
*/
readonly teamName: string;
/**
*
* @type {'posts_count' | 'joined' | 'last_accessed'}
* @memberof MemberApiGetMembers
*/
readonly sort?: "posts_count" | "joined" | "last_accessed";
/**
* 設定可能な値: - `desc`: 降順 (default) - `asc`: 昇順
* @type {'asc' | 'desc'}
* @memberof MemberApiGetMembers
*/
readonly order?: "asc" | "desc";
/**
* ページ番号
* @type {number}
* @memberof MemberApiGetMembers
*/
readonly page?: number;
/**
* 1ページあたりに含まれる要素数
* @type {number}
* @memberof MemberApiGetMembers
*/
readonly perPage?: number;
}
/**
* MemberApi - object-oriented interface
* @export
* @class MemberApi
* @extends {BaseAPI}
*/
export class MemberApi extends BaseAPI {
/**
* 指定した screen_name のメンバーをチームから削除します。 - チームの owner である必要があります - APIで自分自身をチームから削除することはできません。
* @summary メンバーを削除する
* @param {MemberApiDeleteMemberRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof MemberApi
*/
public deleteMember(
requestParameters: MemberApiDeleteMemberRequest,
options?: any,
) {
return MemberApiFp(this.configuration)
.deleteMember(
requestParameters.teamName,
requestParameters.screenName,
options,
)
.then((request) => request(this.axios, this.basePath));
}
/**
*
* @summary メンバーを取得する
* @param {MemberApiGetMembersRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof MemberApi
*/
public getMembers(
requestParameters: MemberApiGetMembersRequest,
options?: any,
) {
return MemberApiFp(this.configuration)
.getMembers(
requestParameters.teamName,
requestParameters.sort,
requestParameters.order,
requestParameters.page,
requestParameters.perPage,
options,
)
.then((request) => request(this.axios, this.basePath));
}
}