bazarr/frontend/src/apis/raw/episodes.ts

100 lines
2.2 KiB
TypeScript
Raw Normal View History

2021-03-25 14:22:43 +00:00
import BaseApi from "./base";
class EpisodeApi extends BaseApi {
constructor() {
super("/episodes");
}
2021-08-17 14:52:50 +00:00
async bySeriesId(seriesid: number[]) {
const response = await this.get<DataWrapper<Item.Episode[]>>("", {
seriesid,
2021-03-25 14:22:43 +00:00
});
2021-08-17 14:52:50 +00:00
return response.data;
2021-03-25 14:22:43 +00:00
}
2021-08-17 14:52:50 +00:00
async byEpisodeId(episodeid: number[]) {
const response = await this.get<DataWrapper<Item.Episode[]>>("", {
episodeid,
2021-03-25 14:22:43 +00:00
});
2021-08-17 14:52:50 +00:00
return response.data;
2021-03-25 14:22:43 +00:00
}
async wanted(params: Parameter.Range) {
const response = await this.get<DataWrapperWithTotal<Wanted.Episode>>(
2021-08-17 14:52:50 +00:00
"/wanted",
params
);
return response;
2021-03-25 14:22:43 +00:00
}
async wantedBy(episodeid: number[]) {
const response = await this.get<DataWrapperWithTotal<Wanted.Episode>>(
2021-08-17 14:52:50 +00:00
"/wanted",
{ episodeid }
);
return response;
2021-03-25 14:22:43 +00:00
}
2021-08-17 14:27:33 +00:00
async history(params: Parameter.Range) {
const response = await this.get<DataWrapperWithTotal<History.Episode>>(
2021-08-17 14:27:33 +00:00
"/history",
params
);
2021-08-17 14:52:50 +00:00
return response;
2021-08-17 14:27:33 +00:00
}
async historyBy(episodeid: number) {
const response = await this.get<DataWrapperWithTotal<History.Episode>>(
2021-08-17 14:27:33 +00:00
"/history",
{ episodeid }
);
return response.data;
2021-03-25 14:22:43 +00:00
}
async downloadSubtitles(
seriesid: number,
episodeid: number,
form: FormType.Subtitle
2021-08-17 14:52:50 +00:00
) {
await this.patch("/subtitles", form, { seriesid, episodeid });
2021-03-25 14:22:43 +00:00
}
async uploadSubtitles(
seriesid: number,
episodeid: number,
form: FormType.UploadSubtitle
2021-08-17 14:52:50 +00:00
) {
await this.post("/subtitles", form, { seriesid, episodeid });
2021-03-25 14:22:43 +00:00
}
async deleteSubtitles(
seriesid: number,
episodeid: number,
form: FormType.DeleteSubtitle
2021-08-17 14:52:50 +00:00
) {
await this.delete("/subtitles", form, { seriesid, episodeid });
2021-03-25 14:22:43 +00:00
}
2021-08-17 14:52:50 +00:00
async blacklist() {
const response = await this.get<DataWrapper<Blacklist.Episode[]>>(
"/blacklist"
);
return response.data;
2021-03-25 14:22:43 +00:00
}
async addBlacklist(
seriesid: number,
episodeid: number,
form: FormType.AddBlacklist
2021-08-17 14:52:50 +00:00
) {
await this.post("/blacklist", form, { seriesid, episodeid });
2021-03-25 14:22:43 +00:00
}
2021-08-17 14:52:50 +00:00
async deleteBlacklist(all?: boolean, form?: FormType.DeleteBlacklist) {
await this.delete("/blacklist", form, { all });
2021-03-25 14:22:43 +00:00
}
}
const episodeApi = new EpisodeApi();
export default episodeApi;