chore: refactor api endpoints (#339)

* move typegen code

* update taskfile to fix code-gen caches and use 'dir' attribute

* enable dumping stack traces for errors

* log request start and stop

* set zerolog stack handler

* fix routes function

* refactor context adapters to use requests directly

* change some method signatures to support GID

* start requiring validation tags

* first pass on updating handlers to use adapters

* add errs package

* code gen

* tidy

* rework API to use external server package
This commit is contained in:
Hayden 2023-03-20 20:32:10 -08:00 committed by GitHub
parent 184b494fc3
commit db80f8a159
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
56 changed files with 806 additions and 1947 deletions

View file

@ -10,6 +10,11 @@
* ---------------------------------------------------------------
*/
export interface MidErrorResponse {
error: string;
fields: Record<string, string>;
}
export interface DocumentOut {
id: string;
path: string;
@ -52,10 +57,18 @@ export interface ItemAttachmentUpdate {
}
export interface ItemCreate {
/**
* @minLength 1
* @maxLength 1000
*/
description: string;
labelIds: string[];
/** Edges */
locationId: string;
/**
* @minLength 1
* @maxLength 255
*/
name: string;
parentId: string | null;
}
@ -164,7 +177,12 @@ export interface ItemUpdate {
export interface LabelCreate {
color: string;
/** @maxLength 255 */
description: string;
/**
* @minLength 1
* @maxLength 255
*/
name: string;
}
@ -346,22 +364,6 @@ export interface ValueOverTimeEntry {
value: number;
}
export interface ServerErrorResponse {
error: string;
fields: Record<string, string>;
}
export interface ServerResult {
details: any;
error: boolean;
item: any;
message: string;
}
export interface ServerResults {
items: any;
}
export interface UserRegistration {
email: string;
name: string;
@ -402,6 +404,10 @@ export interface GroupInvitation {
export interface GroupInvitationCreate {
expiresAt: Date | string;
/**
* @min 1
* @max 100
*/
uses: number;
}
@ -414,3 +420,7 @@ export interface TokenResponse {
expiresAt: Date | string;
token: string;
}
export interface Wrapped {
item: any;
}