Skip to content

Commit e27bc46

Browse files
committed
refactors
1 parent cfdf50e commit e27bc46

File tree

1 file changed

+36
-7
lines changed

1 file changed

+36
-7
lines changed

services/catalog/src/simcore_service_catalog/service/access_rights.py

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@
2424

2525
_logger = logging.getLogger(__name__)
2626

27-
_LEGACY_SERVICES_DATE: datetime = datetime(year=2020, month=8, day=19, tzinfo=UTC)
27+
_OLD_SERVICES_CUTOFF_DATETIME: datetime = datetime(
28+
year=2020, month=8, day=19, tzinfo=UTC
29+
)
2830

2931

3032
class InheritedData(TypedDict):
@@ -37,15 +39,42 @@ def _is_frontend_service(service: ServiceMetaDataPublished) -> bool:
3739

3840

3941
async def _is_old_service(app: FastAPI, service: ServiceMetaDataPublished) -> bool:
42+
#
4043
# NOTE: https://github.com/ITISFoundation/osparc-simcore/pull/6003#discussion_r1658200909
41-
# get service build date
42-
client = get_director_client(app)
44+
#
45+
service_extras = await get_director_client(app).get_service_extras(
46+
service.key, service.version
47+
)
48+
49+
# 1. w/o build details
50+
has_no_build_data = (
51+
not service_extras or service_extras.service_build_details is None
52+
)
53+
if has_no_build_data:
54+
_logger.debug(
55+
"Service %s:%s is considered legacy because it has no build details",
56+
service.key,
57+
service.version,
58+
)
59+
return True
60+
61+
# 2. check if built before cutoff date
62+
assert service_extras.service_build_details
63+
service_build_datetime = arrow.get(
64+
service_extras.service_build_details.build_date
65+
).datetime
4366

44-
data = await client.get_service_extras(service.key, service.version)
45-
if not data or data.service_build_details is None:
67+
is_older_than_cutoff = service_build_datetime < _OLD_SERVICES_CUTOFF_DATETIME
68+
if is_older_than_cutoff:
69+
_logger.debug(
70+
"Service %s:%s is considered legacy because it was built before %s",
71+
service.key,
72+
service.version,
73+
_OLD_SERVICES_CUTOFF_DATETIME,
74+
)
4675
return True
47-
service_build_data = arrow.get(data.service_build_details.build_date).datetime
48-
return bool(service_build_data < _LEGACY_SERVICES_DATE)
76+
77+
return False
4978

5079

5180
async def evaluate_default_service_ownership_and_rights(

0 commit comments

Comments
 (0)