UNPKG

@suin/esa-api

Version:

esa.io APIクライアント

1,039 lines (974 loc) 36.2 kB
/* 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 { CreatePostBody } from "../models"; // @ts-ignore import { PaginatedPosts } from "../models"; // @ts-ignore import { Post } from "../models"; // @ts-ignore import { UpdatePostBody } from "../models"; /** * PostApi - axios parameter creator * @export */ export const PostApiAxiosParamCreator = function ( configuration?: Configuration, ) { return { /** * * @summary 記事を投稿する * @param {string} teamName チーム名 * @param {CreatePostBody} createPostBody * @param {*} [options] Override http request option. * @throws {RequiredError} */ createPost: async ( teamName: string, createPostBody: CreatePostBody, options: any = {}, ): Promise<RequestArgs> => { // verify required parameter 'teamName' is not null or undefined assertParamExists("createPost", "teamName", teamName); // verify required parameter 'createPostBody' is not null or undefined assertParamExists("createPost", "createPostBody", createPostBody); const localVarPath = `/teams/{team_name}/posts`.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: "POST", ...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, ); localVarHeaderParameter["Content-Type"] = "application/json"; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers, }; localVarRequestOptions.data = serializeDataIfNeeded( createPostBody, localVarRequestOptions, configuration, ); return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, /** * 指定された記事を削除します。 * @summary 記事を削除する * @param {string} teamName チーム名 * @param {number} postNumber 記事ID * @param {*} [options] Override http request option. * @throws {RequiredError} */ deletePost: async ( teamName: string, postNumber: number, options: any = {}, ): Promise<RequestArgs> => { // verify required parameter 'teamName' is not null or undefined assertParamExists("deletePost", "teamName", teamName); // verify required parameter 'postNumber' is not null or undefined assertParamExists("deletePost", "postNumber", postNumber); const localVarPath = `/teams/{team_name}/posts/{post_number}` .replace(`{${"team_name"}}`, encodeURIComponent(String(teamName))) .replace(`{${"post_number"}}`, encodeURIComponent(String(postNumber))); // 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 {number} postNumber 記事ID * @param {Array<'comments' | 'comments.stargazers' | 'stargazers'>} [include] - &#x60;comments&#x60; を指定するとコメントの配列を含んだレスポンスを返します。 - &#x60;comments,comments.stargazers&#x60;を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - &#x60;stargazers&#x60; を指定するとStarの配列を含んだレスポンスを返します。 - &#x60;stargazers,comments&#x60; のように &#x60;,&#x60; で区切ることで複数指定できます * @param {*} [options] Override http request option. * @throws {RequiredError} */ getPost: async ( teamName: string, postNumber: number, include?: Array<"comments" | "comments.stargazers" | "stargazers">, options: any = {}, ): Promise<RequestArgs> => { // verify required parameter 'teamName' is not null or undefined assertParamExists("getPost", "teamName", teamName); // verify required parameter 'postNumber' is not null or undefined assertParamExists("getPost", "postNumber", postNumber); const localVarPath = `/teams/{team_name}/posts/{post_number}` .replace(`{${"team_name"}}`, encodeURIComponent(String(teamName))) .replace(`{${"post_number"}}`, encodeURIComponent(String(postNumber))); // 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 (include) { localVarQueryParameter["include"] = include.join( COLLECTION_FORMATS.csv, ); } 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 {string} [q] 記事を絞り込むための条件を指定します * @param {Array<'comments' | 'comments.stargazers' | 'stargazers'>} [include] - &#x60;comments&#x60; を指定するとコメントの配列を含んだレスポンスを返します。 - &#x60;comments,comments.stargazers&#x60;を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - &#x60;stargazers&#x60; を指定するとStarの配列を含んだレスポンスを返します。 - &#x60;stargazers,comments&#x60; のように &#x60;,&#x60; で区切ることで複数指定できます * @param {'updated' | 'created' | 'number' | 'stars' | 'watches' | 'comments' | 'best_match'} [sort] 記事の並び順を指定します - 設定可能な値 - &#x60;updated&#x60; (default) - 記事の更新日時 - &#x60;created&#x60; - 記事の作成日時 - &#x60;number&#x60; - 記事番号 - &#x60;stars&#x60; - 記事へのStarの数 - &#x60;watches&#x60; - 記事へのWatchの数 - &#x60;comments&#x60; - 記事へのCommentの数 - &#x60;best_match&#x60; - 総合的な記事のスコア * @param {'asc' | 'desc'} [order] 設定可能な値: - &#x60;desc&#x60;: 降順 (default) - &#x60;asc&#x60;: 昇順 * @param {number} [page] ページ番号 * @param {number} [perPage] 1ページあたりに含まれる要素数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getPosts: async ( teamName: string, q?: string, include?: Array<"comments" | "comments.stargazers" | "stargazers">, sort?: | "updated" | "created" | "number" | "stars" | "watches" | "comments" | "best_match", order?: "asc" | "desc", page?: number, perPage?: number, options: any = {}, ): Promise<RequestArgs> => { // verify required parameter 'teamName' is not null or undefined assertParamExists("getPosts", "teamName", teamName); const localVarPath = `/teams/{team_name}/posts`.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 (q !== undefined) { localVarQueryParameter["q"] = q; } if (include) { localVarQueryParameter["include"] = include.join( COLLECTION_FORMATS.csv, ); } 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, }; }, /** * 指定された記事を編集します。 * @summary 記事を編集する * @param {string} teamName チーム名 * @param {number} postNumber 記事ID * @param {UpdatePostBody} updatePostBody * @param {*} [options] Override http request option. * @throws {RequiredError} */ updatePost: async ( teamName: string, postNumber: number, updatePostBody: UpdatePostBody, options: any = {}, ): Promise<RequestArgs> => { // verify required parameter 'teamName' is not null or undefined assertParamExists("updatePost", "teamName", teamName); // verify required parameter 'postNumber' is not null or undefined assertParamExists("updatePost", "postNumber", postNumber); // verify required parameter 'updatePostBody' is not null or undefined assertParamExists("updatePost", "updatePostBody", updatePostBody); const localVarPath = `/teams/{team_name}/posts/{post_number}` .replace(`{${"team_name"}}`, encodeURIComponent(String(teamName))) .replace(`{${"post_number"}}`, encodeURIComponent(String(postNumber))); // 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: "PATCH", ...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, ); localVarHeaderParameter["Content-Type"] = "application/json"; setSearchParams(localVarUrlObj, localVarQueryParameter, options.query); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers, }; localVarRequestOptions.data = serializeDataIfNeeded( updatePostBody, localVarRequestOptions, configuration, ); return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, }; }; /** * PostApi - functional programming interface * @export */ export const PostApiFp = function (configuration?: Configuration) { const localVarAxiosParamCreator = PostApiAxiosParamCreator(configuration); return { /** * * @summary 記事を投稿する * @param {string} teamName チーム名 * @param {CreatePostBody} createPostBody * @param {*} [options] Override http request option. * @throws {RequiredError} */ async createPost( teamName: string, createPostBody: CreatePostBody, options?: any, ): Promise< (axios?: AxiosInstance, basePath?: string) => AxiosPromise<Post> > { const localVarAxiosArgs = await localVarAxiosParamCreator.createPost( teamName, createPostBody, options, ); return createRequestFunction( localVarAxiosArgs, globalAxios, BASE_PATH, configuration, ); }, /** * 指定された記事を削除します。 * @summary 記事を削除する * @param {string} teamName チーム名 * @param {number} postNumber 記事ID * @param {*} [options] Override http request option. * @throws {RequiredError} */ async deletePost( teamName: string, postNumber: number, options?: any, ): Promise< (axios?: AxiosInstance, basePath?: string) => AxiosPromise<void> > { const localVarAxiosArgs = await localVarAxiosParamCreator.deletePost( teamName, postNumber, options, ); return createRequestFunction( localVarAxiosArgs, globalAxios, BASE_PATH, configuration, ); }, /** * 指定された記事を取得します。 * @summary 記事を取得する * @param {string} teamName チーム名 * @param {number} postNumber 記事ID * @param {Array<'comments' | 'comments.stargazers' | 'stargazers'>} [include] - &#x60;comments&#x60; を指定するとコメントの配列を含んだレスポンスを返します。 - &#x60;comments,comments.stargazers&#x60;を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - &#x60;stargazers&#x60; を指定するとStarの配列を含んだレスポンスを返します。 - &#x60;stargazers,comments&#x60; のように &#x60;,&#x60; で区切ることで複数指定できます * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getPost( teamName: string, postNumber: number, include?: Array<"comments" | "comments.stargazers" | "stargazers">, options?: any, ): Promise< (axios?: AxiosInstance, basePath?: string) => AxiosPromise<Post> > { const localVarAxiosArgs = await localVarAxiosParamCreator.getPost( teamName, postNumber, include, options, ); return createRequestFunction( localVarAxiosArgs, globalAxios, BASE_PATH, configuration, ); }, /** * * @summary 記事一覧を取得する * @param {string} teamName チーム名 * @param {string} [q] 記事を絞り込むための条件を指定します * @param {Array<'comments' | 'comments.stargazers' | 'stargazers'>} [include] - &#x60;comments&#x60; を指定するとコメントの配列を含んだレスポンスを返します。 - &#x60;comments,comments.stargazers&#x60;を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - &#x60;stargazers&#x60; を指定するとStarの配列を含んだレスポンスを返します。 - &#x60;stargazers,comments&#x60; のように &#x60;,&#x60; で区切ることで複数指定できます * @param {'updated' | 'created' | 'number' | 'stars' | 'watches' | 'comments' | 'best_match'} [sort] 記事の並び順を指定します - 設定可能な値 - &#x60;updated&#x60; (default) - 記事の更新日時 - &#x60;created&#x60; - 記事の作成日時 - &#x60;number&#x60; - 記事番号 - &#x60;stars&#x60; - 記事へのStarの数 - &#x60;watches&#x60; - 記事へのWatchの数 - &#x60;comments&#x60; - 記事へのCommentの数 - &#x60;best_match&#x60; - 総合的な記事のスコア * @param {'asc' | 'desc'} [order] 設定可能な値: - &#x60;desc&#x60;: 降順 (default) - &#x60;asc&#x60;: 昇順 * @param {number} [page] ページ番号 * @param {number} [perPage] 1ページあたりに含まれる要素数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getPosts( teamName: string, q?: string, include?: Array<"comments" | "comments.stargazers" | "stargazers">, sort?: | "updated" | "created" | "number" | "stars" | "watches" | "comments" | "best_match", order?: "asc" | "desc", page?: number, perPage?: number, options?: any, ): Promise< (axios?: AxiosInstance, basePath?: string) => AxiosPromise<PaginatedPosts> > { const localVarAxiosArgs = await localVarAxiosParamCreator.getPosts( teamName, q, include, sort, order, page, perPage, options, ); return createRequestFunction( localVarAxiosArgs, globalAxios, BASE_PATH, configuration, ); }, /** * 指定された記事を編集します。 * @summary 記事を編集する * @param {string} teamName チーム名 * @param {number} postNumber 記事ID * @param {UpdatePostBody} updatePostBody * @param {*} [options] Override http request option. * @throws {RequiredError} */ async updatePost( teamName: string, postNumber: number, updatePostBody: UpdatePostBody, options?: any, ): Promise< (axios?: AxiosInstance, basePath?: string) => AxiosPromise<Post> > { const localVarAxiosArgs = await localVarAxiosParamCreator.updatePost( teamName, postNumber, updatePostBody, options, ); return createRequestFunction( localVarAxiosArgs, globalAxios, BASE_PATH, configuration, ); }, }; }; /** * PostApi - factory interface * @export */ export const PostApiFactory = function ( configuration?: Configuration, basePath?: string, axios?: AxiosInstance, ) { const localVarFp = PostApiFp(configuration); return { /** * * @summary 記事を投稿する * @param {string} teamName チーム名 * @param {CreatePostBody} createPostBody * @param {*} [options] Override http request option. * @throws {RequiredError} */ createPost( teamName: string, createPostBody: CreatePostBody, options?: any, ): AxiosPromise<Post> { return localVarFp .createPost(teamName, createPostBody, options) .then((request) => request(axios, basePath)); }, /** * 指定された記事を削除します。 * @summary 記事を削除する * @param {string} teamName チーム名 * @param {number} postNumber 記事ID * @param {*} [options] Override http request option. * @throws {RequiredError} */ deletePost( teamName: string, postNumber: number, options?: any, ): AxiosPromise<void> { return localVarFp .deletePost(teamName, postNumber, options) .then((request) => request(axios, basePath)); }, /** * 指定された記事を取得します。 * @summary 記事を取得する * @param {string} teamName チーム名 * @param {number} postNumber 記事ID * @param {Array<'comments' | 'comments.stargazers' | 'stargazers'>} [include] - &#x60;comments&#x60; を指定するとコメントの配列を含んだレスポンスを返します。 - &#x60;comments,comments.stargazers&#x60;を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - &#x60;stargazers&#x60; を指定するとStarの配列を含んだレスポンスを返します。 - &#x60;stargazers,comments&#x60; のように &#x60;,&#x60; で区切ることで複数指定できます * @param {*} [options] Override http request option. * @throws {RequiredError} */ getPost( teamName: string, postNumber: number, include?: Array<"comments" | "comments.stargazers" | "stargazers">, options?: any, ): AxiosPromise<Post> { return localVarFp .getPost(teamName, postNumber, include, options) .then((request) => request(axios, basePath)); }, /** * * @summary 記事一覧を取得する * @param {string} teamName チーム名 * @param {string} [q] 記事を絞り込むための条件を指定します * @param {Array<'comments' | 'comments.stargazers' | 'stargazers'>} [include] - &#x60;comments&#x60; を指定するとコメントの配列を含んだレスポンスを返します。 - &#x60;comments,comments.stargazers&#x60;を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - &#x60;stargazers&#x60; を指定するとStarの配列を含んだレスポンスを返します。 - &#x60;stargazers,comments&#x60; のように &#x60;,&#x60; で区切ることで複数指定できます * @param {'updated' | 'created' | 'number' | 'stars' | 'watches' | 'comments' | 'best_match'} [sort] 記事の並び順を指定します - 設定可能な値 - &#x60;updated&#x60; (default) - 記事の更新日時 - &#x60;created&#x60; - 記事の作成日時 - &#x60;number&#x60; - 記事番号 - &#x60;stars&#x60; - 記事へのStarの数 - &#x60;watches&#x60; - 記事へのWatchの数 - &#x60;comments&#x60; - 記事へのCommentの数 - &#x60;best_match&#x60; - 総合的な記事のスコア * @param {'asc' | 'desc'} [order] 設定可能な値: - &#x60;desc&#x60;: 降順 (default) - &#x60;asc&#x60;: 昇順 * @param {number} [page] ページ番号 * @param {number} [perPage] 1ページあたりに含まれる要素数 * @param {*} [options] Override http request option. * @throws {RequiredError} */ getPosts( teamName: string, q?: string, include?: Array<"comments" | "comments.stargazers" | "stargazers">, sort?: | "updated" | "created" | "number" | "stars" | "watches" | "comments" | "best_match", order?: "asc" | "desc", page?: number, perPage?: number, options?: any, ): AxiosPromise<PaginatedPosts> { return localVarFp .getPosts(teamName, q, include, sort, order, page, perPage, options) .then((request) => request(axios, basePath)); }, /** * 指定された記事を編集します。 * @summary 記事を編集する * @param {string} teamName チーム名 * @param {number} postNumber 記事ID * @param {UpdatePostBody} updatePostBody * @param {*} [options] Override http request option. * @throws {RequiredError} */ updatePost( teamName: string, postNumber: number, updatePostBody: UpdatePostBody, options?: any, ): AxiosPromise<Post> { return localVarFp .updatePost(teamName, postNumber, updatePostBody, options) .then((request) => request(axios, basePath)); }, }; }; /** * Request parameters for createPost operation in PostApi. * @export * @interface PostApiCreatePostRequest */ export interface PostApiCreatePostRequest { /** * チーム名 * @type {string} * @memberof PostApiCreatePost */ readonly teamName: string; /** * * @type {CreatePostBody} * @memberof PostApiCreatePost */ readonly createPostBody: CreatePostBody; } /** * Request parameters for deletePost operation in PostApi. * @export * @interface PostApiDeletePostRequest */ export interface PostApiDeletePostRequest { /** * チーム名 * @type {string} * @memberof PostApiDeletePost */ readonly teamName: string; /** * 記事ID * @type {number} * @memberof PostApiDeletePost */ readonly postNumber: number; } /** * Request parameters for getPost operation in PostApi. * @export * @interface PostApiGetPostRequest */ export interface PostApiGetPostRequest { /** * チーム名 * @type {string} * @memberof PostApiGetPost */ readonly teamName: string; /** * 記事ID * @type {number} * @memberof PostApiGetPost */ readonly postNumber: number; /** * - &#x60;comments&#x60; を指定するとコメントの配列を含んだレスポンスを返します。 - &#x60;comments,comments.stargazers&#x60;を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - &#x60;stargazers&#x60; を指定するとStarの配列を含んだレスポンスを返します。 - &#x60;stargazers,comments&#x60; のように &#x60;,&#x60; で区切ることで複数指定できます * @type {Array<'comments' | 'comments.stargazers' | 'stargazers'>} * @memberof PostApiGetPost */ readonly include?: Array<"comments" | "comments.stargazers" | "stargazers">; } /** * Request parameters for getPosts operation in PostApi. * @export * @interface PostApiGetPostsRequest */ export interface PostApiGetPostsRequest { /** * チーム名 * @type {string} * @memberof PostApiGetPosts */ readonly teamName: string; /** * 記事を絞り込むための条件を指定します * @type {string} * @memberof PostApiGetPosts */ readonly q?: string; /** * - &#x60;comments&#x60; を指定するとコメントの配列を含んだレスポンスを返します。 - &#x60;comments,comments.stargazers&#x60;を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - &#x60;stargazers&#x60; を指定するとStarの配列を含んだレスポンスを返します。 - &#x60;stargazers,comments&#x60; のように &#x60;,&#x60; で区切ることで複数指定できます * @type {Array<'comments' | 'comments.stargazers' | 'stargazers'>} * @memberof PostApiGetPosts */ readonly include?: Array<"comments" | "comments.stargazers" | "stargazers">; /** * 記事の並び順を指定します - 設定可能な値 - &#x60;updated&#x60; (default) - 記事の更新日時 - &#x60;created&#x60; - 記事の作成日時 - &#x60;number&#x60; - 記事番号 - &#x60;stars&#x60; - 記事へのStarの数 - &#x60;watches&#x60; - 記事へのWatchの数 - &#x60;comments&#x60; - 記事へのCommentの数 - &#x60;best_match&#x60; - 総合的な記事のスコア * @type {'updated' | 'created' | 'number' | 'stars' | 'watches' | 'comments' | 'best_match'} * @memberof PostApiGetPosts */ readonly sort?: | "updated" | "created" | "number" | "stars" | "watches" | "comments" | "best_match"; /** * 設定可能な値: - &#x60;desc&#x60;: 降順 (default) - &#x60;asc&#x60;: 昇順 * @type {'asc' | 'desc'} * @memberof PostApiGetPosts */ readonly order?: "asc" | "desc"; /** * ページ番号 * @type {number} * @memberof PostApiGetPosts */ readonly page?: number; /** * 1ページあたりに含まれる要素数 * @type {number} * @memberof PostApiGetPosts */ readonly perPage?: number; } /** * Request parameters for updatePost operation in PostApi. * @export * @interface PostApiUpdatePostRequest */ export interface PostApiUpdatePostRequest { /** * チーム名 * @type {string} * @memberof PostApiUpdatePost */ readonly teamName: string; /** * 記事ID * @type {number} * @memberof PostApiUpdatePost */ readonly postNumber: number; /** * * @type {UpdatePostBody} * @memberof PostApiUpdatePost */ readonly updatePostBody: UpdatePostBody; } /** * PostApi - object-oriented interface * @export * @class PostApi * @extends {BaseAPI} */ export class PostApi extends BaseAPI { /** * * @summary 記事を投稿する * @param {PostApiCreatePostRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof PostApi */ public createPost( requestParameters: PostApiCreatePostRequest, options?: any, ) { return PostApiFp(this.configuration) .createPost( requestParameters.teamName, requestParameters.createPostBody, options, ) .then((request) => request(this.axios, this.basePath)); } /** * 指定された記事を削除します。 * @summary 記事を削除する * @param {PostApiDeletePostRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof PostApi */ public deletePost( requestParameters: PostApiDeletePostRequest, options?: any, ) { return PostApiFp(this.configuration) .deletePost( requestParameters.teamName, requestParameters.postNumber, options, ) .then((request) => request(this.axios, this.basePath)); } /** * 指定された記事を取得します。 * @summary 記事を取得する * @param {PostApiGetPostRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof PostApi */ public getPost(requestParameters: PostApiGetPostRequest, options?: any) { return PostApiFp(this.configuration) .getPost( requestParameters.teamName, requestParameters.postNumber, requestParameters.include, options, ) .then((request) => request(this.axios, this.basePath)); } /** * * @summary 記事一覧を取得する * @param {PostApiGetPostsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof PostApi */ public getPosts(requestParameters: PostApiGetPostsRequest, options?: any) { return PostApiFp(this.configuration) .getPosts( requestParameters.teamName, requestParameters.q, requestParameters.include, requestParameters.sort, requestParameters.order, requestParameters.page, requestParameters.perPage, options, ) .then((request) => request(this.axios, this.basePath)); } /** * 指定された記事を編集します。 * @summary 記事を編集する * @param {PostApiUpdatePostRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof PostApi */ public updatePost( requestParameters: PostApiUpdatePostRequest, options?: any, ) { return PostApiFp(this.configuration) .updatePost( requestParameters.teamName, requestParameters.postNumber, requestParameters.updatePostBody, options, ) .then((request) => request(this.axios, this.basePath)); } }