You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.6 KiB
108 lines
3.6 KiB
"""
|
|
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
|