mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-26 18:31:52 +00:00
* update actions response types and partially implement in UI * further remove diagnostic ui * convert action response nested to array * prepare action res modal for Alex * ad dproperties action for Bitcoin * feat: add action success dialog (#2753) * feat: add action success dialog * mocks for string action res and hide properties from actions page --------- Co-authored-by: Matt Hill <mattnine@protonmail.com> * return null * remove properties from backend * misc fixes * make severity separate argument * rename ActionRequest to ActionRequestOptions * add clearRequests * fix s9pk build * remove config and properties, introduce action requests * better ux, better moocks, include icons * fix dependency types * add variant for versionCompat * fix dep icon display and patch operation display * misc fixes * misc fixes * alpha 12 * honor provided input to set values in action * fix: show full descriptions of action success items (#2758) * fix type * fix: fix build:deps command on Windows (#2752) * fix: fix build:deps command on Windows * fix: add escaped quotes --------- Co-authored-by: Aiden McClelland <me@drbonez.dev> * misc db compatibility fixes --------- Co-authored-by: Alex Inkin <alexander@inkin.ru> Co-authored-by: Aiden McClelland <me@drbonez.dev> Co-authored-by: Aiden McClelland <3732071+dr-bonez@users.noreply.github.com>
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { Backups } from "./Backups"
|
|
import * as T from "../../../base/lib/types"
|
|
import { _ } from "../util"
|
|
|
|
export type SetupBackupsParams<M extends T.SDKManifest> =
|
|
| M["volumes"][number][]
|
|
| ((_: { effects: T.Effects }) => Promise<Backups<M>>)
|
|
|
|
type SetupBackupsRes = {
|
|
createBackup: T.ExpectedExports.createBackup
|
|
restoreBackup: T.ExpectedExports.restoreBackup
|
|
}
|
|
|
|
export function setupBackups<M extends T.SDKManifest>(
|
|
options: SetupBackupsParams<M>,
|
|
) {
|
|
let backupsFactory: (_: { effects: T.Effects }) => Promise<Backups<M>>
|
|
if (options instanceof Function) {
|
|
backupsFactory = options
|
|
} else {
|
|
backupsFactory = async () => Backups.withVolumes(...options)
|
|
}
|
|
const answer: {
|
|
createBackup: T.ExpectedExports.createBackup
|
|
restoreBackup: T.ExpectedExports.restoreBackup
|
|
} = {
|
|
get createBackup() {
|
|
return (async (options) => {
|
|
return (await backupsFactory(options)).createBackup()
|
|
}) as T.ExpectedExports.createBackup
|
|
},
|
|
get restoreBackup() {
|
|
return (async (options) => {
|
|
return (await backupsFactory(options)).restoreBackup()
|
|
}) as T.ExpectedExports.restoreBackup
|
|
},
|
|
}
|
|
return answer
|
|
}
|