9338f3f088
Implement a TypeScript client mock generator to generate mocks with static data specified in the API definition. Change-Id: I11419f4bbf72576fcd829f9d4acd8471034ca571
165 lines
5.5 KiB
TypeScript
165 lines
5.5 KiB
TypeScript
// AUTOGENERATED BY private/apigen
|
|
// DO NOT EDIT.
|
|
import { Time, UUID } from '@/types/common';
|
|
|
|
export class DocsGetResponseItem {
|
|
id: UUID;
|
|
path: string;
|
|
date: Time;
|
|
metadata: Metadata;
|
|
last_retrievals?: DocsGetResponseItemLastRetrievals;
|
|
}
|
|
|
|
export class DocsGetResponseItemLastRetrievalsItem {
|
|
user: string;
|
|
when: Time;
|
|
}
|
|
|
|
export class DocsUpdateContentRequest {
|
|
content: string;
|
|
}
|
|
|
|
export class DocsUpdateContentResponse {
|
|
id: UUID;
|
|
date: Time;
|
|
pathParam: string;
|
|
body: string;
|
|
}
|
|
|
|
export class Document {
|
|
id: UUID;
|
|
date: Time;
|
|
pathParam: string;
|
|
body: string;
|
|
version: Version;
|
|
}
|
|
|
|
export class Metadata {
|
|
owner: string;
|
|
tags?: string[][];
|
|
}
|
|
|
|
export class UsersCreateRequestItem {
|
|
name: string;
|
|
surname: string;
|
|
email: string;
|
|
}
|
|
|
|
export class Version {
|
|
date: Time;
|
|
number: number;
|
|
}
|
|
|
|
export type DocsGetResponse = Array<DocsGetResponseItem>
|
|
|
|
export type DocsGetResponseItemLastRetrievals = Array<DocsGetResponseItemLastRetrievalsItem>
|
|
|
|
export type UsersCreateRequest = Array<UsersCreateRequestItem>
|
|
|
|
export type UsersGetResponse = Array<UsersCreateRequestItem>
|
|
|
|
class APIError extends Error {
|
|
constructor(
|
|
public readonly msg: string,
|
|
public readonly responseStatusCode?: number,
|
|
) {
|
|
super(msg);
|
|
}
|
|
}
|
|
|
|
export class DocumentsHttpApiV0 {
|
|
public readonly respStatusCode: number;
|
|
|
|
// When respStatuscode is passed, the client throws an APIError on each method call
|
|
// with respStatusCode as HTTP status code.
|
|
// respStatuscode must be equal or greater than 400
|
|
constructor(respStatusCode?: number) {
|
|
if (typeof respStatusCode === 'undefined') {
|
|
this.respStatusCode = 0;
|
|
return;
|
|
}
|
|
|
|
if (respStatusCode < 400) {
|
|
throw new Error('invalid response status code for API Error, it must be greater or equal than 400');
|
|
}
|
|
|
|
this.respStatusCode = respStatusCode;
|
|
}
|
|
|
|
public async get(): Promise<DocsGetResponse> {
|
|
if (this.respStatusCode != 0) {
|
|
throw new APIError('mock error message: ' + this.respStatusCode, this.respStatusCode);
|
|
}
|
|
|
|
return JSON.parse("[{\"id\":\"00000000-0000-0000-0000-000000000000\",\"path\":\"/workspace/notes.md\",\"date\":\"0001-01-01T00:00:00Z\",\"metadata\":{\"owner\":\"Storj\",\"tags\":[[\"category\",\"general\"]]},\"last_retrievals\":[{\"user\":\"Storj\",\"when\":\"2023-10-19T12:54:40.418932461+02:00\"}]}]") as DocsGetResponse;
|
|
}
|
|
|
|
public async getOne(path: string): Promise<Document> {
|
|
if (this.respStatusCode != 0) {
|
|
throw new APIError('mock error message: ' + this.respStatusCode, this.respStatusCode);
|
|
}
|
|
|
|
return JSON.parse("{\"id\":\"00000000-0000-0000-0000-000000000000\",\"date\":\"2023-10-18T13:54:40.418935224+02:00\",\"pathParam\":\"ID\",\"body\":\"## Notes\",\"version\":{\"date\":\"2023-10-19T13:24:40.418935292+02:00\",\"number\":1}}") as Document;
|
|
}
|
|
|
|
public async getTag(path: string, tagName: string): Promise<string[]> {
|
|
if (this.respStatusCode != 0) {
|
|
throw new APIError('mock error message: ' + this.respStatusCode, this.respStatusCode);
|
|
}
|
|
|
|
return JSON.parse("[\"category\",\"notes\"]") as string[];
|
|
}
|
|
|
|
public async getVersions(path: string): Promise<Version[]> {
|
|
if (this.respStatusCode != 0) {
|
|
throw new APIError('mock error message: ' + this.respStatusCode, this.respStatusCode);
|
|
}
|
|
|
|
return JSON.parse("[{\"date\":\"2023-10-04T13:54:40.418937913+02:00\",\"number\":1},{\"date\":\"2023-10-19T08:54:40.418937979+02:00\",\"number\":2}]") as Version[];
|
|
}
|
|
|
|
public async updateContent(request: DocsUpdateContentRequest, path: string, id: UUID, date: Time): Promise<DocsUpdateContentResponse> {
|
|
if (this.respStatusCode != 0) {
|
|
throw new APIError('mock error message: ' + this.respStatusCode, this.respStatusCode);
|
|
}
|
|
|
|
return JSON.parse("{\"id\":\"00000000-0000-0000-0000-000000000000\",\"date\":\"2023-10-19T13:54:40.418939503+02:00\",\"pathParam\":\"ID\",\"body\":\"## Notes\\n### General\"}") as DocsUpdateContentResponse;
|
|
}
|
|
}
|
|
|
|
export class UsersHttpApiV0 {
|
|
public readonly respStatusCode: number;
|
|
|
|
// When respStatuscode is passed, the client throws an APIError on each method call
|
|
// with respStatusCode as HTTP status code.
|
|
// respStatuscode must be equal or greater than 400
|
|
constructor(respStatusCode?: number) {
|
|
if (typeof respStatusCode === 'undefined') {
|
|
this.respStatusCode = 0;
|
|
return;
|
|
}
|
|
|
|
if (respStatusCode < 400) {
|
|
throw new Error('invalid response status code for API Error, it must be greater or equal than 400');
|
|
}
|
|
|
|
this.respStatusCode = respStatusCode;
|
|
}
|
|
|
|
public async get(): Promise<UsersGetResponse> {
|
|
if (this.respStatusCode != 0) {
|
|
throw new APIError('mock error message: ' + this.respStatusCode, this.respStatusCode);
|
|
}
|
|
|
|
return JSON.parse("[{\"name\":\"Storj\",\"surname\":\"Labs\",\"email\":\"storj@storj.test\"},{\"name\":\"Test1\",\"surname\":\"Testing\",\"email\":\"test1@example.test\"},{\"name\":\"Test2\",\"surname\":\"Testing\",\"email\":\"test2@example.test\"}]") as UsersGetResponse;
|
|
}
|
|
|
|
public async create(request: UsersCreateRequest): Promise<void> {
|
|
if (this.respStatusCode != 0) {
|
|
throw new APIError('mock error message: ' + this.respStatusCode, this.respStatusCode);
|
|
}
|
|
|
|
return;
|
|
}
|
|
}
|