Skip to content

Commit 1ea8b86

Browse files
committed
feat: added getTags() endpoint
1 parent 2875407 commit 1ea8b86

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/modes/rest/resources/torrent.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import {Torrent, TorrentCompact} from "torrust-index-types-lib";
1+
import {Torrent, TorrentTag, TorrentCompact} from "torrust-index-types-lib";
22
import {Rest} from "../rest";
33
import {IRestResource} from "../restResource";
44
import {fetchDelete, fetchGet, fetchGetBlob, fetchPost, fetchPut} from "../../../utils/fetch";
@@ -38,6 +38,7 @@ type UploadTorrentParams = {
3838
title: string
3939
category: string
4040
description: string
41+
tags: Array<number>
4142
file: any
4243
}
4344

@@ -49,6 +50,10 @@ type UploadTorrentResponseData = {
4950
torrent_id: number
5051
}
5152

53+
type GetTagsResponse = {
54+
data: Array<TorrentTag>
55+
}
56+
5257
export class TorrentResource implements IRestResource {
5358
client: Rest;
5459

@@ -114,6 +119,7 @@ export class TorrentResource implements IRestResource {
114119
formData.append("title", params.title);
115120
formData.append("description", params.description);
116121
formData.append("category", params.category);
122+
formData.append("tags", JSON.stringify(params.tags));
117123
formData.append("torrent", params.file);
118124

119125
return await fetchPost<UploadTorrentResponse>(
@@ -155,4 +161,16 @@ export class TorrentResource implements IRestResource {
155161
return Promise.reject(err);
156162
});
157163
}
164+
165+
async getTags(): Promise<Array<TorrentTag>> {
166+
return await fetchGet<GetTagsResponse>(
167+
`${this.client.apiBaseUrl}/tags`
168+
)
169+
.then((res) => {
170+
return Promise.resolve(res.data);
171+
})
172+
.catch((err) => {
173+
return Promise.reject(err);
174+
});
175+
}
158176
}

0 commit comments

Comments
 (0)