import { getDefaultClient } from '../../factory' import type { DeveloperClientCreateReqVO, DeveloperClientCreateRespVO, DeveloperClientUpdateReqVO, DeveloperClientUpdateRespVO, DeveloperClientQueryRespVO, DeveloperClientGetRespVO, DeveloperClientSecretCreateRespVO, DeveloperClientSecretListRespVO, DeveloperHookletCreateReqVO, DeveloperHookletCreateRespVO, DeveloperHookletUpdateReqVO, DeveloperHookletUpdateRespVO, DeveloperHookletQueryRespVO, DeveloperHookletGetRespVO } from '../../types/developer' // @endpoint GET /developer/clients // @controller Developer.ClientQuery export async function queryDeveloperClients(): Promise { return getDefaultClient().get('/developer/clients') } // @endpoint POST /developer/clients // @controller Developer.ClientCreate export async function createDeveloperClient( data: DeveloperClientCreateReqVO ): Promise { return getDefaultClient().post('/developer/clients', data) } // @endpoint GET /developer/clients/:hash_id // @controller Developer.ClientGet export async function getDeveloperClient( hashId: string ): Promise { return getDefaultClient().get(`/developer/clients/${hashId}`) } // @endpoint PUT /developer/clients/:hash_id // @controller Developer.ClientUpdate export async function updateDeveloperClient( hashId: string, data: DeveloperClientUpdateReqVO ): Promise { return getDefaultClient().put(`/developer/clients/${hashId}`, data) } // @endpoint DELETE /developer/clients/:hash_id // @controller Developer.ClientDelete export async function deleteDeveloperClient(hashId: string): Promise { return getDefaultClient().delete(`/developer/clients/${hashId}`) } // @endpoint POST /developer/clients/:hash_id/secrets // @controller Developer.ClientSecretCreate export async function createDeveloperClientSecret( hashId: string ): Promise { return getDefaultClient().post(`/developer/clients/${hashId}/secrets`) } // @endpoint GET /developer/clients/:hash_id/secrets // @controller Developer.ClientSecretList export async function listDeveloperClientSecrets( hashId: string ): Promise { return getDefaultClient().get(`/developer/clients/${hashId}/secrets`) } // @endpoint DELETE /developer/clients/:hash_id/secrets/:secret_id // @controller Developer.ClientSecretRevoke export async function revokeDeveloperClientSecret( hashId: string, secretId: number ): Promise { return getDefaultClient().delete(`/developer/clients/${hashId}/secrets/${secretId}`) } // ==================== Client 嵌套的 Hooklet endpoints ==================== // @endpoint GET /developer/clients/:client_hash_id/hooklets // @controller Developer.ClientHookletQuery export async function queryClientHooklets( clientHashId: string ): Promise { return getDefaultClient().get(`/developer/clients/${clientHashId}/hooklets`) } // @endpoint POST /developer/clients/:client_hash_id/hooklets // @controller Developer.ClientHookletCreate export async function createClientHooklet( clientHashId: string, data: DeveloperHookletCreateReqVO ): Promise { return getDefaultClient().post(`/developer/clients/${clientHashId}/hooklets`, data) } // @endpoint GET /developer/clients/:client_hash_id/hooklets/:hash_id // @controller Developer.ClientHookletGet export async function getClientHooklet( clientHashId: string, hookletHashId: string ): Promise { return getDefaultClient().get(`/developer/clients/${clientHashId}/hooklets/${hookletHashId}`) } // @endpoint PUT /developer/clients/:client_hash_id/hooklets/:hash_id // @controller Developer.ClientHookletUpdate export async function updateClientHooklet( clientHashId: string, hookletHashId: string, data: DeveloperHookletUpdateReqVO ): Promise { return getDefaultClient().put(`/developer/clients/${clientHashId}/hooklets/${hookletHashId}`, data) } // @endpoint DELETE /developer/clients/:client_hash_id/hooklets/:hash_id // @controller Developer.ClientHookletDelete export async function deleteClientHooklet( clientHashId: string, hookletHashId: string ): Promise { return getDefaultClient().delete(`/developer/clients/${clientHashId}/hooklets/${hookletHashId}`) }