@suin/esa-api
Version:
esa.io APIクライアント
1,039 lines (974 loc) • 36.2 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 { 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] - `comments` を指定するとコメントの配列を含んだレスポンスを返します。 - `comments,comments.stargazers`を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - `stargazers` を指定するとStarの配列を含んだレスポンスを返します。 - `stargazers,comments` のように `,` で区切ることで複数指定できます
* @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] - `comments` を指定するとコメントの配列を含んだレスポンスを返します。 - `comments,comments.stargazers`を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - `stargazers` を指定するとStarの配列を含んだレスポンスを返します。 - `stargazers,comments` のように `,` で区切ることで複数指定できます
* @param {'updated' | 'created' | 'number' | 'stars' | 'watches' | 'comments' | 'best_match'} [sort] 記事の並び順を指定します - 設定可能な値 - `updated` (default) - 記事の更新日時 - `created` - 記事の作成日時 - `number` - 記事番号 - `stars` - 記事へのStarの数 - `watches` - 記事へのWatchの数 - `comments` - 記事へのCommentの数 - `best_match` - 総合的な記事のスコア
* @param {'asc' | 'desc'} [order] 設定可能な値: - `desc`: 降順 (default) - `asc`: 昇順
* @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] - `comments` を指定するとコメントの配列を含んだレスポンスを返します。 - `comments,comments.stargazers`を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - `stargazers` を指定するとStarの配列を含んだレスポンスを返します。 - `stargazers,comments` のように `,` で区切ることで複数指定できます
* @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] - `comments` を指定するとコメントの配列を含んだレスポンスを返します。 - `comments,comments.stargazers`を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - `stargazers` を指定するとStarの配列を含んだレスポンスを返します。 - `stargazers,comments` のように `,` で区切ることで複数指定できます
* @param {'updated' | 'created' | 'number' | 'stars' | 'watches' | 'comments' | 'best_match'} [sort] 記事の並び順を指定します - 設定可能な値 - `updated` (default) - 記事の更新日時 - `created` - 記事の作成日時 - `number` - 記事番号 - `stars` - 記事へのStarの数 - `watches` - 記事へのWatchの数 - `comments` - 記事へのCommentの数 - `best_match` - 総合的な記事のスコア
* @param {'asc' | 'desc'} [order] 設定可能な値: - `desc`: 降順 (default) - `asc`: 昇順
* @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] - `comments` を指定するとコメントの配列を含んだレスポンスを返します。 - `comments,comments.stargazers`を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - `stargazers` を指定するとStarの配列を含んだレスポンスを返します。 - `stargazers,comments` のように `,` で区切ることで複数指定できます
* @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] - `comments` を指定するとコメントの配列を含んだレスポンスを返します。 - `comments,comments.stargazers`を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - `stargazers` を指定するとStarの配列を含んだレスポンスを返します。 - `stargazers,comments` のように `,` で区切ることで複数指定できます
* @param {'updated' | 'created' | 'number' | 'stars' | 'watches' | 'comments' | 'best_match'} [sort] 記事の並び順を指定します - 設定可能な値 - `updated` (default) - 記事の更新日時 - `created` - 記事の作成日時 - `number` - 記事番号 - `stars` - 記事へのStarの数 - `watches` - 記事へのWatchの数 - `comments` - 記事へのCommentの数 - `best_match` - 総合的な記事のスコア
* @param {'asc' | 'desc'} [order] 設定可能な値: - `desc`: 降順 (default) - `asc`: 昇順
* @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;
/**
* - `comments` を指定するとコメントの配列を含んだレスポンスを返します。 - `comments,comments.stargazers`を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - `stargazers` を指定するとStarの配列を含んだレスポンスを返します。 - `stargazers,comments` のように `,` で区切ることで複数指定できます
* @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;
/**
* - `comments` を指定するとコメントの配列を含んだレスポンスを返します。 - `comments,comments.stargazers`を指定するとコメントとコメントに対するStarの配列を含んだレスポンスを返します。 - `stargazers` を指定するとStarの配列を含んだレスポンスを返します。 - `stargazers,comments` のように `,` で区切ることで複数指定できます
* @type {Array<'comments' | 'comments.stargazers' | 'stargazers'>}
* @memberof PostApiGetPosts
*/
readonly include?: Array<"comments" | "comments.stargazers" | "stargazers">;
/**
* 記事の並び順を指定します - 設定可能な値 - `updated` (default) - 記事の更新日時 - `created` - 記事の作成日時 - `number` - 記事番号 - `stars` - 記事へのStarの数 - `watches` - 記事へのWatchの数 - `comments` - 記事へのCommentの数 - `best_match` - 総合的な記事のスコア
* @type {'updated' | 'created' | 'number' | 'stars' | 'watches' | 'comments' | 'best_match'}
* @memberof PostApiGetPosts
*/
readonly sort?:
| "updated"
| "created"
| "number"
| "stars"
| "watches"
| "comments"
| "best_match";
/**
* 設定可能な値: - `desc`: 降順 (default) - `asc`: 昇順
* @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));
}
}