import { ReqPage } from '.'; export namespace Cronjob { export interface Search extends ReqPage { info: string; groupIDs: Array; orderBy?: string; order?: string; } export interface CronjobInfo { id: number; name: string; type: string; groupID: number; specCustom: boolean; spec: string; specs: Array; specObjs: Array; executor: string; isExecutorCustom: boolean; script: string; scriptMode: string; isCustom: boolean; command: string; inContainer: boolean; containerName: string; user: string; scriptID: number; appID: string; website: string; exclusionRules: string; ignoreFiles: Array; dbType: string; dbName: string; url: string; urlItems: Array; isDir: boolean; files: Array; sourceDir: string; snapshotRule: snapshotRule; ignoreAppIDs: Array; withImage: boolean; websiteList: Array; appIdList: Array; dbNameList: Array; sourceAccounts: Array; downloadAccount: string; sourceAccountIDs: string; downloadAccountID: number; sourceAccountItems: Array; retainCopies: number; ignoreErr: boolean; retryTimes: number; timeout: number; timeoutItem: number; timeoutUnit: string; status: string; secret: string; hasAlert: boolean; alertCount: number; alertTitle: string; alertMethod: string; alertMethodItems: Array; scopes: string[]; } export interface Item { val: string; } export interface CronjobOperate { id: number; name: string; groupID: number; type: string; specCustom: boolean; spec: string; specs: Array; specObjs: Array; scriptID: number; appID: string; website: string; exclusionRules: string; dbType: string; dbName: string; url: string; isDir: boolean; sourceDir: string; snapshotRule: snapshotRule; //shell executor: string; scriptMode: string; script: string; command: string; containerName: string; user: string; sourceAccountIDs: string; downloadAccountID: number; retainCopies: number; retryTimes: number; timeout: number; ignoreErr: boolean; secret: string; alertCount: number; alertTitle: string; alertMethod: string; scopes?: string[]; } export interface CronjobTrans { name: string; type: string; specCustom: boolean; spec: string; group: string; executor: string; scriptMode: string; script: string; command: string; containerName: string; user: string; url: string; scriptName: string; apps: Array; websites: Array; dbType: string; dbNames: Array; exclusionRules: string; isDir: boolean; sourceDir: string; retainCopies: number; retryTimes: number; timeout: number; ignoreErr: boolean; snapshotRule: string; secret: string; sourceAccounts: Array; downloadAccount: string; alertCount: number; } export interface TransHelper { name: string; detailName: string; } export interface snapshotTransHelper { withImage: boolean; ignoreApps: Array; } export interface snapshotRule { withImage: boolean; ignoreAppIDs: Array; } export interface SpecObj { specType: string; week: number; day: number; hour: number; minute: number; second: number; } export interface CronjobDelete { ids: Array; cleanData: boolean; cleanRemoteData: boolean; } export interface UpdateStatus { id: number; status: string; } export interface Download { recordID: number; backupAccountID: number; } export interface ScriptOptions { id: number; name: string; script: string; } export interface SearchRecord extends ReqPage { cronjobID: number; startTime: Date; endTime: Date; status: string; } export interface Record { id: number; taskID: string; file: string; startTime: string; records: string; status: string; message: string; targetPath: string; interval: number; } export interface ScriptInfo { id: number; name: string; script: string; groups: string; isInteractive: boolean; groupList: Array; groupBelong: Array; description: string; createdAt: Date; } export interface ScriptOperate { id: number; name: string; script: string; groups: string; description: string; } }