Document and format VNDB query methods
This commit is contained in:
parent
0e51e1b15c
commit
b6b4955d80
1 changed files with 26 additions and 2 deletions
|
|
@ -80,8 +80,14 @@ export class VNDBAPI extends APIModel {
|
||||||
this.types = [MediaType.Game];
|
this.types = [MediaType.Game];
|
||||||
}
|
}
|
||||||
|
|
||||||
postVNQuery = (body: string): Promise<VNJSONResponse> => this.postQuery('/vn', body);
|
/**
|
||||||
postReleaseQuery = (body: string): Promise<ReleaseJSONResponse> => this.postQuery('/release', body);
|
* Make a `POST` request to the VNDB API.
|
||||||
|
* @param endpoint The API endpoint to query. E.g. "/vn".
|
||||||
|
* @param body A JSON object defining the query, following the VNDB API structure.
|
||||||
|
* @returns A JSON object representing the query response.
|
||||||
|
* @throws Error The request returned an unsuccessful or unexpected HTTP status code.
|
||||||
|
* @see {@link https://api.vndb.org/kana#api-structure}
|
||||||
|
*/
|
||||||
async postQuery(endpoint: string, body: string): Promise<any> {
|
async postQuery(endpoint: string, body: string): Promise<any> {
|
||||||
const fetchData = await requestUrl({
|
const fetchData = await requestUrl({
|
||||||
url: `${this.apiUrl}${endpoint}`,
|
url: `${this.apiUrl}${endpoint}`,
|
||||||
|
|
@ -111,6 +117,24 @@ export class VNDBAPI extends APIModel {
|
||||||
return fetchData.json;
|
return fetchData.json;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make a `POST` request to the `/vn` endpoint.
|
||||||
|
* Queries visual novel entries.
|
||||||
|
* @see {@link https://api.vndb.org/kana#post-vn}
|
||||||
|
*/
|
||||||
|
postVNQuery(body: string): Promise<VNJSONResponse> {
|
||||||
|
return this.postQuery('/vn', body);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make a `POST` request to the `/release` endpoint.
|
||||||
|
* Queries release entries.
|
||||||
|
* @see {@link https://api.vndb.org/kana#post-release}
|
||||||
|
*/
|
||||||
|
postReleaseQuery(body: string): Promise<ReleaseJSONResponse> {
|
||||||
|
return this.postQuery('/release', body);
|
||||||
|
}
|
||||||
|
|
||||||
async searchByTitle(title: string): Promise<MediaTypeModel[]> {
|
async searchByTitle(title: string): Promise<MediaTypeModel[]> {
|
||||||
console.log(`MDB | api "${this.apiName}" queried by Title`);
|
console.log(`MDB | api "${this.apiName}" queried by Title`);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue