/** * Copyright 2022 Gravwell, Inc. All rights reserved. * * Contact: [legal@gravwell.io](mailto:legal@gravwell.io) * * This software may be modified and distributed under the terms of the MIT * license. See the LICENSE file for details. */ import { ScheduledScriptsFilter } from '../../functions/scheduled-tasks/get-many-scheduled-scripts'; import { ScheduledTasksFilter } from '../../functions/scheduled-tasks/get-many-scheduled-tasks'; import { CreatableScheduledScript } from '../../models/scheduled-task/creatable-scheduled-scripts'; import { ScheduledScript } from '../../models/scheduled-task/scheduled-script'; import { UpdatableScheduledScript } from '../../models/scheduled-task/updatable-scheduled-task'; export interface ScheduledScriptsService { readonly get: { readonly one: (scheduledTaskID: string) => Promise; readonly many: (filter?: ScheduledScriptsFilter) => Promise>; readonly all: () => Promise>; readonly authorizedTo: { readonly me: () => Promise>; }; }; readonly create: { readonly one: (data: CreatableScheduledScript) => Promise; readonly many: (data: Array) => Promise>; }; readonly update: { readonly one: (data: UpdatableScheduledScript) => Promise; }; readonly delete: { readonly one: (scheduledTaskID: string) => Promise; readonly many: (filter?: ScheduledTasksFilter) => Promise; readonly all: () => Promise; }; readonly clear: { readonly lastError: (scheduledTaskID: string) => Promise; readonly state: (scheduledTaskID: string) => Promise; }; }