Update AI and analytics endpoints to TS
This commit is contained in:
parent
d50df9a650
commit
1e535d36b7
|
@ -98,9 +98,7 @@
|
|||
async function generateAICronExpression() {
|
||||
loadingAICronExpression = true
|
||||
try {
|
||||
const response = await API.generateCronExpression({
|
||||
prompt: aiCronPrompt,
|
||||
})
|
||||
const response = await API.generateCronExpression(aiCronPrompt)
|
||||
cronExpression = response.message
|
||||
dispatch("change", response.message)
|
||||
} catch (err) {
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
export const buildAIEndpoints = API => ({
|
||||
/**
|
||||
* Generates a cron expression from a prompt
|
||||
*/
|
||||
generateCronExpression: async ({ prompt }) => {
|
||||
return await API.post({
|
||||
url: "/api/ai/cron",
|
||||
body: { prompt },
|
||||
})
|
||||
},
|
||||
})
|
|
@ -0,0 +1,17 @@
|
|||
import { BaseAPIClient } from "./types"
|
||||
|
||||
export interface AIEndpoints {
|
||||
generateCronExpression: (prompt: string) => Promise<{ message: string }>
|
||||
}
|
||||
|
||||
export const buildAIEndpoints = (API: BaseAPIClient): AIEndpoints => ({
|
||||
/**
|
||||
* Generates a cron expression from a prompt
|
||||
*/
|
||||
generateCronExpression: async (prompt: string) => {
|
||||
return await API.post({
|
||||
url: "/api/ai/cron",
|
||||
body: { prompt },
|
||||
})
|
||||
},
|
||||
})
|
|
@ -1,17 +0,0 @@
|
|||
export const buildAnalyticsEndpoints = API => ({
|
||||
/**
|
||||
* Gets the current status of analytics for this environment
|
||||
*/
|
||||
getAnalyticsStatus: async () => {
|
||||
return await API.get({
|
||||
url: "/api/bbtel",
|
||||
})
|
||||
},
|
||||
analyticsPing: async ({ source, embedded }) => {
|
||||
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone
|
||||
return await API.post({
|
||||
url: "/api/bbtel/ping",
|
||||
body: { source, timezone, embedded },
|
||||
})
|
||||
},
|
||||
})
|
|
@ -0,0 +1,34 @@
|
|||
import { BaseAPIClient } from "./types"
|
||||
|
||||
type AnalyticsPingRequest = {
|
||||
source?: string
|
||||
embedded?: boolean
|
||||
}
|
||||
|
||||
export interface AnalyticsEndpoints {
|
||||
getAnalyticsStatus: () => Promise<{ enabled: boolean }>
|
||||
analyticsPing: (payload: AnalyticsPingRequest) => Promise<void>
|
||||
}
|
||||
|
||||
export const buildAnalyticsEndpoints = (
|
||||
API: BaseAPIClient
|
||||
): AnalyticsEndpoints => ({
|
||||
/**
|
||||
* Gets the current status of analytics for this environment
|
||||
*/
|
||||
getAnalyticsStatus: async () => {
|
||||
return await API.get({
|
||||
url: "/api/bbtel",
|
||||
})
|
||||
},
|
||||
/**
|
||||
* Notifies analytics of a certain environment
|
||||
*/
|
||||
analyticsPing: async (payload: AnalyticsPingRequest) => {
|
||||
const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone
|
||||
return await API.post({
|
||||
url: "/api/bbtel/ping",
|
||||
body: { source: payload.source, embedded: payload.embedded, timezone },
|
||||
})
|
||||
},
|
||||
})
|
|
@ -11,7 +11,7 @@ import {
|
|||
UpdateAppResponse,
|
||||
} from "@budibase/types"
|
||||
|
||||
export type AppEndpoints = {
|
||||
export interface AppEndpoints {
|
||||
fetchAppPackage: (appId: string) => Promise<FetchAppPackageResponse>
|
||||
saveAppMetadata: (
|
||||
appId: string,
|
||||
|
@ -40,7 +40,7 @@ export type AppEndpoints = {
|
|||
) => Promise<App>
|
||||
addSampleData: (appId: string) => Promise<void>
|
||||
|
||||
// Untyped - TODO:
|
||||
// TODO
|
||||
publishAppChanges: (appId: string) => Promise<any>
|
||||
revertAppChanges: (appId: string) => Promise<any>
|
||||
updateAppClientVersion: (appId: string) => Promise<any>
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import { AIEndpoints } from "./ai"
|
||||
import { AnalyticsEndpoints } from "./analytics"
|
||||
import { AppEndpoints } from "./app"
|
||||
|
||||
export enum HTTPMethod {
|
||||
|
@ -41,4 +43,7 @@ export type BaseAPIClient = {
|
|||
getAppID: () => string
|
||||
}
|
||||
|
||||
export type APIClient = BaseAPIClient & AppEndpoints & { [key: string]: any }
|
||||
export type APIClient = BaseAPIClient &
|
||||
AIEndpoints &
|
||||
AnalyticsEndpoints &
|
||||
AppEndpoints & { [key: string]: any }
|
||||
|
|
Loading…
Reference in New Issue