refactor: star rating (#26357)

* refactor: star rating

* transform rating 0 to null in controller dto

* migrate rating 0 to null

* deprecate rating -1

* rating type annotation

* update Rating type
This commit is contained in:
Mees Frensel
2026-02-26 14:54:20 +01:00
committed by GitHub
parent 4c79c3c902
commit e454c3566b
24 changed files with 294 additions and 127 deletions
+132 -13
View File
@@ -9407,10 +9407,27 @@
"name": "rating",
"required": false,
"in": "query",
"description": "Filter by rating",
"description": "Filter by rating [1-5], or null for unrated",
"x-immich-history": [
{
"version": "v1",
"state": "Added"
},
{
"version": "v2",
"state": "Stable"
},
{
"version": "v2.6.0",
"state": "Updated",
"description": "Using -1 as a rating is deprecated and will be removed in the next major version."
}
],
"x-immich-state": "Stable",
"schema": {
"minimum": -1,
"maximum": 5,
"nullable": true,
"type": "number"
}
},
@@ -15872,10 +15889,27 @@
"type": "number"
},
"rating": {
"description": "Rating",
"description": "Rating in range [1-5], or null for unrated",
"maximum": 5,
"minimum": -1,
"type": "number"
"nullable": true,
"type": "number",
"x-immich-history": [
{
"version": "v1",
"state": "Added"
},
{
"version": "v2",
"state": "Stable"
},
{
"version": "v2.6.0",
"state": "Updated",
"description": "Using -1 as a rating is deprecated and will be removed in the next major version."
}
],
"x-immich-state": "Stable"
},
"timeZone": {
"description": "Time zone (IANA timezone)",
@@ -18988,10 +19022,27 @@
"type": "string"
},
"rating": {
"description": "Filter by rating",
"description": "Filter by rating [1-5], or null for unrated",
"maximum": 5,
"minimum": -1,
"type": "number"
"nullable": true,
"type": "number",
"x-immich-history": [
{
"version": "v1",
"state": "Added"
},
{
"version": "v2",
"state": "Stable"
},
{
"version": "v2.6.0",
"state": "Updated",
"description": "Using -1 as a rating is deprecated and will be removed in the next major version."
}
],
"x-immich-state": "Stable"
},
"size": {
"description": "Number of results to return",
@@ -20714,10 +20765,27 @@
"type": "array"
},
"rating": {
"description": "Filter by rating",
"description": "Filter by rating [1-5], or null for unrated",
"maximum": 5,
"minimum": -1,
"type": "number"
"nullable": true,
"type": "number",
"x-immich-history": [
{
"version": "v1",
"state": "Added"
},
{
"version": "v2",
"state": "Stable"
},
{
"version": "v2.6.0",
"state": "Updated",
"description": "Using -1 as a rating is deprecated and will be removed in the next major version."
}
],
"x-immich-state": "Stable"
},
"size": {
"description": "Number of results to return",
@@ -22088,10 +22156,27 @@
"type": "string"
},
"rating": {
"description": "Filter by rating",
"description": "Filter by rating [1-5], or null for unrated",
"maximum": 5,
"minimum": -1,
"type": "number"
"nullable": true,
"type": "number",
"x-immich-history": [
{
"version": "v1",
"state": "Added"
},
{
"version": "v2",
"state": "Stable"
},
{
"version": "v2.6.0",
"state": "Updated",
"description": "Using -1 as a rating is deprecated and will be removed in the next major version."
}
],
"x-immich-state": "Stable"
},
"size": {
"description": "Number of results to return",
@@ -22322,10 +22407,27 @@
"type": "array"
},
"rating": {
"description": "Filter by rating",
"description": "Filter by rating [1-5], or null for unrated",
"maximum": 5,
"minimum": -1,
"type": "number"
"nullable": true,
"type": "number",
"x-immich-history": [
{
"version": "v1",
"state": "Added"
},
{
"version": "v2",
"state": "Stable"
},
{
"version": "v2.6.0",
"state": "Updated",
"description": "Using -1 as a rating is deprecated and will be removed in the next major version."
}
],
"x-immich-state": "Stable"
},
"state": {
"description": "Filter by state/province name",
@@ -25209,10 +25311,27 @@
"type": "number"
},
"rating": {
"description": "Rating",
"description": "Rating in range [1-5], or null for unrated",
"maximum": 5,
"minimum": -1,
"type": "number"
"nullable": true,
"type": "number",
"x-immich-history": [
{
"version": "v1",
"state": "Added"
},
{
"version": "v2",
"state": "Stable"
},
{
"version": "v2.6.0",
"state": "Updated",
"description": "Using -1 as a rating is deprecated and will be removed in the next major version."
}
],
"x-immich-state": "Stable"
},
"visibility": {
"allOf": [