import http from '@/api'; import { ReqPage, ResPage } from '../interface'; import { Website } from '../interface/website'; import { File } from '../interface/file'; import { TimeoutEnum } from '@/enums/http-enum'; import { deepCopy } from '@/utils/util'; import { Base64 } from 'js-base64'; export const SearchWebsites = (req: Website.WebSiteSearch) => { return http.post>(`/websites/search`, req); }; export const ListWebsites = () => { return http.get(`/websites/list`); }; export const CreateWebsite = (req: Website.WebSiteCreateReq) => { let request = deepCopy(req) as Website.WebSiteCreateReq; if (request.ftpPassword) { request.ftpPassword = Base64.encode(request.ftpPassword); } return http.post(`/websites`, request, TimeoutEnum.T_10M); }; export const OpWebsite = (req: Website.WebSiteOp) => { return http.post(`/websites/operate`, req); }; export const OpWebsiteLog = (req: Website.WebSiteOpLog) => { return http.post(`/websites/log`, req); }; export const UpdateWebsite = (req: Website.WebSiteUpdateReq) => { return http.post(`/websites/update`, req); }; export const GetWebsite = (id: number) => { return http.get(`/websites/${id}`); }; export const GetWebsiteOptions = (req: Website.OptionReq) => { return http.post(`/websites/options`, req); }; export const GetWebsiteConfig = (id: number, type: string) => { return http.get(`/websites/${id}/config/${type}`); }; export const DeleteWebsite = (req: Website.WebSiteDel) => { return http.post(`/websites/del`, req); }; export const ListDomains = (id: number) => { return http.get(`/websites/domains/${id}`); }; export const DeleteDomain = (req: Website.DomainDelete) => { return http.post(`/websites/domains/del/`, req); }; export const CreateDomain = (req: Website.DomainCreate) => { return http.post(`/websites/domains`, req); }; export const UpdateDomain = (req: Website.DomainUpdate) => { return http.post(`/websites/domains/update`, req); }; export const GetNginxConfig = (req: Website.NginxScopeReq) => { return http.post(`/websites/config`, req); }; export const UpdateNginxConfig = (req: Website.NginxConfigReq) => { return http.post(`/websites/config/update`, req); }; export const SearchDnsAccount = (req: ReqPage) => { return http.post>(`/websites/dns/search`, req); }; export const CreateDnsAccount = (req: Website.DnsAccountCreate) => { return http.post(`/websites/dns`, req); }; export const UpdateDnsAccount = (req: Website.DnsAccountUpdate) => { return http.post(`/websites/dns/update`, req); }; export const DeleteDnsAccount = (req: Website.DelReq) => { return http.post(`/websites/dns/del`, req); }; export const SearchAcmeAccount = (req: ReqPage) => { return http.post>(`/websites/acme/search`, req); }; export const CreateAcmeAccount = (req: Website.AcmeAccountCreate) => { return http.post(`/websites/acme`, req, TimeoutEnum.T_10M); }; export const DeleteAcmeAccount = (req: Website.DelReq) => { return http.post(`/websites/acme/del`, req); }; export const SearchSSL = (req: ReqPage) => { return http.post>(`/websites/ssl/search`, req); }; export const ListSSL = (req: Website.SSLReq) => { return http.post(`/websites/ssl/search`, req); }; export const CreateSSL = (req: Website.SSLCreate) => { return http.post(`/websites/ssl`, req, TimeoutEnum.T_10M); }; export const DeleteSSL = (req: Website.DelReq) => { return http.post(`/websites/ssl/del`, req); }; export const GetWebsiteSSL = (websiteId: number) => { return http.get(`/websites/ssl/website/${websiteId}`); }; export const GetSSL = (id: number) => { return http.get(`/websites/ssl/${id}`); }; export const ApplySSL = (req: Website.SSLApply) => { return http.post(`/websites/ssl/apply`, req); }; export const ObtainSSL = (req: Website.SSLObtain) => { return http.post(`/websites/ssl/obtain`, req); }; export const UpdateSSL = (req: Website.SSLUpdate) => { return http.post(`/websites/ssl/update`, req); }; export const GetDnsResolve = (req: Website.DNSResolveReq) => { return http.post(`/websites/ssl/resolve`, req, TimeoutEnum.T_5M); }; export const GetHTTPSConfig = (id: number) => { return http.get(`/websites/${id}/https`); }; export const UpdateHTTPSConfig = (req: Website.HTTPSReq) => { return http.post(`/websites/${req.websiteId}/https`, req); }; export const PreCheck = (req: Website.CheckReq) => { return http.post(`/websites/check`, req); }; export const UpdateNginxFile = (req: Website.NginxUpdate) => { return http.post(`/websites/nginx/update`, req); }; export const ChangeDefaultServer = (req: Website.DefaultServerUpdate) => { return http.post(`/websites/default/server`, req); }; export const GetRewriteConfig = (req: Website.RewriteReq) => { return http.post(`/websites/rewrite`, req); }; export const UpdateRewriteConfig = (req: Website.RewriteUpdate) => { return http.post(`/websites/rewrite/update`, req); }; export const UpdateWebsiteDir = (req: Website.DirUpdate) => { return http.post(`/websites/dir/update`, req); }; export const UpdateWebsiteDirPermission = (req: Website.DirPermissionUpdate) => { return http.post(`/websites/dir/permission`, req); }; export const GetProxyConfig = (req: Website.ProxyReq) => { return http.post(`/websites/proxies`, req); }; export const OperateProxyConfig = (req: Website.ProxyReq) => { return http.post(`/websites/proxies/update`, req); }; export const UpdateProxyConfigFile = (req: Website.ProxyFileUpdate) => { return http.post(`/websites/proxies/file`, req); }; export const GetAuthConfig = (req: Website.AuthReq) => { return http.post(`/websites/auths`, req); }; export const OperateAuthConfig = (req: Website.NginxAuthConfig) => { return http.post(`/websites/auths/update`, req); }; export const GetPathAuthConfig = (req: Website.AuthReq) => { return http.post(`/websites/auths/path`, req); }; export const OperatePathAuthConfig = (req: Website.NginxPathAuthConfig) => { return http.post(`/websites/auths/path/update`, req); }; export const GetAntiLeech = (req: Website.LeechReq) => { return http.post(`/websites/leech`, req); }; export const UpdateAntiLeech = (req: Website.LeechConfig) => { return http.post(`/websites/leech/update`, req); }; export const GetRedirectConfig = (req: Website.WebsiteReq) => { return http.post(`/websites/redirect`, req); }; export const OperateRedirectConfig = (req: Website.WebsiteReq) => { return http.post(`/websites/redirect/update`, req); }; export const UpdateRedirectConfigFile = (req: Website.RedirectFileUpdate) => { return http.post(`/websites/redirect/file`, req); }; export const ChangePHPVersion = (req: Website.PHPVersionChange) => { return http.post(`/websites/php/version`, req); }; export const GetDirConfig = (req: Website.ProxyReq) => { return http.post(`/websites/dir`, req); }; export const UploadSSL = (req: Website.SSLUpload) => { return http.post(`/websites/ssl/upload`, req); }; export const SearchCAs = (req: ReqPage) => { return http.post>(`/websites/ca/search`, req); }; export const CreateCA = (req: Website.CACreate) => { return http.post(`/websites/ca`, req); }; export const ObtainSSLByCA = (req: Website.SSLObtainByCA) => { return http.post(`/websites/ca/obtain`, req); }; export const DeleteCA = (req: Website.DelReq) => { return http.post(`/websites/ca/del`, req); }; export const RenewSSLByCA = (req: Website.RenewSSLByCA) => { return http.post(`/websites/ca/renew`, req); }; export const DownloadFile = (params: Website.SSLDownload) => { return http.download(`/websites/ssl/download`, params, { responseType: 'blob', timeout: TimeoutEnum.T_40S, }); }; export const GetCA = (id: number) => { return http.get(`/websites/ca/${id}`); }; export const GetDefaultHtml = (type: string) => { return http.get(`/websites/default/html/${type}`); }; export const UpdateDefaultHtml = (req: Website.WebsiteHtmlUpdate) => { return http.post(`/websites/default/html/update`, req); }; export const DownloadCAFile = (params: Website.SSLDownload) => { return http.download(`/websites/ca/download`, params, { responseType: 'blob', timeout: TimeoutEnum.T_40S, }); }; export const GetLoadBalances = (id: number) => { return http.get(`/websites/${id}/lbs`); }; export const CreateLoadBalance = (req: Website.LoadBalanceReq) => { return http.post(`/websites/lbs/create`, req); }; export const DeleteLoadBalance = (req: Website.LoadBalanceDel) => { return http.post(`/websites/lbs/del`, req); }; export const UpdateLoadBalance = (req: Website.LoadBalanceReq) => { return http.post(`/websites/lbs/update`, req); }; export const UpdateLoadBalanceFile = (req: Website.WebsiteLBUpdateFile) => { return http.post(`/websites/lbs/file`, req); }; export const UpdateCacheConfig = (req: Website.WebsiteCacheConfig) => { return http.post(`/websites/proxy/config`, req); }; export const GetCacheConfig = (id: number) => { return http.get(`/websites/proxy/config/${id}`); }; export const UpdateRealIPConfig = (req: Website.WebsiteRealIPConfig) => { return http.post(`/websites/realip/config`, req); }; export const GetRealIPConfig = (id: number) => { return http.get(`/websites/realip/config/${id}`); }; export const GetWebsiteResource = (id: number) => { return http.get(`/websites/resource/${id}`); }; export const GetWebsiteDatabase = () => { return http.get(`/websites/databases`); }; export const ChangeDatabase = (req: Website.ChangeDatabase) => { return http.post(`/websites/databases`, req); }; export const OperateCustomRewrite = (req: Website.CustomRewirte) => { return http.post(`/websites/rewrite/custom`, req); }; export const ListCustomRewrite = () => { return http.get(`/websites/rewrite/custom`); };