@resolveio/server-lib 20.5.1 → 20.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/collections/app-status.collection.js +1 -1
- package/collections/app-status.collection.js.map +1 -1
- package/collections/counter.collection.js +1 -1
- package/collections/counter.collection.js.map +1 -1
- package/collections/cron-job-history.collection.js +1 -1
- package/collections/cron-job-history.collection.js.map +1 -1
- package/collections/cron-job.collection.js +1 -1
- package/collections/cron-job.collection.js.map +1 -1
- package/collections/email-history.collection.js +1 -1
- package/collections/email-history.collection.js.map +1 -1
- package/collections/email-verified.collection.js +1 -1
- package/collections/email-verified.collection.js.map +1 -1
- package/collections/file.collection.js +1 -1
- package/collections/file.collection.js.map +1 -1
- package/collections/flag-update.collection.js +1 -1
- package/collections/flag-update.collection.js.map +1 -1
- package/collections/flag.collection.js +1 -1
- package/collections/flag.collection.js.map +1 -1
- package/collections/log-method-latency.collection.js +1 -1
- package/collections/log-method-latency.collection.js.map +1 -1
- package/collections/log-subscription.collection.js +1 -1
- package/collections/log-subscription.collection.js.map +1 -1
- package/collections/log.collection.js +1 -1
- package/collections/log.collection.js.map +1 -1
- package/collections/logged-in-users.collection.js +1 -1
- package/collections/logged-in-users.collection.js.map +1 -1
- package/collections/method-response.collection.js +1 -1
- package/collections/method-response.collection.js.map +1 -1
- package/collections/monitor-cpu.collection.js +1 -1
- package/collections/monitor-cpu.collection.js.map +1 -1
- package/collections/monitor-memory.collection.js +1 -1
- package/collections/monitor-memory.collection.js.map +1 -1
- package/collections/monitor-mongo.collection.js +1 -1
- package/collections/monitor-mongo.collection.js.map +1 -1
- package/collections/notification.collection.js +1 -1
- package/collections/notification.collection.js.map +1 -1
- package/collections/report-builder-dashboard-builder.collection.js +1 -1
- package/collections/report-builder-dashboard-builder.collection.js.map +1 -1
- package/collections/report-builder-library.collection.js +1 -1
- package/collections/report-builder-library.collection.js.map +1 -1
- package/collections/report-builder-report.collection.js +1 -1
- package/collections/report-builder-report.collection.js.map +1 -1
- package/collections/user-group.collection.js +1 -1
- package/collections/user-group.collection.js.map +1 -1
- package/collections/user-guide.collection.js +1 -1
- package/collections/user-guide.collection.js.map +1 -1
- package/collections/user.collection.js +1 -1
- package/collections/user.collection.js.map +1 -1
- package/collections/worker-task-request.collection.js +1 -1
- package/collections/worker-task-request.collection.js.map +1 -1
- package/collections/worker-task-response.collection.js +1 -1
- package/collections/worker-task-response.collection.js.map +1 -1
- package/fixtures/cron-jobs.js +1 -1
- package/fixtures/cron-jobs.js.map +1 -1
- package/fixtures/init.js +1 -1
- package/fixtures/init.js.map +1 -1
- package/http/auth.d.ts +1 -2
- package/http/auth.js +1 -1
- package/http/auth.js.map +1 -1
- package/http/home.d.ts +1 -2
- package/http/home.js +1 -1
- package/http/home.js.map +1 -1
- package/index.d.ts +0 -30
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/managers/cron.manager.js +1 -1
- package/managers/cron.manager.js.map +1 -1
- package/managers/local-log.manager.js +1 -1
- package/managers/local-log.manager.js.map +1 -1
- package/managers/method.manager.js +1 -1
- package/managers/method.manager.js.map +1 -1
- package/managers/mongo.manager.d.ts +1 -2
- package/managers/mongo.manager.js +1 -1
- package/managers/mongo.manager.js.map +1 -1
- package/managers/monitor.manager.d.ts +0 -1
- package/managers/monitor.manager.js +1 -1
- package/managers/monitor.manager.js.map +1 -1
- package/managers/subscription.manager.js +1 -1
- package/managers/subscription.manager.js.map +1 -1
- package/managers/websocket.manager.d.ts +1 -2
- package/managers/websocket.manager.js.map +1 -1
- package/methods/accounts.js +1 -1
- package/methods/accounts.js.map +1 -1
- package/methods/aws.js +1 -1
- package/methods/aws.js.map +1 -1
- package/methods/collections.js +1 -1
- package/methods/collections.js.map +1 -1
- package/methods/counters.js +1 -1
- package/methods/counters.js.map +1 -1
- package/methods/logs.js +1 -1
- package/methods/logs.js.map +1 -1
- package/methods/monitor.js +1 -1
- package/methods/monitor.js.map +1 -1
- package/methods/report-builder.js +1 -1
- package/methods/report-builder.js.map +1 -1
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/public_api.js +1 -1
- package/public_api.js.map +1 -1
- package/resolveio-server-app.d.ts +31 -0
- package/resolveio-server-app.js +2 -0
- package/resolveio-server-app.js.map +1 -0
- package/server-app.d.ts +2 -1
- package/server-app.js +1 -1
- package/server-app.js.map +1 -1
- package/util/common.d.ts +1 -0
- package/util/common.js +1 -1
- package/util/common.js.map +1 -1
- package/util/schema-report-builder.js +1 -1
- package/util/schema-report-builder.js.map +1 -1
- package/client-server-app.d.ts +0 -1
- package/client-server-app.js +0 -2
- package/client-server-app.js.map +0 -1
package/util/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/common.ts"],"names":["rusDiff","require","deepDiff","diff","deep_object_diff_1","clone","moment","buildRbSchema","rbSchema","Object","keys","forEach","key","type","rbType","Array","String","Date","Number","Boolean","buildRbLookups","rbLookups","defaultSchema","default_checked_array","lkp","localKey","errString","localKeyDir","localKeyDirDot","collectionAlias","toTitleCase","lookup","replace","local_key","lookupNode","match","newPropertyName","lookup_collection","lookup_collection_alias","field_path","lookup_as","lookup_key","throwErr","ii","length","assign","err","console","log","process","exit","roundPrecision","value","precision","stringValue","toString","includes","indexOf","exponent","Math","pow","round","parseFloat","power","floorPrecision","floor","deepCopy","dateReviver","a","exec","UTC","split","getMongoUpdates","currDoc","modifiedDoc","incVersion","createdAt","updatedAt","updates","$set","$inc","__v","getMongoMergeUpdatedDoc","f_doc","currentDoc","oldDoc","upDoc","diff_1","getDeepDiff","applyMongoUpdate","mergeUpdates","updatesToMerge","_i","arguments","merged","$unset","$push","$pull","filter","anUpdate","change","path","join","kind","handleEditedChange","handleArrayChange","rhs","lhs","item","some","JSON","stringify","push","doc1","doc2","_id","uDoc","delta","orig","$rename","handleRename","handleSet","handleInc","handleUnset","handlePull","handlePush","renameMap","k","v","_a","__read","resolve","o1","n1","_b","o2","n2","logError","setMap","force","o","n","incMap","unsetMap","pullMap","pathk","pullValues","e_1","pullValues_1","__values","pullValues_1_1","next","done","vk","_c","splice","findIndex","z","pushMap","pushValues","e_2","pushValues_1","pushValues_1_1","options","stack","arrize","last","e","unshift","pop","shift","concat","isNextNum","isLastNum","glue","isArray","slice","map","deepDiffDetails","object1","object2","obj1","obj2","detailedDiff","diffString","formatValue","format","startsWith","formatObjectDiff","customArrayDiff","arr1","arr2","arrayDiffResults","maxLength","max","i","__assign","obj1Val","undefined","obj2Val","diffType","getBinarySize","string","Buffer","byteLength","pad","num","size","s","randomString","chars","result","random","str","txt","charAt","toUpperCase","substr","toLowerCase","isObject","mergeDeep","target","sources","source","apply","__spreadArray","exports"],"mappings":"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","file":"common.js","sourcesContent":["/* eslint-disable no-restricted-properties */\nlet rusDiff = require('rus-diff');\nlet deepDiff = require('deep-diff').diff;\nimport { detailedDiff } from 'deep-object-diff';\nimport { LookupTables } from '../models/report-builder.model';\nlet clone = require('clone');\nimport * as moment from 'moment-timezone';\n\nexport function buildRbSchema(rbSchema: any) {\n\tObject.keys(rbSchema).forEach(key => {\n\t\tif (rbSchema[key].type === Object) {\n\t\t\trbSchema[key].type = 'Object';\n\t\t\trbSchema[key].rbType = 'Object';\n\t\t}\n\t\telse if (rbSchema[key].type === Array) {\n\t\t\trbSchema[key].type = 'Array';\n\t\t\trbSchema[key].rbType = 'Array';\n\t\t}\n\t\telse if (rbSchema[key].type === String) {\n\t\t\trbSchema[key].type = 'String';\n\t\t\trbSchema[key].rbType = 'String';\n\t\t}\n\t\telse if (rbSchema[key].type === Date) {\n\t\t\trbSchema[key].type = 'Date';\n\t\t\trbSchema[key].rbType = 'Date';\n\t\t}\n\t\telse if (rbSchema[key].type === Number) {\n\t\t\trbSchema[key].type = 'Number';\n\t\t\trbSchema[key].rbType = 'Number';\n\t\t}\n\t\telse if (rbSchema[key].type === Boolean) {\n\t\t\trbSchema[key].rbType = 'Boolean';\n\t\t\trbSchema[key].type = 'Boolean';\n\t\t}\n\t});\n\n\tObject.keys(rbSchema).forEach(key => {\n\t\tdelete rbSchema[key].type;\n\t});\n\n\treturn rbSchema;\n}\n\nexport function buildRbLookups(rbLookups: LookupTables[], defaultSchema: object, default_checked_array: string[] = []) {\n\t// Remember: lkp.local_key will be removed later on, because it has 'id_'\n\t\n\trbLookups.forEach(lkp => {\n\t\tlet errString = '';\n\t\tlet localKey, newPropertyName;\n\t\tlet localKeyDir = '';\n\t\tlet localKeyDirDot = '';\n\t\tlet collectionAlias = toTitleCase(lkp.lookup.replace(/\\_/g, ' ')) + ' (' + toTitleCase(lkp.local_key.replace('id_', '').replace(/\\_/g, ' ').replace(/\\.\\$\\./g, ' -> ').replace(/\\./g, ' -> ')) + ') (Lookup)';\n\n\t\tif (lkp.local_key.match(/\\./)) {\n\t\t\tlocalKey = lkp.local_key.replace(/\\.\\$/g, '');\n\t\t\tlocalKeyDirDot = lkp.local_key.replace(/^(.+\\.).*$/, '$1');\n\t\t\tlocalKeyDir = localKeyDirDot.replace(/\\.$/, '');\n\t\t}\n\t\telse {\n\t\t\t// local_key is a root leaf node.\n\t\t\tlocalKey = lkp.local_key;\n\t\t}\n\t\tnewPropertyName = localKeyDirDot + collectionAlias;\n\t\t\n\t\tif (!defaultSchema[lkp.local_key]) {\n\t\t\terrString += '--local_key: \\'' + lkp.local_key + '\\' MUST be a valid schema path! ';\n\t\t}\n\t\telse if (defaultSchema[lkp.local_key].type !== String) {\n\t\t\terrString += '--local_key: \\'' + lkp.local_key + '\\' MUST be a String! ';\n\t\t}\n\t\tlet lookupNode = {\n\t\t\tlookup_collection: lkp.lookup,\n\t\t\tlookup_collection_alias: collectionAlias,\n\t\t\tlocal_key: localKey,\n\t\t\tfield_path: localKeyDir,\n\t\t\tlookup_as: newPropertyName,\n\t\t\tlookup_key: '_id',\n\t\t\ttype: 'Object',\n\t\t};\n\n\t\tdefaultSchema[newPropertyName] = lookupNode;\n\n\t\tif (errString) {\n\t\t\tthrowErr(errString, lkp, lookupNode, newPropertyName);\n\t\t}\n\t});\n\n\tfor (let ii = 0; ii < default_checked_array.length; ii++) {\n\t\tdefaultSchema[default_checked_array[ii]] = {};\n\t\tdefaultSchema[default_checked_array[ii]]['default_checked'] = true;\n\t\tObject.assign(defaultSchema[default_checked_array[ii]], defaultSchema['tree'][default_checked_array[ii]]);\n\t}\n\n\treturn defaultSchema;\n}\n\nexport function throwErr(err: any, lkp, lookupNode, newPropertyName = '') {\n\t// err could be from a try/throw/catch\n\tconsole.log('------- ERROR thrown by rbLookups: ');\n\tconsole.log(err);\n\tconsole.log('---item: ');\n\tconsole.log(lkp);\n\tconsole.log('---Attempted to create rbSchema[\\'' + newPropertyName + '\\']: ');\n\tconsole.log(lookupNode);\n\tprocess.exit(1);\n}\n\nexport function roundPrecision(value: number, precision = 0) {\n\tlet stringValue = value.toString();\n\t\n\tif (stringValue.includes('.')) {\n\t\tif (stringValue[0] === '0') {\n\t\t\tprecision += 1;\n\t\t}\n\t\t\n\t\tprecision -= stringValue.indexOf('.');\n\t}\n\n\tconst exponent = Math.pow(10, precision);\n\treturn Math.round(parseFloat(stringValue) * exponent) / exponent;\n}\n\nexport function round(value, precision = 0) {\n\tconst power = Math.pow(10, precision);\n\tconst adjustment = 1e-6;\n\treturn Math.round( (value * power) + adjustment) / power;\n}\n\nexport function floorPrecision(value: number, precision = 0) {\n\tlet stringValue = value.toString();\n\t\n\tif (stringValue.includes('.')) {\n\t\tif (stringValue[0] === '0') {\n\t\t\tprecision += 1;\n\t\t}\n\t\t\n\t\tprecision -= stringValue.indexOf('.');\n\t}\n\n\tconst exponent = Math.pow(10, precision);\n\treturn Math.floor(parseFloat(stringValue) * exponent) / exponent;\n}\n\nexport function deepCopy(value) {\n\treturn clone(value);\n}\n\nexport function dateReviver(key, value) {\n\tif (typeof value === 'string') {\n\t\tlet a = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n\t\tif (a) {\n\t\t\treturn new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6].split('.')[0], +a[6].split('.')[1]));\n\t\t}\n\t}\n\treturn value;\n}\n\nexport function getMongoUpdates(currDoc, modifiedDoc, incVersion) {\n\tif (currDoc.createdAt) {\n\t\tmodifiedDoc.createdAt = currDoc.createdAt;\n\t}\n\n\tif (currDoc.updatedAt) {\n\t\tmodifiedDoc.updatedAt = currDoc.updatedAt;\n\t}\n\n\tlet updates = rusDiff.diff(currDoc, modifiedDoc);\n\n\tif (updates) {\n\t\tif (updates.$set && !Object.keys(updates.$set).length) {\n\t\t\tdelete updates.$set;\n\t\t}\n\n\t\tif (incVersion) {\n\t\t\tupdates.$inc = {__v: 1};\n\t\t}\n\t}\n\telse {\n\t\tif (incVersion) {\n\t\t\tupdates = {\n\t\t\t\t$inc: {__v: 1}\n\t\t\t};\n\t\t}\n\t}\n\n\treturn updates;\n}\n\nexport function getMongoMergeUpdatedDoc(f_doc, currentDoc, oldDoc) {\n\tlet upDoc = deepCopy(oldDoc);\n\tupDoc.__v = currentDoc.__v;\n\tlet diff_1 = getDeepDiff(oldDoc, currentDoc);\n\tlet diff_2 = getDeepDiff(oldDoc, f_doc);\n\tlet updates = mergeUpdates(diff_2, diff_1);\n\tapplyMongoUpdate(upDoc, updates);\n\treturn upDoc;\n}\n\nexport function mergeUpdates(...updatesToMerge) {\n const merged = {\n $set: {},\n $unset: {},\n $inc: {},\n $push: {},\n $pull: {}\n };\n\n updatesToMerge.filter(Boolean).forEach(anUpdate => {\n anUpdate.forEach(change => {\n const path = change.path.join('.');\n\n switch (change.kind) {\n case 'E':\n handleEditedChange(merged, path, change);\n break;\n case 'A':\n handleArrayChange(merged, path, change);\n break;\n default:\n break;\n }\n });\n });\n\n return merged;\n}\n\nfunction handleEditedChange(merged, path, change) {\n if (typeof(change.rhs) === 'number' && (path.includes('quantity') || path.includes('qty'))) {\n merged.$inc[path] = (merged.$inc[path] || 0) + change.rhs - change.lhs;\n } else {\n merged.$set[path] = change.rhs;\n }\n}\n\nfunction handleArrayChange(merged, path, change) {\n if (change.item.kind === 'N') {\n merged.$push[path] = merged.$push[path] || [];\n if (!merged.$push[path].some(a => JSON.stringify(a) === JSON.stringify(change.item.rhs))) {\n merged.$push[path].push(change.item.rhs);\n }\n } else if (change.item.kind === 'D') {\n merged.$pull[path] = merged.$pull[path] || [];\n if (!merged.$pull[path].some(a => JSON.stringify(a) === JSON.stringify(change.item.lhs))) {\n merged.$pull[path].push(change.item.lhs);\n }\n }\n}\n\nexport function getDeepDiff(doc1, doc2) {\n\tdelete doc1._id;\n\tdelete doc1.__v;\n\n\tif (doc1.updatedAt) {\n\t\tdelete doc1.updatedAt;\n\t}\n\n\tif (doc1.createdAt) {\n\t\tdelete doc1.createdAt;\n\t}\n\n\tdelete doc2._id;\n\tdelete doc2.__v;\n\n\tif (doc2.updatedAt) {\n\t\tdelete doc2.updatedAt;\n\t}\n\n\tif (doc2.createdAt) {\n\t\tdelete doc2.createdAt;\n\t}\n\n\treturn deepDiff(doc1, doc2);\n}\n\nexport function applyMongoUpdate(uDoc: any, delta: any): any {\n const orig = deepCopy(uDoc);\n\n if (delta) {\n if (delta.$rename) handleRename(uDoc, delta.$rename);\n if (delta.$set) handleSet(uDoc, delta.$set);\n if (delta.$inc) handleInc(uDoc, delta.$inc);\n if (delta.$unset) handleUnset(uDoc, delta.$unset);\n if (delta.$pull) handlePull(uDoc, orig, delta.$pull);\n if (delta.$push) handlePush(uDoc, delta.$push);\n }\n\n return uDoc;\n}\n\nfunction handleRename(uDoc: any, renameMap: any) {\n for (const k in renameMap) {\n const v = renameMap[k];\n const [o1, n1] = resolve(uDoc, k);\n const [o2, n2] = resolve(uDoc, v);\n if (o1 && n1.length === 1) {\n if (o2 && n2.length === 1) {\n o2[n2[0]] = o1[n1[0]];\n delete o1[n1[0]];\n } else {\n logError(o2, n2, uDoc, v);\n }\n } else {\n logError(o1, n1, uDoc, k);\n }\n }\n}\n\nfunction handleSet(uDoc: any, setMap: any) {\n for (const k in setMap) {\n const v = setMap[k];\n const [o, n] = resolve(uDoc, k, { force: true });\n if (o && n.length === 1) {\n o[n[0]] = v;\n } else {\n logError(o, n, uDoc, k);\n }\n }\n}\n\nfunction handleInc(uDoc: any, incMap: any) {\n for (const k in incMap) {\n const v = incMap[k];\n const [o, n] = resolve(uDoc, k, { force: true });\n if (o && n.length === 1) {\n o[n[0]] = (o[n[0]] || 0) + v;\n } else {\n logError(o, n, uDoc, k);\n }\n }\n}\n\nfunction handleUnset(uDoc: any, unsetMap: any) {\n for (const k in unsetMap) {\n const [o, n] = resolve(uDoc, k);\n if (o && n.length === 1) {\n delete o[n[0]];\n } else {\n logError(o, n, uDoc, k);\n }\n }\n}\n\nfunction handlePull(uDoc: any, orig: any, pullMap: any) {\n for (const pathk in pullMap) {\n const pullValues = pullMap[pathk];\n for (let vk of pullValues) {\n const [o, n] = resolve(uDoc, pathk);\n const [o2, n2] = resolve(orig, pathk);\n if (o && n.length === 1) {\n o[n[0]].splice((<Array<any>>o2[n2[0]]).findIndex(z => JSON.stringify(z) === JSON.stringify(vk)), 1);\n } else {\n logError(o, n, uDoc, pathk);\n }\n }\n }\n}\n\nfunction handlePush(uDoc: any, pushMap: any) {\n for (const pathk in pushMap) {\n const pushValues = pushMap[pathk];\n for (let vk of pushValues) {\n const [o, n] = resolve(uDoc, pathk);\n if (o && n.length === 1) {\n o[n[0]].push(vk);\n } else {\n logError(o, n, uDoc, pathk);\n }\n }\n }\n}\n\nfunction logError(o: any, n: any, uDoc: any, key: any) {\n console.log('Error', o + '/' + n + ' - couldn\\'t resolve for ' + JSON.stringify(uDoc) + ' ' + key);\n}\n\nfunction resolve(a: any, path: string, options: any = {}): [any, any] {\n const stack = arrize(path);\n let last = [];\n\n if (stack.length > 0) {\n last.unshift(stack.pop());\n }\n\n let e = a;\n while (stack.length > 0) {\n const k = stack.shift();\n if (e[k] !== void 0) {\n e = e[k];\n } else {\n if (!options.force) {\n last.unshift(k);\n last = stack.concat(last);\n break;\n }\n const isNextNum = typeof stack[0] === 'number';\n const isLastNum = stack.length === 0 && typeof last[0] === 'number';\n e[k] = isNextNum || isLastNum ? [] : {};\n e = e[k];\n }\n }\n\n return [e, last];\n}\n\nfunction arrize(path: any, glue: string = '.'): string[] {\n if (Array.isArray(path)) {\n return path.slice();\n }\n\n if (path === void 0 || path === null || path === false || path === '') {\n return [];\n }\n\n return path.toString().split(glue)\n .map(e => {\n if ([void 0, null, false, ''].includes(e)) {\n return null;\n }\n return e.toString();\n })\n .filter(e => e !== null);\n}\n\nexport function deepDiffDetails(object1: Object, object2: Object): string {\n let obj1 = deepCopy(object1);\n\tlet obj2 = deepCopy(object2);\n\n\tlet diff = detailedDiff(obj1, obj2);\n\tlet diffString = '';\n\n\tconst formatValue = (value: any): string => {\n\t\tif (value instanceof Date) {\n\t\t\treturn moment(value).format('llll');\n\t\t} \n\t\telse if (typeof value === 'object' && value !== null) {\n\t\t\tObject.keys(value).filter(a => a.startsWith('_id') || a.startsWith('id_')).forEach(key => {\n\t\t\t\tdelete value[key];\n\t\t\t});\n\t\t\treturn JSON.stringify(value); // Pretty print objects\n\t\t} \n\t\telse {\n\t\t\treturn typeof value === 'string' ? `\"${value}\"` : String(value);\n\t\t}\n\t};\n\n\tconst customArrayDiff = (arr1: any[], arr2: any[]): string => {\n let arrayDiffResults = [];\n const maxLength = Math.max(arr1.length, arr2.length);\n\n for (let i = 0; i < maxLength; i++) {\n if (arr1[i] && !arr2[i]) {\n arrayDiffResults.push(`Removed at index ${i}: ${formatValue(arr1[i])}`);\n } \n\t\t\telse if (!arr1[i] && arr2[i]) {\n arrayDiffResults.push(`Added at index ${i}: ${formatValue(arr2[i])}`);\n } \n\t\t\telse if (arr1[i] && arr2[i] && JSON.stringify(arr1[i]) !== JSON.stringify(arr2[i])) {\n arrayDiffResults.push(`Changed at index ${i}: {${formatObjectDiff(arr1[i], arr2[i])}}`);\n }\n }\n\n return arrayDiffResults.join(', ');\n };\n\n\tconst formatObjectDiff = (obj1: any, obj2: any): string => {\n\t\tif (obj1 === null || obj2 === null || typeof obj1 !== 'object' || typeof obj2 !== 'object') {\n\t\t\treturn `from: ${formatValue(obj1)} to: ${formatValue(obj2)}`;\n\t\t}\n\n\t\tif (Array.isArray(obj1) || Array.isArray(obj2)) {\n\t\t\treturn customArrayDiff(Array.isArray(obj1) ? obj1 : [], Array.isArray(obj2) ? obj2 : []);\n\t\t}\n\n\t\treturn Object.keys({...obj1, ...obj2}).filter(a => !a.startsWith('_id') && !a.startsWith('id_')).map(key => {\n\t\t\tconst obj1Val = obj1 ? obj1[key] : undefined;\n\t\t\tconst obj2Val = obj2 ? obj2[key] : undefined;\n\t\t\treturn `${toTitleCase(key)}: ${formatObjectDiff(obj1Val, obj2Val)}`;\n\t\t}).join(', ');\n\t};\n\n\t// Handle each diff type\n\t['added', 'deleted', 'updated'].forEach(diffType => {\n\t\tif (Object.keys(diff[diffType]).length > 0) {\n\t\t\tconst updates = Object.keys(diff[diffType])\n\t\t\t\t.filter(key => diffType === 'added' ? true : (diffType === 'deleted' ? !diff['added'][key] : !diff['added'][key] && !diff['deleted'][key]))\n\t\t\t\t.filter(key => !key.startsWith('_id') && !key.startsWith('id_'))\n\t\t\t\t.map(key => `\\n${toTitleCase(key)}: ${formatObjectDiff(obj1[key], obj2[key])}`)\n\t\t\t\t.join(',');\n\n\t\t\tdiffString += updates ? `${updates}` : '';\n\t\t}\n\t});\n\n\treturn diffString;\n}\n\nexport function getBinarySize(string) {\n\tif (string) {\n\t\treturn Buffer.byteLength(string, 'utf8');\n\t}\n\telse {\n\t\treturn 0;\n\t}\n}\n\nexport function pad(num, size) {\n\tlet s = num + '';\n\twhile (s.length < size) { s = '0' + s; }\n\treturn s;\n}\n\nexport function randomString(length, chars) {\n\tlet result = '';\n\tfor (let i = length; i > 0; --i) { result += chars[Math.floor(Math.random() * chars.length)]; }\n\treturn result;\n}\n\nexport function toTitleCase(str) {\n\treturn str.replace(/\\w\\S*/g, function(txt){\n\t\treturn txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n\t});\n}\n\nexport function isObject(item) {\n\treturn (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, ...sources) {\n\tif (!sources.length) {\n\t\treturn target;\n\t}\n\tconst source = sources.shift();\n\n\tif (isObject(target) && isObject(source)) {\n\t\tfor (const key in source) {\n\t\t\tif (isObject(source[key])) {\n\t\t\t\tif (!target[key]) {\n\t\t\t\t\tObject.assign(target, { [key]: {} });\n\t\t\t\t}\n\t\t\t\tmergeDeep(target[key], source[key]);\n\t\t\t} \n\t\t\telse {\n\t\t\t\tObject.assign(target, { [key]: source[key] });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn mergeDeep(target, ...sources);\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/util/common.ts"],"names":["rusDiff","require","deepDiff","diff","deep_object_diff_1","clone","moment","mongodb_1","objectIdHexString","ObjectId","toHexString","buildRbSchema","rbSchema","Object","keys","forEach","key","type","rbType","Array","String","Date","Number","Boolean","buildRbLookups","rbLookups","defaultSchema","default_checked_array","lkp","localKey","errString","localKeyDir","localKeyDirDot","collectionAlias","toTitleCase","lookup","replace","local_key","lookupNode","match","newPropertyName","lookup_collection","lookup_collection_alias","field_path","lookup_as","lookup_key","throwErr","ii","length","assign","err","console","log","process","exit","roundPrecision","value","precision","stringValue","toString","includes","indexOf","exponent","Math","pow","round","parseFloat","power","floorPrecision","floor","deepCopy","dateReviver","a","exec","UTC","split","getMongoUpdates","currDoc","modifiedDoc","incVersion","createdAt","updatedAt","updates","$set","$inc","__v","getMongoMergeUpdatedDoc","f_doc","currentDoc","oldDoc","upDoc","diff_1","getDeepDiff","applyMongoUpdate","mergeUpdates","updatesToMerge","_i","arguments","merged","$unset","$push","$pull","filter","anUpdate","change","path","join","kind","handleEditedChange","handleArrayChange","rhs","lhs","item","some","JSON","stringify","push","doc1","doc2","_id","uDoc","delta","orig","$rename","handleRename","handleSet","handleInc","handleUnset","handlePull","handlePush","renameMap","k","v","_a","__read","resolve","o1","n1","_b","o2","n2","logError","setMap","force","o","n","incMap","unsetMap","pullMap","pathk","pullValues","e_1","pullValues_1","__values","pullValues_1_1","next","done","vk","_c","splice","findIndex","z","pushMap","pushValues","e_2","pushValues_1","pushValues_1_1","options","stack","arrize","last","e","unshift","pop","shift","concat","isNextNum","isLastNum","glue","isArray","slice","map","deepDiffDetails","object1","object2","obj1","obj2","detailedDiff","diffString","formatValue","format","startsWith","formatObjectDiff","customArrayDiff","arr1","arr2","arrayDiffResults","maxLength","max","i","__assign","obj1Val","undefined","obj2Val","diffType","getBinarySize","string","Buffer","byteLength","pad","num","size","s","randomString","chars","result","random","str","txt","charAt","toUpperCase","substr","toLowerCase","isObject","mergeDeep","target","sources","source","apply","__spreadArray","exports"],"mappings":"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","file":"common.js","sourcesContent":["/* eslint-disable no-restricted-properties */\nlet rusDiff = require('rus-diff');\nlet deepDiff = require('deep-diff').diff;\nimport { detailedDiff } from 'deep-object-diff';\nimport { LookupTables } from '../models/report-builder.model';\nlet clone = require('clone');\nimport * as moment from 'moment-timezone';\nimport { ObjectId } from 'mongodb';\n\nexport function objectIdHexString() {\n\tlet objectId = new ObjectId();\n\treturn objectId.toHexString();\n}\n\nexport function buildRbSchema(rbSchema: any) {\n\tObject.keys(rbSchema).forEach(key => {\n\t\tif (rbSchema[key].type === Object) {\n\t\t\trbSchema[key].type = 'Object';\n\t\t\trbSchema[key].rbType = 'Object';\n\t\t}\n\t\telse if (rbSchema[key].type === Array) {\n\t\t\trbSchema[key].type = 'Array';\n\t\t\trbSchema[key].rbType = 'Array';\n\t\t}\n\t\telse if (rbSchema[key].type === String) {\n\t\t\trbSchema[key].type = 'String';\n\t\t\trbSchema[key].rbType = 'String';\n\t\t}\n\t\telse if (rbSchema[key].type === Date) {\n\t\t\trbSchema[key].type = 'Date';\n\t\t\trbSchema[key].rbType = 'Date';\n\t\t}\n\t\telse if (rbSchema[key].type === Number) {\n\t\t\trbSchema[key].type = 'Number';\n\t\t\trbSchema[key].rbType = 'Number';\n\t\t}\n\t\telse if (rbSchema[key].type === Boolean) {\n\t\t\trbSchema[key].rbType = 'Boolean';\n\t\t\trbSchema[key].type = 'Boolean';\n\t\t}\n\t});\n\n\tObject.keys(rbSchema).forEach(key => {\n\t\tdelete rbSchema[key].type;\n\t});\n\n\treturn rbSchema;\n}\n\nexport function buildRbLookups(rbLookups: LookupTables[], defaultSchema: object, default_checked_array: string[] = []) {\n\t// Remember: lkp.local_key will be removed later on, because it has 'id_'\n\t\n\trbLookups.forEach(lkp => {\n\t\tlet errString = '';\n\t\tlet localKey, newPropertyName;\n\t\tlet localKeyDir = '';\n\t\tlet localKeyDirDot = '';\n\t\tlet collectionAlias = toTitleCase(lkp.lookup.replace(/\\_/g, ' ')) + ' (' + toTitleCase(lkp.local_key.replace('id_', '').replace(/\\_/g, ' ').replace(/\\.\\$\\./g, ' -> ').replace(/\\./g, ' -> ')) + ') (Lookup)';\n\n\t\tif (lkp.local_key.match(/\\./)) {\n\t\t\tlocalKey = lkp.local_key.replace(/\\.\\$/g, '');\n\t\t\tlocalKeyDirDot = lkp.local_key.replace(/^(.+\\.).*$/, '$1');\n\t\t\tlocalKeyDir = localKeyDirDot.replace(/\\.$/, '');\n\t\t}\n\t\telse {\n\t\t\t// local_key is a root leaf node.\n\t\t\tlocalKey = lkp.local_key;\n\t\t}\n\t\tnewPropertyName = localKeyDirDot + collectionAlias;\n\t\t\n\t\tif (!defaultSchema[lkp.local_key]) {\n\t\t\terrString += '--local_key: \\'' + lkp.local_key + '\\' MUST be a valid schema path! ';\n\t\t}\n\t\telse if (defaultSchema[lkp.local_key].type !== String) {\n\t\t\terrString += '--local_key: \\'' + lkp.local_key + '\\' MUST be a String! ';\n\t\t}\n\t\tlet lookupNode = {\n\t\t\tlookup_collection: lkp.lookup,\n\t\t\tlookup_collection_alias: collectionAlias,\n\t\t\tlocal_key: localKey,\n\t\t\tfield_path: localKeyDir,\n\t\t\tlookup_as: newPropertyName,\n\t\t\tlookup_key: '_id',\n\t\t\ttype: 'Object',\n\t\t};\n\n\t\tdefaultSchema[newPropertyName] = lookupNode;\n\n\t\tif (errString) {\n\t\t\tthrowErr(errString, lkp, lookupNode, newPropertyName);\n\t\t}\n\t});\n\n\tfor (let ii = 0; ii < default_checked_array.length; ii++) {\n\t\tdefaultSchema[default_checked_array[ii]] = {};\n\t\tdefaultSchema[default_checked_array[ii]]['default_checked'] = true;\n\t\tObject.assign(defaultSchema[default_checked_array[ii]], defaultSchema['tree'][default_checked_array[ii]]);\n\t}\n\n\treturn defaultSchema;\n}\n\nexport function throwErr(err: any, lkp, lookupNode, newPropertyName = '') {\n\t// err could be from a try/throw/catch\n\tconsole.log('------- ERROR thrown by rbLookups: ');\n\tconsole.log(err);\n\tconsole.log('---item: ');\n\tconsole.log(lkp);\n\tconsole.log('---Attempted to create rbSchema[\\'' + newPropertyName + '\\']: ');\n\tconsole.log(lookupNode);\n\tprocess.exit(1);\n}\n\nexport function roundPrecision(value: number, precision = 0) {\n\tlet stringValue = value.toString();\n\t\n\tif (stringValue.includes('.')) {\n\t\tif (stringValue[0] === '0') {\n\t\t\tprecision += 1;\n\t\t}\n\t\t\n\t\tprecision -= stringValue.indexOf('.');\n\t}\n\n\tconst exponent = Math.pow(10, precision);\n\treturn Math.round(parseFloat(stringValue) * exponent) / exponent;\n}\n\nexport function round(value, precision = 0) {\n\tconst power = Math.pow(10, precision);\n\tconst adjustment = 1e-6;\n\treturn Math.round( (value * power) + adjustment) / power;\n}\n\nexport function floorPrecision(value: number, precision = 0) {\n\tlet stringValue = value.toString();\n\t\n\tif (stringValue.includes('.')) {\n\t\tif (stringValue[0] === '0') {\n\t\t\tprecision += 1;\n\t\t}\n\t\t\n\t\tprecision -= stringValue.indexOf('.');\n\t}\n\n\tconst exponent = Math.pow(10, precision);\n\treturn Math.floor(parseFloat(stringValue) * exponent) / exponent;\n}\n\nexport function deepCopy(value) {\n\treturn clone(value);\n}\n\nexport function dateReviver(key, value) {\n\tif (typeof value === 'string') {\n\t\tlet a = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)Z$/.exec(value);\n\t\tif (a) {\n\t\t\treturn new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6].split('.')[0], +a[6].split('.')[1]));\n\t\t}\n\t}\n\treturn value;\n}\n\nexport function getMongoUpdates(currDoc, modifiedDoc, incVersion) {\n\tif (currDoc.createdAt) {\n\t\tmodifiedDoc.createdAt = currDoc.createdAt;\n\t}\n\n\tif (currDoc.updatedAt) {\n\t\tmodifiedDoc.updatedAt = currDoc.updatedAt;\n\t}\n\n\tlet updates = rusDiff.diff(currDoc, modifiedDoc);\n\n\tif (updates) {\n\t\tif (updates.$set && !Object.keys(updates.$set).length) {\n\t\t\tdelete updates.$set;\n\t\t}\n\n\t\tif (incVersion) {\n\t\t\tupdates.$inc = {__v: 1};\n\t\t}\n\t}\n\telse {\n\t\tif (incVersion) {\n\t\t\tupdates = {\n\t\t\t\t$inc: {__v: 1}\n\t\t\t};\n\t\t}\n\t}\n\n\treturn updates;\n}\n\nexport function getMongoMergeUpdatedDoc(f_doc, currentDoc, oldDoc) {\n\tlet upDoc = deepCopy(oldDoc);\n\tupDoc.__v = currentDoc.__v;\n\tlet diff_1 = getDeepDiff(oldDoc, currentDoc);\n\tlet diff_2 = getDeepDiff(oldDoc, f_doc);\n\tlet updates = mergeUpdates(diff_2, diff_1);\n\tapplyMongoUpdate(upDoc, updates);\n\treturn upDoc;\n}\n\nexport function mergeUpdates(...updatesToMerge) {\n const merged = {\n $set: {},\n $unset: {},\n $inc: {},\n $push: {},\n $pull: {}\n };\n\n updatesToMerge.filter(Boolean).forEach(anUpdate => {\n anUpdate.forEach(change => {\n const path = change.path.join('.');\n\n switch (change.kind) {\n case 'E':\n handleEditedChange(merged, path, change);\n break;\n case 'A':\n handleArrayChange(merged, path, change);\n break;\n default:\n break;\n }\n });\n });\n\n return merged;\n}\n\nfunction handleEditedChange(merged, path, change) {\n if (typeof(change.rhs) === 'number' && (path.includes('quantity') || path.includes('qty'))) {\n merged.$inc[path] = (merged.$inc[path] || 0) + change.rhs - change.lhs;\n } else {\n merged.$set[path] = change.rhs;\n }\n}\n\nfunction handleArrayChange(merged, path, change) {\n if (change.item.kind === 'N') {\n merged.$push[path] = merged.$push[path] || [];\n if (!merged.$push[path].some(a => JSON.stringify(a) === JSON.stringify(change.item.rhs))) {\n merged.$push[path].push(change.item.rhs);\n }\n } else if (change.item.kind === 'D') {\n merged.$pull[path] = merged.$pull[path] || [];\n if (!merged.$pull[path].some(a => JSON.stringify(a) === JSON.stringify(change.item.lhs))) {\n merged.$pull[path].push(change.item.lhs);\n }\n }\n}\n\nexport function getDeepDiff(doc1, doc2) {\n\tdelete doc1._id;\n\tdelete doc1.__v;\n\n\tif (doc1.updatedAt) {\n\t\tdelete doc1.updatedAt;\n\t}\n\n\tif (doc1.createdAt) {\n\t\tdelete doc1.createdAt;\n\t}\n\n\tdelete doc2._id;\n\tdelete doc2.__v;\n\n\tif (doc2.updatedAt) {\n\t\tdelete doc2.updatedAt;\n\t}\n\n\tif (doc2.createdAt) {\n\t\tdelete doc2.createdAt;\n\t}\n\n\treturn deepDiff(doc1, doc2);\n}\n\nexport function applyMongoUpdate(uDoc: any, delta: any): any {\n const orig = deepCopy(uDoc);\n\n if (delta) {\n if (delta.$rename) handleRename(uDoc, delta.$rename);\n if (delta.$set) handleSet(uDoc, delta.$set);\n if (delta.$inc) handleInc(uDoc, delta.$inc);\n if (delta.$unset) handleUnset(uDoc, delta.$unset);\n if (delta.$pull) handlePull(uDoc, orig, delta.$pull);\n if (delta.$push) handlePush(uDoc, delta.$push);\n }\n\n return uDoc;\n}\n\nfunction handleRename(uDoc: any, renameMap: any) {\n for (const k in renameMap) {\n const v = renameMap[k];\n const [o1, n1] = resolve(uDoc, k);\n const [o2, n2] = resolve(uDoc, v);\n if (o1 && n1.length === 1) {\n if (o2 && n2.length === 1) {\n o2[n2[0]] = o1[n1[0]];\n delete o1[n1[0]];\n } else {\n logError(o2, n2, uDoc, v);\n }\n } else {\n logError(o1, n1, uDoc, k);\n }\n }\n}\n\nfunction handleSet(uDoc: any, setMap: any) {\n for (const k in setMap) {\n const v = setMap[k];\n const [o, n] = resolve(uDoc, k, { force: true });\n if (o && n.length === 1) {\n o[n[0]] = v;\n } else {\n logError(o, n, uDoc, k);\n }\n }\n}\n\nfunction handleInc(uDoc: any, incMap: any) {\n for (const k in incMap) {\n const v = incMap[k];\n const [o, n] = resolve(uDoc, k, { force: true });\n if (o && n.length === 1) {\n o[n[0]] = (o[n[0]] || 0) + v;\n } else {\n logError(o, n, uDoc, k);\n }\n }\n}\n\nfunction handleUnset(uDoc: any, unsetMap: any) {\n for (const k in unsetMap) {\n const [o, n] = resolve(uDoc, k);\n if (o && n.length === 1) {\n delete o[n[0]];\n } else {\n logError(o, n, uDoc, k);\n }\n }\n}\n\nfunction handlePull(uDoc: any, orig: any, pullMap: any) {\n for (const pathk in pullMap) {\n const pullValues = pullMap[pathk];\n for (let vk of pullValues) {\n const [o, n] = resolve(uDoc, pathk);\n const [o2, n2] = resolve(orig, pathk);\n if (o && n.length === 1) {\n o[n[0]].splice((<Array<any>>o2[n2[0]]).findIndex(z => JSON.stringify(z) === JSON.stringify(vk)), 1);\n } else {\n logError(o, n, uDoc, pathk);\n }\n }\n }\n}\n\nfunction handlePush(uDoc: any, pushMap: any) {\n for (const pathk in pushMap) {\n const pushValues = pushMap[pathk];\n for (let vk of pushValues) {\n const [o, n] = resolve(uDoc, pathk);\n if (o && n.length === 1) {\n o[n[0]].push(vk);\n } else {\n logError(o, n, uDoc, pathk);\n }\n }\n }\n}\n\nfunction logError(o: any, n: any, uDoc: any, key: any) {\n console.log('Error', o + '/' + n + ' - couldn\\'t resolve for ' + JSON.stringify(uDoc) + ' ' + key);\n}\n\nfunction resolve(a: any, path: string, options: any = {}): [any, any] {\n const stack = arrize(path);\n let last = [];\n\n if (stack.length > 0) {\n last.unshift(stack.pop());\n }\n\n let e = a;\n while (stack.length > 0) {\n const k = stack.shift();\n if (e[k] !== void 0) {\n e = e[k];\n } else {\n if (!options.force) {\n last.unshift(k);\n last = stack.concat(last);\n break;\n }\n const isNextNum = typeof stack[0] === 'number';\n const isLastNum = stack.length === 0 && typeof last[0] === 'number';\n e[k] = isNextNum || isLastNum ? [] : {};\n e = e[k];\n }\n }\n\n return [e, last];\n}\n\nfunction arrize(path: any, glue: string = '.'): string[] {\n if (Array.isArray(path)) {\n return path.slice();\n }\n\n if (path === void 0 || path === null || path === false || path === '') {\n return [];\n }\n\n return path.toString().split(glue)\n .map(e => {\n if ([void 0, null, false, ''].includes(e)) {\n return null;\n }\n return e.toString();\n })\n .filter(e => e !== null);\n}\n\nexport function deepDiffDetails(object1: Object, object2: Object): string {\n let obj1 = deepCopy(object1);\n\tlet obj2 = deepCopy(object2);\n\n\tlet diff = detailedDiff(obj1, obj2);\n\tlet diffString = '';\n\n\tconst formatValue = (value: any): string => {\n\t\tif (value instanceof Date) {\n\t\t\treturn moment(value).format('llll');\n\t\t} \n\t\telse if (typeof value === 'object' && value !== null) {\n\t\t\tObject.keys(value).filter(a => a.startsWith('_id') || a.startsWith('id_')).forEach(key => {\n\t\t\t\tdelete value[key];\n\t\t\t});\n\t\t\treturn JSON.stringify(value); // Pretty print objects\n\t\t} \n\t\telse {\n\t\t\treturn typeof value === 'string' ? `\"${value}\"` : String(value);\n\t\t}\n\t};\n\n\tconst customArrayDiff = (arr1: any[], arr2: any[]): string => {\n let arrayDiffResults = [];\n const maxLength = Math.max(arr1.length, arr2.length);\n\n for (let i = 0; i < maxLength; i++) {\n if (arr1[i] && !arr2[i]) {\n arrayDiffResults.push(`Removed at index ${i}: ${formatValue(arr1[i])}`);\n } \n\t\t\telse if (!arr1[i] && arr2[i]) {\n arrayDiffResults.push(`Added at index ${i}: ${formatValue(arr2[i])}`);\n } \n\t\t\telse if (arr1[i] && arr2[i] && JSON.stringify(arr1[i]) !== JSON.stringify(arr2[i])) {\n arrayDiffResults.push(`Changed at index ${i}: {${formatObjectDiff(arr1[i], arr2[i])}}`);\n }\n }\n\n return arrayDiffResults.join(', ');\n };\n\n\tconst formatObjectDiff = (obj1: any, obj2: any): string => {\n\t\tif (obj1 === null || obj2 === null || typeof obj1 !== 'object' || typeof obj2 !== 'object') {\n\t\t\treturn `from: ${formatValue(obj1)} to: ${formatValue(obj2)}`;\n\t\t}\n\n\t\tif (Array.isArray(obj1) || Array.isArray(obj2)) {\n\t\t\treturn customArrayDiff(Array.isArray(obj1) ? obj1 : [], Array.isArray(obj2) ? obj2 : []);\n\t\t}\n\n\t\treturn Object.keys({...obj1, ...obj2}).filter(a => !a.startsWith('_id') && !a.startsWith('id_')).map(key => {\n\t\t\tconst obj1Val = obj1 ? obj1[key] : undefined;\n\t\t\tconst obj2Val = obj2 ? obj2[key] : undefined;\n\t\t\treturn `${toTitleCase(key)}: ${formatObjectDiff(obj1Val, obj2Val)}`;\n\t\t}).join(', ');\n\t};\n\n\t// Handle each diff type\n\t['added', 'deleted', 'updated'].forEach(diffType => {\n\t\tif (Object.keys(diff[diffType]).length > 0) {\n\t\t\tconst updates = Object.keys(diff[diffType])\n\t\t\t\t.filter(key => diffType === 'added' ? true : (diffType === 'deleted' ? !diff['added'][key] : !diff['added'][key] && !diff['deleted'][key]))\n\t\t\t\t.filter(key => !key.startsWith('_id') && !key.startsWith('id_'))\n\t\t\t\t.map(key => `\\n${toTitleCase(key)}: ${formatObjectDiff(obj1[key], obj2[key])}`)\n\t\t\t\t.join(',');\n\n\t\t\tdiffString += updates ? `${updates}` : '';\n\t\t}\n\t});\n\n\treturn diffString;\n}\n\nexport function getBinarySize(string) {\n\tif (string) {\n\t\treturn Buffer.byteLength(string, 'utf8');\n\t}\n\telse {\n\t\treturn 0;\n\t}\n}\n\nexport function pad(num, size) {\n\tlet s = num + '';\n\twhile (s.length < size) { s = '0' + s; }\n\treturn s;\n}\n\nexport function randomString(length, chars) {\n\tlet result = '';\n\tfor (let i = length; i > 0; --i) { result += chars[Math.floor(Math.random() * chars.length)]; }\n\treturn result;\n}\n\nexport function toTitleCase(str) {\n\treturn str.replace(/\\w\\S*/g, function(txt){\n\t\treturn txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\n\t});\n}\n\nexport function isObject(item) {\n\treturn (item && typeof item === 'object' && !Array.isArray(item));\n}\n\nexport function mergeDeep(target, ...sources) {\n\tif (!sources.length) {\n\t\treturn target;\n\t}\n\tconst source = sources.shift();\n\n\tif (isObject(target) && isObject(source)) {\n\t\tfor (const key in source) {\n\t\t\tif (isObject(source[key])) {\n\t\t\t\tif (!target[key]) {\n\t\t\t\t\tObject.assign(target, { [key]: {} });\n\t\t\t\t}\n\t\t\t\tmergeDeep(target[key], source[key]);\n\t\t\t} \n\t\t\telse {\n\t\t\t\tObject.assign(target, { [key]: source[key] });\n\t\t\t}\n\t\t}\n\t}\n\n\treturn mergeDeep(target, ...sources);\n}"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var __awaiter=this&&this.__awaiter||function(e,l,a,r){return new(a=a||Promise)(function(t,o){function fulfilled(e){try{step(r.next(e))}catch(e){o(e)}}function rejected(e){try{step(r.throw(e))}catch(e){o(e)}}function step(e){var o;e.done?t(e.value):((o=e.value)instanceof a?o:new a(function(e){e(o)})).then(fulfilled,rejected)}step((r=r.apply(e,l||[])).next())})},__generator=this&&this.__generator||function(l,a){var r,u,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function verb(t){return function(e){var o=[t,e];if(r)throw new TypeError("Generator is already executing.");for(;i=c&&o[c=0]?0:i;)try{if(r=1,u&&(n=2&o[0]?u.return:o[0]?u.throw||((n=u.return)&&n.call(u),0):u.next)&&!(n=n.call(u,o[1])).done)return n;switch(u=0,(o=n?[2&o[0],n.value]:o)[0]){case 0:case 1:n=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,u=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(n=0<(n=i.trys).length&&n[n.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]<n[3]))i.label=o[1];else if(6===o[0]&&i.label<n[1])i.label=n[1],n=o;else{if(!(n&&i.label<n[2])){n[2]&&i.ops.pop(),i.trys.pop();continue}i.label=n[2],i.ops.push(o)}}o=a.call(l,i)}catch(e){o=[6,e],u=0}finally{r=n=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}},
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(e,l,a,r){return new(a=a||Promise)(function(t,o){function fulfilled(e){try{step(r.next(e))}catch(e){o(e)}}function rejected(e){try{step(r.throw(e))}catch(e){o(e)}}function step(e){var o;e.done?t(e.value):((o=e.value)instanceof a?o:new a(function(e){e(o)})).then(fulfilled,rejected)}step((r=r.apply(e,l||[])).next())})},__generator=this&&this.__generator||function(l,a){var r,u,n,i={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]},c={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function verb(t){return function(e){var o=[t,e];if(r)throw new TypeError("Generator is already executing.");for(;i=c&&o[c=0]?0:i;)try{if(r=1,u&&(n=2&o[0]?u.return:o[0]?u.throw||((n=u.return)&&n.call(u),0):u.next)&&!(n=n.call(u,o[1])).done)return n;switch(u=0,(o=n?[2&o[0],n.value]:o)[0]){case 0:case 1:n=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,u=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(n=0<(n=i.trys).length&&n[n.length-1])&&(6===o[0]||2===o[0])){i=0;continue}if(3===o[0]&&(!n||o[1]>n[0]&&o[1]<n[3]))i.label=o[1];else if(6===o[0]&&i.label<n[1])i.label=n[1],n=o;else{if(!(n&&i.label<n[2])){n[2]&&i.ops.pop(),i.trys.pop();continue}i.label=n[2],i.ops.push(o)}}o=a.call(l,i)}catch(e){o=[6,e],u=0}finally{r=n=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}}},resolveio_server_app_1=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.mongoCommand=exports.getLeafFormatTypes=exports.getLeafValueTypes=exports.buildTree=exports.getReportLookupSchemas=void 0,require("../resolveio-server-app")),common_1=require("./common");function getReportLookupSchemas(e){var t=[],l=(t.push({collection_name:e,tree:resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).rbSchema,is_root:!0}),resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(e).rbSchema);return Object.keys(l).forEach(function(e){var o;l[e].lookup_collection&&(o=l[e].lookup_collection,e=resolveio_server_app_1.ResolveIOServer.getMongoManager().collection(o),t.filter(function(e){return e.collection_name===o}).length||t.push({collection_name:o,tree:e.rbSchema,is_root:!1}))}),t}function buildTree(a,r,u){var n=[];return Object.keys(r).filter(function(e){return"_id"!==e&&"id"!==e&&"__v"!==e}).forEach(function(t){var e,l;u&&r[t].lookup_collection||(1===(e=t.split(".")).length?("String"===r[t].rbType||"Number"===r[t].rbType||"Boolean"===r[t].rbType||"Date"===r[t].rbType?n.push({collection_name:a,columnName:(0,common_1.toTitleCase)(t.replace(/\_/g," ")),fieldName:t,fieldType:r[t].rbType,fieldTypeName:"String"===r[t].rbType?"Text":"Boolean"===r[t].rbType?"T/F":r[t].rbType,distinctFieldValues:[],fieldPath:u?u.lookup_as+".$."+t:t,fieldPathName:u?(0,common_1.toTitleCase)(u.lookup_as.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> "))+" (List) -> "+(0,common_1.toTitleCase)(t.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> ")):(0,common_1.toTitleCase)(t.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> ")),lookup_collection:u?u.lookup_collection:r[t].lookup_collection||"",lookup_local_key:u?u.lookup_local_key:r[t].lookup_collection?r[t].local_key:"",lookup_foreign_key:u?u.lookup_foreign_key:r[t].lookup_collection?r[t].lookup_key:"",lookup_as:u?u.lookup_as:r[t].lookup_collection?r[t].lookup_as:"",text:(0,common_1.toTitleCase)(t.replace(/\_/g," ")),value:t,isLeaf:!0,isActive:!1,isSelected:!1,depth:0,leafValueType:"",leafValueTypes:getLeafValueTypes(r[t],t),leafFormatType:"",leafFormatTypes:getLeafFormatTypes(r[t],t)}):n.push({collection_name:a,columnName:(0,common_1.toTitleCase)(t.replace(/\_/g," ")),fieldName:t,fieldType:r[t].lookup_collection?"Lookup":r[t].rbType,fieldTypeName:r[t].lookup_collection?"Lookup":"Array"===r[t].rbType?"List":"Group",distinctFieldValues:[],fieldPath:u?u.lookup_as+".$."+t:t,fieldPathName:u?(0,common_1.toTitleCase)(u.lookup_as.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> "))+" (List) -> "+(0,common_1.toTitleCase)(t.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> ")):(0,common_1.toTitleCase)(t.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> ")),lookup_collection:u?u.lookup_collection:r[t].lookup_collection||"",lookup_local_key:u?u.lookup_local_key:r[t].lookup_collection?r[t].local_key:"",lookup_foreign_key:u?u.lookup_foreign_key:r[t].lookup_collection?r[t].lookup_key:"",lookup_as:u?u.lookup_as:r[t].lookup_collection?r[t].lookup_as:"",text:(0,common_1.toTitleCase)(t.replace(/\_/g," ")),value:t,isLeaf:!1,isActive:!1,isSelected:!1,depth:0,leafValueType:"",leafFormatType:"",children:[]}),n=n.sort(function(e,o){return e.fieldName.localeCompare(o.fieldName)})):(l=null,e.forEach(function(o,e){l?l.children.find(function(e){return e.fieldName===o})?l=l.children.find(function(e){return e.fieldName===o}):("String"===r[t].rbType||"Number"===r[t].rbType||"Boolean"===r[t].rbType||"Date"===r[t].rbType?l.children.push({collection_name:a,columnName:(0,common_1.toTitleCase)(t.replace(/\_/g," ")),fieldName:o,fieldType:r[t].rbType,fieldTypeName:"String"===r[t].rbType?"Text":"Boolean"===r[t].rbType?"T/F":r[t].rbType,distinctFieldValues:[],fieldPath:u?u.lookup_as+".$."+t:t,fieldPathName:u?(0,common_1.toTitleCase)(u.lookup_as.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> "))+" (List) -> "+(0,common_1.toTitleCase)(t.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> ")):(0,common_1.toTitleCase)(t.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> ")),lookup_collection:u?u.lookup_collection:r[t].lookup_collection||"",lookup_local_key:u?u.lookup_local_key:r[t].lookup_collection?r[t].local_key:"",lookup_foreign_key:u?u.lookup_foreign_key:r[t].lookup_collection?r[t].lookup_key:"",lookup_as:u?u.lookup_as:r[t].lookup_collection?r[t].lookup_as:"",text:(0,common_1.toTitleCase)(o.replace(/\_/g," ")),value:o,isLeaf:!0,isActive:!1,isSelected:!1,depth:e,leafValueType:"",leafValueTypes:getLeafValueTypes(r[t],t),leafFormatType:"",leafFormatTypes:getLeafFormatTypes(r[t],t)}):l.children.push({collection_name:a,columnName:(0,common_1.toTitleCase)(t.replace(/\_/g," ")),fieldName:o,fieldType:r[t].lookup_collection?"Lookup":r[t].rbType,fieldTypeName:r[t].lookup_collection?"Lookup":"Array"===r[t].rbType?"List":"Group",distinctFieldValues:[],fieldPath:u?u.lookup_as+".$."+t:t,fieldPathName:u?(0,common_1.toTitleCase)(u.lookup_as.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> "))+" (List) -> "+(0,common_1.toTitleCase)(t.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> ")):(0,common_1.toTitleCase)(t.replace(/\.\$\./g," (List) -> ").replace(/\./g," (Group) -> ")),lookup_collection:u?u.lookup_collection:r[t].lookup_collection||"",lookup_local_key:u?u.lookup_local_key:r[t].lookup_collection?r[t].local_key:"",lookup_foreign_key:u?u.lookup_foreign_key:r[t].lookup_collection?r[t].lookup_key:"",lookup_as:u?u.lookup_as:r[t].lookup_collection?r[t].lookup_as:"",text:(0,common_1.toTitleCase)(o.replace(/\_/g," ")),value:o,isLeaf:!1,isActive:!1,isSelected:!1,depth:e,leafValueType:"",leafFormatType:"",children:[]}),l.children=l.children.sort(function(e,o){return e.fieldName.localeCompare(o.fieldName)})):l=n.find(function(e){return e.fieldName===o})})))}),n}function getLeafValueTypes(e,o){var t=[];return"String"===e.rbType?t=[{text:"As Value",value:"Value"},{text:"Unique",value:"Unique"},{text:"As Count",value:"Count"},{text:"First",value:"First"},{text:"Last",value:"Last"}]:"Number"===e.rbType?t=[{text:"As Value",value:"Value"},{text:"Unique",value:"Unique"},{text:"As Average",value:"Average"},{text:"As Count",value:"Count"},{text:"As Sum",value:"Sum"},{text:"Minimum",value:"Minimum"},{text:"Maximum",value:"Maximum"},{text:"First",value:"First"},{text:"Last",value:"Last"}]:"Boolean"===e.rbType?t=[{text:"As Value",value:"Value"},{text:"Unique",value:"Unique"},{text:"As Count",value:"Count"},{text:"First",value:"First"},{text:"Last",value:"Last"}]:"Date"===e.rbType&&(t=[{text:"As Value",value:"Value"},{text:"Unique",value:"Unique"},{text:"As Count",value:"Count"},{text:"Minimum",value:"Minimum"},{text:"Maximum",value:"Maximum"},{text:"First",value:"First"},{text:"Last",value:"Last"}]),t}function getLeafFormatTypes(e,o){var t=[];return"String"===e.rbType?t=[{text:"As Text",value:"String"},{text:"As Number",value:"Number"}]:"Number"===e.rbType?t=[{text:"As Number",value:"Number"},{text:"As Currency",value:"Currency"},{text:"As Text",value:"String"}]:"Boolean"===e.rbType?t=[{text:"As Number",value:"Number"},{text:"As Boolean (True/False)",value:"Boolean"},{text:"As Text (Yes/No)",value:"String"},{text:"As Number (1/0)",value:"Boolean_Number"}]:"Date"===e.rbType&&(t=[{text:"As Number",value:"Number"},{text:"As Date (Short Format)",value:"Date"},{text:"As Time (Short Format)",value:"Time"},{text:"As Date/Time (Short Format)",value:"DateTime"},{text:"As Date (Long Format)",value:"Date_long"},{text:"As Date/Time (Long Format)",value:"DateTime_long"},{text:"As Timestamp (MS since 1970)",value:"Timestamp"}]),t}function mongoCommand(l,a,r){return __awaiter(this,void 0,void 0,function(){var o,t;return __generator(this,function(e){switch(e.label){case 0:return(e.trys.push([0,6,,7]),"count"!==l)?[3,2]:((t={count:a,query:{}}).query[r]={$ne:null},[4,resolveio_server_app_1.ResolveIOServer.getMainDB().command(t)]);case 1:return o=e.sent(),[3,5];case 2:return"distinct"!==l?[3,4]:(t={distinct:a,query:{},key:r},[4,resolveio_server_app_1.ResolveIOServer.getMainDB().command(t)]);case 3:return o=e.sent(),[3,5];case 4:e.label=5;case 5:return[3,7];case 6:return e.sent(),[2,-1];case 7:return o?[2,o.values]:[2]}})})}exports.getReportLookupSchemas=getReportLookupSchemas,exports.buildTree=buildTree,exports.getLeafValueTypes=getLeafValueTypes,exports.getLeafFormatTypes=getLeafFormatTypes,exports.mongoCommand=mongoCommand;
|
|
2
2
|
//# sourceMappingURL=schema-report-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/schema-report-builder.ts"],"names":["index_1","require","common_1","getReportLookupSchemas","collection_root","lookupTrees","schemaObj","push","collection_name","tree","ResolveIOServer","getMongoManager","collection","is_root","Object","keys","forEach","field","collectionName_1","lookup_collection","collectionModel","filter","a","length","buildTree","current_root","schemaTree","lookup","res","key","treeItemSplit","child_1","split","rbType","columnName","toTitleCase","replace","fieldName","fieldType","fieldTypeName","distinctFieldValues","fieldPath","lookup_as","fieldPathName","lookup_local_key","local_key","lookup_foreign_key","lookup_key","text","value","isLeaf","isActive","isSelected","depth","leafValueType","leafValueTypes","getLeafValueTypes","leafFormatType","leafFormatTypes","getLeafFormatTypes","children","sort","b","localeCompare","layer","index","find","leafTypes","mongoCommand","commandstr","obj","count","query","$ne","getMainDB","command","tmpObj","_a","sent","distinct","values","exports"],"mappings":"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","file":"schema-report-builder.js","sourcesContent":["import { ResolveIOServer } from '../index';\nimport { CollectionTree } from '../models/report-builder.model';\nimport { toTitleCase } from './common';\n\nexport function getReportLookupSchemas(collection_root: string) {\n\tlet lookupTrees: CollectionTree[] = [];\n\tlookupTrees.push({ collection_name: collection_root, tree: ResolveIOServer.getMongoManager().collection(collection_root)['rbSchema'], is_root: true });\n\tlet schemaObj = ResolveIOServer.getMongoManager().collection(collection_root)['rbSchema'];\n\tlet modelKeys = Object.keys(schemaObj);\n\tmodelKeys.forEach(field => {\n\t\tif (schemaObj[field].lookup_collection) {\n\t\t\tlet collectionName = schemaObj[field].lookup_collection;\n\t\t\tlet collectionModel = ResolveIOServer.getMongoManager().collection(collectionName);\n\n\t\t\tif (!lookupTrees.filter(a => a.collection_name === collectionName).length) {\n\t\t\t\tlookupTrees.push({ collection_name: collectionName, tree: collectionModel['rbSchema'], is_root: false });\n\t\t\t}\n\t\t}\n\t});\n\n\treturn lookupTrees;\n}\n\nexport function buildTree(current_root, schemaTree, lookup?) {\n\tlet res = [];\n\n\tObject.keys(schemaTree).filter(a => a !== '_id' && a !== 'id' && a !== '__v').forEach(key => {\n\t// Object.keys(schemaTree).filter(a => a !== '__v').forEach(key => {\n\t\tif (!lookup || (lookup && !schemaTree[key].lookup_collection)) {\n\t\t\tlet treeItemSplit = key.split('.');\n\t\t\n\t\t\t// debugger;\n\n\t\t\tif (treeItemSplit.length === 1) {\n\t\t\t\tif (schemaTree[key].rbType === 'String' || schemaTree[key].rbType === 'Number' || schemaTree[key].rbType === 'Boolean' || schemaTree[key].rbType === 'Date') {\n\t\t\t\t\tres.push({\n\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tfieldName: key,\n\t\t\t\t\t\tfieldType: schemaTree[key].rbType,\n\t\t\t\t\t\tfieldTypeName: schemaTree[key].rbType === 'String' ? 'Text' : (schemaTree[key].rbType === 'Boolean' ? 'T/F' : schemaTree[key].rbType),\n\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\ttext: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tvalue: key,\n\t\t\t\t\t\tisLeaf: true,\n\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\tdepth: 0,\n\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\tleafValueTypes: getLeafValueTypes(schemaTree[key], key),\n\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\tleafFormatTypes: getLeafFormatTypes(schemaTree[key], key)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tres.push({\n\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tfieldName: key,\n\t\t\t\t\t\tfieldType: schemaTree[key].lookup_collection ? 'Lookup' : schemaTree[key].rbType,\n\t\t\t\t\t\tfieldTypeName: schemaTree[key].lookup_collection ? 'Lookup' : (schemaTree[key].rbType === 'Array' ? 'List' : 'Group'),\n\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\ttext: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tvalue: key,\n\t\t\t\t\t\tisLeaf: false,\n\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\tdepth: 0,\n\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\tchildren: []\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tres = res.sort((a, b) => a.fieldName.localeCompare(b.fieldName));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet child = null;\n\n\t\t\t\ttreeItemSplit.forEach((layer, index) => {\n\t\t\t\t\tif (!child) {\n\t\t\t\t\t\tchild = res.find(a => a.fieldName === layer);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (child.children.find(a => a.fieldName === layer)) {\n\t\t\t\t\t\t\tchild = child.children.find(a => a.fieldName === layer);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (schemaTree[key].rbType === 'String' || schemaTree[key].rbType === 'Number' || schemaTree[key].rbType === 'Boolean' || schemaTree[key].rbType === 'Date') {\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tchild.children.push({\n\t\t\t\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tfieldName: layer,\n\t\t\t\t\t\t\t\t\tfieldType: schemaTree[key].rbType,\n\t\t\t\t\t\t\t\t\tfieldTypeName: schemaTree[key].rbType === 'String' ? 'Text' : (schemaTree[key].rbType === 'Boolean' ? 'T/F' : schemaTree[key].rbType),\n\t\t\t\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\t\t\t\ttext: toTitleCase(layer.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tvalue: layer,\n\t\t\t\t\t\t\t\t\tisLeaf: true,\n\t\t\t\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\t\t\t\tdepth: index,\n\t\t\t\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\t\t\t\tleafValueTypes: getLeafValueTypes(schemaTree[key], key),\n\t\t\t\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\t\t\t\tleafFormatTypes: getLeafFormatTypes(schemaTree[key], key)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tchild.children.push({\n\t\t\t\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tfieldName: layer,\n\t\t\t\t\t\t\t\t\tfieldType: schemaTree[key].lookup_collection ? 'Lookup' : schemaTree[key].rbType,\n\t\t\t\t\t\t\t\t\tfieldTypeName: schemaTree[key].lookup_collection ? 'Lookup' : (schemaTree[key].rbType === 'Array' ? 'List' : 'Group'),\n\t\t\t\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\t\t\t\ttext: toTitleCase(layer.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tvalue: layer,\n\t\t\t\t\t\t\t\t\tisLeaf: false,\n\t\t\t\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\t\t\t\tdepth: index,\n\t\t\t\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\t\t\t\tchildren: []\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tchild.children = child.children.sort((a, b) => a.fieldName.localeCompare(b.fieldName));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\treturn res;\n}\n\nexport function getLeafValueTypes(schemaTree, fieldPath) {\n\tlet leafTypes = [];\n\n\tif (schemaTree.rbType === 'String') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Number') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Average',\n\t\t\t\tvalue: 'Average'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Sum',\n\t\t\t\tvalue: 'Sum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Minimum',\n\t\t\t\tvalue: 'Minimum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Maximum',\n\t\t\t\tvalue: 'Maximum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Boolean') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Date') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Minimum',\n\t\t\t\tvalue: 'Minimum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Maximum',\n\t\t\t\tvalue: 'Maximum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\treturn leafTypes;\n}\n\nexport function getLeafFormatTypes(schemaTree, fieldPath) {\n\tlet leafTypes = [];\n\n\tif (schemaTree.rbType === 'String') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Text',\n\t\t\t\tvalue: 'String'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Number') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Currency',\n\t\t\t\tvalue: 'Currency'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Text',\n\t\t\t\tvalue: 'String'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Boolean') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Boolean (True/False)',\n\t\t\t\tvalue: 'Boolean'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Text (Yes/No)',\n\t\t\t\tvalue: 'String'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Number (1/0)',\n\t\t\t\tvalue: 'Boolean_Number'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Date') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Date (Short Format)',\n\t\t\t\tvalue: 'Date'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Time (Short Format)',\n\t\t\t\tvalue: 'Time'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Date/Time (Short Format)',\n\t\t\t\tvalue: 'DateTime'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Date (Long Format)',\n\t\t\t\tvalue: 'Date_long'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Date/Time (Long Format)',\n\t\t\t\tvalue: 'DateTime_long'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Timestamp (MS since 1970)',\n\t\t\t\tvalue: 'Timestamp'\n\t\t\t}\n\t\t];\n\t}\n\treturn leafTypes;\n}\n\n\n\n\n\nexport async function mongoCommand(commandstr: string, collection: string, field?: any) {\n\tlet tmpObj;\n\ttry {\n\t\t// Count the number of non-empty fields in a given collection:\n\t\tif (commandstr === 'count') {\n\t\t\tlet obj = {\n\t\t\t\tcount: collection,\n\t\t\t\tquery: {}\n\t\t\t};\n\t\t\tobj.query[field] = {$ne: null};\n\t\t\ttmpObj = await ResolveIOServer.getMainDB().command(obj);\n\t\t}\n\t\t// Get all distinct values in a given field.\n\t\telse if (commandstr === 'distinct') {\n\t\t\tlet obj = {\n\t\t\t\tdistinct: collection,\n\t\t\t\tquery: {},\n\t\t\t\tkey: field,\n\t\t\t};\n\t\t\ttmpObj = await ResolveIOServer.getMainDB().command(obj);\n\t\t}\n\t\telse if (commandstr === 'listIndexes') {\n\t\t\t// tmpObj = await this.mainDb.db[collection].getIndexes();\n\t\t\t// let obj = { 'listIndexes': collection };\n\t\t\t// tmpObj = await this.mainDb.db.getIndexes(obj);\n\t\t}\n\t} catch (err) {\n\t\t// console.log('----------- mongoCommand err: ', err);\n\t\treturn -1;\n\t}\n\tif (tmpObj) {\n\t\treturn tmpObj.values;\n\t}\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../src/util/schema-report-builder.ts"],"names":["resolveio_server_app_1","require","common_1","getReportLookupSchemas","collection_root","lookupTrees","schemaObj","push","collection_name","tree","ResolveIOServer","getMongoManager","collection","is_root","Object","keys","forEach","field","collectionName_1","lookup_collection","collectionModel","filter","a","length","buildTree","current_root","schemaTree","lookup","res","key","treeItemSplit","child_1","split","rbType","columnName","toTitleCase","replace","fieldName","fieldType","fieldTypeName","distinctFieldValues","fieldPath","lookup_as","fieldPathName","lookup_local_key","local_key","lookup_foreign_key","lookup_key","text","value","isLeaf","isActive","isSelected","depth","leafValueType","leafValueTypes","getLeafValueTypes","leafFormatType","leafFormatTypes","getLeafFormatTypes","children","sort","b","localeCompare","layer","index","find","leafTypes","mongoCommand","commandstr","obj","count","query","$ne","getMainDB","command","tmpObj","_a","sent","distinct","values","exports"],"mappings":"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","file":"schema-report-builder.js","sourcesContent":["import { ResolveIOServer } from '../resolveio-server-app';\nimport { CollectionTree } from '../models/report-builder.model';\nimport { toTitleCase } from './common';\n\nexport function getReportLookupSchemas(collection_root: string) {\n\tlet lookupTrees: CollectionTree[] = [];\n\tlookupTrees.push({ collection_name: collection_root, tree: ResolveIOServer.getMongoManager().collection(collection_root)['rbSchema'], is_root: true });\n\tlet schemaObj = ResolveIOServer.getMongoManager().collection(collection_root)['rbSchema'];\n\tlet modelKeys = Object.keys(schemaObj);\n\tmodelKeys.forEach(field => {\n\t\tif (schemaObj[field].lookup_collection) {\n\t\t\tlet collectionName = schemaObj[field].lookup_collection;\n\t\t\tlet collectionModel = ResolveIOServer.getMongoManager().collection(collectionName);\n\n\t\t\tif (!lookupTrees.filter(a => a.collection_name === collectionName).length) {\n\t\t\t\tlookupTrees.push({ collection_name: collectionName, tree: collectionModel['rbSchema'], is_root: false });\n\t\t\t}\n\t\t}\n\t});\n\n\treturn lookupTrees;\n}\n\nexport function buildTree(current_root, schemaTree, lookup?) {\n\tlet res = [];\n\n\tObject.keys(schemaTree).filter(a => a !== '_id' && a !== 'id' && a !== '__v').forEach(key => {\n\t// Object.keys(schemaTree).filter(a => a !== '__v').forEach(key => {\n\t\tif (!lookup || (lookup && !schemaTree[key].lookup_collection)) {\n\t\t\tlet treeItemSplit = key.split('.');\n\t\t\n\t\t\t// debugger;\n\n\t\t\tif (treeItemSplit.length === 1) {\n\t\t\t\tif (schemaTree[key].rbType === 'String' || schemaTree[key].rbType === 'Number' || schemaTree[key].rbType === 'Boolean' || schemaTree[key].rbType === 'Date') {\n\t\t\t\t\tres.push({\n\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tfieldName: key,\n\t\t\t\t\t\tfieldType: schemaTree[key].rbType,\n\t\t\t\t\t\tfieldTypeName: schemaTree[key].rbType === 'String' ? 'Text' : (schemaTree[key].rbType === 'Boolean' ? 'T/F' : schemaTree[key].rbType),\n\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\ttext: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tvalue: key,\n\t\t\t\t\t\tisLeaf: true,\n\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\tdepth: 0,\n\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\tleafValueTypes: getLeafValueTypes(schemaTree[key], key),\n\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\tleafFormatTypes: getLeafFormatTypes(schemaTree[key], key)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tres.push({\n\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tfieldName: key,\n\t\t\t\t\t\tfieldType: schemaTree[key].lookup_collection ? 'Lookup' : schemaTree[key].rbType,\n\t\t\t\t\t\tfieldTypeName: schemaTree[key].lookup_collection ? 'Lookup' : (schemaTree[key].rbType === 'Array' ? 'List' : 'Group'),\n\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\ttext: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\tvalue: key,\n\t\t\t\t\t\tisLeaf: false,\n\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\tdepth: 0,\n\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\tchildren: []\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tres = res.sort((a, b) => a.fieldName.localeCompare(b.fieldName));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tlet child = null;\n\n\t\t\t\ttreeItemSplit.forEach((layer, index) => {\n\t\t\t\t\tif (!child) {\n\t\t\t\t\t\tchild = res.find(a => a.fieldName === layer);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tif (child.children.find(a => a.fieldName === layer)) {\n\t\t\t\t\t\t\tchild = child.children.find(a => a.fieldName === layer);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tif (schemaTree[key].rbType === 'String' || schemaTree[key].rbType === 'Number' || schemaTree[key].rbType === 'Boolean' || schemaTree[key].rbType === 'Date') {\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tchild.children.push({\n\t\t\t\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tfieldName: layer,\n\t\t\t\t\t\t\t\t\tfieldType: schemaTree[key].rbType,\n\t\t\t\t\t\t\t\t\tfieldTypeName: schemaTree[key].rbType === 'String' ? 'Text' : (schemaTree[key].rbType === 'Boolean' ? 'T/F' : schemaTree[key].rbType),\n\t\t\t\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\t\t\t\ttext: toTitleCase(layer.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tvalue: layer,\n\t\t\t\t\t\t\t\t\tisLeaf: true,\n\t\t\t\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\t\t\t\tdepth: index,\n\t\t\t\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\t\t\t\tleafValueTypes: getLeafValueTypes(schemaTree[key], key),\n\t\t\t\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\t\t\t\tleafFormatTypes: getLeafFormatTypes(schemaTree[key], key)\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse {\n\t\t\t\t\t\t\t\tchild.children.push({\n\t\t\t\t\t\t\t\t\tcollection_name: current_root,\n\t\t\t\t\t\t\t\t\tcolumnName: toTitleCase(key.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tfieldName: layer,\n\t\t\t\t\t\t\t\t\tfieldType: schemaTree[key].lookup_collection ? 'Lookup' : schemaTree[key].rbType,\n\t\t\t\t\t\t\t\t\tfieldTypeName: schemaTree[key].lookup_collection ? 'Lookup' : (schemaTree[key].rbType === 'Array' ? 'List' : 'Group'),\n\t\t\t\t\t\t\t\t\tdistinctFieldValues: [],\n\t\t\t\t\t\t\t\t\tfieldPath: lookup ? lookup.lookup_as + '.$.' + key : key,\n\t\t\t\t\t\t\t\t\tfieldPathName: lookup ? (toTitleCase(lookup.lookup_as.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) + ' (List) -> ' + (toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> '))) : toTitleCase(key.replace(/\\.\\$\\./g, ' (List) -> ').replace(/\\./g, ' (Group) -> ')),\n\t\t\t\t\t\t\t\t\tlookup_collection: lookup ? lookup.lookup_collection : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_collection : ''),\n\t\t\t\t\t\t\t\t\tlookup_local_key: lookup ? lookup.lookup_local_key : (schemaTree[key].lookup_collection ? schemaTree[key].local_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_foreign_key: lookup ? lookup.lookup_foreign_key : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_key : ''),\n\t\t\t\t\t\t\t\t\tlookup_as: lookup ? lookup.lookup_as : (schemaTree[key].lookup_collection ? schemaTree[key].lookup_as : ''),\n\t\t\t\t\t\t\t\t\ttext: toTitleCase(layer.replace(/\\_/g, ' ')),\n\t\t\t\t\t\t\t\t\tvalue: layer,\n\t\t\t\t\t\t\t\t\tisLeaf: false,\n\t\t\t\t\t\t\t\t\tisActive: false,\n\t\t\t\t\t\t\t\t\tisSelected: false,\n\t\t\t\t\t\t\t\t\tdepth: index,\n\t\t\t\t\t\t\t\t\tleafValueType: '',\n\t\t\t\t\t\t\t\t\tleafFormatType: '',\n\t\t\t\t\t\t\t\t\tchildren: []\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tchild.children = child.children.sort((a, b) => a.fieldName.localeCompare(b.fieldName));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n\n\treturn res;\n}\n\nexport function getLeafValueTypes(schemaTree, fieldPath) {\n\tlet leafTypes = [];\n\n\tif (schemaTree.rbType === 'String') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Number') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Average',\n\t\t\t\tvalue: 'Average'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Sum',\n\t\t\t\tvalue: 'Sum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Minimum',\n\t\t\t\tvalue: 'Minimum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Maximum',\n\t\t\t\tvalue: 'Maximum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Boolean') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Date') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Value',\n\t\t\t\tvalue: 'Value'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Unique',\n\t\t\t\tvalue: 'Unique'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Count',\n\t\t\t\tvalue: 'Count'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Minimum',\n\t\t\t\tvalue: 'Minimum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Maximum',\n\t\t\t\tvalue: 'Maximum'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'First',\n\t\t\t\tvalue: 'First'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'Last',\n\t\t\t\tvalue: 'Last'\n\t\t\t}\n\t\t];\n\t}\n\treturn leafTypes;\n}\n\nexport function getLeafFormatTypes(schemaTree, fieldPath) {\n\tlet leafTypes = [];\n\n\tif (schemaTree.rbType === 'String') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Text',\n\t\t\t\tvalue: 'String'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Number') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Currency',\n\t\t\t\tvalue: 'Currency'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Text',\n\t\t\t\tvalue: 'String'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Boolean') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Boolean (True/False)',\n\t\t\t\tvalue: 'Boolean'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Text (Yes/No)',\n\t\t\t\tvalue: 'String'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Number (1/0)',\n\t\t\t\tvalue: 'Boolean_Number'\n\t\t\t}\n\t\t];\n\t}\n\telse if (schemaTree.rbType === 'Date') {\n\t\tleafTypes = [\n\t\t\t{\n\t\t\t\ttext: 'As Number',\n\t\t\t\tvalue: 'Number'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Date (Short Format)',\n\t\t\t\tvalue: 'Date'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Time (Short Format)',\n\t\t\t\tvalue: 'Time'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Date/Time (Short Format)',\n\t\t\t\tvalue: 'DateTime'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Date (Long Format)',\n\t\t\t\tvalue: 'Date_long'\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: 'As Date/Time (Long Format)',\n\t\t\t\tvalue: 'DateTime_long'\n\t\t\t}, \n\t\t\t{\n\t\t\t\ttext: 'As Timestamp (MS since 1970)',\n\t\t\t\tvalue: 'Timestamp'\n\t\t\t}\n\t\t];\n\t}\n\treturn leafTypes;\n}\n\n\n\n\n\nexport async function mongoCommand(commandstr: string, collection: string, field?: any) {\n\tlet tmpObj;\n\ttry {\n\t\t// Count the number of non-empty fields in a given collection:\n\t\tif (commandstr === 'count') {\n\t\t\tlet obj = {\n\t\t\t\tcount: collection,\n\t\t\t\tquery: {}\n\t\t\t};\n\t\t\tobj.query[field] = {$ne: null};\n\t\t\ttmpObj = await ResolveIOServer.getMainDB().command(obj);\n\t\t}\n\t\t// Get all distinct values in a given field.\n\t\telse if (commandstr === 'distinct') {\n\t\t\tlet obj = {\n\t\t\t\tdistinct: collection,\n\t\t\t\tquery: {},\n\t\t\t\tkey: field,\n\t\t\t};\n\t\t\ttmpObj = await ResolveIOServer.getMainDB().command(obj);\n\t\t}\n\t\telse if (commandstr === 'listIndexes') {\n\t\t\t// tmpObj = await this.mainDb.db[collection].getIndexes();\n\t\t\t// let obj = { 'listIndexes': collection };\n\t\t\t// tmpObj = await this.mainDb.db.getIndexes(obj);\n\t\t}\n\t} catch (err) {\n\t\t// console.log('----------- mongoCommand err: ', err);\n\t\treturn -1;\n\t}\n\tif (tmpObj) {\n\t\treturn tmpObj.values;\n\t}\n}"]}
|
package/client-server-app.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/client-server-app.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var __awaiter=this&&this.__awaiter||function(e,n,o,i){return new(o=o||Promise)(function(t,r){function fulfilled(e){try{step(i.next(e))}catch(e){r(e)}}function rejected(e){try{step(i.throw(e))}catch(e){r(e)}}function step(e){var r;e.done?t(e.value):((r=e.value)instanceof o?r:new o(function(e){e(r)})).then(fulfilled,rejected)}step((i=i.apply(e,n||[])).next())})},__generator=this&&this.__generator||function(n,o){var i,a,l,u={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},s={next:verb(0),throw:verb(1),return:verb(2)};return"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function verb(t){return function(e){var r=[t,e];if(i)throw new TypeError("Generator is already executing.");for(;u=s&&r[s=0]?0:u;)try{if(i=1,a&&(l=2&r[0]?a.return:r[0]?a.throw||((l=a.return)&&l.call(a),0):a.next)&&!(l=l.call(a,r[1])).done)return l;switch(a=0,(r=l?[2&r[0],l.value]:r)[0]){case 0:case 1:l=r;break;case 4:return u.label++,{value:r[1],done:!1};case 5:u.label++,a=r[1],r=[0];continue;case 7:r=u.ops.pop(),u.trys.pop();continue;default:if(!(l=0<(l=u.trys).length&&l[l.length-1])&&(6===r[0]||2===r[0])){u=0;continue}if(3===r[0]&&(!l||r[1]>l[0]&&r[1]<l[3]))u.label=r[1];else if(6===r[0]&&u.label<l[1])u.label=l[1],l=r;else{if(!(l&&u.label<l[2])){l[2]&&u.ops.pop(),u.trys.pop();continue}u.label=l[2],u.ops.push(r)}}r=o.call(n,u)}catch(e){r=[6,e],a=0}finally{i=l=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}}},serverConfig=(Object.defineProperty(exports,"__esModule",{value:!0}),require("./settings.json")),index_1=require("./index");new index_1.ResolveIOServer(serverConfig,[],"ResolveIO Server Library",__dirname),index_1.ResolveIOServer.connectAndRun().then(function(){return __awaiter(void 0,void 0,void 0,function(){return __generator(this,function(e){return[2]})})});
|
|
2
|
-
//# sourceMappingURL=client-server-app.js.map
|
package/client-server-app.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/client-server-app.ts"],"names":["serverConfig","require","index_1","ResolveIOServer","__dirname","connectAndRun","then","__awaiter"],"mappings":"k8CAAIA,c,uDAAeC,QAAQ,iBAAiB,GAC5CC,QAAAD,QAAA,SAAA,EAGA,IAAIC,QAAAC,gBAAgBH,aAAc,GAAI,2BAA4BI,SAAS,EAC3EF,QAAAC,gBAAgBE,cAAa,EAAGC,KAAK,WAAA,OAAAC,UAAA,KAAA,EAAA,KAAA,EAAA,KAAA,EAAA,W,kDAEpC","file":"client-server-app.js","sourcesContent":["let serverConfig = require('./settings.json');\nimport { ResolveIOServer } from './index';\n\n\nnew ResolveIOServer(serverConfig, [], 'ResolveIO Server Library', __dirname);\nResolveIOServer.connectAndRun().then(async () => {\n\t\n});"]}
|