stream.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. import type { EnvGroup } from './env_group'
  2. import type { NgxConfig } from '@/api/ngx'
  3. import type { ChatComplicationMessage } from '@/api/openai'
  4. import type { ProxyTarget, SiteStatus } from '@/api/site'
  5. import { extendCurdApi, http, useCurdApi } from '@uozi-admin/request'
  6. export interface Stream {
  7. modified_at: string
  8. advanced: boolean
  9. status: SiteStatus
  10. name: string
  11. filepath: string
  12. config: string
  13. chatgpt_messages: ChatComplicationMessage[]
  14. tokenized?: NgxConfig
  15. env_group_id: number
  16. env_group?: EnvGroup
  17. sync_node_ids: number[]
  18. proxy_targets?: ProxyTarget[]
  19. }
  20. const baseUrl = '/streams'
  21. const stream = extendCurdApi(useCurdApi<Stream>(baseUrl), {
  22. enable: (name: string) => http.post(`${baseUrl}/${encodeURIComponent(name)}/enable`),
  23. disable: (name: string) => http.post(`${baseUrl}/${encodeURIComponent(name)}/disable`),
  24. duplicate: (name: string, data: { name: string }) => http.post(`${baseUrl}/${encodeURIComponent(name)}/duplicate`, data),
  25. advance_mode: (name: string, data: { advanced: boolean }) => http.post(`${baseUrl}/${encodeURIComponent(name)}/advance`, data),
  26. rename: (name: string, newName: string) => http.post(`${baseUrl}/${encodeURIComponent(name)}/rename`, { new_name: newName }),
  27. })
  28. export default stream