Archive: Namaste PHP AMQP framework v1.0 (2017-2020)
952 days continuous production uptime, 40k+ tp/s single node. Original corpo Bitbucket history not included — clean archive commit.
This commit is contained in:
711
common/dbCatalog.php
Normal file
711
common/dbCatalog.php
Normal file
@@ -0,0 +1,711 @@
|
||||
<?php
|
||||
/**
|
||||
* this file holds all of the mongo template and config constants
|
||||
*
|
||||
* @author mike@givingassistant.org
|
||||
* @version 1.0
|
||||
*
|
||||
*
|
||||
* HISTORY:
|
||||
* ========
|
||||
* 06-07-17 mks original coding
|
||||
*
|
||||
*/
|
||||
const TEMPLATE_DB = 'db';
|
||||
const TEMPLATE_DB_AUTH = 'admin';
|
||||
const TEMPLATE_DB_DDB = 'DynamoDB';
|
||||
const TEMPLATE_DB_MONGO = 'mongoDB';
|
||||
const TEMPLATE_DB_PDO = 'PDO';
|
||||
const APPLICATION_BRAND = 'ga';
|
||||
|
||||
const DB_MASTER = 1;
|
||||
const DB_SLAVE = 0;
|
||||
|
||||
const STRING_MYSQL = 'mysql';
|
||||
const STRING_MONGO = 'mongo';
|
||||
const STRING_PDO = 'PDO';
|
||||
|
||||
const STRING_SORT_ASC = 'ASC';
|
||||
const STRING_SORT_DESC = 'DESC';
|
||||
const STRING_WITH_ROLLUP = 'WITH ROLLUP';
|
||||
const STRING_MULTI = 'multi';
|
||||
const STRING_UPSERT = 'upsert';
|
||||
const STRING_PROJECTION = 'projection';
|
||||
const STRING_IN = 'IN';
|
||||
const STRING_OUT = 'OUT';
|
||||
const STRING_INOUT = 'INOUT';
|
||||
const PKEY_GUID = 'guid'; // namaste pkey for external use
|
||||
const PKEY_ID = 'id'; // traditional mysql pkey for internal use
|
||||
|
||||
// define the database service locations
|
||||
const CONFIG_DATABASE_SERVICE_APPSERVER = 'appServer';
|
||||
const CONFIG_DATABASE_SERVICE_ADMIN = 'admin';
|
||||
const CONFIG_DATABASE_SERVICE_SEGUNDO = 'segundo';
|
||||
const CONFIG_DATABASE_SERVICE_TERCERO = 'tercero';
|
||||
|
||||
// db history events
|
||||
const DB_EVENT_SELECT = 'select';
|
||||
const DB_EVENT_CREATE = 'create';
|
||||
const DB_EVENT_BULK_CREATE = 'bulkCreate';
|
||||
const DB_EVENT_UPDATE = 'update';
|
||||
const DB_EVENT_UPSERT = 'upsert';
|
||||
const DB_EVENT_BATCH_UPDATE = 'batchUpdate';
|
||||
const DB_EVENT_FETCH = 'fetch';
|
||||
const DB_EVENT_DELETE = 'delete';
|
||||
const DB_EVENT_BATCH_DELETE = 'batchDelete';
|
||||
const DB_EVENT_LOCK = 'lock';
|
||||
const DB_EVENT_UNLOCK = 'releaseLock';
|
||||
const DB_EVENT_WAREHOUSE = 'warehouse';
|
||||
const DB_EVENT_NAMASTE_WRITE = 'internalWrite';
|
||||
const DB_EVENT_NAMASTE_READ = 'internalRead';
|
||||
const DB_EVENT_HK = 'houseKeeping';
|
||||
const DB_EVENT_CALL_SP = 'storedProcedureCalled';
|
||||
const DB_EVENT_NONE = 'none';
|
||||
const DB_EVENT_SCI = 'subCollectionInsert';
|
||||
const DB_EVENT_SCD = 'subCollectionDelete';
|
||||
const DB_EVENT_SCF = 'subCollectionFetch';
|
||||
const DB_EVENT_BI = 'batchInsert';
|
||||
const DB_EVENT_MAIL = 'emailSent';
|
||||
const DB_EVENT_DISABLED = 'recordDisabled';
|
||||
const DB_EVENT_NULL = 'deleteField';
|
||||
|
||||
// DDB table decl constants
|
||||
const DDB_TYPE_STRING = 'S';
|
||||
const DDB_TYPE_STRING_SET = 'SS';
|
||||
const DDB_TYPE_NUMBER = 'N';
|
||||
const DDB_TYPE_NUMBER_SET = 'NS';
|
||||
const DDB_TYPE_BINARY = 'B';
|
||||
const DDB_TYPE_BINARY_SET = 'BS';
|
||||
const DDB_TYPE_BOOLEAN = 'BOOL';
|
||||
const DDB_TYPE_LIST = 'L';
|
||||
const DDB_TYPE_MAP = 'M';
|
||||
const DDB_TYPE_NULL = 'NULL';
|
||||
const DDB_INDEX_HASH = 'HASH';
|
||||
const DDB_INDEX_RANGE = 'RANGE';
|
||||
const DDB_STRING_PROVISIONED_THROUGHPUT = 'ProvisionedThroughput';
|
||||
const DDB_STRING_READ_CAPACITY_UNITS = 'ReadCapacityUnits';
|
||||
const DDB_STRING_WRITE_CAPACITY_UNITS = 'WriteCapacityUnits';
|
||||
const DDB_STRING_ATTRIBUTE_NAME = 'AttributeName';
|
||||
const DDB_STRING_ATTRIBUTE_TYPE = 'AttributeType';
|
||||
const DDB_STRING_ATTRIBUTE_VALUE_LIST = 'AttributeValueList';
|
||||
const DDB_STRING_ATTRIBUTE_DEFINITIONS = 'AttributeDefinitions';
|
||||
const DDB_STRING_KEY_TYPE = 'KeyType';
|
||||
const DDB_STRING_TABLE_NAME = 'TableName';
|
||||
const DDB_STRING_KEY_SCHEMA = 'KeySchema';
|
||||
const DDB_METADATA = '@metadata';
|
||||
const DDB_STATUS_CODE = 'statusCode';
|
||||
const DDB_TABLE_NAMES = 'TableNames';
|
||||
const DDB_TABLE_NAME = 'TableName';
|
||||
const DDB_STRING_ITEM = 'Item';
|
||||
const DDB_STRING_ITEMS = 'Items';
|
||||
const DDB_STRING_KEY_CONDITIONS = 'KeyConditions';
|
||||
const DDB_STRING_KEY_COND_EXPR = 'KeyConditionExpression';
|
||||
const DDB_STRING_EXPR_ATTR_NAMES = 'ExpressionAttributeNames';
|
||||
const DDB_STRING_EXPR_ATTR_VALS = 'ExpressionAttributeValues';
|
||||
const DDB_STRING_CONSISTENT_READ = 'ConsistentRead';
|
||||
const DDB_STRING_KEY = 'Key';
|
||||
const DDB_STRING_QUERY = 'Query';
|
||||
const DDB_STRING_COUNT = 'Count';
|
||||
const DDB_STRING_NON_KEY_ATTRIBUTE = 'nka';
|
||||
const DDB_STRING_NON_KEY_ATTRIBUTES = 'NonKeyAttributes';
|
||||
const DDB_STRING_PROJECTION = 'Projection';
|
||||
const DDB_STRING_PROJECTION_TYPE = 'ProjectionType';
|
||||
const DDB_STRING_PT = 'projectionType';
|
||||
const DDB_STRING_INDEX_NAME = 'IndexName';
|
||||
const DDB_STRING_GLOBAL_SI = 'GlobalSecondaryIndexes';
|
||||
const DDB_STRING_GSI = 'globalIndexes';
|
||||
const DDB_STRING_LOCAL_SI = 'LocalSecondaryIndexes';
|
||||
const DDB_STRING_LSI = 'localIndexes';
|
||||
const DDB_PT_KEYS_ONLY = 'KEYS_ONLY';
|
||||
const DDB_PT_INCLUDE = 'INCLUDE';
|
||||
const DDB_PT_ALL = 'ALL';
|
||||
const DDB_INDEX_TYPE_PRIMARY = 'primary';
|
||||
const DDB_INDEX_TYPE_GLOBAL = 'globalSecondary';
|
||||
const DDB_INDEX_TYPE_LOCAL = 'localSecondary';
|
||||
|
||||
// mongo table names
|
||||
const NOSQL_TABLE_SEQUENCE = 'sequence_seq';
|
||||
|
||||
// mongo constants
|
||||
const MONGO_ID = '_id';
|
||||
const MONGO_DSN = 'mongodb://';
|
||||
const MONGO_REPL_SET = 'replicaSet';
|
||||
const MONGO_REPL_SET_LIST = 'replicaSetList';
|
||||
const MONGO_URI_PORT = 'uriPort';
|
||||
const MONGO_DATABASE = 'database';
|
||||
const MONGO_MASTER = 'master';
|
||||
const MONGO_WH_MASTER = 'whMaster';
|
||||
const MONGO_SEGUNDO_MASTER = 'segundoMaster';
|
||||
const MONGO_ADMIN_MASTER = 'adminMaster';
|
||||
const MONGO_TERCERO_MASTER = 'terceroMaster';
|
||||
const MONGO_LOG_MAX_LINES = 100;
|
||||
const MONGO_QUERY_BULK_CREATE = 'Mongo bulkWrite query successfully executed for %d records';
|
||||
const MONGO_BULK_WRITE_RESULTS = '%d documents matched, %d documents updated, %d documents upserted, %d documents inserted, %d documents deleted';
|
||||
const MONGO_EQ = "\$eq";
|
||||
const MONGO_DNE = "\$ne";
|
||||
const MONGO_NIN = "\$nin";
|
||||
const MONGO_IN = "\$in";
|
||||
const MONGO_GT = "\$gt";
|
||||
const MONGO_GTE = "\$gte";
|
||||
const MONGO_LTE = "\$lte";
|
||||
const MONGO_LT = "\$lt";
|
||||
const MONGO_REGEX = "\$regex";
|
||||
const MONGO_AND = "\$and";
|
||||
const MONGO_NOT = "\$not";
|
||||
const MONGO_OR = "\$or";
|
||||
const MONGO_NOR = "\$nor";
|
||||
const MONGO_SET = "\$set";
|
||||
const MONGO_PUSH = "\$push";
|
||||
const MONGO_PULL = "\$pull";
|
||||
const MONGO_EXISTS = "\$exists";
|
||||
const MONGO_ELEMENT_MATCH = "\$elemMatch";
|
||||
const MONGO_STRING_BACKGROUND = 'background';
|
||||
const MONGO_STRING_UNIQUE = 'unique';
|
||||
const MONGO_STRING_NAME = 'name';
|
||||
const MONGO_STRING_PARTIAL_FE = 'partialFilterExpression';
|
||||
const MONGO_STRING_EXPIRE_SEC = 'expireAfterSeconds';
|
||||
const MONGO_STRING_CREATE_INDEX = 'createIndex';
|
||||
const MONGO_STRING_COUNT = 'count';
|
||||
const MONGO_STRING_QUERY = 'query';
|
||||
const MONGO_STRING_ORDERED = 'ordered';
|
||||
const MONGO_COLLECTION_NAME = 'collectionName';
|
||||
const MONGO_START_DATE = 'startDate';
|
||||
const MONGO_END_DATE = 'endDate';
|
||||
|
||||
// index types
|
||||
const MONGO_INDEX_TYPE_SINGLE = 'single';
|
||||
const MONGO_INDEX_TYPE_COMPOUND = 'compound';
|
||||
const MONGO_INDEX_TYPE_MULTIKEY = 'multikey';
|
||||
|
||||
// PDO constants
|
||||
const PDO_ID = 'id';
|
||||
const PDO_EVENTS = 'pdoEvents';
|
||||
const PDO_PROCEDURES = 'pdoProcedures';
|
||||
const PDO_FUNCTIONS = 'pdoFunctions';
|
||||
const PDO_VIEWS = 'pdoViews';
|
||||
const PDO_SQL = 'sql';
|
||||
const PDO_SQL_FC = 'firstCommit';
|
||||
const PDO_SQL_UPDATE = 'pdoUpdateStatements';
|
||||
const PDO_VERSION = 'version';
|
||||
const PDO_TABLE = 'pdoTableName';
|
||||
const PDO_TRIGGERS = 'pdoTriggers';
|
||||
const PDO_DATA_DEFINITION = 'dataDefinition';
|
||||
const PDO_AVG_ROW_LEN = 'ARL';
|
||||
const PDO_RECORDS_PER_PAGE = 'recordsPerPage'; // number of records
|
||||
const PDO_RP_PRIMARY = 'primary';
|
||||
const PDO_RP_PRIMARY_PREFERRED = 'primaryPreferred';
|
||||
const PDO_RP_SECONDARY = 'secondary';
|
||||
const PDO_RP_SECONDARY_PREFERRED = 'secondaryPreferred';
|
||||
const PDO_RP_NEAREST = 'nearest';
|
||||
const PDO_BULK_INSERT_RESULTS = '%d records inserted, %d records dropped';
|
||||
const PDO_UP_DELETE_RESULTS = '%d records %sd';
|
||||
|
||||
// PDO constants used in the templates and deployment scripts
|
||||
const PDO_SQL_HEADER = 'SET FOREIGN_KEY_CHECKS=0;
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET AUTOCOMMIT = 0;
|
||||
SET time_zone = "+00:00";
|
||||
START TRANSACTION;';
|
||||
const PDO_SQL_FOOTER = 'SET FOREIGN_KEY_CHECKS = 1;
|
||||
COMMIT;';
|
||||
|
||||
const PDO_START_TRANSACTION = 'start transaction;';
|
||||
const PDO_COMMIT = 'commit;';
|
||||
const PDO_ROLLBACK = 'rollback;';
|
||||
|
||||
// PDO view constants
|
||||
const PDO_VIEW_BASIC = 'view_basic_';
|
||||
const PDO_VIEW_AUDIT = 'view_audit_';
|
||||
|
||||
// PDO Operators
|
||||
const PDO_EQ = '=';
|
||||
const PDO_NE = '!=';
|
||||
const PDO_LT = '<';
|
||||
const PDO_LTE = '<=';
|
||||
const PDO_GT = '>';
|
||||
const PDO_GTE = '>=';
|
||||
const PDO_NS = '<=>';
|
||||
const PDO_NIN = 'NOT IN';
|
||||
const PDO_IN = 'IN';
|
||||
const PDO_NULL = 'IS NULL';
|
||||
const PDO_NOT_NULL = 'IS NOT NULL';
|
||||
|
||||
// mysql/mariadb constants
|
||||
const MYSQL_EVENT_META = 'meta';
|
||||
const MYSQL_AVG_ROW_LENGTH = 'AVG_ROW_LENGTH';
|
||||
const MYSQL_MAX_DATA_RETURNED = 410000; // max payload size in bytes
|
||||
const MYSQL_COLUMN_KEY = 'Key';
|
||||
const MYSQL_COLUMN_FIELD = 'Field';
|
||||
const MYSQL_COLUMN_TYPE = 'Type'; // do not change case - used for mysql system table
|
||||
const MYSQL_INDEX_PRIMARY = 'PRI';
|
||||
const MYSQL_INDEX_UNIQUE = 'UNI';
|
||||
const MYSQL_ROWS_AFFECTED = 'rows affected: ';
|
||||
const MYSQL_COLUMN_NAME = 'Column_name';
|
||||
|
||||
// Template Classes
|
||||
const TEMPLATE_CLASS_LOGS = 'Logs';
|
||||
const TEMPLATE_CLASS_METRICS = 'Metrics';
|
||||
const TEMPLATE_CLASS_GRAPHS = 'Graphs';
|
||||
const TEMPLATE_CLASS_TEST_MONGO = 'TestMongo';
|
||||
const TEMPLATE_CLASS_DONORS = 'Donors';
|
||||
const TEMPLATE_CLASS_TRANSACTIONS = 'Transactions';
|
||||
const TEMPLATE_CLASS_SMAXAPI = 'SMAXAPI';
|
||||
const TEMPLATE_CLASS_SESSIONS = 'Sessions';
|
||||
const TEMPLATE_CLASS_SYS_EVENTS = 'SystemEvents';
|
||||
const TEMPLATE_CLASS_SYS_DATA = 'SystemData';
|
||||
const TEMPLATE_CLASS_TEST_PDO = 'TestPDO';
|
||||
const TEMPLATE_CLASS_PRODUCT_REG = 'ProductRegistrations';
|
||||
const TEMPLATE_CLASS_PROD_REGS = 'ProdRegistrations'; // mysql version of the mongo class above
|
||||
const TEMPLATE_CLASS_PRODUCT_SES = 'ProductSessions';
|
||||
const TEMPLATE_CLASS_PRODUCT_SES_USR = 'ProductSessionUsers';
|
||||
const TEMPLATE_CLASS_MIGRATIONS = 'Migrations';
|
||||
const TEMPLATE_CLASS_WAREHOUSE = 'Warehouse';
|
||||
const TEMPLATE_CLASS_WHC1_PROD_REG = 'WHC1ProdRegistrations';
|
||||
const TEMPLATE_CLASS_AUDIT = 'Audit';
|
||||
const TEMPLATE_CLASS_JOURNAL = 'Journaling';
|
||||
const TEMPLATE_CLASS_USERS = 'Users';
|
||||
const TEMPLATE_CLASS_FAILED_SESSIONS = 'failedSessions';
|
||||
const TEMPLATE_CLASS_WBL = 'WBList';
|
||||
const TEMPLATE_CLASS_CSL = 'ConsolidatedSanctionsList';
|
||||
|
||||
// Warehouse Collection Name Definitions (COOL Storage)
|
||||
const WH_COOL_MONGO_PRODUCT_REGISTRATIONS = 'gaCoolProductRegistrations';
|
||||
const WH_COOL_PDO_PROD_REGS = 'gaCoolProductRegistrations';
|
||||
|
||||
// mongo logs collection
|
||||
const COLLECTION_MONGO_LOGS = 'gaLogs';
|
||||
const COLLECTION_MONGO_LOGS_EXT = '_log';
|
||||
|
||||
// mongo systemEvents collection
|
||||
const COLLECTION_MONGO_SYS_EVENTS = 'gaSystemEvents';
|
||||
const COLLECTION_MONGO_SYS_EVENTS_EXT = '_sev';
|
||||
|
||||
// mongo test collection
|
||||
const COLLECTION_MONGO_TEST = 'gaTest';
|
||||
const COLLECTION_MONGO_TEST_EXT = '_tst';
|
||||
|
||||
// mongo donors collection
|
||||
const COLLECTION_MONGO_DONORS = 'gaDonors';
|
||||
const COLLECTION_MONGO_DONORS_EXT = '_don';
|
||||
|
||||
// mongo transactions collection
|
||||
const COLLECTION_MONGO_TRANSACTIONS = 'gaTransactions';
|
||||
const COLLECTION_MONGO_TRANSACTIONS_EXT = '_tra';
|
||||
|
||||
// mongo SMAXAPI collection
|
||||
const COLLECTION_MONGO_SMAXAPI = 'gaSMAXAPI';
|
||||
const COLLECTION_MONGO_SMAXAPI_EXT = '_api';
|
||||
|
||||
// mongo system data collection
|
||||
const COLLECTION_MONGO_SYS_DATA = 'gaSystemData';
|
||||
const COLLECTION_MONGO_SYS_DATA_EXT = '_syd';
|
||||
const VALID_STATES = 'validStates';
|
||||
const VALID_STATUS = 'validStatus';
|
||||
const ROW_ID = 'rowID';
|
||||
const DATA_KEY = 'key';
|
||||
const DATA_VALUE = 'value';
|
||||
|
||||
// mongo sessions collection
|
||||
const COLLECTION_MONGO_SESSIONS = 'gaSessions';
|
||||
const COLLECTION_MONGO_SESS_EXT = '_ses';
|
||||
|
||||
// mongo users collection
|
||||
const COLLECTION_MONGO_USERS = 'gaUsers';
|
||||
const COLLECTION_MONGO_USERS_EXT = '_usr';
|
||||
|
||||
// mongo consolidated sanctions list
|
||||
const COLLECTION_MONGO_CSL = 'gaConsolidatedSanctionsList';
|
||||
const COLLECTION_MONGO_CSL_EXT = '_csl';
|
||||
|
||||
// mongo failed events collection
|
||||
const COLLECTION_MONGO_FAILED_SESSIONS = 'gaFailedSessions';
|
||||
const COLLECTION_MONGO_FAILED_SESSIONS_EXT = '_fse';
|
||||
|
||||
// mongo white-black list collection
|
||||
const COLLECTION_MONGO_WBLIST = 'gaWhiteBlackList';
|
||||
const COLLECTION_MONGO_WBLIST_EXT = '_wbl';
|
||||
|
||||
// mongo consolidated sanctions list collection
|
||||
const COLLECTION_MONGO_CSL_ADDRESS = 'address';
|
||||
const COLLECTION_MONGO_CSL_ADDRESS1 = 'address1';
|
||||
const COLLECTION_MONGO_CSL_ADDRESS2 = 'address2';
|
||||
const COLLECTION_MONGO_CSL_ADDRESS3 = 'address3';
|
||||
const COLLECTION_MONGO_CSL_ADDR_LIST = 'addressList';
|
||||
const COLLECTION_MONGO_CSL_AKA = 'aka';
|
||||
const COLLECTION_MONGO_CSL_AKA_LIST = 'akaList';
|
||||
const COLLECTION_MONGO_CSL_CATEGORY = 'category';
|
||||
const COLLECTION_MONGO_CSL_CITIZENSHIP = 'citizenship';
|
||||
const COLLECTION_MONGO_CSL_CITIZENSHIP_LIST = 'citizenshipList';
|
||||
const COLLECTION_MONGO_CSL_CITY = 'city';
|
||||
const COLLECTION_MONGO_CSL_COUNTRY = 'country';
|
||||
const COLLECTION_MONGO_CSL_DOB = 'dateOfBirth';
|
||||
const COLLECTION_MONGO_CSL_DOB_ITEM = 'dateOfBirthItem';
|
||||
const COLLECTION_MONGO_CSL_DOB_LIST = 'dateOfBirthList';
|
||||
const COLLECTION_MONGO_CSL_FN = 'firstName';
|
||||
const COLLECTION_MONGO_CSL_ID = 'id';
|
||||
const COLLECTION_MONGO_CSL_ID_COUNTRY = 'idCountry';
|
||||
const COLLECTION_MONGO_CSL_ID_LIST = 'idList';
|
||||
const COLLECTION_MONGO_CSL_ID_NUMBER = 'idNumber';
|
||||
const COLLECTION_MONGO_CSL_ID_TYPE = 'idType';
|
||||
const COLLECTION_MONGO_CSL_LN = 'lastName';
|
||||
const COLLECTION_MONGO_CSL_MAIN_ENTRY = 'mainEntry';
|
||||
const COLLECTION_MONGO_CSL_POB = 'placeOfBirth';
|
||||
const COLLECTION_MONGO_CSL_POB_ITEM = 'placeOfBirthItem';
|
||||
const COLLECTION_MONGO_CSL_POB_LIST = 'placeOfBirthList';
|
||||
const COLLECTION_MONGO_CSL_POSTAL_CODE = 'postalCode';
|
||||
const COLLECTION_MONGO_CSL_PRG = 'program';
|
||||
const COLLECTION_MONGO_CSL_PRG_LIST = 'programList';
|
||||
const COLLECTION_MONGO_CSL_REMARKS = 'remarks';
|
||||
const COLLECTION_MONGO_CSL_SDN_ENTRY = 'sdnEntry';
|
||||
const COLLECTION_MONGO_CSL_SDN_TYPE = 'sdnType';
|
||||
const COLLECTION_MONGO_CSL_SOP = 'stateOrProvince';
|
||||
const COLLECTION_MONGO_CSL_TYPE = 'type';
|
||||
const COLLECTION_MONGO_CSL_UID = 'uid';
|
||||
|
||||
// mongo product registration collection
|
||||
const COLLECTION_MONGO_PROD_REGS = 'gaProductRegistrations';
|
||||
const COLLECTION_MONGO_PROD_REG_EXT = '_prg';
|
||||
const PRG_TYPE = 'type';
|
||||
const PRG_IID = 'iid';
|
||||
const PRG_EAV = 'eav';
|
||||
const PRG_PLATFORM = 'platform';
|
||||
const PRG_BROWSER = 'browser';
|
||||
const PRG_MAJOR_VERSION = 'majorVersion';
|
||||
const PRG_MINOR_VERSION = 'minorVersion';
|
||||
const PRG_IS_MOBILE = 'isMobile';
|
||||
const PRG_IS_TABLET = 'isTablet';
|
||||
const PRG_FIRST_SEEN = 'firstSeen';
|
||||
const PRG_LAST_SEEN = 'lastSeen';
|
||||
|
||||
// mongo audit collection
|
||||
const COLLECTION_MONGO_AUDIT = 'gaAudit';
|
||||
const COLLECTION_MONGO_AUDIT_EXT = '_aud';
|
||||
const AUDIT_SYS_EV_GUID = 'systemEventGUID';
|
||||
const AUDIT_SESSION_GUID = 'sessionGUID';
|
||||
const AUDIT_SESSION_IP = 'sessionIP';
|
||||
const AUDIT_USER_GUID = 'userGUID';
|
||||
const AUDIT_JOURNAL_GUID = 'journalGUID';
|
||||
const AUDIT_SERVICE = 'serviceName';
|
||||
const AUDIT_SCHEMA = 'schema';
|
||||
const AUDIT_DB = 'dbName';
|
||||
const AUDIT_TEMPLATE = 'templateName';
|
||||
const AUDIT_COLLECTION = 'tableName';
|
||||
const AUDIT_COLLECTION_EXT = 'collectionExtension';
|
||||
const AUDIT_RECORD_TOKEN = 'recordToken';
|
||||
const AUDIT_SNAPSHOT = 'recordSnapShot';
|
||||
const AUDIT_QUERY = 'query';
|
||||
const AUDIT_ACCESS_CLIENT = 'accessClient';
|
||||
const AUDIT_ACCESS_USER = 'accessUser';
|
||||
const AUDIT_USER_ROLE = 'accessUserRole';
|
||||
const AUDIT_OPERATION = 'operation';
|
||||
const AUDIT_ACCESS_ALLOWED = 'accessAllowed';
|
||||
|
||||
// mongo journaling collection
|
||||
const COLLECTION_MONGO_JOURNAL = 'gaJournal';
|
||||
const COLLECTION_MONGO_JOURNAL_EXT = '_jnl';
|
||||
const JOURNAL_SYSEV_TOK = 'systemEventGUID';
|
||||
const JOURNAL_AUD_TOK = 'auditToken';
|
||||
const JOURNAL_RECORD_GUID = 'recordGUID';
|
||||
const JOURNAL_RESTORE_QUERY = 'restoreQuery';
|
||||
const JOURNAL_HISTORY = 'journalHistory';
|
||||
const JOURNAL_HISTORY_DATE_RESTORED = 'restoredOn';
|
||||
const JOURNAL_HISTORY_RESTORED_EVENT_GUID = 'restorationEventGUID';
|
||||
const JOURNAL_HISTORY_RESTORED_BY = 'restoredBy';
|
||||
const JOURNAL_HISTORY_RESTORED_REASON = 'restoredReason';
|
||||
|
||||
// mysql product registrations table (for testing migrations)
|
||||
const COLLECTION_PDO_PROD_REGS = 'gaProductRegistrations';
|
||||
const COLLECTION_PDO_PROD_REGS_EXT = '_prg';
|
||||
|
||||
// mongo product sessions collection
|
||||
const COLLECTION_MONGO_PROD_SESS = 'gaProductSessions';
|
||||
const COLLECTION_MONGO_PROD_SESS_EXT = '_pse';
|
||||
const PSE_IID = 'iid';
|
||||
const PSE_SID = 'sid';
|
||||
const PSE_IP = 'ip';
|
||||
const PSE_FIRST_SEEN = 'firstSeen';
|
||||
const PSE_LAST_SEEN = 'lastSeen';
|
||||
|
||||
// mongo product session users collection
|
||||
const COLLECTION_MONGO_PSU = 'gaProductSessionUsers';
|
||||
const COLLECTION_MONGO_PSU_EXT = '_psu';
|
||||
const PSU_SID = 'sid';
|
||||
const PSU_UID = 'uid';
|
||||
const PSU_FIRST_SEEN = 'firstSeen';
|
||||
const PSU_LAST_SEEN = 'lastSeen';
|
||||
|
||||
// mongo warehouse collection (internal table)
|
||||
const COLLECTION_MONGO_WAREHOUSE = 'gaWarehouse';
|
||||
const COLLECTION_MONGO_WAREHOUSE_EXT = '_whd';
|
||||
|
||||
// mongo migrations collection (internal table)
|
||||
const COLLECTION_MONGO_MIGRATIONS = 'gaMigrations';
|
||||
const COLLECTION_MONGO_MIGRATIONS_EXT = '_mig';
|
||||
|
||||
// mongo constants for both migrations and warehousing
|
||||
const MWH_SOURCE_SCHEMA = 'sourceSchema';
|
||||
const MWH_SOURCE_TABLE = 'sourceTable';
|
||||
const MWH_DEST_SCHEMA = 'destinationSchema';
|
||||
const MWH_DEST_TABLE = 'destinationTable';
|
||||
const MWH_DATE_STARTED = 'dateStarted';
|
||||
const MWH_NUM_RECS_SOURCE = 'numRecsInSource';
|
||||
const MWH_NUM_RECS_IN_QUERY = 'numRecsInQuery';
|
||||
const MWH_NUM_RECS_MOVED = 'numRecsMigrated';
|
||||
const MWH_NUM_RECS_DROPPED = 'numRecsDropped';
|
||||
const MWH_LAST_REC_WRITTEN = 'lastRecordWritten';
|
||||
const MWH_DATE_COMPLETED = 'dateCompleted';
|
||||
const MWH_STOP_REASON = 'reasonProcessingStopped';
|
||||
const MWH_ERROR_CAT = 'processingErrors';
|
||||
const MWH_QUERY = 'mwhQuery';
|
||||
const MWH_QUERY_DATA = 'mwhQueryData';
|
||||
const MWH_DELETE_TYPE = 'deleteSourceType';
|
||||
const MWH_SOURCE_URI = 'sourceURI';
|
||||
const MWH_REPORT = 'resultsReport';
|
||||
|
||||
// mysql test collection
|
||||
const COLLECTION_PDO_TEST = 'gaTest';
|
||||
const COLLECTION_MYSQL_TEST_SQK = 'myPDOTest';
|
||||
const COLLECTION_PDO_TEST_EXT = '_tst';
|
||||
|
||||
// metrics collection
|
||||
const COLLECTION_MONGO_METRICS = 'gaMetrics';
|
||||
const COLLECTION_MONGO_METRICS_EXT = '_met';
|
||||
|
||||
// graphs collection
|
||||
const COLLECTION_MONGO_GRAPHS = 'gaGraphs';
|
||||
const COLLECTION_MONGO_GRAPHS_EXT = '_gra';
|
||||
|
||||
// DB constants - same for all schemas
|
||||
const DB_PKEY = 'id';
|
||||
const DB_HISTORY = 'history';
|
||||
const DB_STATUS = 'status';
|
||||
const DB_TOKEN = 'token';
|
||||
const DB_WH_TOKEN = 'whToken';
|
||||
const DB_WH_EVENT_GUID = 'whEventGuid';
|
||||
const DB_WH_CREATED = 'whCreated';
|
||||
const DB_TIMER = 'timer';
|
||||
const DB_CREATED = 'createdDate';
|
||||
const DB_ACCESSED = 'lastAccessedDate';
|
||||
const DB_EVENT_GUID = 'eventGUID';
|
||||
|
||||
// Logs/Metrics columns
|
||||
const LOG_FILE = 'file';
|
||||
const LOG_METHOD = 'method';
|
||||
const LOG_LINE = 'line';
|
||||
const LOG_CLASS = 'class';
|
||||
const LOG_LEVEL = 'level';
|
||||
const LOG_VALUE = 'levelValue';
|
||||
const LOG_MESSAGE = 'message';
|
||||
const LOG_STACK_TRACE = 'stackTrace';
|
||||
const LOG_TIMER = 'timer';
|
||||
const LOG_MAX_LINES = 100;
|
||||
const LOG_EVENT_GUID = 'eventGUID';
|
||||
const LOG_EVENT = 'event';
|
||||
const LOG_CREATED = 'created';
|
||||
|
||||
// Graphs constants
|
||||
const GRAPH_KEY = 'key';
|
||||
const GRAPH_VALUE = 'value';
|
||||
const GRAPH_SCHEMA = 'schema';
|
||||
const GRAPH_SERVICE = 'service';
|
||||
const GRAPH_LOCATION = 'location';
|
||||
const GRAPH_COMMENT = 'comment';
|
||||
const GRAPH_LABEL = 'label';
|
||||
const GRAPH_COLLECTION = 'collection';
|
||||
const GRAPH_DBO = 'dbo';
|
||||
const GRAPH_EVENT = 'event';
|
||||
const GRAPH_BROKER = 'broker';
|
||||
const GRAPH_TIMER = 'timer';
|
||||
const GRAPH_DATE = 'date';
|
||||
const GRAPH_FILE = 'file';
|
||||
const GRAPH_METHOD = 'method';
|
||||
const GRAPH_LINE = 'line';
|
||||
|
||||
// SystemEvents columns
|
||||
const SYSTEM_EVENT_NAME = 'eventName';
|
||||
const SYSTEM_EVENT_STATUS = 'eventStatus';
|
||||
const SYSTEM_EVENT_TYPE = 'eventType';
|
||||
const SYSTEM_EVENT_CLASS = 'eventClass';
|
||||
const SYSTEM_EVENT_START = 'eventStart';
|
||||
const SYSTEM_EVENT_END = 'eventEnd';
|
||||
const SYSTEM_EVENT_PEAK = 'eventPeak';
|
||||
const SYSTEM_EVENT_TIMER = 'eventTimer';
|
||||
const SYSTEM_EVENT_AT_RESULTS = 'atJobData';
|
||||
const SYSTEM_EVENT_DURATION = 'eventDuration';
|
||||
const SYSTEM_EVENT_BROKER_EVENT = 'brokerEvent';
|
||||
const SYSTEM_EVENT_BROKER_GUID = 'brokerGUID';
|
||||
const SYSTEM_EVENT_COUNT = 'eventCount';
|
||||
const SYSTEM_EVENT_COUNT_TOTAL = 'eventCountTotal';
|
||||
const SYSTEM_EVENT_OGUID = 'originalGUID';
|
||||
const SYSTEM_EVENT_FK_SESSION_GUID = 'idses';
|
||||
const SYSTEM_EVENT_FK_USER_GUID = 'idusr';
|
||||
const SYSTEM_EVENT_BROKER_ROOT_GUID = 'brokerRootGUID';
|
||||
const SYSTEM_EVENT_NUM_EVENTS = 'numberEventsProcessed';
|
||||
const SYSTEM_EVENT_CODE_LOC = 'eventCodeLocation';
|
||||
const SYSTEM_EVENT_ERROR_STACK = 'eventErrorStack';
|
||||
const SYSTEM_EVENT_META_DATA = 'eventMetaData';
|
||||
const SYSTEM_EVENT_NOTES = 'eventNotes';
|
||||
const SYSTEM_EVENT_KEY = 'eventKey';
|
||||
const SYSTEM_EVENT_VAL = 'eventValue';
|
||||
const SYSTEM_EVENT_DATA = 'sysEvData'; // used to piggyback sysEv data in an audit payload
|
||||
|
||||
// warehousing data template vars (consistent across schemas)
|
||||
const WH_SUPPORTED = 'supported';
|
||||
const WH_REMOTE_SUPPORT = 'remoteSupport';
|
||||
const WH_AUTOMATED = 'automated';
|
||||
const WH_DYNAMIC = 'dynamic';
|
||||
const WH_INTERVAL = 'interval';
|
||||
const WH_QUALIFIER = 'qualifier';
|
||||
const WH_OVERRIDE = 'override';
|
||||
const WH_DELETE = 'deleteState';
|
||||
const WH_INDEXES = 'whIndexes';
|
||||
const WH_TEMPLATE = 'whTemplate';
|
||||
|
||||
// donors fields/constants
|
||||
const DONORS_TRANS_COUNT = 'transactionCount';
|
||||
const DONORS_DTCC = 'donationsToCurrentCause';
|
||||
CONST DONORS_TOTAL_DONATIONS = 'totalDonations';
|
||||
const DONORS_SDWC = 'shareDataWithCause';
|
||||
const DONORS_CID = 'idcau';
|
||||
const DONORS_CAUSE_TITLE = 'causeTitle';
|
||||
const DONORS_UNK_FOREIGN_ID = 'idxxx'; // todo - change this
|
||||
|
||||
// transactions fields/constants
|
||||
const TRANSACTIONS_ORDER_ID = 'idord';
|
||||
const TRANSACTIONS_TYPE = 'type';
|
||||
const TRANSACTIONS_DESCRIPTION = 'description';
|
||||
const TRANSACTIONS_AMOUNT = 'amount';
|
||||
const TRANSACTIONS_EVENT_DATE = 'eventDate';
|
||||
const TRANSACTIONS_START_DATE = 'startDate';
|
||||
const TRANSACTIONS_END_DATE = 'endDate';
|
||||
const TRANSACTIONS_META_DATA = 'metaData';
|
||||
const TRANSACTIONS_MD_TRAVEL_END_DATE = 'travelEndDate';
|
||||
const TRANSACTIONS_MD_PARTNER = 'partner';
|
||||
const TRANSACTION_MD_PRODUCT_ID = 'idprd';
|
||||
const TRANSACTIONS_MD_TRAVEL_START_DATE = 'travelStartDate';
|
||||
const TRANSACTIONS_MD_CUSTOMER_ID = 'idcus';
|
||||
const TRANSACTIONS_MD_OFFER_NUMBER = 'offerNum';
|
||||
const TRANSACTIONS_MD_ENV = 'env';
|
||||
const TRANSACTIONS_DEST_CITY_NAME = 'destCityName';
|
||||
const TRANSACTIONS_DEST_STATE_CODE = 'destStateCode';
|
||||
const TRANSACTIONS_DEST_COUNTRY_CODE = 'destCountryCode';
|
||||
const TRANSACTIONS_DONOR_ID = 'iddon';
|
||||
const TRANSACTIONS_CID = 'idxxx'; // todo - change this
|
||||
const TRANSACTIONS_CAUSE_TITLE = 'causeTitle';
|
||||
|
||||
// SMAX API fields
|
||||
const SMAX_COMPANY_NAME = 'companyName';
|
||||
const SMAX_COMPANY_CONTACT_INFO = 'companyContactInfo';
|
||||
const SMAX_COMPANY_CONTACT_INFO_ADDRESS1 = 'companyAddress1';
|
||||
const SMAX_COMPANY_CONTACT_INFO_ADDRESS2 = 'companyAddress2';
|
||||
const SMAX_COMPANY_CONTACT_INFO_CITY = 'companyCity';
|
||||
const SMAX_COMPANY_CONTACT_INFO_STATE = 'companyState';
|
||||
const SMAX_COMPANY_CONTACT_INFO_ZIP = 'companyZIP';
|
||||
const SMAX_COMPANY_PHONES = 'companyPhones';
|
||||
const SMAX_COMPANY_PHONES_VOICE = 'companyPhonesVoice';
|
||||
const SMAX_COMPANY_PHONES_FAX = 'companyPhonesFax';
|
||||
const SMAX_COMPANY_CONTACTS = 'companyContacts';
|
||||
const SMAX_COMPANY_CONTACTS_EMPLOYEE_NAME = 'employeeName';
|
||||
const SMAX_COMPANY_CONTACTS_EMPLOYEE_EMAIL = 'employeeEmail';
|
||||
const SMAX_COMPANY_CONTACTS_EMPLOYEE_PHONE_VOICE = 'employeePhoneVoice';
|
||||
const SMAX_COMPANY_CONTACTS_EMPLOYEE_PHONE_FAX = 'employeePhoneFax';
|
||||
const SMAX_COMPANY_REGISTERED = 'dateRegistered';
|
||||
const SMAX_COMPANY_LICENSE_DURATION = 'licenseDuration';
|
||||
const SMAX_COMPANY_AUTHORIZED_BY = 'authorizedBy';
|
||||
const SMAX_COMPANY_INTERNAL_NOTES = 'internalNotes';
|
||||
const SMAX_LICENSE_TYPE = 'licenseType';
|
||||
const SMAX_TLTI = 'tlti'; // two letter template identifier
|
||||
|
||||
// API license types
|
||||
const SMAX_API_LICENSE_TYPE_PAID = 'PAID';
|
||||
const SMAX_API_LICENSE_TYPE_EVAL = 'EVAL';
|
||||
const SMAX_API_LICENSE_TYPE_BETA = 'BETA'; // includes alpha
|
||||
const SMAX_API_LICENSE_TYPE_PART = 'PARTNER';
|
||||
const SMAX_API_LICENSE_TYPE_TEST = 'TEST'; // for internal testing/development
|
||||
|
||||
// session fields/constants
|
||||
const SESSION_EXPIRES = 'sessionExpires';
|
||||
const SESSION_CLOSED = 'sessionClosed';
|
||||
const SESSION_DURATION = 'sessionDuration';
|
||||
const SESSION_CUSTOM_FIELD = 'sessionCustomField';
|
||||
const SESSION_CUSTOM_VALUE = 'sessionCustomValue';
|
||||
const SESSION_FK_USER = 'idusr';
|
||||
const SESSION_LEVEL = 'sessionLevel';
|
||||
const SESSION_CREATED_WITH = 'createdWith';
|
||||
const SESSION_ACTION = 'action';
|
||||
const SESSION_AUTH_PROVIDER = 'authProvider';
|
||||
|
||||
// users fields/constants
|
||||
const USER_ACCOUNT_SSO = 'accountSSO';
|
||||
const USER_AUTH_DATA = 'authData';
|
||||
const USER_EMAIL_VERIFIED = 'emailVerified';
|
||||
const USER_FBID = 'fbid';
|
||||
const USER_VERIFIED_HUMAN = 'humanVerified';
|
||||
const USER_MEMBERSHIP_PLAN = 'membershipPlan';
|
||||
const USER_NOTES = 'notes';
|
||||
const USER_PASSWORD = 'password';
|
||||
const USER_PASSWORD_UPDATED = 'passwordLastUpdated';
|
||||
const USER_PASSWORD_LAST_THREE = 'lastThreePasswords';
|
||||
const USER_PARTNER_API_KEY = 'partnerAPIKey';
|
||||
const USER_PROMO_SIGN_UP_ID = 'promoSignUpId';
|
||||
const USER_TEMP_PASSWORD = 'tempPassword';
|
||||
const USER_TZ = 'timezone';
|
||||
const USER_LEAP_CONVERTED = 'userLeapConverted';
|
||||
const USER_USERNAME = 'username';
|
||||
const USER_SECONDARY_EMAIL = 'secondaryEmail';
|
||||
const USER_WEBHOOK_RETRIES = 'webhookRetries';
|
||||
const USER_TYPE = 'userType';
|
||||
const USER_FINANCIALS = 'userFinancials'; // sub-collection heading
|
||||
const USER_FINANCIALS_TOTAL_DONATIONS = 'totalDonations';
|
||||
const USER_FINANCIALS_TOTAL_EARNINGS = 'totalEarnings';
|
||||
const USER_FINANCIALS_CASHBACK_BANK = 'cashbackBank';
|
||||
const USER_FINANCIALS_CASHBACK_DONATION = 'cashbackDonations';
|
||||
const USER_FINANCIALS_CURRENT_BALANCE = 'currentBalance';
|
||||
const USER_FINANCIALS_EARNING_TIER = 'earningTier';
|
||||
const USER_FINANCIALS_PAYMENTS = 'Payments'; // sub-collection heading
|
||||
const USER_FINANCIALS_PAYMENTS_ADDRESS1 = 'paymentAddress1';
|
||||
const USER_FINANCIALS_PAYMENTS_ADDRESS2 = 'paymentsAddress2';
|
||||
const USER_FINANCIALS_PAYMENTS_CITY = 'paymentCity';
|
||||
const USER_FINANCIALS_PAYMENTS_COUNTRY = 'paymentCountry';
|
||||
const USER_FINANCIALS_PAYMENTS_FULL_NAME = 'paymentFullName';
|
||||
const USER_FINANCIALS_PAYMENTS_PLAN = 'paymentPlan';
|
||||
const USER_FINANCIALS_PAYMENTS_STATE = 'paymentState';
|
||||
const USER_FINANCIALS_PAYMENTS_STATUS = 'paymentStatus';
|
||||
const USER_FINANCIALS_PAYMENTS_ZIP = 'paymentsZip';
|
||||
const USER_FINANCIALS_PAYMENTS_VERIFIED = 'paymentVerified';
|
||||
const USER_FINANCIALS_PAYMENTS_META = 'paymentMeta';
|
||||
const USER_FINANCIALS_PAYMENTS_TYPE = 'paymentType';
|
||||
const USER_FINANCIALS_PENDING_BALANCE = 'pendingBalance';
|
||||
const USER_FINANCIALS_CUSTOMER_ID = 'customerId';
|
||||
const USER_FINANCIALS_STRIPE_RECIPIENT_VERIFIED = 'stripeRecipientVerified';
|
||||
const USER_FINANCIALS_TIN_FINGERPRINT = 'tinFingerprint';
|
||||
const USER_FINANCIALS_TIN_TYPE = 'tinType';
|
||||
const USER_SPORTS = 'sports'; // sub-collection heading
|
||||
const USER_SPORTS_FAV_ATHLETES = 'favoriteAthletes';
|
||||
const USER_SPORTS_FAV_TEAMS = 'favoriteTeams';
|
||||
const USER_SPORTS_FAV_SPORTS = 'favoriteSports';
|
||||
const USER_CHARITIES = 'charities'; // sub-collection heading
|
||||
const USER_CHARITIES_SELECTED_CAMPAIGN = 'selectedCampaign';
|
||||
const USER_CHARITIES_SELECTED_CAMPAIGN_META = 'selectedMeta';
|
||||
const USER_CHARITIES_SELECTED_CAMPAIGN_TITLE = 'selectedTitle';
|
||||
const USER_REFERRALS = 'referrals'; // sub-collection heading
|
||||
const USER_REFERRALS_EARNINGS = 'earnings';
|
||||
const USER_REFERRALS_CLICKS = 'clicks';
|
||||
const USER_REFERRALS_EARNINGS_PENDING = 'earningsPending';
|
||||
const USER_REFERRALS_SIGNUPS = 'signups';
|
||||
const USER_REFERRALS_RID = 'rid';
|
||||
const USER_PII = 'personalInformation'; // sub-collection heading
|
||||
const USER_PII_ADDRESS = 'address';
|
||||
const USER_PII_AGE_RANGE = 'ageRange'; // should be derived from the next field
|
||||
const USER_PII_BIRTHDAY = 'dob';
|
||||
const USER_PII_COUNTRY_CODE = 'countryCode';
|
||||
const USER_PII_EMAIL = 'email';
|
||||
const USER_PII_SECONDARY_EMAIL = 'altEmail';
|
||||
const USER_PII_FNAME = 'firstName';
|
||||
const USER_PII_GENDER = 'gender';
|
||||
const USER_PII_HOMETOWN = 'homeTown';
|
||||
const USER_PII_LANGUAGES = 'languages';
|
||||
const USER_PII_LNAME = 'lastName';
|
||||
const USER_PII_LEGAL_NAME = 'legalName';
|
||||
const USER_PII_LOCALE = 'locale';
|
||||
const USER_PII_LOCATION = 'location';
|
||||
Reference in New Issue
Block a user