@resolveio/server-lib 1.0.0-rc1
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/active-subscription.collection.js +1 -0
- package/collections/app-status.collection.js +1 -0
- package/collections/app-version.collection.js +1 -0
- package/collections/counter.collection.js +1 -0
- package/collections/cron-job-history.collection.js +1 -0
- package/collections/cron-job.collection.js +1 -0
- package/collections/file.collection.js +1 -0
- package/collections/flag.collection.js +1 -0
- package/collections/log.collection.js +1 -0
- package/collections/logged-in-users.collection.js +1 -0
- package/collections/method-call.collection.js +1 -0
- package/collections/method-response.collection.js +1 -0
- package/collections/queue-flag.collection.js +1 -0
- package/collections/queue-method.collection.js +1 -0
- package/collections/queue-response.collection.js +1 -0
- package/collections/support-ticket.collection.js +1 -0
- package/collections/user.collection.js +1 -0
- package/cron/cron.js +1 -0
- package/fixtures/cron-jobs.js +1 -0
- package/fixtures/init.js +1 -0
- package/http/auth.js +1 -0
- package/http/health.js +1 -0
- package/index.js +1 -0
- package/managers/cron.manager.js +1 -0
- package/managers/method.manager.js +1 -0
- package/managers/queue-method.manager.js +1 -0
- package/managers/subscription.manager.js +1 -0
- package/managers/support.manager.js +1 -0
- package/methods/accounts.js +1 -0
- package/methods/aws.js +1 -0
- package/methods/cloudconvert.js +1 -0
- package/methods/collections.js +1 -0
- package/methods/counters.js +1 -0
- package/methods/cron-jobs.js +1 -0
- package/methods/flags.js +1 -0
- package/methods/logs.js +1 -0
- package/methods/pdf.js +1 -0
- package/models/active-subscription.model.js +1 -0
- package/models/app-status.model.js +1 -0
- package/models/app-version.model.js +1 -0
- package/models/collection-document.model.js +1 -0
- package/models/counter.model.js +1 -0
- package/models/cron-job-history.model.js +1 -0
- package/models/cron-job.model.js +1 -0
- package/models/dialog.model.js +1 -0
- package/models/file.model.js +1 -0
- package/models/flag.model.js +1 -0
- package/models/log.model.js +1 -0
- package/models/logged-in-users.model.js +1 -0
- package/models/method-call.model.js +1 -0
- package/models/method-response.model.js +1 -0
- package/models/method.model.js +1 -0
- package/models/pagination.model.js +1 -0
- package/models/permission.model.js +1 -0
- package/models/queue-method.model.js +1 -0
- package/models/queue-response.model.js +1 -0
- package/models/select-data-label.model.js +1 -0
- package/models/server-response.model.js +1 -0
- package/models/subscription.model.js +1 -0
- package/models/support-method.model.js +1 -0
- package/models/support-ticket.model.js +1 -0
- package/models/user.model.js +1 -0
- package/package.json +69 -0
- package/private/email-templates/enrollment.html +12 -0
- package/private/email-templates/forgot-password.html +12 -0
- package/publications/app-status.js +1 -0
- package/publications/app-version.js +1 -0
- package/publications/cron-jobs.js +1 -0
- package/publications/files.js +1 -0
- package/publications/flags.js +1 -0
- package/publications/logs.js +1 -0
- package/publications/method-calls.js +1 -0
- package/publications/method-responses.js +1 -0
- package/publications/super-admin.js +1 -0
- package/publications/support-tickets.js +1 -0
- package/server-app.js +1 -0
- package/support-methods/aws.js +1 -0
- package/support-methods/collections.js +1 -0
- package/support-methods/counters.js +1 -0
- package/support-methods/support.js +1 -0
- package/util/common.js +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},date:{type:Date},publication:{type:String},subData:{type:String},collections:{type:Array},"collections.$":{type:String},clients:{type:Array},"clients.$":{type:Object},"clients.$.id_user":{type:String},"clients.$.messageId":{type:Number},"clients.$.id_socket":{type:String}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.ActiveSubscriptions=index_1.getMainDB().model("active-subscriptions",DefaultSchema),schema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.ActiveSubscriptions.versionCollection="active-subscriptions.versions",exports.ActiveSubscriptionVersions=index_1.getMainDB().model(exports.ActiveSubscriptions.versionCollection,VersionSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},message:{type:String}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.AppStatus=index_1.getMainDB().model("app-statuses",DefaultSchema),exports.AppStatus.simplschema=new simpl_schema_1.default(schema),schema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.AppStatus.versionCollection="app-statuses.versions",exports.AppStatusVersions=index_1.getMainDB().model(exports.AppStatus.versionCollection,VersionSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var s,o=1,i=arguments.length;o<i;o++)for(var n in s=arguments[o])Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);return e}).apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},version:{type:Number}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.AppVersions=index_1.getMainDB().model("app-versions",DefaultSchema);var checkSchema=__assign({},schema);checkSchema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(checkSchema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.AppVersions.versionCollection="app-versions.versions",exports.AppVersionVersions=index_1.getMainDB().model(exports.AppVersions.versionCollection,VersionSchema),schema.version.type=simpl_schema_1.default.Integer,exports.AppVersions.simplschema=new simpl_schema_1.default(schema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,o=1,s=arguments.length;o<s;o++)for(var r in t=arguments[o])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},type:{type:String},count:{type:Number}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.Counters=index_1.getMainDB().model("counters",DefaultSchema),exports.SupportCounters=null,index_1.getSupportDB()&&(exports.SupportCounters=index_1.getSupportDB().model("counters",DefaultSchema));var checkSchema=__assign({},schema);checkSchema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(checkSchema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.Counters.versionCollection="counters.versions",index_1.getSupportDB()&&(exports.SupportCounters.versionCollection="counters.versions"),exports.CounterVersions=index_1.getMainDB().model(exports.Counters.versionCollection,VersionSchema),exports.SupportCounterVersions=null,index_1.getSupportDB()&&(exports.SupportCounterVersions=index_1.getSupportDB().model(exports.SupportCounters.versionCollection,VersionSchema)),schema.count.type=simpl_schema_1.default.Integer,exports.Counters.simplschema=new simpl_schema_1.default(schema),index_1.getSupportDB()&&(exports.SupportCounters.simplschema=new simpl_schema_1.default(schema));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++)for(var i in t=arguments[o])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},name:{type:String},reoccuring:{type:Boolean},time_to_run:{type:String},method_name:{type:String},last_run:{type:Date},next_run:{type:Date},id_cronjob:{type:String},passed:{type:Boolean},error:{type:String},start_time:{type:Date},end_time:{type:Date}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});DefaultSchema.index({createdAt:1},{expireAfterSeconds:604800}),exports.CronJobHistory=index_1.getMainDB().model("cron-job-histories",DefaultSchema);var vSchema=__assign({},schema);vSchema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(vSchema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.CronJobHistory.versionCollection="cron-job-histories.versions",exports.CronJobHistoryVersions=index_1.getMainDB().model(exports.CronJobHistory.versionCollection,VersionSchema),exports.CronJobHistory.simplschema=new simpl_schema_1.default(schema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var o,t=1,n=arguments.length;t<n;t++)for(var i in o=arguments[t])Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i]);return e}).apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},name:{type:String},repeat:{type:Boolean},time_to_run:{type:String},method_run:{type:String},method_run_data:{type:Object,blackbox:!0,optional:!0},method_complete:{type:String,optional:!0},method_complete_data:{type:Object,blackbox:!0,optional:!0},running:{type:Boolean},timezone:{type:String,optional:!0},next_run:{type:Date,optional:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.CronJobs=index_1.getMainDB().model("cron-jobs",DefaultSchema);var vSchema=__assign({},schema);vSchema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(vSchema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.CronJobs.versionCollection="cron-jobs.versions",exports.CronJobVersions=index_1.getMainDB().model(exports.CronJobs.versionCollection,VersionSchema),exports.CronJobs.simplschema=new simpl_schema_1.default(schema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},name:{type:String},size:{type:Number},key:{type:String},type:{type:String},order:{type:Number},status:{type:String,optional:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.Files=index_1.getMainDB().model("files",DefaultSchema),exports.SupportFiles=null,index_1.getSupportDB()&&(exports.SupportFiles=index_1.getSupportDB().model("files",DefaultSchema)),exports.Files.simplschema=new simpl_schema_1.default(schema),index_1.getSupportDB()&&(exports.SupportFiles.simplschema=new simpl_schema_1.default(schema)),schema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.Files.versionCollection="files.versions",index_1.getSupportDB()&&(exports.SupportFiles.versionCollection="files.versions"),exports.FileVersions=index_1.getMainDB().model(exports.Files.versionCollection,VersionSchema),exports.SupportFileVersions=null,index_1.getSupportDB()&&(exports.SupportFileVersions=index_1.getSupportDB().model(exports.Files.versionCollection,VersionSchema));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},type:{type:String},value:{type:Boolean,optional:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.Flags=index_1.getMainDB().model("flags",DefaultSchema),exports.Flags.simplschema=new simpl_schema_1.default(schema),schema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.Flags.versionCollection="flags.versions",exports.FlagVersions=index_1.getMainDB().model(exports.Flags.versionCollection,VersionSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},date:{type:Date},type:{type:String},title:{type:String},message:{type:String},payload:{type:Array},method:{type:String},user:{type:String},messageId:{type:String}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});DefaultSchema.index({date:1},{expireAfterSeconds:864e3}),DefaultSchema.index({type:1}),exports.Logs=index_1.getMainDB().model("logs",DefaultSchema),schema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.Logs.versionCollection="logs.versions",exports.LogVersions=index_1.getMainDB().model(exports.Logs.versionCollection,VersionSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var o,s=1,t=arguments.length;s<t;s++)for(var n in o=arguments[s])Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n]);return e}).apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},date:{type:Date},id_user:{type:String},user:{type:String},id_ws:{type:String},app_version:{type:Number,optional:!0},latency:{type:Number,optional:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.LoggedInUsers=index_1.getMainDB().model("logged-in-users",DefaultSchema);var vSchema=__assign({},schema);vSchema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(vSchema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.LoggedInUsers.versionCollection="logged-in-users.versions",exports.LoggedInUserVersions=index_1.getMainDB().model(exports.LoggedInUsers.versionCollection,VersionSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},id_user:{type:String},message_id:{type:String},method:{type:String},data:{type:String}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});DefaultSchema.index({id_user:1,message_id:1}),DefaultSchema.index({createdAt:1},{expireAfterSeconds:86400}),exports.MethodCalls=index_1.getMainDB().model("method-calls",DefaultSchema),exports.MethodCalls.simplschema=new simpl_schema_1.default(schema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},id_user:{type:String},message_id:{type:String},method:{type:String},data:{type:String},response:{type:Object,blackbox:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});DefaultSchema.index({id_user:1,message_id:1}),DefaultSchema.index({createdAt:1},{expireAfterSeconds:86400}),exports.MethodResponses=index_1.getMainDB().model("method-responses",DefaultSchema),exports.MethodResponses.simplschema=new simpl_schema_1.default(schema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});DefaultSchema.index({createdAt:1},{expireAfterSeconds:15}),exports.QueueFlags=index_1.getMainDB().model("queue-flags",DefaultSchema),exports.QueueFlags.simplschema=new simpl_schema_1.default(schema),schema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.QueueFlags.versionCollection="queue-flags.versions",exports.QueueFlagVersions=index_1.getMainDB().model(exports.QueueFlags.versionCollection,VersionSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,o=1,i=arguments.length;o<i;o++)for(var s in t=arguments[o])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),mongooseSchema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},method:{type:String},method_data:{type:Array},"method_data.$":{type:Object,blackbox:!0},id_ws:{type:String},messageId:{type:Number},id_user:{type:String},user:{type:String}},DefaultSchema=new mongoose_1.Schema(mongooseSchema,{skipVersioning:!0,versionKey:!1,timestamps:!0,minimize:!1});exports.QueueMethods=index_1.getMainDB().model("queue-methods",DefaultSchema);var vSchema=__assign({},mongooseSchema);vSchema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(vSchema,{skipVersioning:!0,versionKey:!1,timestamps:!0,minimize:!1});exports.QueueMethods.versionCollection="queue-methods.versions",exports.CounterVersions=index_1.getMainDB().model(exports.QueueMethods.versionCollection,VersionSchema);var simplSchema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},method:{type:String},method_data:{type:Array},"method_data.$":{type:Object,blackbox:!0},id_ws:{type:String},messageId:{type:Number},id_user:{type:String},user:{type:String}};exports.QueueMethods.simplschema=new simpl_schema_1.default(simplSchema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var s,t=1,o=arguments.length;t<o;t++)for(var n in s=arguments[t])Object.prototype.hasOwnProperty.call(s,n)&&(e[n]=s[n]);return e}).apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},method:{type:String},method_data:{type:Array},"method_data.$":{type:Object,blackbox:!0},id_ws:{type:String},messageId:{type:Number},id_user:{type:String},user:{type:String},response:{type:Object,blackbox:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.QueueResponses=index_1.getMainDB().model("queue-responses",DefaultSchema);var vSchema=__assign({},schema);vSchema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(vSchema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.QueueResponses.versionCollection="queue-responses.versions",exports.CounterVersions=index_1.getMainDB().model(exports.QueueResponses.versionCollection,VersionSchema),exports.QueueResponses.simplschema=new simpl_schema_1.default(schema);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},type:{type:String},priority:{type:String},issue:{type:String},support_ticket_number:{type:Number},support_ticket_number_string:{type:String},status:{type:String},client:{type:String},id_client:{type:String},messages:{type:Array},"messages.$":{type:Object},"messages.$.message":{type:String},"messages.$.id_user":{type:String},"messages.$.user":{type:String},"messages.$.date":{type:Date},"messages.$.type":{type:String},date_created:{type:Date},date_created_string:{type:String},id_user_created:{type:String},user_created:{type:String},billable:{type:Boolean},work_logs:{type:Array},"work_logs.$":{type:Object},"work_logs.$.note":{type:String},"work_logs.$.id_user":{type:String},"work_logs.$.user":{type:String},"work_logs.$.date_start":{type:Date},"work_logs.$.date_end":{type:Date,optional:!0},"work_logs.$.time_spent":{type:Number,optional:!0},"work_logs.$.time_spent_string":{type:String,optional:!0},date_investigation:{type:Date,optional:!0},date_closed:{type:Date,optional:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.SupportTickets=null,index_1.getSupportDB()&&(exports.SupportTickets=index_1.getSupportDB().model("support-tickets",DefaultSchema),exports.SupportTickets.simplschema=new simpl_schema_1.default(schema)),schema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});index_1.getSupportDB()&&(exports.SupportTickets.versionCollection="support-tickets.versions"),exports.SupportTicketVersions=null,index_1.getSupportDB()&&(exports.SupportTicketVersions=index_1.getSupportDB().model(exports.SupportTickets.versionCollection,VersionSchema));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),passportLocalMongoose=require("passport-local-mongoose"),simpl_schema_1=require("simpl-schema"),index_1=require("../index"),schema={_id:{type:String,optional:!0},__v:{type:Number,optional:!0},updatedAt:{type:Date,optional:!0},createdAt:{type:Date,optional:!0},readonly:{type:Boolean,optional:!0},active:{type:Boolean},attempts:{type:Number,optional:!0},last:{type:Date,optional:!0},services:{type:Object,optional:!0},"services.enrollment":{type:String,optional:!0},"services.forgot_password":{type:String,optional:!0},"services.reset_password":{type:String,optional:!0},username:{type:String,optional:!0},email:{type:String,optional:!0},fullname:{type:String},roles:{type:Array},"roles.$":{type:String},phonenumber:{type:String,optional:!0},other:{type:Object,blackbox:!0,optional:!0}},DefaultSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});DefaultSchema.plugin(passportLocalMongoose,{usernameUnique:!0,limitAttempts:!0,maxAttempts:5,findByUsername:function(e,o){return o.active=!0,e.findOne(o)}}),exports.Users=index_1.getMainDB().model("users",DefaultSchema),exports.Users.simplschema=new simpl_schema_1.default(schema),schema._id={type:mongoose_1.Schema.Types.Mixed};var VersionSchema=new mongoose_1.Schema(schema,{skipVersioning:!0,versionKey:!1,timestamps:!0});exports.Users.versionCollection="users.versions",exports.UserVersions=index_1.getMainDB().model(exports.Users.versionCollection,VersionSchema);
|
package/cron/cron.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var CronJob=require("cron").CronJob;function CrontabManager(o,t,n,r){this.jobs={},o&&t&&n&&this.add(o,t,n,r)}function combineOptions(o,t,n){var r={};if(r.cronTime=o,r.onTick=t,n instanceof Object)for(var e in n)r[e]=n[e];return r}function updateTab(t,o){try{var n=this.jobs[t].running;if(this.jobs[t].stop(),!("string"==typeof o||o instanceof Date))throw new Error("The cron definition passed was not a string or a Date object! "+t+" was stopped and not updated");this.jobs[t]=new CronJob(o,this.jobs[t]._callbacks[0],this.jobs[t].onComplete,n,this.jobs[t].zone)}catch(o){console.error("error updating tab: "+t+" - "+o.message)}}function updateTask(t,o){try{var n=this.jobs[t].running;if(this.jobs[t].stop(),!(o instanceof Function))return void console.error("can't update with something that is not a function: "+typeof o);this.jobs[t]=new CronJob(this.jobs[t].cronTime.source,o,this.jobs[t].onComplete,n,this.jobs[t].zone)}catch(o){console.error("error updating task: "+t+" - "+o.message)}}CrontabManager.prototype.getJob=function(o){return this.jobs[o]},CrontabManager.prototype.getJobs=function(){return Object.keys(this.jobs)},CrontabManager.prototype.add=function(t,n,o,r){if(("string"==typeof n||n instanceof Date)&&"string"==typeof t&&o instanceof Function){r=combineOptions(n,o,r);try{this.jobs[t]&&(this.deleteJob(t),console.warn(t+" already existed and was deleted from the manager...")),this.jobs[t]=new CronJob(r)}catch(o){console.error("crontab: "+n+" possibly not valid, job "+t+" not started..."+o.message)}}else console.warn("couldn't add: "+t+" improper arguments")},CrontabManager.prototype.update=function(){2===arguments.length?"string"==typeof arguments[1]||arguments[1]instanceof Date?updateTab.call(this,arguments[0],arguments[1]):arguments[1]instanceof Function&&updateTask.call(this,arguments[0],arguments[1]):3===arguments.length?(updateTab.call(this,arguments[0],arguments[1]),updateTask.call(this,arguments[0],arguments[2])):console.error("incorrect number of arguents passed to update.. won't update.. "+arguments[0])},CrontabManager.prototype.deleteJob=function(t){try{this.jobs[t].stop(),delete this.jobs[t]}catch(o){console.error("error in trying to stop job: "+t+": "+o)}},CrontabManager.prototype.start=function(t){try{this.jobs[t].running?console.warn(t+" job already running"):this.jobs[t].start()}catch(o){console.error("couldn't start job: "+t+": "+o)}},CrontabManager.prototype.stop=function(t){try{this.jobs[t].running?this.jobs[t].stop():console.warn(t+" job already stopped")}catch(o){console.error("couldn't stop job: "+t+": "+o)}},CrontabManager.prototype.stopAll=function(){for(var o in this.jobs)try{this.jobs[o].stop()}catch(o){}},CrontabManager.prototype.toString=function(){var o="{\n";for(var t in this.jobs)o+="'"+t+"': "+this.jobs[t].cronTime.source+": "+this.jobs[t]._callbacks[0]+": "+(this.jobs[t].running?"Running":"Stopped");return o+="\n}"},CrontabManager.prototype.listCrons=function(){var o="{\n";for(var t in this.jobs)o+="'"+t+"': "+this.jobs[t].cronTime.source+" status: "+(this.jobs[t].running?"Running":"Stopped")+" \n";return o+="\n}"},CrontabManager.prototype.exists=function(o){return!!this.jobs[o]},module.exports=CrontabManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(i,a,c,u){return new(c||(c=Promise))(function(e,n){function t(e){try{o(u.next(e))}catch(e){n(e)}}function r(e){try{o(u.throw(e))}catch(e){n(e)}}function o(n){n.done?e(n.value):new c(function(e){e(n.value)}).then(t,r)}o((u=u.apply(i,a||[])).next())})},__generator=this&&this.__generator||function(t,r){var o,i,a,e,c={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return e={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function n(n){return function(e){return function(n){if(o)throw new TypeError("Generator is already executing.");for(;c;)try{if(o=1,i&&(a=2&n[0]?i.return:n[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,n[1])).done)return a;switch(i=0,a&&(n=[2&n[0],a.value]),n[0]){case 0:case 1:a=n;break;case 4:return c.label++,{value:n[1],done:!1};case 5:c.label++,i=n[1],n=[0];continue;case 7:n=c.ops.pop(),c.trys.pop();continue;default:if(!(a=0<(a=c.trys).length&&a[a.length-1])&&(6===n[0]||2===n[0])){c=0;continue}if(3===n[0]&&(!a||n[1]>a[0]&&n[1]<a[3])){c.label=n[1];break}if(6===n[0]&&c.label<a[1]){c.label=a[1],a=n;break}if(a&&c.label<a[2]){c.label=a[2],c.ops.push(n);break}a[2]&&c.ops.pop(),c.trys.pop();continue}n=r.call(t,c)}catch(e){n=[6,e],i=0}finally{o=a=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var cron_job_collection_1=require("../collections/cron-job.collection"),mongoose_1=require("mongoose");function loadServerCronJobs(){return __awaiter(this,void 0,void 0,function(){var n;return __generator(this,function(e){switch(e.label){case 0:return[4,cron_job_collection_1.CronJobs.find({}).exec()];case 1:return(n=e.sent()).filter(function(e){return"Method Queue"===e.name}).length?[3,3]:[4,cron_job_collection_1.CronJobs.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,name:"Method Queue",reoccuring:!0,time_to_run:"*/5 * * * * *",method_name:"emailUpdatedChemicalRequests",last_run:new Date,next_run:new Date,running:!1})];case 2:e.sent(),e.label=3;case 3:return n.filter(function(e){return e.running&&e.next_run&&e.next_run.getTime()<(new Date).getTime()}).forEach(function(e){cron_job_collection_1.CronJobs.updateOne({_id:e._id},{$set:{running:!1}}).exec()}),[2]}})})}exports.loadServerCronJobs=loadServerCronJobs;
|
package/fixtures/init.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(i,c,l,s){return new(l||(l=Promise))(function(e,n){function t(e){try{r(s.next(e))}catch(e){n(e)}}function o(e){try{r(s.throw(e))}catch(e){n(e)}}function r(n){n.done?e(n.value):new l(function(e){e(n.value)}).then(t,o)}r((s=s.apply(i,c||[])).next())})},__generator=this&&this.__generator||function(t,o){var r,i,c,e,l={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]};return e={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function n(n){return function(e){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;l;)try{if(r=1,i&&(c=2&n[0]?i.return:n[0]?i.throw||((c=i.return)&&c.call(i),0):i.next)&&!(c=c.call(i,n[1])).done)return c;switch(i=0,c&&(n=[2&n[0],c.value]),n[0]){case 0:case 1:c=n;break;case 4:return l.label++,{value:n[1],done:!1};case 5:l.label++,i=n[1],n=[0];continue;case 7:n=l.ops.pop(),l.trys.pop();continue;default:if(!(c=0<(c=l.trys).length&&c[c.length-1])&&(6===n[0]||2===n[0])){l=0;continue}if(3===n[0]&&(!c||n[1]>c[0]&&n[1]<c[3])){l.label=n[1];break}if(6===n[0]&&l.label<c[1]){l.label=c[1],c=n;break}if(c&&l.label<c[2]){l.label=c[2],l.ops.push(n);break}c[2]&&l.ops.pop(),l.trys.pop();continue}n=o.call(t,l)}catch(e){n=[6,e],i=0}finally{r=c=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var app_version_collection_1=require("../collections/app-version.collection"),logged_in_users_collection_1=require("../collections/logged-in-users.collection"),active_subscription_collection_1=require("../collections/active-subscription.collection"),mongoose_1=require("mongoose");function loadServerInit(){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return[4,app_version_collection_1.AppVersions.findOne()];case 1:return e.sent()||app_version_collection_1.AppVersions.create({_id:mongoose_1.Types.ObjectId().toHexString(),version:1}),[4,logged_in_users_collection_1.LoggedInUsers.find({})];case 2:return e.sent().forEach(function(e){logged_in_users_collection_1.LoggedInUsers.deleteOne({_id:e._id}).exec()}),[4,active_subscription_collection_1.ActiveSubscriptions.find({})];case 3:return e.sent().forEach(function(e){active_subscription_collection_1.ActiveSubscriptions.deleteOne({_id:e._id}).exec()}),[2]}})})}exports.loadServerInit=loadServerInit;
|
package/http/auth.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(i,o,a,u){return new(a||(a=Promise))(function(e,r){function n(e){try{t(u.next(e))}catch(e){r(e)}}function s(e){try{t(u.throw(e))}catch(e){r(e)}}function t(r){r.done?e(r.value):new a(function(e){e(r.value)}).then(n,s)}t((u=u.apply(i,o||[])).next())})},__generator=this&&this.__generator||function(n,s){var t,i,o,e,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return e={next:r(0),throw:r(1),return:r(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function r(r){return function(e){return function(r){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,i&&(o=2&r[0]?i.return:r[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,r[1])).done)return o;switch(i=0,o&&(r=[2&r[0],o.value]),r[0]){case 0:case 1:o=r;break;case 4:return a.label++,{value:r[1],done:!1};case 5:a.label++,i=r[1],r=[0];continue;case 7:r=a.ops.pop(),a.trys.pop();continue;default:if(!(o=0<(o=a.trys).length&&o[o.length-1])&&(6===r[0]||2===r[0])){a=0;continue}if(3===r[0]&&(!o||r[1]>o[0]&&r[1]<o[3])){a.label=r[1];break}if(6===r[0]&&a.label<o[1]){a.label=o[1],o=r;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(r);break}o[2]&&a.ops.pop(),a.trys.pop();continue}r=s.call(n,a)}catch(e){r=[6,e],i=0}finally{t=o=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var user_collection_1=require("../collections/user.collection"),jwt=require("jsonwebtoken"),handlebars=require("handlebars"),method_manager_1=require("../managers/method.manager");function setupAuthRoutes(e,o){var r=this;e.post("/login",function(n,i){return __awaiter(r,void 0,void 0,function(){var t,r;return __generator(this,function(e){switch(e.label){case 0:return n.headers.origin===o.ROOT_URL||n.headers.origin===o.SEC_ROOT_URL?[3,1]:(i.send(JSON.stringify({error:!0,result:"Invalid header"})),[3,5]);case 1:return[4,user_collection_1.Users.findOne({username:n.body.username}).exec()];case 2:return(t=e.sent())?[3,4]:[4,user_collection_1.Users.findOne({email:n.body.username}).exec()];case 3:t=e.sent(),e.label=4;case 4:r=t?t.username:n.body.username,user_collection_1.Users.authenticate()(r,n.body.password,function(e,s,r){if(r)if("TooManyAttemptsError"===r.name){i.send(JSON.stringify({error:!0,result:r.message+". A password reset link has been sent to your email, please reset your password."})),t.services.forgot_password=jwt.sign({id_user:t._id},o.JWT_SECRET);var n={userToChangePassword:t.fullname,userWhoResetPassword:"DCS System",url:o.ROOT_URL+"/forgot-password/"+t.services.forgot_password+"/"};user_collection_1.Users.updateOne({_id:t._id},{$set:{services:t.services}}).exec(function(e,r){method_manager_1.default.readFile("email-templates/forgot-password.html").then(function(e){var r=handlebars.compile(e);handlebars.registerHelper("equals",function(e,r){return e===r}),method_manager_1.default.sendEmail(t.email,"ResolveIO (DCS) - Forgot Password","",r(n))},function(e){return console.log(e)})})}else i.send(JSON.stringify({error:!0,result:r.message}));else s&&s.active&&s.resetAttempts(function(e,r,n){i.send(JSON.stringify({error:!1,result:{token:jwt.sign({id_user:s._id},o.JWT_SECRET,{expiresIn:7776e6})}}))})}),e.label=5;case 5:return[2]}})})}),e.post("/accessToken",function(r,t){return __awaiter(this,void 0,void 0,function(){return __generator(this,function(e){return r.headers.origin!==o.ROOT_URL&&r.headers.origin!==o.SEC_ROOT_URL&&r.headers.origin!==o.RESOLVEIO_URL&&r.headers.origin!==o.RESOLVEIO_SECONDARY_URL?t.send(JSON.stringify({error:!0,result:"Invalid header"})):"http://localhost:4200"!==o.ROOT_URL?jwt.verify(r.body.refreshToken,o.JWT_SECRET,function(e,r){e?t.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findById(r.id_user).exec().then(function(s){s?s.active?s.resetAttempts(function(e,r,n){s.save(),t.send(JSON.stringify({error:!1,result:{token:jwt.sign({id_user:s._id},o.JWT_SECRET,{expiresIn:2592e5}),user:s}}))}):t.send(JSON.stringify({error:!0,result:"Account is Disabled"})):t.send(JSON.stringify({error:!0,result:"Invalid User"}))},function(e){t.send(JSON.stringify({error:!0,result:"Invalid Mongoose Get User"}))})}):jwt.verify(r.body.refreshToken,o.JWT_SECRET,function(e,r){e?t.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findById(r.id_user).exec().then(function(s){s?s.active?s.resetAttempts(function(e,r,n){s.save(),t.send(JSON.stringify({error:!1,result:{token:jwt.sign({id_user:s._id},o.JWT_SECRET,{expiresIn:2592e5}),user:s}}))}):t.send(JSON.stringify({error:!0,result:"Account is Disabled"})):t.send(JSON.stringify({error:!0,result:"Invalid User"}))},function(e){t.send(JSON.stringify({error:!0,result:"Invalid Mongoose Get User"}))})}),[2]})})}),e.post("/userWithEnrollmentToken",function(n,s){n.headers.origin!==o.ROOT_URL&&n.headers.origin!==o.SEC_ROOT_URL&&n.headers.origin!==o.RESOLVEIO_URL&&n.headers.origin!==o.RESOLVEIO_SECONDARY_URL?s.send(JSON.stringify({error:!0,result:"Invalid header"})):jwt.verify(n.body.enrollmentToken,o.JWT_SECRET,function(e,r){e?s.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findOne({$and:[{_id:r.id_user},{"services.enrollment":n.body.enrollmentToken}]}).select("_id __v username active").exec().then(function(e){e?e.active?s.send(JSON.stringify({error:!1,result:{user:e}})):s.send(JSON.stringify({error:!0,result:"Account is Disabled"})):s.send(JSON.stringify({error:!0,result:"Invalid User"}))},function(e){s.send(JSON.stringify({error:!0,result:"Invalid Mongoose Get User"}))})})}),e.post("/setUserWithEnrollmentToken",function(s,t){var e=this;s.headers.origin!==o.ROOT_URL&&s.headers.origin!==o.SEC_ROOT_URL&&s.headers.origin!==o.RESOLVEIO_URL&&s.headers.origin!==o.RESOLVEIO_SECONDARY_URL?t.send(JSON.stringify({error:!0,result:"Invalid header"})):jwt.verify(s.body.enrollmentToken,o.JWT_SECRET,function(r,n){return __awaiter(e,void 0,void 0,function(){return __generator(this,function(e){return r?t.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findOne({$and:[{_id:n.id_user},{"services.enrollment":s.body.enrollmentToken}]}).exec().then(function(n){n?n.active?n.setPassword(s.body.password,function(e,r){r?(n.services.enrollment="",n.save(),t.send(JSON.stringify({error:!1,result:!0}))):t.send(JSON.stringify({error:!0,result:e}))}):t.send(JSON.stringify({error:!0,result:"Account is Disabled"})):t.send(JSON.stringify({error:!0,result:"Invalid User"}))},function(e){t.send(JSON.stringify({error:!0,result:"Invalid Mongoose Get User"}))}),[2]})})})}),e.post("/userWithForgotPasswordToken",function(n,s){n.headers.origin!==o.ROOT_URL&&n.headers.origin!==o.SEC_ROOT_URL&&n.headers.origin!==o.RESOLVEIO_URL&&n.headers.origin!==o.RESOLVEIO_SECONDARY_URL?s.send(JSON.stringify({error:!0,result:"Invalid header"})):jwt.verify(n.body.forgotPasswordToken,o.JWT_SECRET,function(e,r){e?s.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findOne({$and:[{_id:r.id_user},{"services.forgot_password":n.body.forgotPasswordToken}]}).select("_id __v username active").exec().then(function(e){e?e.active?s.send(JSON.stringify({error:!1,result:{user:e}})):s.send(JSON.stringify({error:!0,result:"Account is Disabled"})):s.send(JSON.stringify({error:!0,result:"Invalid User"}))},function(e){s.send(JSON.stringify({error:!0,result:"Invalid Mongoose Get User"}))})})}),e.post("/setUserWithForgotPasswordToken",function(t,i){var e=this;t.headers.origin!==o.ROOT_URL&&t.headers.origin!==o.SEC_ROOT_URL&&t.headers.origin!==o.RESOLVEIO_URL&&t.headers.origin!==o.RESOLVEIO_SECONDARY_URL?i.send(JSON.stringify({error:!0,result:"Invalid header"})):jwt.verify(t.body.forgotPasswordToken,o.JWT_SECRET,function(r,n){return __awaiter(e,void 0,void 0,function(){return __generator(this,function(e){return r?i.send(JSON.stringify({error:!0,result:"Invalid Token"})):user_collection_1.Users.findOne({$and:[{_id:n.id_user},{"services.forgot_password":t.body.forgotPasswordToken}]}).exec().then(function(s){s?s.active?s.setPassword(t.body.password,function(e,r){r?(s.services.forgot_password="",s.resetAttempts(function(e,r,n){s.save()}),i.send(JSON.stringify({error:!1,result:!0}))):i.send(JSON.stringify({error:!0,result:e}))}):i.send(JSON.stringify({error:!0,result:"Account is Disabled"})):i.send(JSON.stringify({error:!0,result:"Invalid User"}))},function(e){i.send(JSON.stringify({error:!0,result:"Invalid Mongoose Get User"}))}),[2]})})})})}exports.setupAuthRoutes=setupAuthRoutes;
|
package/http/health.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function setupHealthRoutes(e,t){e.get("/health",function(e,t){t.sendStatus(200)})}Object.defineProperty(exports,"__esModule",{value:!0}),exports.setupHealthRoutes=setupHealthRoutes;
|
package/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(i,u,s,a){return new(s||(s=Promise))(function(e,t){function n(e){try{o(a.next(e))}catch(e){t(e)}}function r(e){try{o(a.throw(e))}catch(e){t(e)}}function o(t){t.done?e(t.value):new s(function(e){e(t.value)}).then(n,r)}o((a=a.apply(i,u||[])).next())})},__generator=this&&this.__generator||function(n,r){var o,i,u,e,s={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,i&&(u=2&t[0]?i.return:t[0]?i.throw||((u=i.return)&&u.call(i),0):i.next)&&!(u=u.call(i,t[1])).done)return u;switch(i=0,u&&(t=[2&t[0],u.value]),t[0]){case 0:case 1:u=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(u=0<(u=s.trys).length&&u[u.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!u||t[1]>u[0]&&t[1]<u[3])){s.label=t[1];break}if(6===t[0]&&s.label<u[1]){s.label=u[1],u=t;break}if(u&&s.label<u[2]){s.label=u[2],s.ops.push(t);break}u[2]&&s.ops.pop(),s.trys.pop();continue}t=r.call(n,s)}catch(e){t=[6,e],i=0}finally{o=u=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}},_this=this;Object.defineProperty(exports,"__esModule",{value:!0});var _mainDB,_supportDB,mongoose=require("mongoose"),serverConfig=require("./settings.json");function getMainDB(){return _mainDB}function getSupportDB(){return _supportDB}exports.getMainDB=getMainDB,exports.getSupportDB=getSupportDB,"http://localhost:4200"!==serverConfig.ROOT_URL?mongoose.createConnection(serverConfig.RESOLVEIO_SUPPORT_MONGO_URL,{useNewUrlParser:!0}).then(function(t){return __awaiter(_this,void 0,void 0,function(){var n=this;return __generator(this,function(e){return _supportDB=t,mongoose.createConnection(serverConfig.MONGO_URL,{useNewUrlParser:!0}).then(function(t){return __awaiter(n,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return _mainDB=t,[4,Promise.resolve().then(function(){return require("./server-app")})];case 1:return e.sent().default.init(),[2]}})})},function(e){process.exit()}),[2]})})},function(e){process.exit()}):(_supportDB=null,mongoose.createConnection(serverConfig.MONGO_URL,{useNewUrlParser:!0}).then(function(t){return __awaiter(_this,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return _mainDB=t,[4,Promise.resolve().then(function(){return require("./server-app")})];case 1:return e.sent().default.init(),[2]}})})},function(e){process.exit()}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(a,i,c,s){return new(c||(c=Promise))(function(n,e){function t(n){try{r(s.next(n))}catch(n){e(n)}}function o(n){try{r(s.throw(n))}catch(n){e(n)}}function r(e){e.done?n(e.value):new c(function(n){n(e.value)}).then(t,o)}r((s=s.apply(a,i||[])).next())})},__generator=this&&this.__generator||function(t,o){var r,a,i,n,c={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return n={next:e(0),throw:e(1),return:e(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function e(e){return function(n){return function(e){if(r)throw new TypeError("Generator is already executing.");for(;c;)try{if(r=1,a&&(i=2&e[0]?a.return:e[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,e[1])).done)return i;switch(a=0,i&&(e=[2&e[0],i.value]),e[0]){case 0:case 1:i=e;break;case 4:return c.label++,{value:e[1],done:!1};case 5:c.label++,a=e[1],e=[0];continue;case 7:e=c.ops.pop(),c.trys.pop();continue;default:if(!(i=0<(i=c.trys).length&&i[i.length-1])&&(6===e[0]||2===e[0])){c=0;continue}if(3===e[0]&&(!i||e[1]>i[0]&&e[1]<i[3])){c.label=e[1];break}if(6===e[0]&&c.label<i[1]){c.label=i[1],i=e;break}if(i&&c.label<i[2]){c.label=i[2],c.ops.push(e);break}i[2]&&c.ops.pop(),c.trys.pop();continue}e=o.call(t,c)}catch(n){e=[6,n],a=0}finally{r=i=0}if(5&e[0])throw e[1];return{value:e[0]?e[1]:void 0,done:!0}}([e,n])}}};Object.defineProperty(exports,"__esModule",{value:!0});var cron_job_collection_1=require("../collections/cron-job.collection"),method_manager_1=require("./method.manager"),CronJobManager=require("../cron/cron"),CronManager=function(){function n(){}return n.init=function(){this._cronManager=new CronJobManager,this.loadCronJobs()},n.loadCronJobs=function(){return __awaiter(this,void 0,void 0,function(){var e=this;return __generator(this,function(n){switch(n.label){case 0:return[4,cron_job_collection_1.CronJobs.find({}).exec()];case 1:return n.sent().forEach(function(n){e.addCronJob(n)}),[2]}})})},n.doesCronJobExist=function(n){return this._cronManager.exists(n.name)},n.doesCronJobNameExist=function(n){return this._cronManager.exists(n)},n.addCronJob=function(n){var e=this;if(!this.doesCronJobExist(n))if(n.timezone);else{var t={start:!0};n.timezone&&(t.timeZone=n.timezone),this._cronManager.add(n.name,n.time_to_run,function(){e.runCronJob(n)},t)}},n.updateCronJob=function(n){this.doesCronJobExist(n)&&this._cronManager.update(n.name,n.time_to_run)},n.removeCronJob=function(n){this.doesCronJobNameExist(n)&&this._cronManager.deleteJob(n)},n.startCronJob=function(n){this.doesCronJobExist(n)&&this._cronManager.start(n.name)},n.stopCronJob=function(n){this.doesCronJobExist(n)&&this._cronManager.start(n.name)},n.stopAllCronJobs=function(){this._cronManager.stopAll()},n.checkCronJobsForUpdates=function(){return __awaiter(this,void 0,void 0,function(){var e,t=this;return __generator(this,function(n){switch(n.label){case 0:return[4,cron_job_collection_1.CronJobs.find({}).exec()];case 1:return e=n.sent(),this._cronManager.getJobs().forEach(function(n){-1===e.map(function(n){return n.name}).indexOf(n)&&t.removeCronJob(n)}),e.forEach(function(n){t.addCronJob(n)}),e.forEach(function(n){t.updateCronJob(n)}),[2]}})})},n.runCronJob=function(t){var o=this,n=new Date;(!t.next_run||n.getTime()>=t.next_run.getTime())&&cron_job_collection_1.CronJobs.findOneAndUpdate({$and:[{_id:t._id},{running:!1}]},{$set:{running:!0}}).exec(function(n,e){return __awaiter(o,void 0,void 0,function(){return __generator(this,function(n){switch(n.label){case 0:return e?t.method_run_data?[4,method_manager_1.default.callMethodCron(t.method_run,t.method_run_data)]:[3,2]:[3,9];case 1:return n.sent(),[3,4];case 2:return[4,method_manager_1.default.callMethodCron(t.method_run)];case 3:n.sent(),n.label=4;case 4:return t.method_complete?t.method_complete_data?[4,method_manager_1.default.callMethodCron(t.method_complete,t.method_complete_data)]:[3,6]:[3,8];case 5:return n.sent(),[3,8];case 6:return[4,method_manager_1.default.callMethodCron(t.method_complete)];case 7:n.sent(),n.label=8;case 8:t.repeat?cron_job_collection_1.CronJobs.updateOne({$and:[{_id:t._id},{running:!0}]},{$set:{running:!1,next_run:this._cronManager.getJob(t.name).nextDates().toDate()}}).exec():cron_job_collection_1.CronJobs.deleteOne({_id:t._id}).exec(),n.label=9;case 9:return[2]}})})})},n}();exports.default=CronManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(s,d,a,i){return new(a||(a=Promise))(function(e,o){function t(e){try{n(i.next(e))}catch(e){o(e)}}function r(e){try{n(i.throw(e))}catch(e){o(e)}}function n(o){o.done?e(o.value):new a(function(e){e(o.value)}).then(t,r)}n((i=i.apply(s,d||[])).next())})},__generator=this&&this.__generator||function(t,r){var n,s,d,e,a={label:0,sent:function(){if(1&d[0])throw d[1];return d[1]},trys:[],ops:[]};return e={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function o(o){return function(e){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,s&&(d=2&o[0]?s.return:o[0]?s.throw||((d=s.return)&&d.call(s),0):s.next)&&!(d=d.call(s,o[1])).done)return d;switch(s=0,d&&(o=[2&o[0],d.value]),o[0]){case 0:case 1:d=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,s=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(d=0<(d=a.trys).length&&d[d.length-1])&&(6===o[0]||2===o[0])){a=0;continue}if(3===o[0]&&(!d||o[1]>d[0]&&o[1]<d[3])){a.label=o[1];break}if(6===o[0]&&a.label<d[1]){a.label=d[1],d=o;break}if(d&&a.label<d[2]){a.label=d[2],a.ops.push(o);break}d[2]&&a.ops.pop(),a.trys.pop();continue}o=r.call(t,a)}catch(e){o=[6,e],s=0}finally{n=d=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var collections_1=require("../methods/collections"),logs_1=require("../methods/logs"),counters_1=require("../methods/counters"),pdf_1=require("../methods/pdf"),aws_1=require("../methods/aws"),cloudconvert_1=require("../methods/cloudconvert"),path=require("path"),fs=require("fs"),nodemailer=require("nodemailer"),aws=require("aws-sdk"),accounts_1=require("../methods/accounts"),init_1=require("../fixtures/init"),cron_jobs_1=require("../fixtures/cron-jobs"),cron_jobs_2=require("../methods/cron-jobs"),flags_1=require("../methods/flags"),queue_method_manager_1=require("./queue-method.manager"),method_response_collection_1=require("../collections/method-response.collection"),mongoose_1=require("mongoose"),common_1=require("../util/common"),log_collection_1=require("../collections/log.collection"),MethodManager=function(){function e(){}return e.init=function(o,t){return __awaiter(this,void 0,void 0,function(){var r=this;return __generator(this,function(e){return this._mainServer=o,this.serverConfig=t,init_1.loadServerInit(),cron_jobs_1.loadServerCronJobs(),accounts_1.loadAccountMethods(),aws_1.loadAWSMethods(),cloudconvert_1.loadCloudConvertMethods(),collections_1.loadCollectionMethods(),counters_1.loadCounterMethods(),logs_1.loadLogMethods(),pdf_1.loadPDFMethods(),cron_jobs_2.loadCronJobMethods(),flags_1.loadFlagMethods(),this._mailer=nodemailer.createTransport({SES:new aws.SES({apiVersion:"2010-12-01",accessKeyId:t.AWSACCESSKEYID,secretAccessKey:t.AWSSECRETACCESSKEY,region:t.AWSSES_REGION})}),this._aws=new aws.S3({accessKeyId:t.AWSACCESSKEYID,secretAccessKey:t.AWSSECRETACCESSKEY,region:t.AWSREGION}),setInterval(function(){if(!r._runningQueue&&r._sendQueue.length){r._runningQueue=!0;for(var e=function(e){var o=r._mainServer.getWS(r._sendQueue[e].id_ws);if(o&&o.readyState===o.OPEN){if(o.bufferedAmount<20480){var t=r._sendQueue.pop();o.send(JSON.stringify(t.data),function(e){e&&(console.log("Error on WS: ",e),r._mainServer.unsubscribeWS(o))}),"countQuery"!==t.method&&"countCollectionWithQuery"!==t.method&&"find"!==t.method&&"findOne"!==t.method&&"findWithOptions"!==t.method&&"setWSAppVersion"!==t.method&&"uploadFileAndSave"!==t.method&&(common_1.getBinarySize(JSON.stringify(t.methodData))<2e5&&common_1.getBinarySize(JSON.stringify(t.data))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-response",title:"Client Response",message:"User: "+o.user+", MessageId: "+t.data.messageId+", Method: "+t.method,payload:[JSON.stringify(t.methodData),t.data],method:t.method,user:o.user,messageId:t.data.messageId}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-response",title:"Client Response",message:"User: "+o.user+", MessageId: "+t.data.messageId+", Method: "+t.method,payload:"Too Big",method:t.method,user:o.user,messageId:t.data.messageId})),method_response_collection_1.MethodResponses.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,id_user:o.id_user,message_id:t.data.messageId,data:JSON.stringify(t.methodData),response:t.data,method:t.method})}}else r._sendQueue.splice(e,1)},o=r._sendQueue.length-1;0<=o;o--)e(o);r._runningQueue=!1}},50),[2]})})},e.methods=function(e){this._methods=Object.assign(this._methods,e)},e.callMethodCron=function(o){for(var e,t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var n=this;if(!n._methods[o])return console.log("No Method: "+o),void n.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+n.serverConfig.CLIENT_NAME,"No Method: "+o);if((1<t.length||t[0])&&!n._methods[o].skipValidation){if(!n._methods[o].check)return console.error("No Check Function For Method "+o),void n.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+n.serverConfig.CLIENT_NAME,"No Check Function For Method "+o);if(!n._methods[o].check._schema)return console.error("No Check Schema For Method "+o),void n.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+n.serverConfig.CLIENT_NAME,"No Check Function For Method "+o);for(var s={},d=Object.keys(n._methods[o].check._schema).filter(function(e){return!e.includes(".")}),a=0;a<t.length;a++)s[d[a]]=t[a];try{n._methods[o].check.validate(s)}catch(e){if(e)return console.error("Error in Method Check ("+o+")",e),void n.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+n.serverConfig.CLIENT_NAME,"Match Error On Method "+o+"\n\nData Being Checked\n"+JSON.stringify(s,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2))}}(e=n._methods[o].function).call.apply(e,[Object.assign({},n,{id_user:"",user:"",id_ws:""})].concat(t))},e.callMethodQueue=function(t){var e,r=common_1.deepCopy(t),o=this;if(o._methods[t.method]){if((1<t.method_data.length||t.method_data[0])&&!o._methods[t.method].skipValidation){if(!o._methods[t.method].check){console.error("No Check Function For Method "+t.method),o.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+o.serverConfig.CLIENT_NAME,"No Check Function For Method "+t.method);a={messageId:t.messageId,hasError:!0,data:"Internal Error"};return void queue_method_manager_1.default.addMethodResponse(r,a)}if(!o._methods[t.method].check._schema){console.error("No Check Schema For Method "+t.method),o.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+o.serverConfig.CLIENT_NAME,"No Check Function For Method "+t.method);a={messageId:t.messageId,hasError:!0,data:"Internal Error"};return void queue_method_manager_1.default.addMethodResponse(r,a)}for(var n={},s=Object.keys(o._methods[t.method].check._schema).filter(function(e){return!e.includes(".")}),d=0;d<t.method_data.length;d++)n[s[d]]=t.method_data[d];try{o._methods[t.method].check.validate(n)}catch(e){if(e){console.error("Error in Method Check ("+t.method+")",e),o.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+o.serverConfig.CLIENT_NAME,"Match Error On Method "+t.method+"\n\nData Being Checked\n"+JSON.stringify(n,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2));a={messageId:t.messageId,hasError:!0,data:"Internal Error"};return void queue_method_manager_1.default.addMethodResponse(r,a)}}}(e=o._methods[t.method].function).call.apply(e,[Object.assign({},o,{id_user:t.id_user,user:t.user,id_ws:t.id_ws})].concat(t.method_data)).then(function(e){var o={messageId:t.messageId,hasError:!1,data:e};queue_method_manager_1.default.addMethodResponse(r,o)},function(e){var o={messageId:t.messageId,hasError:!0,data:e};queue_method_manager_1.default.addMethodResponse(r,o)})}else{console.log("No Method: "+t.method),o.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+o.serverConfig.CLIENT_NAME,"No Method: "+t.method);var a={messageId:t.messageId,hasError:!0,data:"Internal Error"};queue_method_manager_1.default.addMethodResponse(r,a)}},e.callMethod=function(t,r,n){for(var e,s=this,d=[],o=3;o<arguments.length;o++)d[o-3]=arguments[o];var a=this;if(a._methods[n]){if((1<d.length||d[0])&&!a._methods[n].skipValidation){if(!a._methods[n].check){console.error("No Check Function For Method "+n),a.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+a.serverConfig.CLIENT_NAME,"No Check Function For Method "+n);l={messageId:r,hasError:!0,data:"Internal Error"};return void this.sendWS(t,n,d,l)}if(!a._methods[n].check._schema){console.error("No Check Schema For Method "+n),a.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+a.serverConfig.CLIENT_NAME,"No Check Function For Method "+n);l={messageId:r,hasError:!0,data:"Internal Error"};return void this.sendWS(t,n,d,l)}for(var i={},c=Object.keys(a._methods[n].check._schema).filter(function(e){return!e.includes(".")}),h=0;h<d.length;h++)i[c[h]]=d[h];try{a._methods[n].check.validate(i)}catch(e){if(e){console.error("Error in Method Check ("+n+")",e),a.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+a.serverConfig.CLIENT_NAME,"Match Error On Method "+n+"\n\nData Being Checked\n"+JSON.stringify(i,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2));l={messageId:r,hasError:!0,data:"Internal Error"};return void this.sendWS(t,n,d,l)}}}(e=a._methods[n].function).call.apply(e,[Object.assign({},a,{id_user:t.id_user,user:t.user,id_ws:t.id_socket})].concat(d)).then(function(e){var o={messageId:r,hasError:!1,data:e};s.sendWS(t,n,d,o)},function(e){var o={messageId:r,hasError:!0,data:e};s.sendWS(t,n,d,o)})}else{console.log("No Method: "+n),a.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+a.serverConfig.CLIENT_NAME,"No Method: "+n);var l={messageId:r,hasError:!0,data:"Internal Error"};this.sendWS(t,n,d,l)}},e.callMethodInternal=function(e){for(var o,t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];var n=this;if(n._methods[e]){if((1<t.length||t[0]&&"function"!=typeof t[0])&&!n._methods[e].skipValidation){if(!n._methods[e].check)return void console.error("No Check Function For Method "+e);if(!n._methods[e].check._schema)return void console.error("No Check Schema For Method "+e)}var s=(o=n._methods[e].function).call.apply(o,[n].concat(t));return t[t.length-1]&&"function"==typeof t[t.length-1]&&s.then(function(e){return t[t.length-1](null,e)},function(e){return t[t.length-1](e,null)}),s}console.log("No Method: "+e)},e.sendWS=function(e,o,t,r){this._sendQueue.splice(0,0,{id_ws:e.id_socket,method:o,methodData:t,data:r})},e.sendEmail=function(e,o,t,r,n){this._mailer.sendMail({replyTo:void 0,from:this.serverConfig.MAIL_FROM,to:e,subject:o,text:t,html:r,attachments:n},function(e,o){e&&console.log(e)})},e.getAWS=function(){return this._aws},e.readFile=function(e){return new Promise(function(t,r){fs.readFile(path.join(__dirname,"../private/"+e),"utf-8",function(e,o){e?r(e):t(o)})})},e.readImage=function(e){return new Promise(function(t,r){fs.readFile(path.join(__dirname,"../private/"+e),"base64",function(e,o){e?r(e):t(o)})})},e._methods={},e._sendQueue=[],e._runningQueue=!1,e}();exports.default=MethodManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(r,u,i,c){return new(i||(i=Promise))(function(e,t){function n(e){try{s(c.next(e))}catch(e){t(e)}}function o(e){try{s(c.throw(e))}catch(e){t(e)}}function s(t){t.done?e(t.value):new i(function(e){e(t.value)}).then(n,o)}s((c=c.apply(r,u||[])).next())})},__generator=this&&this.__generator||function(n,o){var s,r,u,e,i={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(s)throw new TypeError("Generator is already executing.");for(;i;)try{if(s=1,r&&(u=2&t[0]?r.return:t[0]?r.throw||((u=r.return)&&u.call(r),0):r.next)&&!(u=u.call(r,t[1])).done)return u;switch(r=0,u&&(t=[2&t[0],u.value]),t[0]){case 0:case 1:u=t;break;case 4:return i.label++,{value:t[1],done:!1};case 5:i.label++,r=t[1],t=[0];continue;case 7:t=i.ops.pop(),i.trys.pop();continue;default:if(!(u=0<(u=i.trys).length&&u[u.length-1])&&(6===t[0]||2===t[0])){i=0;continue}if(3===t[0]&&(!u||t[1]>u[0]&&t[1]<u[3])){i.label=t[1];break}if(6===t[0]&&i.label<u[1]){i.label=u[1],u=t;break}if(u&&i.label<u[2]){i.label=u[2],i.ops.push(t);break}u[2]&&i.ops.pop(),i.trys.pop();continue}t=o.call(n,i)}catch(e){t=[6,e],r=0}finally{s=u=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),queue_flag_collection_1=require("../collections/queue-flag.collection"),method_manager_1=require("./method.manager"),queue_method_collection_1=require("../collections/queue-method.collection"),queue_response_collection_1=require("../collections/queue-response.collection"),method_response_collection_1=require("../collections/method-response.collection"),log_collection_1=require("../collections/log.collection"),common_1=require("../util/common"),QueueMethodManager=function(){function e(){}return e.init=function(e){var o=this;this._mainServer=e,setInterval(function(){if(!o._runningQueue&&o._sendQueue.length){o._runningQueue=!0;for(var e=function(e){var t=o._mainServer.getWS(o._sendQueue[e].id_ws);if(t&&t.readyState===t.OPEN&&t.bufferedAmount<20480){var n=o._sendQueue.pop();t.send(JSON.stringify(n.response),function(e){e&&(console.log("Error on WS: ",e),o._mainServer.unsubscribeWS(t))}),"countQuery"!==n.method&&"countCollectionWithQuery"!==n.method&&"find"!==n.method&&"findOne"!==n.method&&"findWithOptions"!==n.method&&"setWSAppVersion"!==n.method&&"uploadFileAndSave"!==n.method&&(common_1.getBinarySize(JSON.stringify(n.methodData))<2e5&&common_1.getBinarySize(JSON.stringify(n.data))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-response",title:"Client Response",message:"User: "+t.user+", MessageId: "+n.messageId+", Method: "+n.method,payload:[JSON.stringify(n.methodData),n.response],method:n.method,user:t.user,messageId:n.messageId}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-response",title:"Client Response",message:"User: "+t.user+", MessageId: "+n.messageId+", Method: "+n.method,payload:"Too Big",method:n.method,user:t.user,messageId:n.messageId})),method_response_collection_1.MethodResponses.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,id_user:n.id_user,message_id:n.messageId,data:JSON.stringify(n.method_data),response:n.response,method:n.method})}},t=o._sendQueue.length-1;0<=t;t--)e(t);o._runningQueue=!1}},50)},e.addMethodToQueue=function(e,t,n,o,s,r){queue_method_collection_1.QueueMethods.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,id_ws:e,messageId:o,method:s,method_data:r,id_user:t,user:n})},e.runMethodQueue=function(o){return __awaiter(this,void 0,void 0,function(){var r,t,n=this;return __generator(this,function(e){switch(e.label){case 0:return o?(t=o,[3,3]):[3,1];case 1:return[4,queue_method_collection_1.QueueMethods.collection.countDocuments()];case 2:t=e.sent(),e.label=3;case 3:return(r=t)&&queue_flag_collection_1.QueueFlags.create({_id:"method-queue",__v:0}).then(function(s){return __awaiter(n,void 0,void 0,function(){var t,n,o;return __generator(this,function(e){switch(e.label){case 0:return s?[4,queue_method_collection_1.QueueMethods.find({}).sort({createdAt:1})]:[3,9];case 1:t=e.sent(),n=0,e.label=2;case 2:return n<t.length?(o=t[n],[4,method_manager_1.default.callMethodQueue(o)]):[3,6];case 3:return e.sent(),[4,queue_method_collection_1.QueueMethods.deleteOne({_id:o._id}).exec()];case 4:e.sent(),e.label=5;case 5:return n++,[3,2];case 6:return[4,queue_flag_collection_1.QueueFlags.deleteOne({_id:"method-queue"}).exec()];case 7:return e.sent(),[4,queue_method_collection_1.QueueMethods.collection.countDocuments()];case 8:(r=e.sent())&&this.runMethodQueue(r),e.label=9;case 9:return[2]}})})},function(){}),[2]}})})},e.addMethodResponse=function(e,t){queue_response_collection_1.QueueResponses.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,id_ws:e.id_ws,id_user:e.id_user,user:e.user,messageId:e.messageId,method_data:e.method_data,response:t,method:e.method})},e.runMethodResponse=function(){return __awaiter(this,void 0,void 0,function(){var t,n,o,s;return __generator(this,function(e){switch(e.label){case 0:return[4,queue_response_collection_1.QueueResponses.collection.countDocuments()];case 1:return!e.sent()||this._runningMethodResponse?[3,7]:(this._runningMethodResponse=!0,t=this._mainServer.getWSList(),[4,queue_response_collection_1.QueueResponses.find({id_ws:{$in:t}})]);case 2:n=e.sent(),o=0,e.label=3;case 3:return o<n.length?(s=n[o],this._sendQueue.splice(0,0,s),[4,queue_response_collection_1.QueueResponses.deleteOne({_id:s._id}).exec()]):[3,6];case 4:e.sent(),e.label=5;case 5:return o++,[3,3];case 6:this._runningMethodResponse=!1,e.label=7;case 7:return[2]}})})},e._sendQueue=[],e._runningQueue=!1,e}();exports.default=QueueMethodManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(o,c,r,a){return new(r||(r=Promise))(function(e,i){function n(e){try{s(a.next(e))}catch(e){i(e)}}function t(e){try{s(a.throw(e))}catch(e){i(e)}}function s(i){i.done?e(i.value):new r(function(e){e(i.value)}).then(n,t)}s((a=a.apply(o,c||[])).next())})},__generator=this&&this.__generator||function(n,t){var s,o,c,e,r={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]};return e={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function i(i){return function(e){return function(i){if(s)throw new TypeError("Generator is already executing.");for(;r;)try{if(s=1,o&&(c=2&i[0]?o.return:i[0]?o.throw||((c=o.return)&&c.call(o),0):o.next)&&!(c=c.call(o,i[1])).done)return c;switch(o=0,c&&(i=[2&i[0],c.value]),i[0]){case 0:case 1:c=i;break;case 4:return r.label++,{value:i[1],done:!1};case 5:r.label++,o=i[1],i=[0];continue;case 7:i=r.ops.pop(),r.trys.pop();continue;default:if(!(c=0<(c=r.trys).length&&c[c.length-1])&&(6===i[0]||2===i[0])){r=0;continue}if(3===i[0]&&(!c||i[1]>c[0]&&i[1]<c[3])){r.label=i[1];break}if(6===i[0]&&r.label<c[1]){r.label=c[1],c=i;break}if(c&&r.label<c[2]){r.label=c[2],r.ops.push(i);break}c[2]&&r.ops.pop(),r.trys.pop();continue}i=t.call(n,r)}catch(e){i=[6,e],o=0}finally{s=c=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var MongoOplog=require("mongo-oplog"),logs_1=require("../publications/logs"),app_status_1=require("../publications/app-status"),app_version_1=require("../publications/app-version"),mongoose_1=require("mongoose"),files_1=require("../publications/files"),super_admin_1=require("../publications/super-admin"),active_subscription_collection_1=require("../collections/active-subscription.collection"),logged_in_users_collection_1=require("../collections/logged-in-users.collection"),cron_jobs_1=require("../publications/cron-jobs"),cron_manager_1=require("./cron.manager"),queue_method_manager_1=require("./queue-method.manager"),flags_1=require("../publications/flags"),method_calls_1=require("../publications/method-calls"),method_responses_1=require("../publications/method-responses"),support_tickets_1=require("../publications/support-tickets"),index_1=require("../index"),SubscriptionManager=function(){function e(){}return e.init=function(e,i,n){var t=this;this._mainServer=e,this.serverConfig=n,this._wss=i,super_admin_1.loadSuperAdminPublications(),app_version_1.loadAppVersionPublications(),app_status_1.loadAppStatusPublications(),logs_1.loadLogPublications(),files_1.loadFilePublications(),cron_jobs_1.loadCronJobPublications(),flags_1.loadFlagsPublications(),method_calls_1.loadMethodCallsPublications(),method_responses_1.loadMethodResponsePublications(),support_tickets_1.loadSupportTicketPublications(),this.tailOpLog(),index_1.getSupportDB()&&this.tailOpLogSupport(),setInterval(function(){if(!t._runningQueue&&t._sendQueue.length){t._runningQueue=!0;for(var e=function(e){var i=t._mainServer.getWS(t._sendQueue[e].id_ws);if(i&&i.readyState===i.OPEN){if(i.bufferedAmount<20480){var n=t._sendQueue.pop();i.send(JSON.stringify(n.data),function(e){e&&(console.log("Error on WS: ",e),t._mainServer.unsubscribeWS(i))})}}else t._sendQueue.splice(e,1)},i=t._sendQueue.length-1;0<=i;i--)e(i);t._runningQueue=!1}},50)},e.publications=function(e){this._publications=Object.assign(this._publications,e)},e.loggedInLatency=function(n){return __awaiter(this,void 0,void 0,function(){var i;return __generator(this,function(e){switch(e.label){case 0:return[4,logged_in_users_collection_1.LoggedInUsers.findOne({id_ws:n.id_socket})];case 1:return(i=e.sent())?logged_in_users_collection_1.LoggedInUsers.updateOne({_id:i._id},{$set:{latency:n.latency}}).exec():this.unsubscribeAll(n),[2]}})})},e.subscribe=function(p,_,d){for(var b=[],e=3;e<arguments.length;e++)b[e-3]=arguments[e];return __awaiter(this,void 0,void 0,function(){var i,n,t,s,o,c,r,a,u,l;return __generator(this,function(e){switch(e.label){case 0:return(t=(n=this)._publications[d])?[3,1]:(console.error("No Publication: "+d),[2]);case 1:if(1<b.length||b[0]){if(!t.check)return console.error("No Check Function For Pub "+d),[2];if(!t.check._schema)return console.error("No Check Schema For Pub "+d),[2];for(s={},o=Object.keys(t.check._schema),c=o.filter(function(e){return!e.includes(".")}),r=0;r<b.length;r++)s[c[r]]=b[r];try{t.check.validate(s)}catch(e){if(e)return console.error("Error in Pub Check ("+d+")",e),[2]}}return(a=n._subscriptions.filter(function(e){return e.publication===d&&JSON.stringify(e.subscriptionData)===JSON.stringify(b)})[0])?a.clients.push({id_user:p.id_user,messageId:_,id_socket:p.id_socket}):n._subscriptions.push({publication:d,subscriptionData:b,collections:n.getPublicationCollections(d),clients:[{id_user:p.id_user,messageId:_,id_socket:p.id_socket}]}),a||(a=n._subscriptions.filter(function(e){return e.publication===d&&JSON.stringify(e.subscriptionData)===JSON.stringify(b)})[0]),n.sendPubDataOnce(p,_,a),!n._publications[a.publication].preFunction||a.preSubscriptionData?[3,3]:(u=a,[4,(i=n._publications[a.publication]).preFunction.apply(i,a.subscriptionData)]);case 2:u.preSubscriptionData=e.sent(),e.label=3;case 3:l=new active_subscription_collection_1.ActiveSubscriptions({date:new Date,publication:d,subData:JSON.stringify(b),collections:t.collections,clients:a.clients}),active_subscription_collection_1.ActiveSubscriptions.findOneAndUpdate({$and:[{publication:d},{subData:JSON.stringify(b)}]},{$setOnInsert:{_id:mongoose_1.Types.ObjectId().toHexString(),__v:0},$set:l},{upsert:!0}).exec(),e.label=4;case 4:return"appversion"===d&&logged_in_users_collection_1.LoggedInUsers.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,date:new Date,id_user:p.id_user,user:p.user,id_ws:p.id_socket}),[2]}})})},e.unsubscribe=function(o,c,r){for(var a=[],e=3;e<arguments.length;e++)a[e-3]=arguments[e];return __awaiter(this,void 0,void 0,function(){var i,n,t,s;return __generator(this,function(e){switch(e.label){case 0:return(i=this)._publications[r]?[3,1]:(console.log("No Publication: "+r),[2]);case 1:return(n=i._subscriptions.filter(function(e){return e.publication===r&&JSON.stringify(e.subscriptionData)===JSON.stringify(a)})[0])?0<=(t=n.clients.findIndex(function(e){return e.id_user===o.id_user&&e.messageId===c&&e.id_socket===o.id_socket}))?(n.clients.splice(t,1),n.clients.length?[3,2]:(i._subscriptions.splice(i._subscriptions.findIndex(function(e){return e.publication===r&&JSON.stringify(e.subscriptionData)===JSON.stringify(a)}),1),active_subscription_collection_1.ActiveSubscriptions.findOneAndRemove({$and:[{publication:r},{subData:JSON.stringify(a)}]}).exec(),[3,4])):[3,5]:[3,6];case 2:return[4,active_subscription_collection_1.ActiveSubscriptions.findOne({$and:[{publication:r},{subData:JSON.stringify(a)}]})];case 3:(s=e.sent())&&active_subscription_collection_1.ActiveSubscriptions.updateOne({_id:s._id},{$set:{clients:n.clients}}).exec(),e.label=4;case 4:return[3,5];case 5:return[3,6];case 6:return[2]}})})},e.unsubscribeAll=function(c){return __awaiter(this,void 0,void 0,function(){var t,i,s,n,o;return __generator(this,function(e){switch(e.label){case 0:return t=this,[4,logged_in_users_collection_1.LoggedInUsers.findOne({id_ws:c.id_socket})];case 1:for((i=e.sent())&&logged_in_users_collection_1.LoggedInUsers.deleteOne({_id:i._id}).exec(),s=t._subscriptions.filter(function(e){return e.clients.some(function(e){return e.id_user===c.id_user&&e.id_socket===c.id_socket})}),n=function(e){for(var i=s[e],n=i.clients.length-1;0<=n;n--)i.clients[n].id_socket===c.id_socket&&i.clients.splice(n,1);i.clients.length||t._subscriptions.splice(t._subscriptions.findIndex(function(e){return e.publication===i.publication&&JSON.stringify(e.subscriptionData)===JSON.stringify(i.subscriptionData)}),1)},o=s.length-1;0<=o;o--)n(o);return[4,active_subscription_collection_1.ActiveSubscriptions.find({"clients.id_socket":c.id_socket})];case 2:return e.sent().forEach(function(e){1===e.clients.length?active_subscription_collection_1.ActiveSubscriptions.deleteOne({_id:e._id}).exec():(e.clients.splice(e.clients.map(function(e){return e.id_socket}).indexOf(c.id_socket),1),active_subscription_collection_1.ActiveSubscriptions.updateOne({_id:e._id},{$set:{clients:e.clients}}).exec())}),[2]}})})},e.getPublicationCollections=function(e){return this._publications[e].collections},e.tailOpLog=function(){var t=this,e=MongoOplog(t.serverConfig.OPLOG_URL);e.tail().then(function(){console.log("tail started")}),e.on("insert",function(e){var i=e.ns.split("."),n=i[1];i[2]&&(n+="."+i[2]),t.checkPubsForChanges(n,e.o),"cron-jobs"===n?cron_manager_1.default.checkCronJobsForUpdates():"queue-methods"===n?queue_method_manager_1.default.runMethodQueue():"queue-responses"===n&&queue_method_manager_1.default.runMethodResponse()}),e.on("update",function(e){var i=e.ns.split("."),n=i[1];i[2]&&(n+="."+i[2]),e.o._id=e.o2._id,t.checkPubsForChanges(n,e.o),"cron-jobs"===n&&cron_manager_1.default.checkCronJobsForUpdates()}),e.on("delete",function(e){var i=e.ns.split("."),n=i[1];i[2]&&(n+="."+i[2]),t.resendPubsForDelete(n),"cron-jobs"===n&&cron_manager_1.default.checkCronJobsForUpdates()}),e.on("error",function(e){console.log("Error",e)}),e.on("end",function(){console.log("oplog ended"),process.exit()}),e.stop(function(){console.log("oplog stopped")})},e.tailOpLogSupport=function(){var t=this,e=MongoOplog(t.serverConfig.RESOLVEIO_SUPPORT_OPLOG_URL);e.tail().then(function(){console.log("tail started support")}),e.on("insert",function(e){var i=e.ns.split("."),n=i[1];i[2]&&(n+="."+i[2]),"support-tickets"===n&&t.checkSupportPubsForChanges(n,e.o)}),e.on("update",function(e){var i=e.ns.split("."),n=i[1];i[2]&&(n+="."+i[2]),e.o._id=e.o2._id,"support-tickets"===n&&t.checkSupportPubsForChanges(n,e.o)}),e.on("delete",function(e){var i=e.ns.split("."),n=i[1];i[2]&&(n+="."+i[2]),"support-tickets"===n&&t.resendPubsForDelete(n)}),e.on("error",function(e){console.log("Error support",e)}),e.on("end",function(){console.log("oplog ended support"),process.exit()}),e.stop(function(){console.log("oplog stopped support")})},e.resendPubsForDelete=function(i){var t=this;t._subscriptions.filter(function(e){return e.collections.includes(i)}).forEach(function(n){t._publications[n.publication].ws_specific?n.clients.forEach(function(i){t._wss.clients.forEach(function(e){e.id_socket===i.id_socket&&t.sendPubDataOnce(e,i.messageId,n)})}):t.sendPubData(n)})},e.checkPubsForChanges=function(o,c){var e=this,r=this;r._subscriptions.filter(function(e){return e.collections.includes(o)}).forEach(function(s){return __awaiter(e,void 0,void 0,function(){var i,n,t;return __generator(this,function(e){switch(e.label){case 0:n=null;try{index_1.getMainDB().model(o).simplschema.validate(c)}catch(e){n=e}return n?[4,index_1.getMainDB().model(o).findById(c._id)]:[3,2];case 1:c=e.sent(),e.label=2;case 2:return r._publications[s.publication].preFunction?(t=s,[4,r._publications[s.publication].preFunction(s.subscriptionData)]):[3,4];case 3:return t.preSubscriptionData=e.sent(),r._publications[s.publication].fetchFunction(c,s.preSubscriptionData)&&r.sendPubData(s),[3,5];case 4:r._publications[s.publication].ws_specific?s.clients.forEach(function(i){var e;r._publications[s.publication].fetchFunction?(e=r._publications[s.publication]).fetchFunction.apply(e,[c,i.id_user].concat(s.subscriptionData))&&r._wss.clients.forEach(function(e){e.id_socket===i.id_socket&&r.sendPubDataOnce(e,i.messageId,s)}):r._wss.clients.forEach(function(e){e.id_socket===i.id_socket&&r.sendPubDataOnce(e,i.messageId,s)})}):r._publications[s.publication].fetchFunction?(i=r._publications[s.publication]).fetchFunction.apply(i,[c].concat(s.subscriptionData))&&r.sendPubData(s):r.sendPubData(s),e.label=5;case 5:return[2]}})})})},e.checkSupportPubsForChanges=function(a,u){var e=this,l=this;l._subscriptions.filter(function(e){return e.collections.includes(a)}).forEach(function(r){return __awaiter(e,void 0,void 0,function(){var i,n,t,s,o,c;return __generator(this,function(e){switch(e.label){case 0:s=null;try{index_1.getSupportDB().model(a).simplschema.validate(u)}catch(e){s=e}return s?[4,index_1.getSupportDB().model(a).findById(u._id)]:[3,2];case 1:u=e.sent(),e.label=2;case 2:return r.preSubscriptionData&&l._publications[r.publication].fetchFunction(u,r.preSubscriptionData)?(l.sendPubData(r),o=r,[4,(i=l._publications[r.publication]).preFunction.apply(i,r.subscriptionData)]):[3,4];case 3:return o.preSubscriptionData=e.sent(),[2];case 4:return l._publications[r.publication].preFunction?(c=r,[4,(n=l._publications[r.publication]).preFunction.apply(n,r.subscriptionData)]):[3,6];case 5:return c.preSubscriptionData=e.sent(),l._publications[r.publication].fetchFunction(u,r.preSubscriptionData)&&l.sendPubData(r),[3,7];case 6:l._publications[r.publication].ws_specific?r.clients.forEach(function(i){var e;l._publications[r.publication].fetchFunction?(e=l._publications[r.publication]).fetchFunction.apply(e,[u,i.id_user].concat(r.subscriptionData))&&l._wss.clients.forEach(function(e){e.id_socket===i.id_socket&&l.sendPubDataOnce(e,i.messageId,r)}):l._wss.clients.forEach(function(e){e.id_socket===i.id_socket&&l.sendPubDataOnce(e,i.messageId,r)})}):l._publications[r.publication].fetchFunction?(t=l._publications[r.publication]).fetchFunction.apply(t,[u].concat(r.subscriptionData))&&l.sendPubData(r):l.sendPubData(r),e.label=7;case 7:return[2]}})})})},e.sendPubDataOnce=function(o,c,r){return __awaiter(this,void 0,void 0,function(){var i,n,t,s=this;return __generator(this,function(e){return(t=this)._publications[r.publication].ws_specific?(n=t._publications[r.publication].function).call.apply(n,[t,o.id_user].concat(r.subscriptionData)).then(function(e){var i={messageId:c,hasError:!1,data:e};s.sendWS(o,i)},function(e){var i={messageId:c,hasError:!0,data:e};s.sendWS(o,i)}):(i=t._publications[r.publication].function).call.apply(i,[t].concat(r.subscriptionData)).then(function(e){var i={messageId:c,hasError:!1,data:e};s.sendWS(o,i)},function(e){var i={messageId:c,hasError:!0,data:e};s.sendWS(o,i)}),[2]})})},e.sendPubData=function(n){return __awaiter(this,void 0,void 0,function(){var i,s,o=this;return __generator(this,function(e){return(i=(s=this)._publications[n.publication].function).call.apply(i,[s].concat(n.subscriptionData)).then(function(t){n.clients.forEach(function(n){s._wss.clients.forEach(function(e){if(e.id_socket===n.id_socket){var i={messageId:n.messageId,hasError:!1,data:t};o.sendWS(e,i)}})})},function(t){n.clients.forEach(function(n){s._wss.clients.forEach(function(e){if(e.id_socket===n.id_socket){var i={messageId:n.messageId,hasError:!0,data:t};o.sendWS(e,i)}})})}),[2]})})},e.sendWS=function(e,i){this._sendQueue.splice(0,0,{id_ws:e.id_socket,data:i})},e._publications={},e._subscriptions=[],e._sendQueue=[],e._runningQueue=!1,e}();exports.default=SubscriptionManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(s,i,a,u){return new(a||(a=Promise))(function(e,t){function r(e){try{n(u.next(e))}catch(e){t(e)}}function o(e){try{n(u.throw(e))}catch(e){t(e)}}function n(t){t.done?e(t.value):new a(function(e){e(t.value)}).then(r,o)}n((u=u.apply(s,i||[])).next())})},__generator=this&&this.__generator||function(r,o){var n,s,i,e,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,s&&(i=2&t[0]?s.return:t[0]?s.throw||((i=s.return)&&i.call(s),0):s.next)&&!(i=i.call(s,t[1])).done)return i;switch(s=0,i&&(t=[2&t[0],i.value]),t[0]){case 0:case 1:i=t;break;case 4:return a.label++,{value:t[1],done:!1};case 5:a.label++,s=t[1],t=[0];continue;case 7:t=a.ops.pop(),a.trys.pop();continue;default:if(!(i=0<(i=a.trys).length&&i[i.length-1])&&(6===t[0]||2===t[0])){a=0;continue}if(3===t[0]&&(!i||t[1]>i[0]&&t[1]<i[3])){a.label=t[1];break}if(6===t[0]&&a.label<i[1]){a.label=i[1],i=t;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(t);break}i[2]&&a.ops.pop(),a.trys.pop();continue}t=o.call(r,a)}catch(e){t=[6,e],s=0}finally{n=i=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var nodemailer=require("nodemailer"),aws=require("aws-sdk"),collections_1=require("../support-methods/collections"),support_1=require("../support-methods/support"),counters_1=require("../support-methods/counters"),mongoose_1=require("mongoose"),common_1=require("../util/common"),log_collection_1=require("../collections/log.collection"),SupportManager=function(){function e(){}return e.init=function(t,r){return __awaiter(this,void 0,void 0,function(){var o=this;return __generator(this,function(e){return this._mainServer=t,this.serverConfig=r,collections_1.loadSupportCollectionMethods(),support_1.loadSupportMethods(),counters_1.loadCounterMethods(),this._mailer=nodemailer.createTransport({SES:new aws.SES({apiVersion:"2010-12-01",accessKeyId:r.AWSACCESSKEYID,secretAccessKey:r.AWSSECRETACCESSKEY,region:r.AWSSES_REGION})}),this._aws=new aws.S3({accessKeyId:r.AWSACCESSKEYID,secretAccessKey:r.AWSSECRETACCESSKEY,region:r.AWSREGION}),setInterval(function(){if(!o._runningQueue&&o._sendQueue.length){o._runningQueue=!0;for(var e=function(e){var t=o._mainServer.getWS(o._sendQueue[e].id_ws);if(t&&t.readyState===t.OPEN){if(t.bufferedAmount<20480){var r=o._sendQueue.pop();t.send(JSON.stringify(r.data),function(e){e&&(console.log("Error on WS: ",e),o._mainServer.unsubscribeWS(t))}),common_1.getBinarySize(JSON.stringify(r.methodData))<2e5&&common_1.getBinarySize(JSON.stringify(r.data))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-response",title:"Client Response - Support",message:"User: "+t.user+", MessageId: "+r.data.messageId+", Support Method: "+r.method,payload:[JSON.stringify(r.methodData),r.data],method:r.method,user:t.user,messageId:r.data.messageId}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-response",title:"Client Response - Support",message:"User: "+t.user+", MessageId: "+r.data.messageId+", Support Method: "+r.method,payload:"Too Big",method:r.method,user:t.user,messageId:r.data.messageId})}}else o._sendQueue.splice(e,1)},t=o._sendQueue.length-1;0<=t;t--)e(t);o._runningQueue=!1}},250),[2]})})},e.supportMethods=function(e){this._supportMethods=Object.assign(this._supportMethods,e)},e.callSupportMethod=function(r,o,n){for(var e,s=this,i=[],t=3;t<arguments.length;t++)i[t-3]=arguments[t];var a=this;if(a._supportMethods[n]){if(1<i.length||i[0]){if(!a._supportMethods[n].check){console.error("No Check Function For Support Method "+n),a.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+a.serverConfig.CLIENT_NAME,"No Check Function For Support Method "+n);l={messageId:o,hasError:!0,data:"Internal Error"};return void this.sendWS(r,n,i,l)}if(!a._supportMethods[n].check._schema){console.error("No Check Schema For Method "+n),a.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+a.serverConfig.CLIENT_NAME,"No Check Function For Support Method "+n);l={messageId:o,hasError:!0,data:"Internal Error"};return void this.sendWS(r,n,i,l)}for(var u={},c=Object.keys(a._supportMethods[n].check._schema).filter(function(e){return!e.includes(".")}),d=0;d<i.length;d++)u[c[d]]=i[d];try{a._supportMethods[n].check.validate(u)}catch(e){if(e){console.error("Error in Support Method Check ("+n+")",e),a.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+a.serverConfig.CLIENT_NAME,"Match Error On Support Method "+n+"\n\nData Being Checked\n"+JSON.stringify(u,null,2)+"\n\nErrors\n"+JSON.stringify(e,null,2));l={messageId:o,hasError:!0,data:"Internal Error"};return void this.sendWS(r,n,i,l)}}}(e=a._supportMethods[n].function).call.apply(e,[Object.assign({},a,{id_user:r.id_user,user:r.user,id_ws:r.id_socket})].concat(i)).then(function(e){var t={messageId:o,hasError:!1,data:e};s.sendWS(r,n,i,t)},function(e){var t={messageId:o,hasError:!0,data:e};s.sendWS(r,n,i,t)})}else{console.log("No Support Method: "+n),a.sendEmail("dev@resolveio.com","SERVER - Error Detected - "+a.serverConfig.CLIENT_NAME,"No Support Method: "+n);var l={messageId:o,hasError:!0,data:"Internal Error"};this.sendWS(r,n,i,l)}},e.sendWS=function(e,t,r,o){this._sendQueue.splice(0,0,{id_ws:e.id_socket,method:t,methodData:r,data:o})},e.sendEmail=function(e,t,r,o,n){this._mailer.sendMail({replyTo:void 0,from:this.serverConfig.MAIL_FROM,to:e,subject:t,text:r,html:o,attachments:n},function(e,t){e&&console.log(e)})},e._supportMethods={},e._sendQueue=[],e._runningQueue=!1,e}();exports.default=SupportManager;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(s,i,a,u){return new(a||(a=Promise))(function(e,n){function r(e){try{o(u.next(e))}catch(e){n(e)}}function t(e){try{o(u.throw(e))}catch(e){n(e)}}function o(n){n.done?e(n.value):new a(function(e){e(n.value)}).then(r,t)}o((u=u.apply(s,i||[])).next())})},__generator=this&&this.__generator||function(r,t){var o,s,i,e,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return e={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function n(n){return function(e){return function(n){if(o)throw new TypeError("Generator is already executing.");for(;a;)try{if(o=1,s&&(i=2&n[0]?s.return:n[0]?s.throw||((i=s.return)&&i.call(s),0):s.next)&&!(i=i.call(s,n[1])).done)return i;switch(s=0,i&&(n=[2&n[0],i.value]),n[0]){case 0:case 1:i=n;break;case 4:return a.label++,{value:n[1],done:!1};case 5:a.label++,s=n[1],n=[0];continue;case 7:n=a.ops.pop(),a.trys.pop();continue;default:if(!(i=0<(i=a.trys).length&&i[i.length-1])&&(6===n[0]||2===n[0])){a=0;continue}if(3===n[0]&&(!i||n[1]>i[0]&&n[1]<i[3])){a.label=n[1];break}if(6===n[0]&&a.label<i[1]){a.label=i[1],i=n;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(n);break}i[2]&&a.ops.pop(),a.trys.pop();continue}n=t.call(r,a)}catch(e){n=[6,e],s=0}finally{o=i=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var simpl_schema_1=require("simpl-schema"),mongoose_1=require("mongoose"),user_collection_1=require("../collections/user.collection"),method_manager_1=require("../managers/method.manager"),handlebars=require("handlebars"),jwt=require("jsonwebtoken"),logged_in_users_collection_1=require("../collections/logged-in-users.collection"),queue_response_collection_1=require("../collections/queue-response.collection");function loadAccountMethods(){method_manager_1.default.methods({setWSAppVersion:{skipQueue:!0,check:new simpl_schema_1.default({version:Number}),function:function(e){return logged_in_users_collection_1.LoggedInUsers.updateOne({id_ws:this.id_ws},{$set:{app_version:e}}).exec()}},reloadWS:{skipQueue:!0,check:new simpl_schema_1.default({id_ws:String}),function:function(r){var t=this;return new Promise(function(n,e){return __awaiter(t,void 0,void 0,function(){return __generator(this,function(e){return queue_response_collection_1.QueueResponses.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,method:"reloadWSCommand",method_data:[],id_ws:r,messageId:0,id_user:this.id_user,user:this.user,response:{messageId:0,hasError:!1,data:"reloadWSCommand"}}).then(function(e){}),n(),[2]})})})}},reconnectWS:{skipQueue:!0,check:new simpl_schema_1.default({id_ws:String}),function:function(r){var t=this;return new Promise(function(n,e){return __awaiter(t,void 0,void 0,function(){return __generator(this,function(e){return queue_response_collection_1.QueueResponses.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,method:"reconnectWSCommand",method_data:[],id_ws:r,messageId:0,id_user:this.id_user,user:this.user,response:{messageId:0,hasError:!1,data:"reconnectWSCommand"}}),n(),[2]})})})}},disconnectWS:{skipQueue:!0,check:new simpl_schema_1.default({id_ws:String}),function:function(r){var t=this;return new Promise(function(n,e){return __awaiter(t,void 0,void 0,function(){return __generator(this,function(e){return queue_response_collection_1.QueueResponses.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,method:"disconnectWSCommand",method_data:[],id_ws:r,messageId:0,id_user:this.id_user,user:this.user,response:{messageId:0,hasError:!1,data:"disconnectWSCommand"}}),n(),[2]})})})}},createUserAndEmailEnrollment:{check:new simpl_schema_1.default({data:{type:user_collection_1.Users.simplschema}}),function:function(r){var e=this;return new Promise(function(s,i){return __awaiter(e,void 0,void 0,function(){var n,t,o=this;return __generator(this,function(e){switch(e.label){case 0:return n=mongoose_1.Types.ObjectId().toHexString(),[4,user_collection_1.Users.create({_id:n,__v:0,username:r.username,email:r.email,fullname:r.fullname,roles:[],active:!0,readonly:!1,services:{enrollment:jwt.sign({id_user:n},this.serverConfig.JWT_SECRET,{expiresIn:2592e5})},phonenumber:r.phonenumber})];case 1:return(t=e.sent()).setPassword(randomString(20,"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"),function(e,n){t.save();var r={fullname:t.fullname,user:o.user,url:o.serverConfig.ROOT_URL+"/enroll-account?"+encodeURIComponent(o.serverConfig.SERVER_URL)+"&"+t.services.enrollment};o.readFile("email-templates/enrollment.html").then(function(e){var n=handlebars.compile(e);handlebars.registerHelper("equals",function(e,n){return e===n}),o.sendEmail(t.email,"ResolveIO (DCS) - Enrollment Email","",n(r)),s(!0)},function(e){return i(e)})}),[2]}})})})}},resetUserPassword:{check:new simpl_schema_1.default({userId:{type:String}}),function:function(n){var e=this;return new Promise(function(s,i){return __awaiter(e,void 0,void 0,function(){var r,t,o=this;return __generator(this,function(e){switch(e.label){case 0:return[4,user_collection_1.Users.findOne({_id:n})];case 1:return(r=e.sent())&&(r.services.forgot_password=jwt.sign({id_user:n},this.serverConfig.JWT_SECRET),t={userToChangePassword:r.fullname,userWhoResetPassword:this.user,url:this.serverConfig.ROOT_URL+"/forgot-password?"+encodeURIComponent(this.serverConfig.SERVER_URL)+"&"+r.services.forgot_password},user_collection_1.Users.updateOne({_id:r._id},{$set:{services:r.services}}).exec(function(e,n){o.readFile("email-templates/forgot-password.html").then(function(e){var n=handlebars.compile(e);handlebars.registerHelper("equals",function(e,n){return e===n}),o.sendEmail(r.email,"ResolveIO (DCS) - Forgot Password","",n(t)),s(!0)},function(e){return i(e)})})),[2]}})})})}}})}function randomString(e,n){for(var r="",t=e;0<t;--t)r+=n[Math.floor(Math.random()*n.length)];return r}exports.loadAccountMethods=loadAccountMethods;
|
package/methods/aws.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(o,l,c,u){return new(c||(c=Promise))(function(e,t){function n(e){try{r(u.next(e))}catch(e){t(e)}}function i(e){try{r(u.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new c(function(e){e(t.value)}).then(n,i)}r((u=u.apply(o,l||[])).next())})},__generator=this&&this.__generator||function(n,i){var r,o,l,e,c={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;c;)try{if(r=1,o&&(l=2&t[0]?o.return:t[0]?o.throw||((l=o.return)&&l.call(o),0):o.next)&&!(l=l.call(o,t[1])).done)return l;switch(o=0,l&&(t=[2&t[0],l.value]),t[0]){case 0:case 1:l=t;break;case 4:return c.label++,{value:t[1],done:!1};case 5:c.label++,o=t[1],t=[0];continue;case 7:t=c.ops.pop(),c.trys.pop();continue;default:if(!(l=0<(l=c.trys).length&&l[l.length-1])&&(6===t[0]||2===t[0])){c=0;continue}if(3===t[0]&&(!l||t[1]>l[0]&&t[1]<l[3])){c.label=t[1];break}if(6===t[0]&&c.label<l[1]){c.label=l[1],l=t;break}if(l&&c.label<l[2]){c.label=l[2],c.ops.push(t);break}l[2]&&c.ops.pop(),c.trys.pop();continue}t=i.call(n,c)}catch(e){t=[6,e],o=0}finally{r=l=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var method_manager_1=require("../managers/method.manager"),file_collection_1=require("../collections/file.collection"),mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),pdfCnt=1e6;function loadAWSMethods(){method_manager_1.default.methods({uploadFileAndSave:{skipQueue:!0,check:new simpl_schema_1.default({fileName:{type:String},fileData:{type:String},fileSize:{type:Number},fileOrder:{type:Number},fileType:{type:String}}),function:function(o,t,l,c,u){var s=this;return new Promise(function(n,i){if(o){var r="uploads/"+Date.now()+"-"+pdfCnt+++"-"+o,e={Bucket:s.serverConfig.AWSBUCKET,Key:r,Body:Buffer.from(t.replace("data:"+t.split(",")[0].split(":")[1].split(";")[0]+";base64,",""),"base64"),ACL:"private",ContentType:t.split(",")[0].split(":")[1].split(";")[0],ContentDisposition:"inline"};s.getAWS().upload(e,function(e,t){e?i(e):t&&file_collection_1.Files.create({_id:mongoose_1.Types.ObjectId().toHexString(),name:o,size:l,key:r,order:c,type:u}).then(function(e){n(e)},function(e){return i(e)})})}})}},deleteFiles:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String}}),function:function(l){var e=this;return new Promise(function(r,o){return __awaiter(e,void 0,void 0,function(){var t,n,i=this;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.find({key:{$in:l}})];case 1:return t=e.sent(),n=t.length,t.forEach(function(e){file_collection_1.Files.deleteOne({_id:e._id}).exec();var t={Bucket:i.serverConfig.AWSBUCKET,Key:e.key};i.getAWS().deleteObject(t,function(e,t){e?o(e):--n||r(t)})}),[2]}})})})}},deleteFile:{check:new simpl_schema_1.default({key:{type:String}}),function:function(o){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({key:o})];case 1:return(t=e.sent())||r("Could not find file"),file_collection_1.Files.deleteOne({_id:t._id}).exec(),n={Bucket:this.serverConfig.AWSBUCKET,Key:o},this.getAWS().deleteObject(n,function(e,t){e?r(e):i(t)}),[2]}})})})}},deleteFileWithId:{check:new simpl_schema_1.default({id_file:{type:String}}),function:function(o){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({_id:o})];case 1:return(t=e.sent())||r("Could not find file"),n={Bucket:this.serverConfig.AWSBUCKET,Key:t.key},this.getAWS().deleteObject(n,function(e,t){e?r(e):i(t)}),file_collection_1.Files.deleteOne({_id:t._id}).exec(),[2]}})})})}},getSignedUrlWithId:{skipQueue:!0,check:new simpl_schema_1.default({id_file:{type:String},expires:{type:Number}}),function:function(o,l){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findOne({_id:o})];case 1:return t=e.sent(),n={Bucket:this.serverConfig.AWSBUCKET,Key:t.key,Expires:l},this.getAWS().getSignedUrl("getObject",n,function(e,t){e?r(e):i(t)}),[2]}})})})}},getSignedUrl:{skipQueue:!0,check:new simpl_schema_1.default({key:{type:String},expires:{type:Number}}),function:function(t,r){var o=this;return new Promise(function(n,i){var e={Bucket:o.serverConfig.AWSBUCKET,Key:t,Expires:r};o.getAWS().getSignedUrl("getObject",e,function(e,t){e?i(e):n(t)})})}},getSignedUrls:{skipQueue:!0,check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String},expires:{type:Number}}),function:function(i,r){var o=this;return new Promise(function(e,t){var n=[];i.forEach(function(e){var t={Bucket:o.serverConfig.AWSBUCKET,Key:e,Expires:r};n.push(o.getAWS().getSignedUrl("getObject",t))}),e(n)})}},emailFile:{skipQueue:!0,check:new simpl_schema_1.default({id_file:{type:String},email:{type:String}}),function:function(t,o){var e=this,l=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.Files.findById(t)];case 1:return(n=e.sent())?l.callMethodInternal.call(l,"getSignedUrl",n.key,900,function(e,t){t?(l.sendEmail(o,"DCS File - "+n.name,"Attached is the file requested for email.","",[{filename:n.name,path:t}]),i(!0)):r("Could not get file URL")}):r("Could not find file"),[2]}})})})}}})}exports.loadAWSMethods=loadAWSMethods;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var method_manager_1=require("../managers/method.manager"),request=require("request");function loadCloudConvertMethods(){method_manager_1.default.methods({getCCProcessURL:{skipQueue:!0,function:function(){var e=this;return new Promise(function(r,n){request({method:"POST",url:"https://api.cloudconvert.com/process",headers:{"Content-Type":"application/json; charset=UTF-8"},json:{apikey:e.serverConfig.CLOUDCONVERT,mode:"combine",inputformat:"pdf",outputformat:"pdf"}},function(e,o,t){e?(console.log("Error happened: "+e),n(e)):r(t)})})}}})}exports.loadCloudConvertMethods=loadCloudConvertMethods;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),method_manager_1=require("../managers/method.manager"),common_1=require("../util/common"),simpl_schema_1=require("simpl-schema"),pagination_model_1=require("../models/pagination.model"),log_collection_1=require("../collections/log.collection"),index_1=require("../index");function loadCollectionMethods(){method_manager_1.default.methods({findOne:{skipQueue:!0,check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){return index_1.getMainDB().model(e).findOne(o).exec()}},find:{skipQueue:!0,check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},sort:{type:Object,blackbox:!0,optional:!0}}),function:function(e,o,n){return void 0===n&&(n={}),index_1.getMainDB().model(e).find(o).sort(n).exec()}},findWithOptions:{skipQueue:!0,check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},options:{type:pagination_model_1.PaginationOptionsSchema}}),function:function(e,o,n){return index_1.getMainDB().model(e).find(o).sort(n.sort).limit(n.limit).skip(n.skip).select(n.fields).exec()}},insertDocument:{check:new simpl_schema_1.default({collection:{type:String},document:{type:Object,blackbox:!0}}),function:function(i,d){var c=this;return new Promise(function(e,o){var n=null;try{index_1.getMainDB().model(i).simplschema.validate(d)}catch(e){n=e,c.callMethodInternal.call(c,"insertErrorLog","Schema Failed on insert - "+i,[n,d])}if(n)console.log(n),o("Schema Errors");else{common_1.getBinarySize(JSON.stringify(d))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Insert Document",message:"User: "+c.user+", Collection Type: "+i,payload:d,method:"insertDocument",user:c.user,messageId:""}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Insert Document",message:"User: "+c.user+", Collection Type: "+i,payload:"Too Big",method:"insertDocument",user:c.user,messageId:""});var t=mongoose_1.Types.ObjectId().toHexString();d._id=t,d.__v=0,index_1.getMainDB().model(i).create(d).then(function(){return e(t)},function(e){return o(e)})}})}},updateDocument:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(_,a){var i=this;return new Promise(function(c,l){index_1.getMainDB().model(_).findOne({_id:a._id}).lean().exec(function(e,d){if(d)if(d.__v===a.__v){var o=common_1.deepCopy(d);o._id={_id:d._id,__v:d.__v};var n=null;try{index_1.getMainDB().model(_).simplschema.validate(a)}catch(e){n=e,i.callMethodInternal.call(i,"insertErrorLog","Schema Failed on updateDocument - "+_,[n,a])}if(n)console.log(n),l("Schema Errors");else{index_1.getMainDB().model(index_1.getMainDB().model(_).versionCollection).create(o).then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(_).versionCollection).deleteMany({$and:[{"_id._id":d._id},{"_id.__v":{$lte:d.__v-4}}]}).exec()},function(e){console.log(e)});var t=common_1.getMongoUpdates(d,a,!0);t?index_1.getMainDB().model(_).updateOne({_id:a._id},t,{strict:!1}).exec().then(function(e){c(e.nModified)},function(e){return l(e)}):c(1),common_1.getBinarySize(JSON.stringify(a))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document",message:"User: "+i.user+", Collection Type: "+_,payload:a,method:"updateDocument",user:i.user,messageId:""}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document",message:"User: "+i.user+", Collection Type: "+_,payload:"Too Big",method:"updateDocument",user:i.user,messageId:""})}}else console.log("invalid version - "+_,d.__v,a.__v),index_1.getMainDB().model(index_1.getMainDB().model(_).versionCollection).findOne({$and:[{"_id._id":d._id},{"_id.__v":a.__v}]}).lean().exec(function(e,o){var n=d._id;if(o){var t=common_1.deepCopy(d);t._id={_id:d._id,__v:d.__v};var i=common_1.getMongoMergeUpdatedDoc(a,d,o);i._id=n,i.__v++,index_1.getMainDB().model(_).replaceOne({_id:n},i).exec().then(function(o){index_1.getMainDB().model(index_1.getMainDB().model(_).versionCollection).create(t).then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(_).versionCollection).deleteMany({$and:[{"_id._id":t._id._id},{"_id.__v":{$lte:t._id.__v-4}}]}).exec(),c(o.nModified)})},function(e){return l(e)})}else l("Invalid Version And Could Not Find History - DB: "+d.__v+", Trying to update with :"+a.__v)});else l(e)})})}},updateDocumentProps:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number}}),function:function(a,i,r,s){var m=this;return new Promise(function(l,_){index_1.getMainDB().model(a).findOne({_id:i}).lean().exec(function(e,d){if(d){var c=common_1.deepCopy(d);if(r.forEach(function(e){c[e.prop]=e.data}),c.__v===s){var o=common_1.deepCopy(d);o._id={_id:d._id,__v:d.__v};var n=null;try{index_1.getMainDB().model(a).simplschema.validate(c)}catch(e){n=e,m.callMethodInternal.call(m,"insertErrorLog","Schema Failed on updateDocumentProps - "+a,[n,c])}if(n)console.log(n),_("Schema Errors");else{index_1.getMainDB().model(index_1.getMainDB().model(a).versionCollection).create(o).then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(a).versionCollection).deleteMany({$and:[{"_id._id":d._id},{"_id.__v":{$lte:d.__v-4}}]}).exec()},function(e){console.log(e)});var t=common_1.getMongoUpdates(d,c,!0);t?index_1.getMainDB().model(a).updateOne({_id:c._id},t,{strict:!1}).exec().then(function(e){l(e.ok)},function(e){return _(e)}):l(1),common_1.getBinarySize(JSON.stringify(r))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document Props",message:"User: "+m.user+", Collection Type: "+a+", Id: "+i+", Version: "+s,payload:r,method:"updateDocumentProps",user:m.user,messageId:""}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document Props",message:"User: "+m.user+", Collection Type: "+a+", Id: "+i+", Version: "+s,payload:"Too Big",method:"updateDocumentProps",user:m.user,messageId:""})}}else console.log("invalid version - "+a,d.__v,s),index_1.getMainDB().model(index_1.getMainDB().model(a).versionCollection).findOne({$and:[{"_id._id":d._id},{"_id.__v":s}]}).lean().exec(function(e,o){var n=d._id;if(o){var t=common_1.deepCopy(d);t._id={_id:d._id,__v:d.__v};var i=common_1.getMongoMergeUpdatedDoc(c,d,o);i._id=n,i.__v++,index_1.getMainDB().model(a).replaceOne({_id:n},i).exec().then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(a).versionCollection).create(t).then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(a).versionCollection).deleteMany({$and:[{"_id._id":t._id._id},{"_id.__v":{$lte:t._id.__v-4}}]}).exec()},function(e){console.log(e)}),l(e.nModified)},function(e){return _(e)})}else _("Invalid Version And Could Not Find History Props - DB: "+d.__v+", Trying to update with :"+c.__v)})}else _(e)})})}},updateDocumentOffline:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0},f_oldDocument:{type:Object,blackbox:!0}}),function:function(r,s,m){var u=this;return new Promise(function(_,a){index_1.getMainDB().model(r).findOne({_id:s._id}).lean().exec(function(e,o){if(o)if(o.__v===s.__v){var n=common_1.deepCopy(o);n._id={_id:o._id,__v:o.__v};var t=null;try{index_1.getMainDB().model(r).simplschema.validate(s)}catch(e){t=e,u.callMethodInternal.call(u,"insertErrorLog","Schema Failed on updateDocument - "+r,[t,s])}if(t)console.log(t),a("Schema Errors");else{index_1.getMainDB().model(index_1.getMainDB().model(r).versionCollection).create(n).then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(r).versionCollection).deleteMany({$and:[{"_id._id":o._id},{"_id.__v":{$lte:o.__v-4}}]}).exec()},function(e){console.log(e)});var i=common_1.getMongoUpdates(o,s,!0);i?index_1.getMainDB().model(r).updateOne({_id:s._id},i,{strict:!1}).exec().then(function(e){_(e.nModified)},function(e){return a(e)}):_(1),common_1.getBinarySize(JSON.stringify(s))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document",message:"User: "+u.user+", Collection Type: "+r,payload:s,method:"updateDocumentOffline",user:u.user,messageId:""}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document",message:"User: "+u.user+", Collection Type: "+r,payload:"Too Big",method:"updateDocumentOffline",user:u.user,messageId:""})}}else{console.log("invalid version - "+r,o.__v,s.__v);var d=o._id;if(m){var c=common_1.deepCopy(o);c._id={_id:o._id,__v:o.__v};var l=common_1.getMongoMergeUpdatedDoc(s,o,m);l._id=d,l.__v++,index_1.getMainDB().model(r).replaceOne({_id:d},l).exec().then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(r).versionCollection).create(c).then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(r).versionCollection).deleteMany({$and:[{"_id._id":c._id._id},{"_id.__v":{$lte:c._id.__v-4}}]}).exec()},function(e){console.log(e)}),_(e.nModified)},function(e){return a(e)})}else a("OFFLINE - Invalid Version And Could Not Find History - DB: "+o.__v+", Trying to update with :"+s.__v)}else a(e)})})}},updateDocumentPropsOffline:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number},f_oldDocument:{type:Object,blackbox:!0}}),function:function(s,m,u,g,p){var f=this;return new Promise(function(a,r){index_1.getMainDB().model(s).findOne({_id:m}).lean().exec(function(e,o){if(o){var n=common_1.deepCopy(o);if(u.forEach(function(e){n[e.prop]=e.data}),n.__v===g){var t=common_1.deepCopy(o);t._id={_id:o._id,__v:o.__v};var i=null;try{index_1.getMainDB().model(s).simplschema.validate(n)}catch(e){i=e,f.callMethodInternal.call(f,"insertErrorLog","Schema Failed on updateDocumentProps - "+s,[i,n])}if(i)console.log(i),r("Schema Errors");else{index_1.getMainDB().model(index_1.getMainDB().model(s).versionCollection).create(t).then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(s).versionCollection).deleteMany({$and:[{"_id._id":o._id},{"_id.__v":{$lte:o.__v-4}}]}).exec()},function(e){console.log(e)});var d=common_1.getMongoUpdates(o,n,!0);d?index_1.getMainDB().model(s).updateOne({_id:n._id},d,{strict:!1}).exec().then(function(e){a(e.ok)},function(e){return r(e)}):a(1),common_1.getBinarySize(JSON.stringify(u))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document Props",message:"User: "+f.user+", Collection Type: "+s+", Id: "+m+", Version: "+g,payload:u,method:"updateDocumentPropsOffline",user:f.user,messageId:""}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document Props",message:"User: "+f.user+", Collection Type: "+s+", Id: "+m+", Version: "+g,payload:"Too Big",method:"updateDocumentPropsOffline",user:f.user,messageId:""})}}else{console.log("invalid version - "+s,o.__v,g);var c=o._id;if(p){var l=common_1.deepCopy(o);l._id={_id:o._id,__v:o.__v};var _=common_1.getMongoMergeUpdatedDoc(n,o,p);_._id=c,_.__v++,index_1.getMainDB().model(s).replaceOne({_id:c},_).exec().then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(s).versionCollection).create(l).then(function(e){index_1.getMainDB().model(index_1.getMainDB().model(s).versionCollection).deleteMany({$and:[{"_id._id":l._id._id},{"_id.__v":{$lte:l._id.__v-4}}]}).exec()},function(e){console.log(e)}),a(e.nModified)},function(e){return r(e)})}else r("OFFLINE - Invalid Version And Could Not Find History Props - DB: "+o.__v+", Trying to update with :"+n.__v)}}else r(e)})})}},removeDocument:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String}}),function:function(e,o){var i=this;return new Promise(function(n,t){log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Remove Document",message:"User: "+i.user+", Collection Type: "+e,payload:{_id:o},method:"removeDocument",user:i.user,messageId:""}),index_1.getMainDB().model(e).deleteOne({_id:o}).exec(function(e,o){e?t(e):n(o.ok)})})}},removeDocumentWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){var i=this;return new Promise(function(n,t){log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Remove Document (Query)",message:"User: "+i.user+", Collection Type: "+e,payload:{_id:o},method:"removeDocumentWithQuery",user:i.user,messageId:""}),index_1.getMainDB().model(e).deleteOne(o).exec(function(e,o){e?t(e):n(o.ok)})})}}})}exports.loadCollectionMethods=loadCollectionMethods;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(i,c,a,u){return new(a||(a=Promise))(function(e,t){function n(e){try{r(u.next(e))}catch(e){t(e)}}function o(e){try{r(u.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new a(function(e){e(t.value)}).then(n,o)}r((u=u.apply(i,c||[])).next())})},__generator=this&&this.__generator||function(n,o){var r,i,c,e,a={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,i&&(c=2&t[0]?i.return:t[0]?i.throw||((c=i.return)&&c.call(i),0):i.next)&&!(c=c.call(i,t[1])).done)return c;switch(i=0,c&&(t=[2&t[0],c.value]),t[0]){case 0:case 1:c=t;break;case 4:return a.label++,{value:t[1],done:!1};case 5:a.label++,i=t[1],t=[0];continue;case 7:t=a.ops.pop(),a.trys.pop();continue;default:if(!(c=0<(c=a.trys).length&&c[c.length-1])&&(6===t[0]||2===t[0])){a=0;continue}if(3===t[0]&&(!c||t[1]>c[0]&&t[1]<c[3])){a.label=t[1];break}if(6===t[0]&&a.label<c[1]){a.label=c[1],c=t;break}if(c&&a.label<c[2]){a.label=c[2],a.ops.push(t);break}c[2]&&a.ops.pop(),a.trys.pop();continue}t=o.call(n,a)}catch(e){t=[6,e],i=0}finally{r=c=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),method_manager_1=require("../managers/method.manager"),counter_collection_1=require("../collections/counter.collection"),simpl_schema_1=require("simpl-schema"),index_1=require("../index");function loadCounterMethods(){method_manager_1.default.methods({incCounter:{skipQueue:!0,check:new simpl_schema_1.default({counterType:{type:String}}),function:function(o){var t=this;return new Promise(function(n,e){return __awaiter(t,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,counter_collection_1.Counters.findOne({type:o})];case 1:return e.sent()?[3,2]:(counter_collection_1.Counters.create({_id:mongoose_1.Types.ObjectId().toHexString(),count:2,type:o}),n(1),[3,4]);case 2:return[4,counter_collection_1.Counters.findOneAndUpdate({type:o},{$inc:{count:1}}).exec()];case 3:t=e.sent(),n(t.count),e.label=4;case 4:return[2]}})})})}},countCollectionWithQuery:{skipQueue:!0,check:new simpl_schema_1.default({collectionType:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,t){return index_1.getMainDB().model(e).collection.countDocuments(t)}},countQuery:{skipQueue:!0,check:new simpl_schema_1.default({collectionType:{type:String},search:{type:String,optional:!0},filters:simpl_schema_1.default.oneOf({type:Array,optional:!0},{type:Object,blackbox:!0,optional:!0}),"filters.$":{type:Object,optional:!0,blackbox:!0},subType:{type:String,optional:!0}}),function:function(e,t,n){void 0===t&&(t=""),void 0===n&&(n=[]);var o={};if(t||n&&n.length){if(n&&n.length&&(o.$and=[],n.forEach(function(e){var t;n.filter(function(e){return"job"===e.prop}).length?(n.filter(function(e){return"job"===e.prop})[0].data?o.$and.push({$or:[{type:"request"},{type:"initIso"},{type:"return"},{type:"returnIso"},{type:"transferOut"},{type:"transferIn"}]}):o.$and.push({$or:[{type:"Customer Pickup"},{type:"Direct Sale"},{type:"Third Party"},{type:"Sale Return"},{type:"transferYard"}]}),n.splice(n.map(function(e){return e.prop}).indexOf("job"),1)):o.$and.push(((t={})[e.prop]=e.data,t))})),t&&"jobs"===e){var r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{status:r},{operator:r},{pumping_company:r},{afe:r},{po:r},{county:r},{state:r},{well:r}]}):o={$or:[{status:r},{operator:r},{pumping_company:r},{afe:r},{po:r},{county:r},{state:r},{well:r}]}}else if(t&&"chemicals"===e){r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{chemical_category:r},{container:r},{type:r},{description:r},{quantity_string:r},{unit:r},{min_stock_string:r},{max_stock_string:r}]}):o={$or:[{chemical_category:r},{container:r},{type:r},{description:r},{quantity_string:r},{unit:r},{min_stock_string:r},{max_stock_string:r}]}}else if(t&&"bols"===e){r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{date_string:r},{bol_string:r},{chemical:r},{locTo:r},{locFrom:r},{quantity_string:r},{file_status:r}]}):o={$or:[{date_string:r},{bol_string:r},{chemical:r},{locTo:r},{locFrom:r},{quantity_string:r},{file_status:r}]}}else if(t&&"isotanks"===e){r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{tank_number:r},{quantity_string:r},{current_location:r},{current_chemical:r}]}):o={$or:[{tank_number:r},{quantity_string:r},{current_location:r},{current_chemical:r}]}}}else o={};return index_1.getMainDB().model(e).collection.countDocuments(o)}},countCollection:{skipQueue:!0,check:new simpl_schema_1.default({collectionType:{type:String}}),function:function(e){return index_1.getMainDB().model(e).collection.countDocuments()}}})}exports.loadCounterMethods=loadCounterMethods;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(u,a,i,c){return new(i||(i=Promise))(function(e,t){function n(e){try{o(c.next(e))}catch(e){t(e)}}function r(e){try{o(c.throw(e))}catch(e){t(e)}}function o(t){t.done?e(t.value):new i(function(e){e(t.value)}).then(n,r)}o((c=c.apply(u,a||[])).next())})},__generator=this&&this.__generator||function(n,r){var o,u,a,e,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;i;)try{if(o=1,u&&(a=2&t[0]?u.return:t[0]?u.throw||((a=u.return)&&a.call(u),0):u.next)&&!(a=a.call(u,t[1])).done)return a;switch(u=0,a&&(t=[2&t[0],a.value]),t[0]){case 0:case 1:a=t;break;case 4:return i.label++,{value:t[1],done:!1};case 5:i.label++,u=t[1],t=[0];continue;case 7:t=i.ops.pop(),i.trys.pop();continue;default:if(!(a=0<(a=i.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){i=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){i.label=t[1];break}if(6===t[0]&&i.label<a[1]){i.label=a[1],a=t;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(t);break}a[2]&&i.ops.pop(),i.trys.pop();continue}t=r.call(n,i)}catch(e){t=[6,e],u=0}finally{o=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var method_manager_1=require("../managers/method.manager"),queue_method_collection_1=require("../collections/queue-method.collection"),queue_method_manager_1=require("../managers/queue-method.manager");function loadCronJobMethods(){method_manager_1.default.methods({methodQueue:{function:function(){var n=this;return new Promise(function(t,e){return __awaiter(n,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return[4,queue_method_collection_1.QueueMethods.collection.countDocuments()];case 1:return e.sent()&&queue_method_manager_1.default.runMethodQueue(),t(),[2]}})})})}}})}exports.loadCronJobMethods=loadCronJobMethods;
|
package/methods/flags.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(a,l,i,c){return new(i||(i=Promise))(function(e,t){function n(e){try{o(c.next(e))}catch(e){t(e)}}function r(e){try{o(c.throw(e))}catch(e){t(e)}}function o(t){t.done?e(t.value):new i(function(e){e(t.value)}).then(n,r)}o((c=c.apply(a,l||[])).next())})},__generator=this&&this.__generator||function(n,r){var o,a,l,e,i={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;i;)try{if(o=1,a&&(l=2&t[0]?a.return:t[0]?a.throw||((l=a.return)&&l.call(a),0):a.next)&&!(l=l.call(a,t[1])).done)return l;switch(a=0,l&&(t=[2&t[0],l.value]),t[0]){case 0:case 1:l=t;break;case 4:return i.label++,{value:t[1],done:!1};case 5:i.label++,a=t[1],t=[0];continue;case 7:t=i.ops.pop(),i.trys.pop();continue;default:if(!(l=0<(l=i.trys).length&&l[l.length-1])&&(6===t[0]||2===t[0])){i=0;continue}if(3===t[0]&&(!l||t[1]>l[0]&&t[1]<l[3])){i.label=t[1];break}if(6===t[0]&&i.label<l[1]){i.label=l[1],l=t;break}if(l&&i.label<l[2]){i.label=l[2],i.ops.push(t);break}l[2]&&i.ops.pop(),i.trys.pop();continue}t=r.call(n,i)}catch(e){t=[6,e],a=0}finally{o=l=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var method_manager_1=require("../managers/method.manager"),flag_collection_1=require("../collections/flag.collection"),mongoose_1=require("mongoose");function loadFlagMethods(){var n=this;method_manager_1.default.methods({flagChemicalRequest:{function:function(){return new Promise(function(t,e){return __awaiter(n,void 0,void 0,function(){return __generator(this,function(e){switch(e.label){case 0:return[4,flag_collection_1.Flags.find({type:"Chemical Requests"}).exec()];case 1:return e.sent().length?(t(),[3,4]):[3,2];case 2:return[4,flag_collection_1.Flags.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,type:"Chemical Requests",value:!0})];case 3:e.sent(),t(),e.label=4;case 4:return[2]}})})})}}})}exports.loadFlagMethods=loadFlagMethods;
|
package/methods/logs.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),method_manager_1=require("../managers/method.manager"),log_collection_1=require("../collections/log.collection");function loadLogMethods(){method_manager_1.default.methods({insertErrorLog:{skipQueue:!0,function:function(e,o){return this.sendEmail("dev@resolveio.com","Error Detected - DCS",this.user+"\n"+e+"\n"+JSON.stringify(o,null,2)),log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,date:new Date,type:"error",title:"Error - User: "+this.user,message:e,payload:o,method:"",user:this.user,messageId:""})},skipValidation:!0}})}exports.loadLogMethods=loadLogMethods;
|
package/methods/pdf.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var fs=require("fs"),method_manager_1=require("../managers/method.manager"),request=require("request"),mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),pdfCnt=0;function loadPDFMethods(){method_manager_1.default.methods({generatePDF:{skipQueue:!0,check:new simpl_schema_1.default({html:{type:String},fileName:{type:String},orientation:{type:String,optional:!0},fontSize:{type:String,optional:!0},upload:{type:Boolean,optional:!0},uploadFileOrder:{type:Number,optional:!0},uploadFileType:{type:String,optional:!0}}),function:function(e,s,n,l,f,p,c){void 0===n&&(n="portrait"),void 0===l&&(l="8px"),void 0===f&&(f=!1),void 0===p&&(p=-1),void 0===c&&(c="");var u=this;return new Promise(function(i,o){var t=require("phantom"),a=null;t.create().then(function(t){return(a=t).createPage()}).then(function(t){t.property("paperSize",{format:"letter",margin:"1cm",orientation:n,footer:{height:"1cm",contents:a.callback(function(t,e){return"<span style='float:right; font-size: 12px;'>Page "+t+" of "+e+"</span>"})}}),t.property("content","\n\t\t\t\t\t\t<head>\n\t\t\t\t\t\t\t<style>\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"/usr/share/fonts/dejavu/DejaVuSerif.ttf\");\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-style: normal;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"/usr/share/fonts/dejavu/DejaVuSerif-Bold.ttf\");\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: normal;\n\t\t\t\t\t\t\t\t\tsrc: url(\"/usr/share/fonts/dejavu/DejaVuSerif-Italic.ttf\");\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t@font-face {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-style: italic;\n\t\t\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t\t\t\tsrc: url(\"/usr/share/fonts/dejavu/DejaVuSerif-BoldItalic.ttf\");\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbody {\n\t\t\t\t\t\t\t\t\tfont-family: 'Dejavu Serif', serif;\n\t\t\t\t\t\t\t\t\tfont-size: "+(l||"8px")+";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.row {\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\t\t\t\t\t-webkit-flex-wrap: wrap;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.page-break {\n\t\t\t\t\t\t\t\t\tpage-break-before: always !important;\n\t\t\t\t\t\t\t\t\tmargin-bottom: 1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\tpadding : 2px;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.cell-no-padding {\n\t\t\t\t\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t\t\t\t\t\t-webkit-flex: 1;\n\t\t\t\t\t\t\t\t\tword-wrap: break-word;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: center;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-left {\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-start;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.centered-right {\n\t\t\t\t\t\t\t\t\t-webkit-justify-content: flex-end;\n\t\t\t\t\t\t\t\t\t-webkit-align-items: center;\n\t\t\t\t\t\t\t\t\tdisplay: -webkit-flex;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t.box {\n\t\t\t\t\t\t\t\t\tborder: 1px solid black;\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.boxNoBorder {\n\t\t\t\t\t\t\t\t\tmargin: -1px 0px 0px -1px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tpre {\n\t\t\t\t\t\t\t\t\twhite-space: pre-wrap; /* css-3 */\n\t\t\t\t\t\t\t\t\twhite-space: -moz-pre-wrap; /* Mozilla, since 1999 */\n\t\t\t\t\t\t\t\t\twhite-space: -pre-wrap; /* Opera 4-6 */\n\t\t\t\t\t\t\t\t\twhite-space: -o-pre-wrap; /* Opera 7 */\n\t\t\t\t\t\t\t\t\tword-wrap: break-word; /* Internet Explorer 5.5+ */\n\t\t\t\t\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t\t\t\t\tfont-family: Open Sans; \n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style>\n\t\t\t\t\t\t</head>\n\t\t\t\t\t\t<body>\n\t\t\t\t\t"+e.replace(new RegExp("flex-basis:","g"),"-webkit-flex-basis:").replace(new RegExp("flex:","g"),"-webkit-flex:")+"</body>");var r=pdfCnt+++"-"+s;t.render(r,{format:"pdf",quality:"100"}).then(function(){fs.existsSync(r)?fs.readFile(r,function(t,e){if(t)console.log(t);else if(fs.unlinkSync(r),f){var n="data:application/pdf;base64,"+Buffer.from(e).toString("base64");u.callMethodInternal.call(u,"uploadFileAndSave",s,n,4*Math.ceil(n.length/3),p,c,function(t,e){t?o(t):i(e)})}else i("data:application/pdf;base64,"+Buffer.from(e).toString("base64"));a.exit()}):(o("No tmp file"),console.log("No tmp file ",r))})}).catch(function(t){o(t),a.exit()})})}},mergePDF:{skipQueue:!0,check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0}}),function:function(e,s,l){var f=this;return new Promise(function(o,a){f.callMethodInternal.call(f,"getCCProcessURL").then(function(t){var i="uploads/"+Date.now()+"-"+pdfCnt+++"-"+s;request({method:"POST",url:"https:"+t.url,headers:{"Content-Type":"application/json"},json:{mode:"combine",input:{s3:{accesskeyid:f.serverConfig.AWSACCESSKEYID,secretaccesskey:f.serverConfig.AWSSECRETACCESSKEY,region:f.serverConfig.AWSREGION,bucket:f.serverConfig.AWSBUCKET}},files:e,outputformat:"pdf",wait:!0,output:{s3:{accesskeyid:f.serverConfig.AWSACCESSKEYID,secretaccesskey:f.serverConfig.AWSSECRETACCESSKEY,region:f.serverConfig.AWSREGION,bucket:f.serverConfig.AWSBUCKET,path:i}},converteroptions:{resize:"612x792",resizemode:"scale",resizeenlarge:null,grayscale:null,auto_orient:null,strip_metatags:!1,density:72,rotate:null,command:null}}},function(t,e,n){if(t)a(t);else{var r={_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,name:s,size:n.output.size,key:i,type:l||"",order:-1};n.output.size?f.callMethodInternal.call(f,"insertDocument","files",r,function(t,e){e?(r.status="Uploaded",o(r)):a(t)}):a("Merged file has no size, merge failed")}})},function(t){return a(t)})})}},mergePDFNoUpload:{skipQueue:!0,check:new simpl_schema_1.default({fileKeys:{type:Array},"fileKeys.$":{type:String},fileName:{type:String},fileType:{type:String,optional:!0}}),function:function(e,s,l){var f=this;return new Promise(function(o,a){f.callMethodInternal.call(f,"getCCProcessURL").then(function(t){var i="uploads/"+Date.now()+"-"+pdfCnt+++"-"+s;request({method:"POST",url:"https:"+t.url,headers:{"Content-Type":"application/json"},json:{mode:"combine",input:{s3:{accesskeyid:f.serverConfig.AWSACCESSKEYID,secretaccesskey:f.serverConfig.AWSSECRETACCESSKEY,region:f.serverConfig.AWSREGION,bucket:f.serverConfig.AWSBUCKET}},files:e,outputformat:"pdf",wait:!0,output:{s3:{accesskeyid:f.serverConfig.AWSACCESSKEYID,secretaccesskey:f.serverConfig.AWSSECRETACCESSKEY,region:f.serverConfig.AWSREGION,bucket:f.serverConfig.AWSBUCKET,path:i}},converteroptions:{resize:"612x792",resizemode:"scale",resizeenlarge:null,grayscale:null,auto_orient:null,strip_metatags:!1,density:72,rotate:null,command:null}}},function(t,e,n){if(t)a(t);else{var r={_id:mongoose_1.Types.ObjectId().toHexString(),name:s,size:n.output.size,key:i,type:l||"",order:-1};f.callMethodInternal.call(f,"insertDocument","files",r,function(t,e){if(e){r.status="Uploaded",o(r);var n=f;setTimeout(function(){n.callMethodInternal.call(n,"deleteFile",i)},6e4)}else a(t)})}})},function(t){return a(t)})})}}})}exports.loadPDFMethods=loadPDFMethods;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var simpl_schema_1=require("simpl-schema");exports.PaginationOptionsSchema=new simpl_schema_1.default({limit:{type:Number},skip:{type:Number},sort:{type:Object,blackbox:!0},fields:{type:Object,optional:!0,blackbox:!0}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@resolveio/server-lib",
|
|
3
|
+
"version": "1.0.0-rc1",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "index.ts",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"package": "npm pack ./dist",
|
|
8
|
+
"start": "node_modules/.bin/forever -c node --max-old-space-size=800 index.js",
|
|
9
|
+
"server": "node_modules/gulp/bin/gulp.js mongo-start && node_modules/gulp/bin/gulp.js",
|
|
10
|
+
"postserver": "node_modules/gulp/bin/gulp.js mongo-stop",
|
|
11
|
+
"build-prod": "node_modules/gulp/bin/gulp.js build-prod"
|
|
12
|
+
},
|
|
13
|
+
"author": "",
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"aws-sdk": "2.349.0",
|
|
17
|
+
"cron": "1.3.0",
|
|
18
|
+
"deep-diff": "1.0.2",
|
|
19
|
+
"express": "4.16.4",
|
|
20
|
+
"forever": "0.15.3",
|
|
21
|
+
"handlebars": "4.0.12",
|
|
22
|
+
"imap": "0.8.19",
|
|
23
|
+
"jsonwebtoken": "8.3.0",
|
|
24
|
+
"moment": "2.22.2",
|
|
25
|
+
"moment-timezone": "0.5.23",
|
|
26
|
+
"mongo-oplog": "2.1.4",
|
|
27
|
+
"mongoose": "5.3.9",
|
|
28
|
+
"node-google-timezone": "0.1.1",
|
|
29
|
+
"nodemailer": "4.6.8",
|
|
30
|
+
"passport": "0.4.0",
|
|
31
|
+
"passport-local": "1.0.0",
|
|
32
|
+
"passport-local-mongoose": "5.0.1",
|
|
33
|
+
"path": "0.12.7",
|
|
34
|
+
"phantom": "6.0.3",
|
|
35
|
+
"request": "2.88.0",
|
|
36
|
+
"rus-diff": "1.1.0",
|
|
37
|
+
"simpl-schema": "1.5.3",
|
|
38
|
+
"string-similarity": "2.0.0",
|
|
39
|
+
"string_score": "0.1.22",
|
|
40
|
+
"twilio": "3.23.2",
|
|
41
|
+
"uuid": "3.3.2",
|
|
42
|
+
"ws": "6.1.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/aws-sdk": "2.7.0",
|
|
46
|
+
"@types/express": "4.16.0",
|
|
47
|
+
"@types/handlebars": "4.0.39",
|
|
48
|
+
"@types/imap": "0.8.29",
|
|
49
|
+
"@types/jsonwebtoken": "8.3.0",
|
|
50
|
+
"@types/mongodb": "3.1.14",
|
|
51
|
+
"@types/mongoose": "5.3.1",
|
|
52
|
+
"@types/nodemailer": "4.6.5",
|
|
53
|
+
"@types/passport": "0.4.7",
|
|
54
|
+
"@types/passport-local": "1.0.33",
|
|
55
|
+
"@types/passport-local-mongoose": "4.0.11",
|
|
56
|
+
"@types/ws": "6.0.1",
|
|
57
|
+
"del": "3.0.0",
|
|
58
|
+
"express-livereload": "0.0.24",
|
|
59
|
+
"gulp": "3.9.1",
|
|
60
|
+
"gulp-nodemon": "2.4.1",
|
|
61
|
+
"gulp-rename": "1.4.0",
|
|
62
|
+
"gulp-shell": "0.6.5",
|
|
63
|
+
"gulp-typescript": "5.0.0-alpha.3",
|
|
64
|
+
"gulp-uglify": "3.0.1",
|
|
65
|
+
"gulp-zip": "4.2.0",
|
|
66
|
+
"mkdirs": "0.0.2",
|
|
67
|
+
"typescript": "3.1.6"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<style type="text/css">
|
|
2
|
+
* {
|
|
3
|
+
font-size: 14px;
|
|
4
|
+
font-family: Arial;
|
|
5
|
+
}
|
|
6
|
+
</style>
|
|
7
|
+
|
|
8
|
+
Hello {{fullname}},
|
|
9
|
+
<br><br>
|
|
10
|
+
{{user}} has created an account for you.<br><br>
|
|
11
|
+
|
|
12
|
+
<a href="{{url}}" style="background-color:#76b530;border:1px solid #1e3650;border-radius:4px;color:#ffffff;display:inline-block;font-family:sans-serif;font-size:13px;font-weight:bold;line-height:40px;text-align:center;text-decoration:none;width:200px;-webkit-text-size-adjust:none;">Click here to enroll</a>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<style type="text/css">
|
|
2
|
+
* {
|
|
3
|
+
font-size: 14px;
|
|
4
|
+
font-family: Arial;
|
|
5
|
+
}
|
|
6
|
+
</style>
|
|
7
|
+
|
|
8
|
+
Hello {{userToChangePassword}},
|
|
9
|
+
<br><br>
|
|
10
|
+
{{userWhoResetPassword}} has reset your password.<br><br>
|
|
11
|
+
|
|
12
|
+
<a href="{{url}}" style="background-color:#76b530;border:1px solid #1e3650;border-radius:4px;color:#ffffff;display:inline-block;font-family:sans-serif;font-size:13px;font-weight:bold;line-height:40px;text-align:center;text-decoration:none;width:200px;-webkit-text-size-adjust:none;">Click here to change your password</a>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var subscription_manager_1=require("../managers/subscription.manager"),app_status_collection_1=require("../collections/app-status.collection");function loadAppStatusPublications(){subscription_manager_1.default.publications({appstatus:{function:function(){return app_status_collection_1.AppStatus.findOne().exec()},collections:["app-statuses"]}})}exports.loadAppStatusPublications=loadAppStatusPublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var subscription_manager_1=require("../managers/subscription.manager"),app_version_collection_1=require("../collections/app-version.collection");function loadAppVersionPublications(){subscription_manager_1.default.publications({appversion:{function:function(){return app_version_collection_1.AppVersions.findOne({}).exec()},collections:["app-versions"]}})}exports.loadAppVersionPublications=loadAppVersionPublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var subscription_manager_1=require("../managers/subscription.manager"),cron_job_collection_1=require("../collections/cron-job.collection");function loadCronJobPublications(){subscription_manager_1.default.publications({cronjobs:{function:function(){return cron_job_collection_1.CronJobs.find().sort({name:1}).exec()},collections:["cron-jobs"]}})}exports.loadCronJobPublications=loadCronJobPublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var simpl_schema_1=require("simpl-schema"),file_collection_1=require("./../collections/file.collection"),subscription_manager_1=require("../managers/subscription.manager");function loadFilePublications(){subscription_manager_1.default.publications({fileWithId:{function:function(e){return file_collection_1.Files.findById(e).sort({name:1}).exec()},check:new simpl_schema_1.default({id_file:{type:String}}),collections:["files"],fetchFunction:function(e,i){return e._id===i}},filesIn:{function:function(e){return file_collection_1.Files.find({_id:{$in:e}}).sort({name:1}).exec()},check:new simpl_schema_1.default({id_files:{type:Array},"id_files.$":{type:String}}),collections:["files"],fetchFunction:function(e,i){return i.includes(e._id)}},supportFileWithId:{function:function(e){return file_collection_1.SupportFiles.findById(e).sort({name:1}).exec()},check:new simpl_schema_1.default({id_file:{type:String}}),collections:["files"],fetchFunction:function(e,i){return e._id===i}},supportFilesIn:{function:function(e){return file_collection_1.SupportFiles.find({_id:{$in:e}}).sort({name:1}).exec()},check:new simpl_schema_1.default({id_files:{type:Array},"id_files.$":{type:String}}),collections:["files"],fetchFunction:function(e,i){return i.includes(e._id)}}})}exports.loadFilePublications=loadFilePublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var simpl_schema_1=require("simpl-schema"),subscription_manager_1=require("../managers/subscription.manager"),flag_collection_1=require("../collections/flag.collection");function loadFlagsPublications(){subscription_manager_1.default.publications({flagWithType:{function:function(e){return flag_collection_1.Flags.findOne({type:e}).exec()},check:new simpl_schema_1.default({flagType:{type:String}}),collections:["flags"],fetchFunction:function(e,i){return e.type===i}}})}exports.loadFlagsPublications=loadFlagsPublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var simpl_schema_1=require("simpl-schema"),log_collection_1=require("../collections/log.collection"),subscription_manager_1=require("../managers/subscription.manager");function loadLogPublications(){subscription_manager_1.default.publications({logsWithType:{function:function(e){return"all"===e?log_collection_1.Logs.find().sort({date:-1}).exec():log_collection_1.Logs.find({type:e}).sort({date:-1}).exec()},check:new simpl_schema_1.default({type:{type:String}}),collections:["logs"],fetchFunction:function(e,o){return e.type===o}}})}exports.loadLogPublications=loadLogPublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var subscription_manager_1=require("../managers/subscription.manager"),method_call_collection_1=require("../collections/method-call.collection");function loadMethodCallsPublications(){subscription_manager_1.default.publications({methodcalls:{function:function(){return method_call_collection_1.MethodCalls.find({}).exec()},collections:["method-calls"]}})}exports.loadMethodCallsPublications=loadMethodCallsPublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var subscription_manager_1=require("../managers/subscription.manager"),method_response_collection_1=require("../collections/method-response.collection");function loadMethodResponsePublications(){subscription_manager_1.default.publications({methodresponses:{function:function(){return method_response_collection_1.MethodResponses.find({}).exec()},collections:["method-responses"]}})}exports.loadMethodResponsePublications=loadMethodResponsePublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var subscription_manager_1=require("../managers/subscription.manager"),logged_in_users_collection_1=require("../collections/logged-in-users.collection"),active_subscription_collection_1=require("../collections/active-subscription.collection");function loadSuperAdminPublications(){subscription_manager_1.default.publications({loggedInUsers:{function:function(){return logged_in_users_collection_1.LoggedInUsers.find({}).sort({user:1}).exec()},collections:["logged-in-users"]},currentSubscriptions:{function:function(){return active_subscription_collection_1.ActiveSubscriptions.find({}).sort({publication:1}).exec()},collections:["active-subscriptions"]}})}exports.loadSuperAdminPublications=loadSuperAdminPublications;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var subscription_manager_1=require("../managers/subscription.manager"),support_ticket_collection_1=require("../collections/support-ticket.collection"),simpl_schema_1=require("simpl-schema"),pagination_model_1=require("../models/pagination.model");function loadSupportTicketPublications(){var r=this;subscription_manager_1.default.publications({supporttickets:{function:function(){return support_ticket_collection_1.SupportTickets.find({client:"DCS"}).sort({type:1}).exec()},collections:["support-tickets"],fetchFunction:function(t){return"DCS"===t.client}},supportticketWithId:{function:function(t){return support_ticket_collection_1.SupportTickets.findById(t).exec()},check:new simpl_schema_1.default({id_support_ticket:{type:String}}),collections:["support-tickets"],fetchFunction:function(t,e){return t._id===e}},supportticketsWithOptions:{function:function(t,e,i){return support_ticket_collection_1.SupportTickets.find(searchQuery.call(r,e,i)).sort(t.sort).limit(t.limit).skip(t.skip).select(t.fields).exec()},check:new simpl_schema_1.default({options:{type:pagination_model_1.PaginationOptionsSchema},search:{type:String,optional:!0},filters:{type:Array,optional:!0},"filters.$":{type:Object},"filters.$.prop":{type:String},"filters.$.data":{type:String}}),collections:["support-tickets"]}})}function searchQuery(t,e){if(t||e&&e.length){var i={};if(e&&e.length&&(i.$and=[],e.forEach(function(t){var e;i.$and.push(((e={})[t.prop]=t.data,e))})),t){var r={$regex:".*"+(t||"")+".*",$options:"i"};i.$and?i.$and.push({$or:[{support_ticket_number_string:r},{date_created_string:r},{status:r},{user_created:r}]}):i={$or:[{support_ticket_number_string:r},{date_created_string:r},{status:r},{user_created:r}]}}return i}return{}}exports.loadSupportTicketPublications=loadSupportTicketPublications;
|
package/server-app.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(n,i,a,u){return new(a||(a=Promise))(function(e,t){function s(e){try{r(u.next(e))}catch(e){t(e)}}function o(e){try{r(u.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new a(function(e){e(t.value)}).then(s,o)}r((u=u.apply(n,i||[])).next())})},__generator=this&&this.__generator||function(s,o){var r,n,i,e,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(i=2&t[0]?n.return:t[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,t[1])).done)return i;switch(n=0,i&&(t=[2&t[0],i.value]),t[0]){case 0:case 1:i=t;break;case 4:return a.label++,{value:t[1],done:!1};case 5:a.label++,n=t[1],t=[0];continue;case 7:t=a.ops.pop(),a.trys.pop();continue;default:if(!(i=0<(i=a.trys).length&&i[i.length-1])&&(6===t[0]||2===t[0])){a=0;continue}if(3===t[0]&&(!i||t[1]>i[0]&&t[1]<i[3])){a.label=t[1];break}if(6===t[0]&&a.label<i[1]){a.label=i[1],i=t;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(t);break}i[2]&&a.ops.pop(),a.trys.pop();continue}t=o.call(s,a)}catch(e){t=[6,e],n=0}finally{r=i=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var http_1=require("http"),express=require("express"),mongoose=require("mongoose"),bodyParser=require("body-parser"),passport=require("passport"),passportlocal=require("passport-local"),WebSocket=require("ws"),jwt=require("jsonwebtoken"),uuid=require("uuid/v4"),serverConfig=require("./settings.json"),auth_1=require("./http/auth"),common_1=require("./util/common"),health_1=require("./http/health"),subscription_manager_1=require("./managers/subscription.manager"),method_manager_1=require("./managers/method.manager"),support_manager_1=require("./managers/support.manager"),cron_manager_1=require("./managers/cron.manager"),queue_method_manager_1=require("./managers/queue-method.manager"),method_call_collection_1=require("./collections/method-call.collection"),mongoose_1=require("mongoose"),method_response_collection_1=require("./collections/method-response.collection"),log_collection_1=require("./collections/log.collection"),moment=require("moment"),user_collection_1=require("./collections/user.collection"),ResolveIOServer=function(){function e(){}return e.init=function(){this._app=express(),this._app.use(bodyParser.json({limit:"5mb"})),this._app.use(bodyParser.urlencoded({limit:"5mb",extended:!0})),this._port=process.env.PORT||serverConfig.PORT,this.createServer(),this._app.use(function(e,t,s){t.setHeader("Access-Control-Allow-Origin","*"),t.setHeader("Access-Control-Allow-Methods","GET, POST"),t.setHeader("Access-Control-Allow-Headers","X-Requested-With,content-type"),t.setHeader("Access-Control-Allow-Credentials","false"),s()}),auth_1.setupAuthRoutes(this._app,serverConfig),health_1.setupHealthRoutes(this._app,serverConfig)},e.getWS=function(t){var s=null;return this._wss.clients.forEach(function(e){e.id_socket===t&&(s=e)}),s},e.getWSList=function(){var t=[];return this._wss.clients.forEach(function(e){t.push(e.id_socket)}),t},e.createServer=function(){var e=this;this._server=http_1.createServer(this._app),this._wss=new WebSocket.Server({server:this._server,verifyClient:function(n,i){return __awaiter(e,void 0,void 0,function(){var t,s,r=this;return __generator(this,function(e){return t=n.req.headers["sec-websocket-protocol"].split(/,/),n.origin!==serverConfig.ROOT_URL&&n.origin!==serverConfig.SEC_ROOT_URL&&n.origin!==serverConfig.RESOLVEIO_URL&&n.origin!==serverConfig.RESOLVEIO_SECONDARY_URL?i(!1,401,"Unauthorized"):t[1]?(s=t[0])?jwt.verify(s,serverConfig.JWT_SECRET,function(s,o){return __awaiter(r,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return s?(i(!1,401,"Unauthorized"),[3,5]):[3,1];case 1:n.req.id_user=o.id_user,e.label=2;case 2:return e.trys.push([2,4,,5]),[4,user_collection_1.Users.findById(o.id_user).exec()];case 3:return(t=e.sent())?(n.req.user=t.fullname,i(!0)):i(!1),[3,5];case 4:return e.sent(),i(!1),[3,5];case 5:return[2]}})})}):i(!1,401,"Unauthorized"):i(!1,401,"Invalid Version"),[2]})})}}),this.setUpMongoose()},e.setUpMongoose=function(){this.setUpPassport();var t=mongoose_1.Query.prototype.setOptions;mongoose_1.Query.prototype.setOptions=function(e){return null==this._mongooseOptions.lean&&"users"!==this.mongooseCollection.collectionName&&(this._mongooseOptions.lean=!0),t.apply(this,arguments),this},subscription_manager_1.default.init(this,this._wss,serverConfig),method_manager_1.default.init(this,serverConfig),support_manager_1.default.init(this,serverConfig),cron_manager_1.default.init(),queue_method_manager_1.default.init(this),this.listen(),mongoose.set("useFindAndModify",!1)},e.setUpPassport=function(){this._app.use(passport.initialize()),passport.use(new passportlocal.Strategy(user_collection_1.Users.authenticate())),passport.serializeUser(user_collection_1.Users.serializeUser()),passport.deserializeUser(user_collection_1.Users.deserializeUser())},e.listen=function(){var t=this;this._server.listen(this._port,function(){console.log("Running server on port %s",t._port)}),this._wss.on("connection",function(d,e){d.id_user=e.id_user,d.user=e.user,d.id_socket=uuid(),d.retryCnt=0,d.isAlive=!0,d.on("pong",function(){d.isAlive=!0,d.pongTime=new Date,d.latency=moment.duration(moment(d.pongTime).diff(d.pingTime)).asMilliseconds(),subscription_manager_1.default.loggedInLatency(d)}),d.versionTimer=setTimeout(function(){t.unsubscribeWS(d),d.terminate()},1e4),d.on("message",function(l){return __awaiter(t,void 0,void 0,function(){var t,o,s,r,n,i,a,u,c=this;return __generator(this,function(e){switch(e.label){case 0:return"ping"===(t=JSON.parse(l,common_1.dateReviver))[0]?(d&&d.readyState===d.OPEN&&d.send("pong",function(e){e&&(console.log("Error on WS: ",e),c.unsubscribeWS(d))}),[2]):(o=t.shift(),s=t.shift(),r="","method"!==s?[3,8]:("setWSAppVersion"===(r=t.shift())&&clearTimeout(d.versionTimer),"disconnectWSCommand"===r&&setTimeout(function(){c.unsubscribeWS(d),d.terminate()},5e3),"countQuery"!==r&&"countCollectionWithQuery"!==r&&"find"!==r&&"findOne"!==r&&"findWithOptions"!==r&&"setWSAppVersion"!==r&&(common_1.getBinarySize(JSON.stringify(t))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-request",title:"Client Request - Method",message:"User: "+d.user+", Type: "+s+", MessageId: "+o+", Method: "+r,payload:t,method:r,user:d.user,messageId:o}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-request",title:"Client Request - Method",message:"User: "+d.user+", Type: "+s+", MessageId: "+o+", Method: "+r,payload:"Too Big",method:r,user:d.user,messageId:o})),u={messageId:o,hasError:!1,data:"ACK"},d&&d.readyState===d.OPEN&&d.send(JSON.stringify(u),function(e){e&&(console.log("Error on WS: ",e),c.unsubscribeWS(d))}),method_manager_1.default._methods[r]?method_manager_1.default._methods[r].skipQueue?(method_manager_1.default.callMethod.apply(method_manager_1.default,[d,o,r].concat(t)),[3,5]):[3,1]:[3,6]));case 1:return[4,method_call_collection_1.MethodCalls.findOne({$and:[{id_user:d.id_user},{message_id:o},{method:r},{data:JSON.stringify(t)}]}).exec()];case 2:return e.sent()?[3,4]:[4,method_call_collection_1.MethodCalls.create({_id:mongoose_1.Types.ObjectId().toHexString(),__v:0,id_user:d.id_user,message_id:o,method:r,data:JSON.stringify(t)})];case 3:return e.sent(),method_manager_1.default._methods[r]?method_manager_1.default._methods[r].skipQueue?method_manager_1.default.callMethod.apply(method_manager_1.default,[d,o,r].concat(t)):queue_method_manager_1.default.addMethodToQueue(d.id_socket,d.id_user,d.user,o,r,t):console.log("Could not find method: "+r),[3,5];case 4:method_response_collection_1.MethodResponses.findOne({$and:[{id_user:d.id_user},{message_id:o},{method:r},{data:JSON.stringify(t)}]}).exec(function(e,t){t&&d&&d.readyState===d.OPEN&&d.send(JSON.stringify(t.response),function(e){e&&(console.log("Error on WS: ",e),c.unsubscribeWS(d))})}),e.label=5;case 5:return[3,7];case 6:console.log("Could not find method: "+r),e.label=7;case 7:return[3,9];case 8:"methodRetry"===s?("countQuery"!==(r=t.shift())&&"countCollectionWithQuery"!==r&&"find"!==r&&"findOne"!==r&&"findWithOptions"!==r&&"setWSAppVersion"!==r&&(common_1.getBinarySize(JSON.stringify(t))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-request",title:"Client Request - Method Retry",message:"User: "+d.user+", Type: "+s+", MessageId: "+o+", Method: "+r,payload:t,method:r,user:d.user,messageId:o}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-request",title:"Client Request - Method Retry",message:"User: "+d.user+", Type: "+s+", MessageId: "+o+", Method: "+r,payload:"Too Big",method:r,user:d.user,messageId:o})),method_call_collection_1.MethodCalls.findOne({$and:[{id_user:d.id_user},{message_id:o},{method:r},{data:JSON.stringify(t)}]}).exec(function(e,t){if(t){var s={messageId:o,hasError:!1,data:"ACK"};d&&d.readyState===d.OPEN&&d.send(JSON.stringify(s),function(e){e&&(console.log("Error on WS: ",e),c.unsubscribeWS(d))})}else{s={messageId:o,hasError:!1,data:"NACK"};d&&d.readyState===d.OPEN&&d.send(JSON.stringify(s),function(e){e&&(console.log("Error on WS: ",e),c.unsubscribeWS(d))})}})):"methodResponse"===s?("countQuery"!==(r=t.shift())&&"countCollectionWithQuery"!==r&&"find"!==r&&"findOne"!==r&&"findWithOptions"!==r&&"setWSAppVersion"!==r&&(common_1.getBinarySize(JSON.stringify(t))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-request",title:"Client Request - Method Response",message:"User: "+d.user+", Type: "+s+", MessageId: "+o+", Method: "+r,payload:t,method:r,user:d.user,messageId:o}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-request",title:"Client Request - Method Response",message:"User: "+d.user+", Type: "+s+", MessageId: "+o+", Method: "+r,payload:"Too Big",method:r,user:d.user,messageId:o})),method_response_collection_1.MethodResponses.findOne({$and:[{id_user:d.id_user},{message_id:o},{method:r},{data:JSON.stringify(t)}]}).exec(function(e,t){t&&d&&d.readyState===d.OPEN&&d.send(JSON.stringify(t.response),function(e){e&&(console.log("Error on WS: ",e),c.unsubscribeWS(d))})})):"subscription"===s?(n=t.shift(),i=t.shift(),"sub"===n?subscription_manager_1.default.subscribe.apply(subscription_manager_1.default,[d,o,i].concat(t)):subscription_manager_1.default.unsubscribe.apply(subscription_manager_1.default,[d,o,i].concat(t))):"support"===s&&(a=t.shift(),common_1.getBinarySize(JSON.stringify(t))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-request",title:"Client Request - Support",message:"User: "+d.user+", Type: "+s+", MessageId: "+o+", Support Method: "+a,payload:t,method:a,user:d.user,messageId:o}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"client-request",title:"Client Request - Support",message:"User: "+d.user+", Type: "+s+", MessageId: "+o+", Support Method: "+a,payload:"Too Big",method:a,user:d.user,messageId:o}),u={messageId:o,hasError:!1,data:"ACK"},d&&d.readyState===d.OPEN&&d.send(JSON.stringify(u),function(e){e&&(console.log("Error on WS: ",e),c.unsubscribeWS(d))}),support_manager_1.default._supportMethods[a]?support_manager_1.default.callSupportMethod.apply(support_manager_1.default,[d,o,a].concat(t)):console.log("Could not find support method: "+a)),e.label=9;case 9:return[2]}})})}),d.on("close",function(){t.unsubscribeWS(d)})}),setInterval(function(){t._wss.clients.forEach(function(e){!1===e.isAlive?(e.retryCnt++,12<=e.retryCnt?(t.unsubscribeWS(e),e.terminate()):(e.pingTime=new Date,e.ping(function(){}))):(e.retryCnt=0,e.isAlive=!1,e.pingTime=new Date,e.ping(function(){}))})},5e3)},e.getApp=function(){return this._app},e.unsubscribeWS=function(e){subscription_manager_1.default.unsubscribeAll(e)},e}();exports.default=ResolveIOServer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(o,c,l,u){return new(l||(l=Promise))(function(e,t){function n(e){try{r(u.next(e))}catch(e){t(e)}}function i(e){try{r(u.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new l(function(e){e(t.value)}).then(n,i)}r((u=u.apply(o,c||[])).next())})},__generator=this&&this.__generator||function(n,i){var r,o,c,e,l={label:0,sent:function(){if(1&c[0])throw c[1];return c[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;l;)try{if(r=1,o&&(c=2&t[0]?o.return:t[0]?o.throw||((c=o.return)&&c.call(o),0):o.next)&&!(c=c.call(o,t[1])).done)return c;switch(o=0,c&&(t=[2&t[0],c.value]),t[0]){case 0:case 1:c=t;break;case 4:return l.label++,{value:t[1],done:!1};case 5:l.label++,o=t[1],t=[0];continue;case 7:t=l.ops.pop(),l.trys.pop();continue;default:if(!(c=0<(c=l.trys).length&&c[c.length-1])&&(6===t[0]||2===t[0])){l=0;continue}if(3===t[0]&&(!c||t[1]>c[0]&&t[1]<c[3])){l.label=t[1];break}if(6===t[0]&&l.label<c[1]){l.label=c[1],c=t;break}if(c&&l.label<c[2]){l.label=c[2],l.ops.push(t);break}c[2]&&l.ops.pop(),l.trys.pop();continue}t=i.call(n,l)}catch(e){t=[6,e],o=0}finally{r=c=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var file_collection_1=require("../collections/file.collection"),mongoose_1=require("mongoose"),simpl_schema_1=require("simpl-schema"),support_manager_1=require("../managers/support.manager"),pdfCnt=1e6;function loadAWSMethods(){support_manager_1.default.supportMethods({uploadFileAndSave:{check:new simpl_schema_1.default({fileName:{type:String},fileData:{type:String},fileSize:{type:Number},fileOrder:{type:Number},fileType:{type:String}}),function:function(o,t,c,l,u){var s=this;return new Promise(function(n,i){if(o){var r="uploads/"+Date.now()+"-"+pdfCnt+++"-"+o,e={Bucket:s.serverConfig.AWSBUCKET,Key:r,Body:Buffer.from(t.replace("data:"+t.split(",")[0].split(":")[1].split(";")[0]+";base64,",""),"base64"),ACL:"private",ContentType:t.split(",")[0].split(":")[1].split(";")[0],ContentDisposition:"inline"};s.getAWS().upload(e,function(e,t){e?i(e):t&&file_collection_1.SupportFiles.create({_id:mongoose_1.Types.ObjectId().toHexString(),name:o,size:c,key:r,order:l,type:u}).then(function(e){n(e)},function(e){return i(e)})})}})}},deleteFiles:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String}}),function:function(c){var e=this;return new Promise(function(r,o){return __awaiter(e,void 0,void 0,function(){var t,n,i=this;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.SupportFiles.find({key:{$in:c}})];case 1:return t=e.sent(),n=t.length,t.forEach(function(e){file_collection_1.SupportFiles.deleteOne({_id:e._id}).exec();var t={Bucket:i.serverConfig.AWSBUCKET,Key:e.key};i.getAWS().deleteObject(t,function(e,t){e?o(e):--n||r(t)})}),[2]}})})})}},deleteFile:{check:new simpl_schema_1.default({key:{type:String}}),function:function(o){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.SupportFiles.findOne({key:o})];case 1:return(t=e.sent())||r("Could not find file"),file_collection_1.SupportFiles.deleteOne({_id:t._id}).exec(),n={Bucket:this.serverConfig.AWSBUCKET,Key:o},this.getAWS().deleteObject(n,function(e,t){e?r(e):i(t)}),[2]}})})})}},deleteFileWithId:{check:new simpl_schema_1.default({id_file:{type:String}}),function:function(o){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.SupportFiles.findOne({_id:o})];case 1:return(t=e.sent())||r("Could not find file"),n={Bucket:this.serverConfig.AWSBUCKET,Key:t.key},this.getAWS().deleteObject(n,function(e,t){e?r(e):i(t)}),file_collection_1.SupportFiles.deleteOne({_id:t._id}).exec(),[2]}})})})}},getSignedUrlWithId:{check:new simpl_schema_1.default({id_file:{type:String},expires:{type:Number}}),function:function(o,c){var e=this;return new Promise(function(i,r){return __awaiter(e,void 0,void 0,function(){var t,n;return __generator(this,function(e){switch(e.label){case 0:return[4,file_collection_1.SupportFiles.findOne({_id:o})];case 1:return t=e.sent(),n={Bucket:this.serverConfig.AWSBUCKET,Key:t.key,Expires:c},this.getAWS().getSignedUrl("getObject",n,function(e,t){e?r(e):i(t)}),[2]}})})})}},getSignedUrl:{check:new simpl_schema_1.default({key:{type:String},expires:{type:Number}}),function:function(t,r){var o=this;return new Promise(function(n,i){var e={Bucket:o.serverConfig.AWSBUCKET,Key:t,Expires:r};o.getAWS().getSignedUrl("getObject",e,function(e,t){e?i(e):n(t)})})}},getSignedUrls:{check:new simpl_schema_1.default({keys:{type:Array},"keys.$":{type:String},expires:{type:Number}}),function:function(i,r){var o=this;return new Promise(function(e,t){var n=[];i.forEach(function(e){var t={Bucket:o.serverConfig.AWSBUCKET,Key:e,Expires:r};n.push(o.getAWS().getSignedUrl("getObject",t))}),e(n)})}}})}exports.loadAWSMethods=loadAWSMethods;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),support_manager_1=require("../managers/support.manager"),common_1=require("../util/common"),simpl_schema_1=require("simpl-schema"),log_collection_1=require("../collections/log.collection"),index_1=require("../index"),method_manager_1=require("../managers/method.manager"),pagination_model_1=require("../models/pagination.model");function loadSupportCollectionMethods(){support_manager_1.default.supportMethods({findOne:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){return index_1.getSupportDB().model(e).findOne(o).exec()}},find:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},sort:{type:Object,blackbox:!0,optional:!0}}),function:function(e,o,t){return void 0===t&&(t={}),index_1.getSupportDB().model(e).find(o).sort(t).exec()}},findWithOptions:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0},options:{type:pagination_model_1.PaginationOptionsSchema}}),function:function(e,o,t){return index_1.getSupportDB().model(e).find(o).sort(t.sort).limit(t.limit).skip(t.skip).select(t.fields).exec()}},insertDocument:{check:new simpl_schema_1.default({collection:{type:String},document:{type:Object,blackbox:!0}}),function:function(i,d){var r=this;return new Promise(function(e,o){var t=null;try{index_1.getSupportDB().model(i).simplschema.validate(d)}catch(e){t=e,method_manager_1.default.callMethodInternal("insertErrorLog","Schema Failed on insert - "+i,[t,d])}if(t)console.log(t),o("Schema Errors");else{common_1.getBinarySize(JSON.stringify(d))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Insert Document",message:"User: "+r.user+", Collection Type: "+i,payload:d,method:"insertDocument",user:r.user,messageId:""}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Insert Document",message:"User: "+r.user+", Collection Type: "+i,payload:"Too Big",method:"insertDocument",user:r.user,messageId:""});var n=mongoose_1.Types.ObjectId().toHexString();d._id=n,d.__v=0,index_1.getSupportDB().model(i).create(d).then(function(){return e(n)},function(e){return o(e)})}})}},updateDocument:{check:new simpl_schema_1.default({collection:{type:String},f_document:{type:Object,blackbox:!0}}),function:function(l,_){var i=this;return new Promise(function(r,c){index_1.getSupportDB().model(l).findOne({_id:_._id}).lean().exec(function(e,d){if(d)if(d.__v===_.__v){var o=common_1.deepCopy(d);o._id={_id:d._id,__v:d.__v};var t=null;try{index_1.getSupportDB().model(l).simplschema.validate(_)}catch(e){t=e,method_manager_1.default.callMethodInternal("insertErrorLog","Schema Failed on updateDocument - "+l,[t,_])}if(t)console.log(t),c("Schema Errors");else{index_1.getSupportDB().model(index_1.getSupportDB().model(l).versionCollection).create(o).then(function(e){index_1.getSupportDB().model(index_1.getSupportDB().model(l).versionCollection).deleteMany({$and:[{"_id._id":d._id},{"_id.__v":{$lte:d.__v-4}}]}).exec()},function(e){console.log(e)});var n=common_1.getMongoUpdates(d,_,!0);n?index_1.getSupportDB().model(l).updateOne({_id:_._id},n,{strict:!1}).exec().then(function(e){r(e.nModified)},function(e){return c(e)}):r(1),common_1.getBinarySize(JSON.stringify(_))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document",message:"User: "+i.user+", Collection Type: "+l,payload:_,method:"updateDocument",user:i.user,messageId:""}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document",message:"User: "+i.user+", Collection Type: "+l,payload:"Too Big",method:"updateDocument",user:i.user,messageId:""})}}else console.log("invalid version - "+l,d.__v,_.__v),index_1.getSupportDB().model(index_1.getSupportDB().model(l).versionCollection).findOne({$and:[{"_id._id":d._id},{"_id.__v":_.__v}]}).lean().exec(function(e,o){var t=d._id;if(o){var n=common_1.deepCopy(d);n._id={_id:d._id,__v:d.__v};var i=common_1.getMongoMergeUpdatedDoc(_,d,o);i._id=t,i.__v++,index_1.getSupportDB().model(l).replaceOne({_id:t},i).exec().then(function(o){index_1.getSupportDB().model(index_1.getSupportDB().model(l).versionCollection).create(n).then(function(e){index_1.getSupportDB().model(index_1.getSupportDB().model(l).versionCollection).deleteMany({$and:[{"_id._id":n._id._id},{"_id.__v":{$lte:n._id.__v-4}}]}).exec(),r(o.nModified)})},function(e){return c(e)})}else c("Invalid Version And Could Not Find History - DB: "+d.__v+", Trying to update with :"+_.__v)});else c(e)})})}},updateDocumentProps:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String},updateParams:{type:Array},"updateParams.$":{type:Object,blackbox:!0},doc__v:{type:Number}}),function:function(_,i,a,s){var p=this;return new Promise(function(c,l){index_1.getSupportDB().model(_).findOne({_id:i}).lean().exec(function(e,d){if(d){var r=common_1.deepCopy(d);if(a.forEach(function(e){r[e.prop]=e.data}),r.__v===s){var o=common_1.deepCopy(d);o._id={_id:d._id,__v:d.__v};var t=null;try{index_1.getSupportDB().model(_).simplschema.validate(r)}catch(e){t=e,method_manager_1.default.callMethodInternal("insertErrorLog","Schema Failed on updateDocumentProps - "+_,[t,r])}if(t)console.log(t),l("Schema Errors");else{index_1.getSupportDB().model(index_1.getSupportDB().model(_).versionCollection).create(o).then(function(e){index_1.getSupportDB().model(index_1.getSupportDB().model(_).versionCollection).deleteMany({$and:[{"_id._id":d._id},{"_id.__v":{$lte:d.__v-4}}]}).exec()},function(e){console.log(e)});var n=common_1.getMongoUpdates(d,r,!0);n?index_1.getSupportDB().model(_).updateOne({_id:r._id},n,{strict:!1}).exec().then(function(e){c(e.ok)},function(e){return l(e)}):c(1),common_1.getBinarySize(JSON.stringify(a))<2e5?log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document Props",message:"User: "+p.user+", Collection Type: "+_+", Id: "+i+", Version: "+s,payload:a,method:"updateDocumentProps",user:p.user,messageId:""}):log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Update Document Props",message:"User: "+p.user+", Collection Type: "+_+", Id: "+i+", Version: "+s,payload:"Too Big",method:"updateDocumentProps",user:p.user,messageId:""})}}else console.log("invalid version - "+_,d.__v,s),index_1.getSupportDB().model(index_1.getSupportDB().model(_).versionCollection).findOne({$and:[{"_id._id":d._id},{"_id.__v":s}]}).lean().exec(function(e,o){var t=d._id;if(o){var n=common_1.deepCopy(d);n._id={_id:d._id,__v:d.__v};var i=common_1.getMongoMergeUpdatedDoc(r,d,o);i._id=t,i.__v++,index_1.getSupportDB().model(_).replaceOne({_id:t},i).exec().then(function(e){index_1.getSupportDB().model(index_1.getSupportDB().model(_).versionCollection).create(n).then(function(e){index_1.getSupportDB().model(index_1.getSupportDB().model(_).versionCollection).deleteMany({$and:[{"_id._id":n._id._id},{"_id.__v":{$lte:n._id.__v-4}}]}).exec()},function(e){console.log(e)}),c(e.nModified)},function(e){return l(e)})}else l("Invalid Version And Could Not Find History Props - DB: "+d.__v+", Trying to update with :"+r.__v)})}else l(e)})})}},removeDocument:{check:new simpl_schema_1.default({collection:{type:String},doc_id:{type:String}}),function:function(e,o){var i=this;return new Promise(function(t,n){log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Remove Document",message:"User: "+i.user+", Collection Type: "+e,payload:{_id:o},method:"removeDocument",user:i.user,messageId:""}),index_1.getSupportDB().model(e).deleteOne({_id:o}).exec(function(e,o){e?n(e):t(o.ok)})})}},removeDocumentWithQuery:{check:new simpl_schema_1.default({collection:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,o){var i=this;return new Promise(function(t,n){log_collection_1.Logs.create({_id:mongoose_1.Types.ObjectId().toHexString(),date:new Date,type:"info",title:"Remove Document (Query)",message:"User: "+i.user+", Collection Type: "+e,payload:{_id:o},method:"removeDocumentWithQuery",user:i.user,messageId:""}),index_1.getSupportDB().model(e).deleteOne(o).exec(function(e,o){e?n(e):t(o.ok)})})}}})}exports.loadSupportCollectionMethods=loadSupportCollectionMethods;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var __awaiter=this&&this.__awaiter||function(c,i,u,a){return new(u||(u=Promise))(function(e,t){function n(e){try{r(a.next(e))}catch(e){t(e)}}function o(e){try{r(a.throw(e))}catch(e){t(e)}}function r(t){t.done?e(t.value):new u(function(e){e(t.value)}).then(n,o)}r((a=a.apply(c,i||[])).next())})},__generator=this&&this.__generator||function(n,o){var r,c,i,e,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return e={next:t(0),throw:t(1),return:t(2)},"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(r)throw new TypeError("Generator is already executing.");for(;u;)try{if(r=1,c&&(i=2&t[0]?c.return:t[0]?c.throw||((i=c.return)&&i.call(c),0):c.next)&&!(i=i.call(c,t[1])).done)return i;switch(c=0,i&&(t=[2&t[0],i.value]),t[0]){case 0:case 1:i=t;break;case 4:return u.label++,{value:t[1],done:!1};case 5:u.label++,c=t[1],t=[0];continue;case 7:t=u.ops.pop(),u.trys.pop();continue;default:if(!(i=0<(i=u.trys).length&&i[i.length-1])&&(6===t[0]||2===t[0])){u=0;continue}if(3===t[0]&&(!i||t[1]>i[0]&&t[1]<i[3])){u.label=t[1];break}if(6===t[0]&&u.label<i[1]){u.label=i[1],i=t;break}if(i&&u.label<i[2]){u.label=i[2],u.ops.push(t);break}i[2]&&u.ops.pop(),u.trys.pop();continue}t=o.call(n,u)}catch(e){t=[6,e],c=0}finally{r=i=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}};Object.defineProperty(exports,"__esModule",{value:!0});var mongoose_1=require("mongoose"),counter_collection_1=require("../collections/counter.collection"),simpl_schema_1=require("simpl-schema"),support_manager_1=require("../managers/support.manager"),index_1=require("../index");function loadCounterMethods(){support_manager_1.default.supportMethods({incCounter:{check:new simpl_schema_1.default({counterType:{type:String}}),function:function(o){var t=this;return new Promise(function(n,e){return __awaiter(t,void 0,void 0,function(){var t;return __generator(this,function(e){switch(e.label){case 0:return[4,counter_collection_1.SupportCounters.findOne({type:o})];case 1:return e.sent()?[3,2]:(counter_collection_1.SupportCounters.create({_id:mongoose_1.Types.ObjectId().toHexString(),count:2,type:o}),n(1),[3,4]);case 2:return[4,counter_collection_1.SupportCounters.findOneAndUpdate({type:o},{$inc:{count:1}}).exec()];case 3:t=e.sent(),n(t.count),e.label=4;case 4:return[2]}})})})}},countCollectionWithQuery:{check:new simpl_schema_1.default({collectionType:{type:String},query:{type:Object,blackbox:!0}}),function:function(e,t){return index_1.getSupportDB().model(e).collection.countDocuments(t)}},countQuery:{check:new simpl_schema_1.default({collectionType:{type:String},search:{type:String,optional:!0},filters:simpl_schema_1.default.oneOf({type:Array,optional:!0},{type:Object,blackbox:!0,optional:!0}),"filters.$":{type:Object,optional:!0,blackbox:!0},subType:{type:String,optional:!0}}),function:function(e,t,n){void 0===t&&(t=""),void 0===n&&(n=[]);var o={};if(t||n&&n.length){if(n&&n.length&&(o.$and=[],n.forEach(function(e){var t;o.$and.push(((t={})[e.prop]=e.data,t))})),t&&"support-tickets"===e){var r={$regex:".*"+(t||"")+".*",$options:"i"};o.$and?o.$and.push({$or:[{support_ticket_number_string:r},{date_created_string:r},{status:r},{user_created:r}]}):o={$or:[{support_ticket_number_string:r},{date_created_string:r},{status:r},{user_created:r}]}}}else o={};return index_1.getSupportDB().model(e).collection.countDocuments(o)}},countCollection:{check:new simpl_schema_1.default({collectionType:{type:String}}),function:function(e){return index_1.getSupportDB().model(e).collection.countDocuments()}}})}exports.loadCounterMethods=loadCounterMethods;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var simpl_schema_1=require("simpl-schema"),support_manager_1=require("../managers/support.manager"),support_ticket_collection_1=require("../collections/support-ticket.collection");function loadSupportMethods(){support_manager_1.default.supportMethods({testSupportMethods:{check:new simpl_schema_1.default({test:{type:String}}),function:function(e){return support_ticket_collection_1.SupportTickets.findOne({}).exec()}}})}exports.loadSupportMethods=loadSupportMethods;
|
package/util/common.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var rusDiff=require("rus-diff"),deepDiff=require("deep-diff").diff;function deepCopy(e){return JSON.parse(JSON.stringify(e),dateReviver)}function dateReviver(e,t){if("string"==typeof t){var r=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(t);if(r)return new Date(Date.UTC(+r[1],+r[2]-1,+r[3],+r[4],+r[5],+r[6].split(".")[0],+r[6].split(".")[1]))}return t}function getMongoUpdates(e,t,r){e.createdAt&&(t.createdAt=e.createdAt),e.updatedAt&&(t.updatedAt=e.updatedAt);var n=rusDiff.diff(e,t);return n?(n.$set&&!Object.keys(n.$set).length&&delete n.$set,r&&(n.$inc={__v:1})):r&&(n={$inc:{__v:1}}),n}function getMongoMergeUpdatedDoc(e,t,r){var n=deepCopy(r);n.__v=t.__v;var i=getDeepDiff(r,t);return applyMongoUpdate(n,mergeUpdates(getDeepDiff(r,e),i)),n}function mergeUpdates(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n={$set:{},$unset:{},$inc:{},$push:{},$pull:{}};return e.filter(function(e){return e}).forEach(function(e){e.forEach(function(t){for(var e=t.path[0],r=1;r<t.path.length;r++)e+="."+t.path[r];"E"===t.kind?"number"==typeof t.rhs&&e.endsWith("quantity")?n.$inc[e]?n.$inc[e]+=t.rhs-t.lhs:n.$inc[e]=t.rhs-t.lhs:n.$set[e]=t.rhs:"A"===t.kind&&("N"===t.item.kind?n.$push[e]&&JSON.stringify(n.$push[e])===JSON.stringify(t.item.rhs)||(n.$push[e]||(n.$push[e]=[]),n.$push[e].filter(function(e){return JSON.stringify(e)===JSON.stringify(t.item.rhs)}).length||n.$push[e].push(t.item.rhs)):"D"===t.item.kind?n.$pull[e]&&JSON.stringify(n.$pull[e])===JSON.stringify(t.item.lhs)||(n.$pull[e]||(n.$pull[e]=[]),n.$pull[e].filter(function(e){return JSON.stringify(e)===JSON.stringify(t.item.lhs)}).length||n.$pull[e].push(t.item.lhs)):"E"===t.item.kind&&console.log("Condition E not satisfied."))})}),n}function getDeepDiff(e,t){return delete e._id,delete e.__v,e.updatedAt&&delete e.updatedAt,e.createdAt&&delete e.createdAt,delete t._id,delete t.__v,t.updatedAt&&delete t.updatedAt,t.createdAt&&delete t.createdAt,deepDiff(e,t)}function applyMongoUpdate(e,t){var r,n,i,o,l,f,u,s,d,p,a,c,g,h,v,$,y,D,m,w,A,S,_,U,M,O,N,E;if(r=deepCopy(e),null!=t){if(null!=t.$rename)for(n in c=t.$rename){if(E=c[n],p=(g=resolve(e,n))[0],f=g[1],a=(h=resolve(e,E))[0],u=h[1],null==p||1!==f.length)throw new Error(p+"/"+f+" - couldn't resolve second for "+e+" "+n);if(null==a||1!==u.length)throw new Error(a+"/"+u+" - couldn't resolve first for "+e+" "+E);a[u[0]]=p[f[0]],delete p[f[0]]}if(null!=t.$set)for(n in v=t.$set){if(E=v[n],d=($=resolve(e,n,{force:!0}))[0],l=$[1],null==d||1!==l.length)throw new Error(d+"/"+l+" - couldn't set for "+e+" "+n);d[l[0]]=E}if(null!=t.$inc)for(n in y=t.$inc){if(E=y[n],d=(D=resolve(e,n,{force:!0}))[0],l=D[1],null==d||1!==l.length)throw new Error(d+"/"+l+" - couldn't set for "+e+" "+n);null==d[s=l[0]]&&(d[s]=0),d[l[0]]+=E}if(null!=t.$unset)for(n in m=t.$unset){if(E=m[n],d=(w=resolve(e,n))[0],l=w[1],null==d||1!==l.length)throw new Error(d+"/"+l+" - couldn't unset for "+e+" "+n);delete d[l[0]]}if(null!=t.$pull)for(i in A=t.$pull)for(var J=(S=A[i]).length-1;0<=J;J--){if(o=S[J],d=(_=resolve(e,i))[0],l=_[1],a=(U=resolve(r,i))[0],u=U[1],null==d||1!==l.length)throw new Error(d+"/"+l+" - couldn't unset for "+e+" "+i);d[l[0]].splice(a[u[0]].findIndex(function(e){return JSON.stringify(e)===JSON.stringify(o)}),1)}if(null!=t.$push)for(i in M=t.$push)for(J=(O=M[i]).length-1;0<=J;J--){if(o=O[J],d=(N=resolve(e,i))[0],l=N[1],null==d||1!==l.length)throw new Error(d+"/"+l+" - couldn't unset for "+e+" "+i);d[l[0]].push(o)}}return e}function resolve(e,t,r){var n,i,o,l;if(null==r&&(r={}),o=[],0<(l=arrize(t)).length&&o.unshift(l.pop()),null!==(n=e))for(;void 0!==(i=l.shift());){if(void 0===n[i]){l.unshift(i);break}n=n[i]}if(r.force)for(;void 0!==(i=l.shift());)"number"==typeof l[0]||0===l.length&&"number"==typeof o[0]?n[i]=[]:n[i]={},n=n[i];else for(;void 0!==(i=l.pop());)o.unshift(i);return[n,o]}function arrize(e,t){return null==t&&(t="."),function(){if(Array.isArray(e))return e.slice(0);switch(e){case void 0:case null:case!1:case"":return[];default:return e.toString().split(t)}}().map(function(e){switch(e){case void 0:case null:case!1:case"":return null;default:return e.toString()}}).filter(function(e){return null!=e})}function getBinarySize(e){return e?Buffer.byteLength(e,"utf8"):0}exports.deepCopy=deepCopy,exports.dateReviver=dateReviver,exports.getMongoUpdates=getMongoUpdates,exports.getMongoMergeUpdatedDoc=getMongoMergeUpdatedDoc,exports.mergeUpdates=mergeUpdates,exports.getDeepDiff=getDeepDiff,exports.applyMongoUpdate=applyMongoUpdate,exports.getBinarySize=getBinarySize;
|