import { createCURD } from '@/service/base.ts' import { WebSite } from '@/types' import request from '@/request.ts' import { IWebsiteDomain, INameServer } from '@/types/website/domain' import { IWebsiteDnsRecords } from '@/types/website/record' import { IWebsiteDnsAccount } from '@/types/website/dns_account' const websitesServ = { ssl: { ...createCURD('/website/ssl'), upload: async (params: WebSite.SSLUploadDto) => { return request.post('/website/ssl/upload', params) }, download: async (params: any) => { return request.download('/website/ssl/download', params) }, }, acme: { ...createCURD('/website/acme') }, dns: { ...createCURD('/website/dns_account'), sync: async (id: any) => { return request.post('/website/dns_account/sync', { id: id }) } }, ca: { ...createCURD('/website/ca'), obtainSsl: async (params: WebSite.ISSLObtainByCA) => { return request.post('/website/ca/obtain_ssl', params) }, }, domain: { ...createCURD('/website/domain'), //remark remark: async (params: { id: string, remark: string }) => { return request.post('/website/domain/remark', params) }, //tag tag: async (params: { id: string, tags: string}) => { return request.post('/website/domain/tag', params) }, //binding binding: async (params: { id:string , user_id: string }) => { return request.post('/website/domain/binding', params) }, //group group: async (params: { id: string[], group_id: string }) => { return request.post('/website/domain/group', params) }, describeDomainNS: async (params: { id: number }) => { return request.post('/website/domain/describe_domain_ns', params) }, }, record: { ...createCURD('/website/dns_records'), // }, dnsAccount: { ...createCURD('/website/dns_account'), sync: async (params: IWebsiteDnsAccount) => { return request.post('/website/dns_account/sync', params) } }, } export default websitesServ