import type { IRequestAdapter } from '~/interfaces/adapter' import type { IController } from '~/interfaces/controller' import type { IRequestHandler } from '~/interfaces/request' import type { HTTPClient } from '../core' import { autoBind } from '~/utils/auto-bind' declare module '../core/client' { interface HTTPClient< T extends IRequestAdapter = IRequestAdapter, ResponseWrapper = unknown, > { snippet: SnippetController } } export class SnippetController implements IController { base = 'snippets' name = 'snippet' constructor(protected client: HTTPClient) { autoBind(this) } get proxy(): IRequestHandler { return this.client.proxy(this.base) } // getById(id: string) { // return this.proxy(id).get>() // } getByReferenceAndName(reference: string, name: string) { return this.proxy(reference)(name).get() } }