update related ids
This commit is contained in:
@@ -7,7 +7,7 @@ Toda compra é relacionada a empresa responsável, que é definida como o `tenan
|
||||
O gestor responsável pela ação também é relacionado à compra, com base no email presente na compra.
|
||||
|
||||
```json
|
||||
{"id": "10", "sk": "0", "metadata__tenant_id": "100", "metadata__related_ids": ["100", "123"]}
|
||||
{"id": "10", "sk": "0", "metadata__tenant_id": "100", "metadata__related_ids": ["ORG#100", "USER#123"]}
|
||||
{"id": "10", "sk": "metadata#tenant", "tenant_id": "100"}
|
||||
{"id": "10", "sk": "related_ids#org", "org_id": "100"}
|
||||
{"id": "10", "sk": "related_ids#user", "user_id": "123"}
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
@@ -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'] == {
|
||||
|
||||
Reference in New Issue
Block a user