mirror of
https://github.com/immich-app/immich.git
synced 2026-03-10 03:43:43 -04:00
128 lines
3.4 KiB
JSON
128 lines
3.4 KiB
JSON
{
|
|
"name": "immich-core",
|
|
"version": "2.0.1",
|
|
"title": "Immich Core",
|
|
"description": "Core workflow capabilities for Immich",
|
|
"author": "Immich Team",
|
|
"wasmPath": "dist/plugin.wasm",
|
|
"methods": [
|
|
{
|
|
"name": "filterFileName",
|
|
"title": "Filter by filename",
|
|
"description": "Filter assets by filename pattern using text matching or regular expressions",
|
|
"types": ["AssetV1"],
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pattern": {
|
|
"type": "string",
|
|
"title": "Filename pattern",
|
|
"description": "Text or regex pattern to match against filename"
|
|
},
|
|
"matchType": {
|
|
"type": "string",
|
|
"title": "Match type",
|
|
"enum": ["contains", "regex", "exact"],
|
|
"default": "contains",
|
|
"description": "Type of pattern matching to perform"
|
|
},
|
|
"caseSensitive": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Whether matching should be case-sensitive"
|
|
}
|
|
},
|
|
"required": ["pattern"]
|
|
}
|
|
},
|
|
{
|
|
"name": "filterFileType",
|
|
"title": "Filter by file type",
|
|
"description": "Filter assets by file type",
|
|
"types": ["AssetV1"],
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fileTypes": {
|
|
"type": "array",
|
|
"title": "File types",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["image", "video"]
|
|
},
|
|
"description": "Allowed file types"
|
|
}
|
|
},
|
|
"required": ["fileTypes"]
|
|
}
|
|
},
|
|
{
|
|
"name": "filterPerson",
|
|
"title": "Filter by person",
|
|
"description": "Filter by detected person",
|
|
"types": ["AssetV1"],
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"personIds": {
|
|
"type": "array",
|
|
"title": "Person IDs",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "List of person to match",
|
|
"subType": "people-picker"
|
|
},
|
|
"matchAny": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Match any name (true) or require all names (false)"
|
|
}
|
|
},
|
|
"required": ["personIds"]
|
|
}
|
|
},
|
|
{
|
|
"name": "assetArchive",
|
|
"title": "Archive",
|
|
"description": "Move the asset to archive",
|
|
"types": ["AssetV1"],
|
|
"schema": {}
|
|
},
|
|
{
|
|
"name": "assetFavorite",
|
|
"title": "Favorite",
|
|
"description": "Mark the asset as favorite or unfavorite",
|
|
"types": ["AssetV1"],
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"favorite": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Set favorite (true) or unfavorite (false)"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "assetAddToAlbum",
|
|
"title": "Add to Album",
|
|
"description": "Add the item to a specified album",
|
|
"types": ["AssetV1"],
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"albumId": {
|
|
"type": "string",
|
|
"title": "Album ID",
|
|
"description": "Target album ID",
|
|
"subType": "album-picker"
|
|
}
|
|
},
|
|
"required": ["albumId"]
|
|
}
|
|
}
|
|
]
|
|
}
|