Skip to content

Commit dc28926

Browse files
🐛 Fix Decimal serialization (#6854)
1 parent 81e5b8e commit dc28926

File tree

8 files changed

+17
-59
lines changed

8 files changed

+17
-59
lines changed

packages/models-library/src/models_library/api_schemas_resource_usage_tracker/pricing_plans.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
from datetime import datetime
22
from decimal import Decimal
3-
from typing import Annotated
43

5-
from pydantic import BaseModel, ConfigDict, PlainSerializer
4+
from pydantic import BaseModel, ConfigDict
65

76
from ..resource_tracker import (
87
HardwareInfo,
@@ -19,9 +18,7 @@ class PricingUnitGet(BaseModel):
1918
pricing_unit_id: PricingUnitId
2019
unit_name: str
2120
unit_extra_info: UnitExtraInfo
22-
current_cost_per_unit: Annotated[
23-
Decimal, PlainSerializer(float, return_type=float, when_used="json")
24-
]
21+
current_cost_per_unit: Decimal
2522
current_cost_per_unit_id: PricingUnitCostId
2623
default: bool
2724
specific_info: HardwareInfo

packages/models-library/src/models_library/api_schemas_webserver/resource_usage.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
from datetime import datetime
22
from decimal import Decimal
3-
from typing import Annotated
43

5-
from pydantic import BaseModel, ConfigDict, Field, PlainSerializer
4+
from pydantic import BaseModel, ConfigDict, Field
65

76
from ..projects import ProjectID
87
from ..projects_nodes_io import NodeID
@@ -50,9 +49,7 @@ class PricingUnitGet(OutputSchema):
5049
pricing_unit_id: PricingUnitId
5150
unit_name: str
5251
unit_extra_info: UnitExtraInfo
53-
current_cost_per_unit: Annotated[
54-
Decimal, PlainSerializer(float, return_type=float, when_used="json")
55-
]
52+
current_cost_per_unit: Decimal
5653
default: bool
5754

5855

packages/models-library/src/models_library/api_schemas_webserver/wallets.py

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,8 @@
11
from datetime import datetime
22
from decimal import Decimal
3-
from typing import Annotated, Literal, TypeAlias
3+
from typing import Literal, TypeAlias
44

5-
from pydantic import (
6-
ConfigDict,
7-
Field,
8-
HttpUrl,
9-
PlainSerializer,
10-
ValidationInfo,
11-
field_validator,
12-
)
5+
from pydantic import ConfigDict, Field, HttpUrl, ValidationInfo, field_validator
136

147
from ..basic_types import AmountDecimal, IDStr, NonNegativeDecimal
158
from ..users import GroupID
@@ -20,9 +13,9 @@
2013
class WalletGet(OutputSchema):
2114
wallet_id: WalletID
2215
name: IDStr
23-
description: str | None
16+
description: str | None = None
2417
owner: GroupID
25-
thumbnail: str | None
18+
thumbnail: str | None = None
2619
status: WalletStatus
2720
created: datetime
2821
modified: datetime
@@ -31,7 +24,7 @@ class WalletGet(OutputSchema):
3124

3225

3326
class WalletGetWithAvailableCredits(WalletGet):
34-
available_credits: Annotated[Decimal, PlainSerializer(float)]
27+
available_credits: Decimal
3528

3629

3730
class WalletGetPermissions(WalletGet):

services/api-server/openapi.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6492,7 +6492,7 @@
64926492
"$ref": "#/components/schemas/UnitExtraInfo"
64936493
},
64946494
"currentCostPerUnit": {
6495-
"type": "number",
6495+
"type": "string",
64966496
"title": "Currentcostperunit"
64976497
},
64986498
"default": {
@@ -7093,7 +7093,7 @@
70937093
"title": "Modified"
70947094
},
70957095
"availableCredits": {
7096-
"type": "number",
7096+
"type": "string",
70977097
"title": "Availablecredits"
70987098
}
70997099
},

services/resource-usage-tracker/tests/unit/api_rest/test__oas_spec.py

Lines changed: 0 additions & 29 deletions
This file was deleted.

services/web/server/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.46.0
1+
0.47.0

services/web/server/setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.46.0
2+
current_version = 0.47.0
33
commit = True
44
message = services/webserver api version: {current_version} → {new_version}
55
tag = False

services/web/server/src/simcore_service_webserver/api/v0/openapi.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ openapi: 3.1.0
22
info:
33
title: simcore-service-webserver
44
description: Main service with an interface (http-API & websockets) to the web front-end
5-
version: 0.46.0
5+
version: 0.47.0
66
servers:
77
- url: ''
88
description: webserver
@@ -11314,7 +11314,7 @@ components:
1131411314
unitExtraInfo:
1131511315
$ref: '#/components/schemas/UnitExtraInfo-Output'
1131611316
currentCostPerUnit:
11317-
type: number
11317+
type: string
1131811318
title: Currentcostperunit
1131911319
default:
1132011320
type: boolean
@@ -11358,7 +11358,7 @@ components:
1135811358
unitExtraInfo:
1135911359
$ref: '#/components/schemas/UnitExtraInfo-Output'
1136011360
currentCostPerUnit:
11361-
type: number
11361+
type: string
1136211362
title: Currentcostperunit
1136311363
default:
1136411364
type: boolean
@@ -14079,7 +14079,7 @@ components:
1407914079
format: date-time
1408014080
title: Modified
1408114081
availableCredits:
14082-
type: number
14082+
type: string
1408314083
title: Availablecredits
1408414084
type: object
1408514085
required:

0 commit comments

Comments
 (0)