(self, *, reload: bool = False)
| 358 | self._approvals.put_entities(approvals) |
| 359 | |
| 360 | def sync_down(self, *, reload: bool = False) -> None: |
| 361 | if reload: |
| 362 | self.storage.reset() |
| 363 | self._populate_data = True |
| 364 | |
| 365 | task = RebuildTask(self._populate_data) |
| 366 | setting = self.storage.settings.get_entity('PEDM_SYNC_TOKEN') |
| 367 | if setting is None: |
| 368 | setting = admin_storage.PedmAdminSettings(key='PEDM_SYNC_TOKEN', value='') |
| 369 | token: bytes = b'' |
| 370 | if isinstance(setting.value, str) and len(setting.value) > 0: |
| 371 | token = utils.base64_url_decode(setting.value) |
| 372 | |
| 373 | deployments: List[ admin_storage.PedmStorageDeployment] = [] |
| 374 | delete_deployments: List[str] = [] |
| 375 | policies: List[admin_storage.PedmStoragePolicy] = [] |
| 376 | delete_policies: List[str] = [] |
| 377 | agents: List[admin_storage.PedmStorageAgent] = [] |
| 378 | delete_agents: List[str] = [] |
| 379 | collections: List[admin_storage.PedmStorageCollection] = [] |
| 380 | delete_collections: List[str] = [] |
| 381 | collection_links: List[admin_storage.PedmStorageCollectionLink] = [] |
| 382 | delete_collection_links: List[Tuple[str, str]] = [] |
| 383 | approvals: List[admin_storage.PedmStorageApproval] = [] |
| 384 | delete_approvals: List[str] = [] |
| 385 | approval_status: List[admin_storage.PedmStorageApprovalStatus] = [] |
| 386 | |
| 387 | sync_rq = pedm_pb2.GetPedmDataRequest() |
| 388 | done = False |
| 389 | while not done: |
| 390 | sync_rq.continuationToken = token |
| 391 | sync_rs = api.execute_router(self.params,'pedm/sync_pedm_data', sync_rq, rs_type=pedm_pb2.GetPedmDataResponse) |
| 392 | assert sync_rs is not None |
| 393 | if sync_rs.resetCache: |
| 394 | self.storage.reset() |
| 395 | |
| 396 | token = sync_rs.continuationToken |
| 397 | done = not sync_rs.hasMore |
| 398 | |
| 399 | for ra in sync_rs.removedAgents: |
| 400 | agent_uid = utils.base64_url_encode(ra) |
| 401 | delete_agents.append(agent_uid) |
| 402 | |
| 403 | for rp in sync_rs.removedPolicies: |
| 404 | policy_uid = utils.base64_url_encode(rp) |
| 405 | delete_policies.append(policy_uid) |
| 406 | |
| 407 | for rd in sync_rs.removedDeployments: |
| 408 | deployment_uid = utils.base64_url_encode(rd) |
| 409 | delete_deployments.append(deployment_uid) |
| 410 | |
| 411 | for rc in sync_rs.removedCollection: |
| 412 | collection_uid = utils.base64_url_encode(rc) |
| 413 | delete_collections.append(collection_uid) |
| 414 | |
| 415 | for rcl in sync_rs.removedCollectionLink: |
| 416 | collection_uid = utils.base64_url_encode(rcl.collectionUid) |
| 417 | link_uid = utils.base64_url_encode(rcl.linkUid) |
nothing calls this directly
no test coverage detected