update related ids

This commit is contained in:
2025-06-04 10:23:48 -03:00
parent c3e6ed4a50
commit 3e44761e69
3 changed files with 16 additions and 5 deletions

View File

@@ -18,7 +18,7 @@ DeduplicationWindow = TypedDict('DeduplicationWindow', {'offset_days': int})
class RelatedId(str):
def __new__(cls, id: str, kind: str) -> Self:
return super().__new__(cls, id)
return super().__new__(cls, '#'.join([kind.upper(), id]))
def __init__(self, id: str, kind: str) -> None:
# __init__ is used to store the parameters for later reference.
@@ -86,7 +86,11 @@ def enroll(
'sk': '0',
'create_date': now_,
'metadata__tenant_id': tenant_id,
'metadata__related_ids': {tenant_id, user.id} | related_ids,
'metadata__related_ids': {
RelatedId(tenant_id, 'org'),
RelatedId(user.id, 'user'), # type: ignore
}
| related_ids,
**enrollment.model_dump(),
},
)
@@ -143,7 +147,7 @@ def enroll(
'id': enrollment.id,
'sk': f'related_ids#{kind}',
'create_date': now_,
f'{kind}_id': related_id,
f'{kind}_id': related_id.id,
}
)

View File

@@ -79,9 +79,16 @@ def test_enroll(
)
+ SortKey('0')
+ SortKey('parent_vacancy', path_spec='vacancy')
+ SortKey('related_ids#order', path_spec='order_id'),
+ SortKey('related_ids#order', path_spec='order_id')
+ SortKey('related_ids#user', path_spec='user_id'),
)
assert enrollment['metadata__related_ids'] == {
'USER#9a41e867-55e1-4573-bd27-7b5d1d1bcfde',
'ORG#cJtK9SsnJhKPyxESe7g3DG',
'ORDER#3CNrFB9dy2RLit2pdeUWy4',
}
assert succ['output']['id'] == '8c9b55ef-e988-43ee-b2da-8594850605d7'
assert enrollment['related_ids#order'] == '3CNrFB9dy2RLit2pdeUWy4'
assert enrollment['parent_vacancy'] == {