fcc5d99d40
* add vitest * initialize lib w/ tests * move to dev dep * run tests in CI * update file names * move api folder to lib * move api and api types to same folder * update generator outpath * rm husky * i guess i _did_ need those types * reorg types * extract validators into testable components * (WIP) start composable testing * fix import type * fix linter complaint * simplify icon type def * fix linter errors (maybe?) * rename client file for sorting
29 lines
1,013 B
TypeScript
29 lines
1,013 B
TypeScript
import { BaseAPI } from "../base/base-clients";
|
|
import { ValidationResponse } from "~/lib/api/types/response";
|
|
|
|
const prefix = "/api";
|
|
|
|
const routes = {
|
|
group: (name: string) => `${prefix}/validators/group?name=${name}`,
|
|
user: (name: string) => `${prefix}/validators/user/name?name=${name}`,
|
|
email: (name: string) => `${prefix}/validators/user/email?email=${name}`,
|
|
recipe: (groupId: string, name: string) => `${prefix}/validators/group/recipe?group_id=${groupId}?name=${name}`,
|
|
};
|
|
|
|
export class ValidatorsApi extends BaseAPI {
|
|
async group(name: string) {
|
|
return await this.requests.get<ValidationResponse>(routes.group(name));
|
|
}
|
|
|
|
async username(name: string) {
|
|
return await this.requests.get<ValidationResponse>(routes.user(name));
|
|
}
|
|
|
|
async email(email: string) {
|
|
return await this.requests.get<ValidationResponse>(routes.email(email));
|
|
}
|
|
|
|
async recipe(groupId: string, name: string) {
|
|
return await this.requests.get<ValidationResponse>(routes.recipe(groupId, name));
|
|
}
|
|
}
|