MCPcopy Create free account
hub / github.com/Keeper-Security/Commander / sync_down

Method sync_down

keepercommander/pedm/admin_plugin.py:360–523  ·  view source on GitHub ↗
(self, *, reload: bool = False)

Source from the content-addressed store, hash-verified

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)

Callers

nothing calls this directly

Calls 15

add_policiesMethod · 0.95
add_agentsMethod · 0.95
add_collectionsMethod · 0.95
add_approvalsMethod · 0.95
build_dataMethod · 0.95
RebuildTaskClass · 0.70
resetMethod · 0.45
get_entityMethod · 0.45
put_entitiesMethod · 0.45
delete_uidsMethod · 0.45
get_all_entitiesMethod · 0.45

Tested by

no test coverage detected