Skip to content

Commit e6c8d5c

Browse files
Merge branch 'master' into introduce-vip-models-pricing-2-part
2 parents 03c5f08 + dc28926 commit e6c8d5c

File tree

14 files changed

+64
-74
lines changed

14 files changed

+64
-74
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/static-webserver/client/source/class/osparc/Application.js

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -209,17 +209,10 @@ qx.Class.define("osparc.Application", {
209209
},
210210

211211
__updateTabName: function() {
212-
const platformName = osparc.store.StaticInfo.getInstance().getPlatformName();
213-
if (osparc.utils.Utils.isInZ43()) {
214-
document.title += " Z43";
215-
}
216-
if (platformName) {
217-
document.title += ` (${platformName})`;
218-
}
212+
const newName = osparc.utils.Utils.composeTabName();
213+
osparc.utils.Utils.updateTabName(newName);
219214
},
220215

221-
222-
223216
__setDeviceSpecificIcons: function() {
224217
const isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
225218
const isAndroid = /android/i.test(navigator.userAgent);

services/static-webserver/client/source/class/osparc/dashboard/StudyBrowser.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
167167
if (
168168
!osparc.auth.Manager.getInstance().isLoggedIn() ||
169169
this.getCurrentContext() === "studiesAndFolders" ||
170-
this.getCurrentContext() === "search" || // not yet implemented for workspaces
171170
this.__loadingWorkspaces
172171
) {
173172
return;
@@ -178,7 +177,7 @@ qx.Class.define("osparc.dashboard.StudyBrowser", {
178177
case "search": {
179178
const filterData = this._searchBarFilter.getFilterData();
180179
const text = filterData.text ? encodeURIComponent(filterData.text) : "";
181-
request = osparc.store.Workspaces.getInstance().searchWorkspaces(text);
180+
request = osparc.store.Workspaces.getInstance().searchWorkspaces(text, this.getOrderBy());
182181
break;
183182
}
184183
case "workspaces": {

services/static-webserver/client/source/class/osparc/data/Resources.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ qx.Class.define("osparc.data.Resources", {
368368
getPageSearch: {
369369
useCache: false,
370370
method: "GET",
371-
url: statics.API + "/workspaces:search?offset={offset}&limit={limit}&text={text}&order_by={orderBy}"
371+
url: statics.API + "/workspaces?offset={offset}&limit={limit}&filters={filters}&order_by={orderBy}"
372372
},
373373
getPageTrashed: {
374374
useCache: false,

services/static-webserver/client/source/class/osparc/store/Store.js

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ qx.Class.define("osparc.store.Store", {
5959
check: "osparc.data.model.Study",
6060
init: null,
6161
nullable: true,
62-
event: "changeCurrentStudy"
62+
event: "changeCurrentStudy",
63+
apply: "__applyCurrentStudy",
6364
},
6465
currentStudyId: {
6566
check: "String",
@@ -334,6 +335,21 @@ qx.Class.define("osparc.store.Store", {
334335
}
335336
},
336337

338+
__applyCurrentStudy: function(study) {
339+
if (study) {
340+
study.addListener("changeName", () => {
341+
if (this.getCurrentStudy() === study) {
342+
// the study might have been closed
343+
osparc.utils.Utils.updateTabName(study.getName());
344+
}
345+
});
346+
osparc.utils.Utils.updateTabName(study.getName());
347+
} else {
348+
const newName = osparc.utils.Utils.composeTabName();
349+
osparc.utils.Utils.updateTabName(newName);
350+
}
351+
},
352+
337353
__applyWallets: function(wallets) {
338354
const preferenceSettings = osparc.Preferences.getInstance();
339355
const preferenceWalletId = preferenceSettings.getPreferredWalletId();

services/static-webserver/client/source/class/osparc/store/Workspaces.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,24 @@ qx.Class.define("osparc.store.Workspaces", {
103103
});
104104
},
105105

106-
searchWorkspaces: function(text) {
106+
searchWorkspaces: function(
107+
text,
108+
orderBy = {
109+
field: "modified_at",
110+
direction: "desc"
111+
},
112+
) {
107113
if (osparc.auth.Data.getInstance().isGuest()) {
108114
return new Promise(resolve => {
109115
resolve([]);
110116
});
111117
}
112118

119+
const curatedOrderBy = this.self().curateOrderBy(orderBy);
113120
const params = {
114121
url: {
115-
text,
122+
filters: JSON.stringify({text: text}),
123+
orderBy: JSON.stringify(curatedOrderBy),
116124
}
117125
};
118126
return osparc.data.Resources.getInstance().getAllPages("workspaces", params, "getPageSearch")

0 commit comments

Comments
 (0)