Skip to content

Commit

Permalink
feat: add EpisodeGetRecordsBySubjectId #730 (#732)
Browse files Browse the repository at this point in the history
* feat: add EpisodeGetRecordsBySubjectId #730

* build: gen new api-client v20.1.0

* fix: console SubjectDetails.vue episode and resource get by records.
  • Loading branch information
chivehao authored Nov 10, 2024
1 parent d74169b commit 76c6da9
Show file tree
Hide file tree
Showing 19 changed files with 294 additions and 68 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.MD
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@

# 0.20.2

## 新特性

- 添加接口 EpisodeGetRecordsBySubjectId #730

## 问题修复

- ObjectMapper的默认日期转化问题 #729
Expand Down
12 changes: 12 additions & 0 deletions api/src/main/java/run/ikaros/api/core/subject/EpisodeRecord.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package run.ikaros.api.core.subject;

import java.util.List;

/**
* 剧集相关数据的组合,使用复杂的数据,会增加单个接口的耗时,但对整个条目来说,能有效降低并发请求次数.
*
* @param episode 剧集
* @param resources 剧集附件资源集合
*/
public record EpisodeRecord(Episode episode, List<EpisodeResource> resources) {
}
2 changes: 1 addition & 1 deletion console/packages/api-client/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ npm publish
选择当前目录下的更改进行`git add .`

```bash
git commit -am "build: gen new api-client v18.1.0"
git commit -am "build: gen new api-client v20.1.0"
```

