""" Constants for Duplicate Entities Manager """ COLLECTION_NAME = { 'ALIASES_CACHE': 'itsi_duplicate_aliases_cache', 'ENTITIES_CACHE': 'itsi_duplicate_entities_cache', 'RELATIONSHIP_CACHE': 'itsi_duplicate_alias_entity_relationship_cache' } SUPPORTED_URL_PATHS = ['job_status', 'duplicate_entities', 'duplicate_aliases'] JOB_TYPES = { 'REMEDIATE': 'REMEDIATE', 'GENERATE': 'GENERATE' } DEFAULT_JOB_TYPE_SORT = {'sort_key': 'create_time', 'sort_dir': 'desc'} DEFAULT_JOB_ERROR_MESSAGE = 'Encountered an error while processing duplicate entities' DEFAULT_GENERATE_JOB_TYPE_FILTER = {'filter': {'$and': [ {'job_type': JOB_TYPES.get('GENERATE')}]}} DEFAULT_GENERATE_JOB_TYPE_FILTER_SORT = dict( list(DEFAULT_GENERATE_JOB_TYPE_FILTER.items()) + list(DEFAULT_JOB_TYPE_SORT.items())) DEFAULT_REMEDIATE_JOB_TYPE_FILTER = {'filter': {'$and': [ {'job_type': JOB_TYPES.get('REMEDIATE')}]}} DEFAULT_REMEDIATE_JOB_TYPE_FILTER_SORT = dict(list(DEFAULT_REMEDIATE_JOB_TYPE_FILTER.items()) + list(DEFAULT_JOB_TYPE_SORT.items())) JOB_STATUS_PUT_FIELDS = {'mod_timestamp', 'complete_timestamp', 'status', '_key', 'job_type', 'job_result', 'duplicate_merge_key_count', 'duplicate_entity_count'} VALID_STATUS_FOR_PUT = {'SUCCESS', 'IN_PROGRESS', 'ERROR', 'NEW', 'CANCELLED'} VALID_JOB_TYPES_FOR_PUT = {'GENERATE', 'REMEDIATE', 'CANCEL REMEDIATE', 'CANCEL GENERATE'} JOB_STATUSES_OBJECT = { 'SUCCESS': 'SUCCESS', 'IN_PROGRESS': 'IN_PROGRESS', 'ERROR': 'ERROR', 'NEW': 'NEW', 'CANCELLED': 'CANCELLED' } SEARCH_PATHS = { 'ALIAS_FIELDS': "action.itsi_import_objects.param.entity_identifier_fields", 'MERGE_KEY': "action.itsi_import_objects.param.entity_merge_field", 'TITLE': "action.itsi_import_objects.param.entity_title_field" } ALIAS_TYPES = { 'ALIAS': 'alias', 'TITLE': 'title', 'MERGE_KEY': 'merge_key' } ITSI_DUPLICATE_ENTITIES_CACHE_UPPER_LEVEL_ENTITIES_FIELD = 'duplicate_entities' ITSI_DUPLICATE_ENTITIES_CACHE_INNER_LEVEL_ENTITIES_FIELD = 'entities' ITSI_DUPLICATE_ENTITIES_CACHE_DUPLICATE_TYPE_FIELD = 'duplicate_type' ITSI_DUPLICATE_ENTITIES_CACHE_ALIAS_TYPE_FIELD = 'alias_type' ITSI_DUPLICATE_ENTITIES_CACHE_DUPLICATE_CATEGORY_ALIAS = 'alias' ITSI_DUPLICATE_ENTITIES_CACHE_DUPLICATE_CATEGORY_TITLE_MERGE_KEY = 'title/merge_key' ITSI_DUPLICATE_ENTITIES_CACHE_DUPLICATE_CATEGORY_TITLE = 'title' ITSI_DUPLICATE_ENTITIES_CACHE_DUPLICATE_CATEGORY_MERGE_KEY = 'merge_key' ITSI_DUPLICATE_ENTITIES_CACHE_SEARCHES_FIELD = 'searches' ITSI_DULICATE_ENTITIES_CACHE_MERGE_KEY_COUNT = 'duplicate_merge_key_count' ITSI_DUPLICATE_ENTITIES_CACHE_ALIAS_COUNT = 'duplicate_alias_count' ITSI_DUPLICATE_ENTITIES_CACHE_COUNT_FIELD = 'count' not_allowed_array = ['duplicate_alias_count', 'duplicate_merge_key_count', 'alias_type', 'object_type'] ITSI_SERVICE_COLLECTION_FIELDS_LIST = [ { 'NAME': 'title', 'DEFAULT': None }, { 'NAME': 'services', 'DEFAULT': [] }, { 'NAME': 'entity_type_ids', 'DEFAULT': [] }, { 'NAME': 'retired', 'DEFAULT': False }, { 'NAME': 'description', 'DEFAULT': None }, { 'NAME': '_itsi_identifier_lookups', 'DEFAULT': [] }, { 'NAME': '_itsi_informational_lookups', 'DEFAULT': [] } ] ITSI_DUPLICATE_ENTITIES_CACHE_FIELDNAME = { 'KEY': '_key', 'STATUS': 'status', 'IDENTIFIERS': 'identifiers', 'INFORMATIONAL': 'informational', 'DUPLICATE_ALIASES': 'duplicate_aliases', 'DUPLICATE_TYPES': 'duplicate_types' } MOD_SOURCES = { 'SEARCH_COMMAND': 'search_command', 'NIGHTLY_JOB': 'nightly_job', 'USER_GENERATED': 'user_generated' } WRITE_TO_JOB_QUEUE_RETRIES = 3 WRITE_TO_JOB_QUEUE_PAUSE = 0.5