Files
immich/server/src/schema/tables/plugin-method.table.ts
T
Jason Rasmussen d7c5406b8b feat: plugins
chore: better types

feat: plugins
2026-05-15 19:51:41 -04:00

36 lines
999 B
TypeScript

import { Column, ForeignKeyColumn, Generated, PrimaryGeneratedColumn, Table, Unique } from '@immich/sql-tools';
import { JsonSchemaDto } from 'src/dtos/json-schema.dto';
import { WorkflowType } from 'src/enum';
import { PluginTable } from 'src/schema/tables/plugin.table';
@Unique({ columns: ['pluginId', 'name'] })
@Table('plugin_method')
export class PluginMethodTable {
@PrimaryGeneratedColumn('uuid')
id!: Generated<string>;
@ForeignKeyColumn(() => PluginTable, { onDelete: 'CASCADE', onUpdate: 'CASCADE' })
pluginId!: string;
@Column()
name!: string;
@Column()
title!: string;
@Column()
description!: string;
@Column({ type: 'character varying', array: true })
types!: Generated<WorkflowType[]>;
@Column({ type: 'boolean', default: false })
hostFunctions!: Generated<boolean>;
@Column({ type: 'jsonb', nullable: true })
schema!: JsonSchemaDto | null;
@Column({ type: 'character varying', default: [], array: true })
uiHints!: Generated<string[]>;
}