refactor(apiclient): simplify query in release delete method (#1538)

* refactor(apiclient): simplify query in delete method

* refactor(apiclient): simplify query in delete method
This commit is contained in:
soup 2024-05-04 11:21:00 +02:00 committed by GitHub
parent 9832076d7e
commit 2f9b82ca44
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 11 additions and 20 deletions

View file

@ -15,14 +15,6 @@ interface HttpConfig {
queryString?: Record<string, Primitive | Primitive[]>; queryString?: Record<string, Primitive | Primitive[]>;
} }
interface DeleteParams {
olderThan?: number;
indexers?: string[];
releaseStatuses?: string[];
}
type QueryStringParams = Record<string, string | string[]>;
// See https://stackoverflow.com/a/62969380 // See https://stackoverflow.com/a/62969380
function encodeRFC3986URIComponent(str: string): string { function encodeRFC3986URIComponent(str: string): string {
return encodeURIComponent(str).replace( return encodeURIComponent(str).replace(
@ -347,19 +339,12 @@ export const APIClient = {
indexerOptions: () => appClient.Get<string[]>("api/release/indexers"), indexerOptions: () => appClient.Get<string[]>("api/release/indexers"),
stats: () => appClient.Get<ReleaseStats>("api/release/stats"), stats: () => appClient.Get<ReleaseStats>("api/release/stats"),
delete: (params: DeleteParams) => { delete: (params: DeleteParams) => {
const queryString: QueryStringParams = {};
if (params.olderThan !== undefined) {
queryString.olderThan = params.olderThan.toString();
}
if (params.indexers && params.indexers.length > 0) {
queryString.indexer = params.indexers;
}
if (params.releaseStatuses && params.releaseStatuses.length > 0) {
queryString.releaseStatus = params.releaseStatuses;
}
return appClient.Delete("api/release", { return appClient.Delete("api/release", {
queryString queryString: {
olderThan: params.olderThan,
indexer: params.indexers,
releaseStatus: params.releaseStatuses,
}
}); });
}, },
replayAction: (releaseId: number, actionId: number) => appClient.Post( replayAction: (releaseId: number, actionId: number) => appClient.Post(

View file

@ -68,3 +68,9 @@ interface ReleaseFilter {
id: string; id: string;
value: string; value: string;
} }
interface DeleteParams {
olderThan?: number;
indexers?: string[];
releaseStatuses?: string[];
}