合成版(powershell),升级 package.json 版本,并启动服务端后,在 api-client 路径下:
Expand Down
2 changes: 1 addition & 1 deletion console/packages/api-client/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@runikaros/api-client",
"version": "18.1.0",
"version": "20.1.0",
"description": "Project ikaros console api-client package",
"type": "module",
"scripts": {
Expand Down
1 change: 1 addition & 0 deletions console/packages/api-client/src/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ models/batch-matching-subject-episodes-attachment.ts
models/config-map.ts
models/create-user-req-params.ts
models/episode-collection.ts
models/episode-record.ts
models/episode-resource.ts
models/episode.ts
models/index.ts
Expand Down
124 changes: 124 additions & 0 deletions console/packages/api-client/src/api/v1alpha1-episode-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ import {
// @ts-ignore
import { Episode } from "../models";
// @ts-ignore
import { EpisodeRecord } from "../models";
// @ts-ignore
import { EpisodeResource } from "../models";
/**
* V1alpha1EpisodeApi - axios parameter creator
Expand Down Expand Up @@ -463,6 +465,60 @@ export const V1alpha1EpisodeApiAxiosParamCreator = function (
options: localVarRequestOptions,
};
},
/**
* Get episode records by subject id.
* @param {number} id Subject id
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getRecordsBySubjectId: async (
id: number,
options: AxiosRequestConfig = {}
): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists("getRecordsBySubjectId", "id", id);
const localVarPath =
`/api/v1alpha1/episode/records/subjectId/{id}`.replace(
`{${"id"}}`,
encodeURIComponent(String(id))
);
// 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 BasicAuth required
// http basic authentication required
setBasicAuthToObject(localVarRequestOptions, configuration);

// authentication BearerAuth required
// http bearer authentication required
await setBearerAuthToObject(localVarHeaderParameter, configuration);

setSearchParams(localVarUrlObj, localVarQueryParameter);
let headersFromBaseOptions =
baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {
...localVarHeaderParameter,
...headersFromBaseOptions,
...options.headers,
};

return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
* Post episode.
* @param {Episode} [episode] Episode
Expand Down Expand Up @@ -769,6 +825,30 @@ export const V1alpha1EpisodeApiFp = function (configuration?: Configuration) {
configuration
);
},
/**
* Get episode records by subject id.
* @param {number} id Subject id
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async getRecordsBySubjectId(
id: number,
options?: AxiosRequestConfig
): Promise<
(
axios?: AxiosInstance,
basePath?: string
) => AxiosPromise<Array<EpisodeRecord>>
> {
const localVarAxiosArgs =
await localVarAxiosParamCreator.getRecordsBySubjectId(id, options);
return createRequestFunction(
localVarAxiosArgs,
globalAxios,
BASE_PATH,
configuration
);
},
/**
* Post episode.
* @param {Episode} [episode] Episode
Expand Down Expand Up @@ -933,6 +1013,20 @@ export const V1alpha1EpisodeApiFactory = function (
.getCountTotalBySubjectId(requestParameters.id, options)
.then((request) => request(axios, basePath));
},
/**
* Get episode records by subject id.
* @param {V1alpha1EpisodeApiGetRecordsBySubjectIdRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
getRecordsBySubjectId(
requestParameters: V1alpha1EpisodeApiGetRecordsBySubjectIdRequest,
options?: AxiosRequestConfig
): AxiosPromise<Array<EpisodeRecord>> {
return localVarFp
.getRecordsBySubjectId(requestParameters.id, options)
.then((request) => request(axios, basePath));
},
/**
* Post episode.
* @param {V1alpha1EpisodeApiPostEpisodeRequest} requestParameters Request parameters.
Expand Down Expand Up @@ -1100,6 +1194,20 @@ export interface V1alpha1EpisodeApiGetCountTotalBySubjectIdRequest {
readonly id: number;
}

/**
* Request parameters for getRecordsBySubjectId operation in V1alpha1EpisodeApi.
* @export
* @interface V1alpha1EpisodeApiGetRecordsBySubjectIdRequest
*/
export interface V1alpha1EpisodeApiGetRecordsBySubjectIdRequest {
/**
* Subject id
* @type {number}
* @memberof V1alpha1EpisodeApiGetRecordsBySubjectId
*/
readonly id: number;
}

/**
* Request parameters for postEpisode operation in V1alpha1EpisodeApi.
* @export
Expand Down Expand Up @@ -1253,6 +1361,22 @@ export class V1alpha1EpisodeApi extends BaseAPI {
.then((request) => request(this.axios, this.basePath));
}

/**
* Get episode records by subject id.
* @param {V1alpha1EpisodeApiGetRecordsBySubjectIdRequest} requestParameters Request parameters.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof V1alpha1EpisodeApi
*/
public getRecordsBySubjectId(
requestParameters: V1alpha1EpisodeApiGetRecordsBySubjectIdRequest,
options?: AxiosRequestConfig
) {
return V1alpha1EpisodeApiFp(this.configuration)
.getRecordsBySubjectId(requestParameters.id, options)
.then((request) => request(this.axios, this.basePath));
}

/**
* Post episode.
* @param {V1alpha1EpisodeApiPostEpisodeRequest} requestParameters Request parameters.
Expand Down
40 changes: 40 additions & 0 deletions console/packages/api-client/src/models/episode-record.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
/* tslint:disable */
/* eslint-disable */
/**
* Ikaros Open API Documentation
* Documentation for Ikaros Open API
*
* 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.
*/

// May contain unused imports in some cases
// @ts-ignore
import { Episode } from "./episode";
// May contain unused imports in some cases
// @ts-ignore
import { EpisodeResource } from "./episode-resource";

/**
*
* @export
* @interface EpisodeRecord
*/
export interface EpisodeRecord {
/**
*
* @type {Episode}
* @memberof EpisodeRecord
*/
episode?: Episode;
/**
*
* @type {Array<EpisodeResource>}
* @memberof EpisodeRecord
*/
resources?: Array<EpisodeResource>;
}
1 change: 1 addition & 0 deletions console/packages/api-client/src/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export * from "./config-map";
export * from "./create-user-req-params";
export * from "./episode";
export * from "./episode-collection";
export * from "./episode-record";
export * from "./episode-resource";
export * from "./jwt-apply-param";
export * from "./link";
Expand Down
8 changes: 1 addition & 7 deletions console/packages/api-client/src/models/subject-hint.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,18 +60,12 @@ export interface SubjectHint {
* @memberof SubjectHint
*/
type?: SubjectHintTypeEnum;
/**
*
* @type {number}
* @memberof SubjectHint
*/
airTime?: number;
/**
*
* @type {string}
* @memberof SubjectHint
*/
cover?: string;
airTime?: string;
}

export const SubjectHintTypeEnum = {
Expand Down
Loading

0 comments on commit 76c6da9

Please sign in to comment.