mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-04-19 21:39:55 -04:00
391 lines
8.0 KiB
YAML
391 lines
8.0 KiB
YAML
EntityType:
|
|
type: string
|
|
enum:
|
|
- delay_profile
|
|
- regular_expression
|
|
- custom_format
|
|
- quality_profile
|
|
- radarr_naming
|
|
- sonarr_naming
|
|
- radarr_media_settings
|
|
- sonarr_media_settings
|
|
- radarr_quality_definitions
|
|
- sonarr_quality_definitions
|
|
|
|
ExportResponse:
|
|
type: object
|
|
required:
|
|
- entityType
|
|
- data
|
|
properties:
|
|
entityType:
|
|
$ref: '#/EntityType'
|
|
data:
|
|
description: |
|
|
The portable entity payload. Shape varies by entityType:
|
|
- `delay_profile` → PortableDelayProfile
|
|
- `regular_expression` → PortableRegularExpression
|
|
- `custom_format` → PortableCustomFormat
|
|
- `quality_profile` → PortableQualityProfile
|
|
- `radarr_naming` → PortableRadarrNaming
|
|
- `sonarr_naming` → PortableSonarrNaming
|
|
- `radarr_media_settings` → PortableMediaSettings
|
|
- `sonarr_media_settings` → PortableMediaSettings
|
|
- `radarr_quality_definitions` → PortableQualityDefinitions
|
|
- `sonarr_quality_definitions` → PortableQualityDefinitions
|
|
oneOf:
|
|
- $ref: '#/PortableDelayProfile'
|
|
- $ref: '#/PortableRegularExpression'
|
|
- $ref: '#/PortableCustomFormat'
|
|
- $ref: '#/PortableQualityProfile'
|
|
- $ref: '#/PortableRadarrNaming'
|
|
- $ref: '#/PortableSonarrNaming'
|
|
- $ref: '#/PortableMediaSettings'
|
|
- $ref: '#/PortableQualityDefinitions'
|
|
|
|
BundledDependency:
|
|
type: object
|
|
required:
|
|
- entityType
|
|
- data
|
|
properties:
|
|
entityType:
|
|
type: string
|
|
description: The entity type of the dependency
|
|
data:
|
|
type: object
|
|
required:
|
|
- name
|
|
properties:
|
|
name:
|
|
type: string
|
|
additionalProperties: true
|
|
description: The portable entity payload for the dependency
|
|
|
|
ImportConflict:
|
|
type: object
|
|
required:
|
|
- entityType
|
|
- name
|
|
properties:
|
|
entityType:
|
|
type: string
|
|
description: The entity type that conflicts
|
|
name:
|
|
type: string
|
|
description: The name of the conflicting entity
|
|
|
|
ConflictResolution:
|
|
type: object
|
|
required:
|
|
- entityType
|
|
- originalName
|
|
- action
|
|
properties:
|
|
entityType:
|
|
type: string
|
|
description: The entity type being resolved
|
|
originalName:
|
|
type: string
|
|
description: The original name of the conflicting entity
|
|
action:
|
|
type: string
|
|
enum: [skip, rename]
|
|
description: How to resolve the conflict
|
|
newName:
|
|
type: string
|
|
description: The new name when action is rename
|
|
|
|
ImportRequest:
|
|
type: object
|
|
required:
|
|
- databaseId
|
|
- layer
|
|
- entityType
|
|
- data
|
|
properties:
|
|
databaseId:
|
|
type: integer
|
|
description: The PCD database ID to import into
|
|
layer:
|
|
type: string
|
|
enum: [user, base]
|
|
description: The operation layer to write to
|
|
entityType:
|
|
$ref: '#/EntityType'
|
|
data:
|
|
description: The portable entity payload (same shape as ExportResponse.data)
|
|
oneOf:
|
|
- $ref: '#/PortableDelayProfile'
|
|
- $ref: '#/PortableRegularExpression'
|
|
- $ref: '#/PortableCustomFormat'
|
|
- $ref: '#/PortableQualityProfile'
|
|
- $ref: '#/PortableRadarrNaming'
|
|
- $ref: '#/PortableSonarrNaming'
|
|
- $ref: '#/PortableMediaSettings'
|
|
- $ref: '#/PortableQualityDefinitions'
|
|
|
|
ImportResponse:
|
|
type: object
|
|
required:
|
|
- success
|
|
properties:
|
|
success:
|
|
type: boolean
|
|
|
|
PcdErrorResponse:
|
|
type: object
|
|
required:
|
|
- error
|
|
properties:
|
|
error:
|
|
type: string
|
|
|
|
# --- Portable entity schemas ---
|
|
|
|
PortableDelayProfile:
|
|
type: object
|
|
required:
|
|
- name
|
|
- preferredProtocol
|
|
- usenetDelay
|
|
- torrentDelay
|
|
- bypassIfHighestQuality
|
|
- bypassIfAboveCfScore
|
|
- minimumCfScore
|
|
properties:
|
|
name:
|
|
type: string
|
|
preferredProtocol:
|
|
type: string
|
|
enum: [prefer_usenet, prefer_torrent, only_usenet, only_torrent]
|
|
usenetDelay:
|
|
type: integer
|
|
torrentDelay:
|
|
type: integer
|
|
bypassIfHighestQuality:
|
|
type: boolean
|
|
bypassIfAboveCfScore:
|
|
type: boolean
|
|
minimumCfScore:
|
|
type: integer
|
|
|
|
PortableRegularExpression:
|
|
type: object
|
|
required:
|
|
- name
|
|
- pattern
|
|
- tags
|
|
- description
|
|
- regex101Id
|
|
properties:
|
|
name:
|
|
type: string
|
|
pattern:
|
|
type: string
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
regex101Id:
|
|
type: string
|
|
nullable: true
|
|
|
|
PortableCustomFormatTest:
|
|
type: object
|
|
required:
|
|
- title
|
|
- type
|
|
- shouldMatch
|
|
- description
|
|
properties:
|
|
title:
|
|
type: string
|
|
type:
|
|
type: string
|
|
enum: [movie, series]
|
|
shouldMatch:
|
|
type: boolean
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
|
|
PortableCustomFormat:
|
|
type: object
|
|
required:
|
|
- name
|
|
- description
|
|
- includeInRename
|
|
- tags
|
|
- conditions
|
|
- tests
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
includeInRename:
|
|
type: boolean
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
conditions:
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: Condition data (shape varies by condition type)
|
|
tests:
|
|
type: array
|
|
items:
|
|
$ref: '#/PortableCustomFormatTest'
|
|
|
|
PortableCustomFormatScore:
|
|
type: object
|
|
required:
|
|
- customFormatName
|
|
- arrType
|
|
- score
|
|
properties:
|
|
customFormatName:
|
|
type: string
|
|
arrType:
|
|
type: string
|
|
score:
|
|
type: integer
|
|
|
|
PortableQualityProfile:
|
|
type: object
|
|
required:
|
|
- name
|
|
- description
|
|
- tags
|
|
- language
|
|
- orderedItems
|
|
- minimumScore
|
|
- upgradeUntilScore
|
|
- upgradeScoreIncrement
|
|
- customFormatScores
|
|
properties:
|
|
name:
|
|
type: string
|
|
description:
|
|
type: string
|
|
nullable: true
|
|
tags:
|
|
type: array
|
|
items:
|
|
type: string
|
|
language:
|
|
type: string
|
|
nullable: true
|
|
orderedItems:
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: Ordered quality item (quality or group)
|
|
minimumScore:
|
|
type: integer
|
|
upgradeUntilScore:
|
|
type: integer
|
|
upgradeScoreIncrement:
|
|
type: integer
|
|
customFormatScores:
|
|
type: array
|
|
items:
|
|
$ref: '#/PortableCustomFormatScore'
|
|
|
|
PortableRadarrNaming:
|
|
type: object
|
|
required:
|
|
- name
|
|
- rename
|
|
- movieFormat
|
|
- movieFolderFormat
|
|
- replaceIllegalCharacters
|
|
- colonReplacementFormat
|
|
properties:
|
|
name:
|
|
type: string
|
|
rename:
|
|
type: boolean
|
|
movieFormat:
|
|
type: string
|
|
movieFolderFormat:
|
|
type: string
|
|
replaceIllegalCharacters:
|
|
type: boolean
|
|
colonReplacementFormat:
|
|
type: string
|
|
|
|
PortableSonarrNaming:
|
|
type: object
|
|
required:
|
|
- name
|
|
- rename
|
|
- standardEpisodeFormat
|
|
- dailyEpisodeFormat
|
|
- animeEpisodeFormat
|
|
- seriesFolderFormat
|
|
- seasonFolderFormat
|
|
- replaceIllegalCharacters
|
|
- colonReplacementFormat
|
|
- customColonReplacementFormat
|
|
- multiEpisodeStyle
|
|
properties:
|
|
name:
|
|
type: string
|
|
rename:
|
|
type: boolean
|
|
standardEpisodeFormat:
|
|
type: string
|
|
dailyEpisodeFormat:
|
|
type: string
|
|
animeEpisodeFormat:
|
|
type: string
|
|
seriesFolderFormat:
|
|
type: string
|
|
seasonFolderFormat:
|
|
type: string
|
|
replaceIllegalCharacters:
|
|
type: boolean
|
|
colonReplacementFormat:
|
|
type: string
|
|
customColonReplacementFormat:
|
|
type: string
|
|
nullable: true
|
|
multiEpisodeStyle:
|
|
type: string
|
|
|
|
PortableMediaSettings:
|
|
type: object
|
|
required:
|
|
- name
|
|
- propersRepacks
|
|
- enableMediaInfo
|
|
properties:
|
|
name:
|
|
type: string
|
|
propersRepacks:
|
|
type: string
|
|
enableMediaInfo:
|
|
type: boolean
|
|
|
|
PortableQualityDefinitions:
|
|
type: object
|
|
required:
|
|
- name
|
|
- entries
|
|
properties:
|
|
name:
|
|
type: string
|
|
entries:
|
|
type: array
|
|
items:
|
|
type: object
|
|
description: Quality definition entry with min/max/preferred sizes
|