/** * API of the server (auto-generated code) */ import { HTTPMimeType, HTTPRequestModel, ModelResponseHttp, RESTConfig, RESTRequestJson, RESTRequestJsonArray, RESTRequestVoid } from "./rest-tools" import {Long, UUID, Album, isAlbum, } from "./model" export namespace AlbumResource { /** * Remove a specific album */ export function remove({ restConfig, params, }: { restConfig: RESTConfig, params: { id: Long, }, }): Promise { return RESTRequestVoid({ restModel: { endPoint: "/album/{id}", requestType: HTTPRequestModel.DELETE, accept: HTTPMimeType.JSON, }, restConfig, params, }); }; /** * Get a specific Album with his ID */ export function get({ restConfig, params, }: { restConfig: RESTConfig, params: { id: Long, }, }): Promise { return RESTRequestJson({ restModel: { endPoint: "/album/{id}", requestType: HTTPRequestModel.GET, accept: HTTPMimeType.JSON, }, restConfig, params, }, isAlbum); }; /** * Update a specific album */ export function patch({ restConfig, params, data, }: { restConfig: RESTConfig, params: { id: Long, }, data: Album, }): Promise { return RESTRequestJson({ restModel: { endPoint: "/album/{id}", requestType: HTTPRequestModel.PATCH, contentType: HTTPMimeType.JSON, accept: HTTPMimeType.JSON, }, restConfig, params, data, }, isAlbum); }; /** * Add an album (when all the data already exist) */ export function post({ restConfig, data, }: { restConfig: RESTConfig, data: Album, }): Promise { return RESTRequestJson({ restModel: { endPoint: "/album", requestType: HTTPRequestModel.POST, contentType: HTTPMimeType.JSON, accept: HTTPMimeType.JSON, }, restConfig, data, }, isAlbum); }; /** * Remove a Track on a specific album */ export function removeTrack({ restConfig, params, }: { restConfig: RESTConfig, params: { trackId: Long, id: Long, }, }): Promise { return RESTRequestJson({ restModel: { endPoint: "/album/{id}/track/{trackId}", requestType: HTTPRequestModel.DELETE, accept: HTTPMimeType.JSON, }, restConfig, params, }, isAlbum); }; /** * Add a cover on a specific album */ export function uploadCover({ restConfig, params, data, }: { restConfig: RESTConfig, params: { id: Long, }, data: { fileName: string, file: File, }, }): Promise { return RESTRequestJson({ restModel: { endPoint: "/album/{id}/cover", requestType: HTTPRequestModel.POST, contentType: HTTPMimeType.MULTIPART, accept: HTTPMimeType.JSON, }, restConfig, params, data, }, isAlbum); }; /** * Remove a cover on a specific album */ export function removeCover({ restConfig, params, }: { restConfig: RESTConfig, params: { coverId: UUID, id: Long, }, }): Promise { return RESTRequestJson({ restModel: { endPoint: "/album/{id}/cover/{coverId}", requestType: HTTPRequestModel.DELETE, accept: HTTPMimeType.JSON, }, restConfig, params, }, isAlbum); }; /** * Get all the available Albums */ export function gets({ restConfig, }: { restConfig: RESTConfig, }): Promise { return RESTRequestJsonArray({ restModel: { endPoint: "/album", requestType: HTTPRequestModel.GET, accept: HTTPMimeType.JSON, }, restConfig, }, isAlbum); }; /** * Add a Track on a specific album */ export function addTrack({ restConfig, params, }: { restConfig: RESTConfig, params: { trackId: Long, id: Long, }, }): Promise { return RESTRequestJson({ restModel: { endPoint: "/album/{id}/track/{trackId}", requestType: HTTPRequestModel.POST, contentType: HTTPMimeType.MULTIPART, accept: HTTPMimeType.JSON, }, restConfig, params, }, isAlbum); }; }