1
0
Fork 0
mirror of synced 2024-05-17 02:42:53 +12:00
budibase/packages/types/src/documents/app/app.ts
Gerard Burns d9033b2636
Un-revert Skeleton Loader PR (#13180)
* wip

* wip

* wip

* client versions init

* wip

* wip

* wip

* wip

* wip

* linting

* remove log

* comment client version script

* lint

* skeleton loader type fix

* fix types

* lint

* fix types again

* fix manifest not being served locally

* remove preinstalled old client version

* add constant for dev client version

* linting

* Dean PR Feedback

* linting

* pr feedback

* wip

* wip

* clientVersions empty array

* delete from git

* empty array again

* fix tests

* pr feedback

---------

Co-authored-by: Andrew Kingston <andrew@kingston.dev>
2024-03-25 16:39:42 +00:00

80 lines
1.6 KiB
TypeScript

import { User, Document, Plugin, Snippet } from "../"
import { SocketSession } from "../../sdk"
export type AppMetadataErrors = { [key: string]: string[] }
export interface App extends Document {
appId: string
type: string
version: string
componentLibraries: string[]
name: string
url: string | undefined
template: string | undefined
instance: AppInstance
tenantId: string
status: string
theme?: string
customTheme?: AppCustomTheme
revertableVersion?: string
lockedBy?: User
sessions?: SocketSession[]
navigation?: AppNavigation
automationErrors?: AppMetadataErrors
icon?: AppIcon
features?: AppFeatures
automations?: AutomationSettings
usedPlugins?: Plugin[]
upgradableVersion?: string
snippets?: Snippet[]
}
export interface AppInstance {
_id: string
}
export interface AppNavigation {
navigation: string
title: string
navWidth: string
sticky?: boolean
hideLogo?: boolean
logoUrl?: string
hideTitle?: boolean
navBackground?: string
navTextColor?: string
links?: AppNavigationLink[]
}
export interface AppNavigationLink {
text: string
url: string
id?: string
roleId?: string
}
export interface AppCustomTheme {
buttonBorderRadius?: string
primaryColor?: string
primaryColorHover?: string
// Used to exist before new design UI
navTextColor?: string
navBackground?: string
}
export interface AppIcon {
name: string
color: string
}
export interface AppFeatures {
componentValidation?: boolean
disableUserMetadata?: boolean
skeletonLoader?: boolean
}
export interface AutomationSettings {
chainAutomations?: boolean
}