Files
outline/app/models/Integration.ts
2024-09-07 11:53:38 -04:00

37 lines
703 B
TypeScript

import { observable } from "mobx";
import type {
IntegrationService,
IntegrationSettings,
IntegrationType,
} from "@shared/types";
import User from "~/models/User";
import Model from "~/models/base/Model";
import Field from "~/models/decorators/Field";
import Relation from "~/models/decorators/Relation";
class Integration<T = unknown> extends Model {
static modelName = "Integration";
id: string;
type: IntegrationType;
service: IntegrationService;
collectionId: string;
userId: string;
@Relation(() => User, { onDelete: "cascade" })
user: User;
@Field
@observable
events: string[];
@observable
settings: IntegrationSettings<T>;
}
export default Integration;