immich/mobile/openapi/lib/model/queue_name.dart
Alex 4dcc049465
feat: workflow foundation (#23621)
* feat: plugins

* feat: table definition

* feat: type and migration

* feat: add repositories

* feat: validate manifest with class-validator and load manifest info to database

* feat: workflow/plugin controller/service layer

* feat: implement workflow logic

* feat: make trigger static

* feat: dynamical instantiate plugin instances

* fix: access control and helper script

* feat: it works

* chore: simplify

* refactor: refactor and use queue for workflow execution

* refactor: remove unsused property in plugin-schema

* build wasm in prod

* feat: plugin loader in transaction

* fix: docker build arm64

* generated files

* shell check

* fix tests

* fix: waiting for migration to finish before loading plugin

* remove context reassignment

* feat: use mise to manage extism tools (#23760)

* pr feedback

* refactor: create workflow now including create filters and actions

* feat: workflow medium tests

* fix: broken medium test

* feat: medium tests

* chore: unify workflow job

* sign user id with jwt

* chore: query plugin with filters and action

* chore: read manifest in repository

* chore: load manifest from server configs

* merge main

* feat: endpoint documentation

* pr feedback

* load plugin from absolute path

* refactor:handle trigger

* throw error and return early

* pr feedback

* unify plugin services

* fix: plugins code

* clean up

* remove triggerConfig

* clean up

* displayName and methodName

---------

Co-authored-by: Jason Rasmussen <jason@rasm.me>
Co-authored-by: bo0tzz <git@bo0tzz.me>
2025-11-14 20:05:05 +00:00

131 lines
4.6 KiB
Dart
Generated

//
// AUTO-GENERATED FILE, DO NOT MODIFY!
//
// @dart=2.18
// ignore_for_file: unused_element, unused_import
// ignore_for_file: always_put_required_named_parameters_first
// ignore_for_file: constant_identifier_names
// ignore_for_file: lines_longer_than_80_chars
part of openapi.api;
class QueueName {
/// Instantiate a new enum with the provided [value].
const QueueName._(this.value);
/// The underlying value of this enum member.
final String value;
@override
String toString() => value;
String toJson() => value;
static const thumbnailGeneration = QueueName._(r'thumbnailGeneration');
static const metadataExtraction = QueueName._(r'metadataExtraction');
static const videoConversion = QueueName._(r'videoConversion');
static const faceDetection = QueueName._(r'faceDetection');
static const facialRecognition = QueueName._(r'facialRecognition');
static const smartSearch = QueueName._(r'smartSearch');
static const duplicateDetection = QueueName._(r'duplicateDetection');
static const backgroundTask = QueueName._(r'backgroundTask');
static const storageTemplateMigration = QueueName._(r'storageTemplateMigration');
static const migration = QueueName._(r'migration');
static const search = QueueName._(r'search');
static const sidecar = QueueName._(r'sidecar');
static const library_ = QueueName._(r'library');
static const notifications = QueueName._(r'notifications');
static const backupDatabase = QueueName._(r'backupDatabase');
static const ocr = QueueName._(r'ocr');
static const workflow = QueueName._(r'workflow');
/// List of all possible values in this [enum][QueueName].
static const values = <QueueName>[
thumbnailGeneration,
metadataExtraction,
videoConversion,
faceDetection,
facialRecognition,
smartSearch,
duplicateDetection,
backgroundTask,
storageTemplateMigration,
migration,
search,
sidecar,
library_,
notifications,
backupDatabase,
ocr,
workflow,
];
static QueueName? fromJson(dynamic value) => QueueNameTypeTransformer().decode(value);
static List<QueueName> listFromJson(dynamic json, {bool growable = false,}) {
final result = <QueueName>[];
if (json is List && json.isNotEmpty) {
for (final row in json) {
final value = QueueName.fromJson(row);
if (value != null) {
result.add(value);
}
}
}
return result.toList(growable: growable);
}
}
/// Transformation class that can [encode] an instance of [QueueName] to String,
/// and [decode] dynamic data back to [QueueName].
class QueueNameTypeTransformer {
factory QueueNameTypeTransformer() => _instance ??= const QueueNameTypeTransformer._();
const QueueNameTypeTransformer._();
String encode(QueueName data) => data.value;
/// Decodes a [dynamic value][data] to a QueueName.
///
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
///
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
/// and users are still using an old app with the old code.
QueueName? decode(dynamic data, {bool allowNull = true}) {
if (data != null) {
switch (data) {
case r'thumbnailGeneration': return QueueName.thumbnailGeneration;
case r'metadataExtraction': return QueueName.metadataExtraction;
case r'videoConversion': return QueueName.videoConversion;
case r'faceDetection': return QueueName.faceDetection;
case r'facialRecognition': return QueueName.facialRecognition;
case r'smartSearch': return QueueName.smartSearch;
case r'duplicateDetection': return QueueName.duplicateDetection;
case r'backgroundTask': return QueueName.backgroundTask;
case r'storageTemplateMigration': return QueueName.storageTemplateMigration;
case r'migration': return QueueName.migration;
case r'search': return QueueName.search;
case r'sidecar': return QueueName.sidecar;
case r'library': return QueueName.library_;
case r'notifications': return QueueName.notifications;
case r'backupDatabase': return QueueName.backupDatabase;
case r'ocr': return QueueName.ocr;
case r'workflow': return QueueName.workflow;
default:
if (!allowNull) {
throw ArgumentError('Unknown enum value to decode: $data');
}
}
}
return null;
}
/// Singleton [QueueNameTypeTransformer] instance.
static QueueNameTypeTransformer? _instance;
}