feat: add new page and update
ci-web / test (push) Canceled after 4m40s

This commit is contained in:
Nuxgrid
2026-08-01 23:27:22 +02:00
parent 5d2a132c3c
commit cb966fcaf0
7 changed files with 319 additions and 71 deletions
+19 -3
View File
@@ -72,6 +72,17 @@ export interface Demo {
expires_at: string
}
export type StorageDriver = 'local' | 's3'
export interface CreateDemoParams {
username: string
leadId?: string
telegramBotToken?: string
storageDriver: StorageDriver
s3Bucket?: string
s3Endpoint?: string
}
export interface CodeBuySub {
id: string
username: string
@@ -151,10 +162,15 @@ export const api = {
listDemos: () => request<{ items: Demo[] }>('GET', '/demos'),
listMyDemos: () => request<{ items: Demo[] }>('GET', '/demos/mine'),
getDemo: (id: string) => request<Demo>('GET', `/demos/${id}`),
createDemo: (username: string, leadId?: string) =>
createDemo: (params: CreateDemoParams) =>
request<Demo>('POST', '/demos', {
username,
...(leadId ? { lead_id: leadId } : {}),
username: params.username,
...(params.leadId ? { lead_id: params.leadId } : {}),
...(params.telegramBotToken ? { telegram_bot_token: params.telegramBotToken } : {}),
storage_driver: params.storageDriver,
...(params.storageDriver === 's3'
? { s3_bucket: params.s3Bucket, s3_endpoint: params.s3Endpoint }
: {}),
}),
extendDemo: (id: string) => request<Demo>('POST', `/demos/${id}/extend`),
deleteDemo: (id: string) => request<Demo>('DELETE', `/demos/${id}`),