/** * 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 { ScheduledQueriesFilter } from '~/functions/scheduled-tasks/get-many-scheduled-queries'; import { ScheduledTasksFilter } from '~/functions/scheduled-tasks/get-many-scheduled-tasks'; import { CreatableScheduledQuery } from '~/models/scheduled-task/creatable-scheduled-query'; import { ScheduledQuery } from '~/models/scheduled-task/scheduled-query'; import { UpdatableScheduledQuery } from '~/models/scheduled-task/updatable-scheduled-task'; export interface ScheduledQueriesService { readonly get: { readonly one: (scheduledTaskID: string) => Promise; readonly many: (filter?: ScheduledQueriesFilter) => Promise>; readonly all: () => Promise>; readonly authorizedTo: { readonly me: () => Promise>; }; }; readonly create: { readonly one: (data: CreatableScheduledQuery) => Promise; readonly many: (data: Array) => Promise>; }; readonly update: { readonly one: (data: UpdatableScheduledQuery) => 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; }; }