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

"""
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