Socket
Socket
Sign inDemoInstall

@pdftron/collab-db-postgresql

Package Overview
Dependencies
64
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.1 to 0.0.2

dist/scripts/init_database.sql

2

dist/index.js

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CollabPostgres=t():e.CollabPostgres=t()}(global,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.setupLogger=t.LogLevels=t.Tags=void 0;var i=s(n(1)),u=n(5);!function(e){e.STANDARD="STANDARD",e.ENTITY="ENTITY",e.QUERY="QUERY",e.RESPONSE="RESPONSE"}(t.Tags||(t.Tags={})),t.LogLevels={ERROR:"error",WARN:"warn",INFO:"info",HTTP:"http",VERBOSE:"verbose",DEBUG:"debug",SILLY:"silly",NONE:"none"};var o=i.default.createLogger({format:i.format.combine(i.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,n){e===t.LogLevels.NONE?o.silent=!0:(u.addConsoleTransport(o,e),n&&n.length&&u.addTransports(o,n))},t.default=o},function(e,t){e.exports=require("winston")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QueryType=t.UserTypes=t.UserStatus=void 0,function(e){e.Active="ACTIVE",e.Inactive="INACTIVE"}(t.UserStatus||(t.UserStatus={})),function(e){e.Anonymous="ANONYMOUS",e.Standard="STANDARD"}(t.UserTypes||(t.UserTypes={})),function(e){e.Single="SINGLE",e.Multiple="MULTIPLE"}(t.QueryType||(t.QueryType={}))},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},a=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return s(t,e),t},u=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(a,s){function i(e){try{o(r.next(e))}catch(e){s(e)}}function u(e){try{o(r.throw(e))}catch(e){s(e)}}function o(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,u)}o((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,a,s,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function u(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UserTypes=void 0;var d=c(n(4)).default.Client,l=i(n(0)),f=n(6),m=n(7),p=n(2),v=function(){function e(e){var t=e.host,n=e.port,r=e.dbName,a=e.username,s=e.password,i=e.logLevel,u=e.logTransports;l.setupLogger(i,u),l.default.info("CollabPostgresDB version 0.0.1"),this.host=t,this.port=n,this.dbName=r,this.username=a,this.password=s,this.dbClient=new d({user:this.username,host:this.host,database:this.dbName,password:this.password,port:this.port}),this.server=null}return e.prototype.connectDB=function(){return u(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.dbClient.connect()];case 1:return t.sent(),l.default.info("--\x3e Database connected"),[2];case 2:return e=t.sent(),l.default.error("--\x3e Database connection error",{meta:e.stack}),[3,3];case 3:return[2]}}))}))},e.prototype.disconnectDB=function(){return u(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.dbClient.end()];case 1:return t.sent(),l.default.info("--\x3e Database disconnected"),[2];case 2:return e=t.sent(),l.default.error("--\x3e Database disconnection error",{meta:e.stack}),[3,3];case 3:return[2]}}))}))},e.prototype.setServer=function(e){this.server=e},e.prototype.getQueryResponse=function(e,t){var n=t.text;return t.values.forEach((function(e,t){var r=new RegExp("\\$"+(t+1),"g");n=n.replace(r,e)})),l.default.debug("["+e+"]",{tag:l.Tags.QUERY,meta:n}),this.dbClient.query(t).then((function(t){var n=m.keysToCamel(t.rows);return l.default.debug("["+e+"]",{tag:l.Tags.RESPONSE,meta:JSON.stringify(n)}),n}))},e.prototype.getUser=function(e){return u(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return f.validateParams("getUser(id)",{id:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+m.toUnixTimestamp("created_at")+" FROM users WHERE id = $1 LIMIT 1",values:[e]},[4,this.getQueryResponse("getUser",t)];case 1:return[2,n.sent()[0]||null]}}))}))},e.prototype.getUserByEmail=function(e){return u(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return f.validateParams("getUserByEmail(email)",{email:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at")+" FROM users WHERE email = $1 LIMIT 1",values:[e]},[4,this.getQueryResponse("getUserByEmail",t)];case 1:return[2,n.sent()[0]||null]}}))}))},e.prototype.getUserByUsername=function(e){return u(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return f.validateParams("getUserByUsername(userName)",{userName:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at")+" FROM users WHERE user_name = $1 LIMIT 1",values:[e]},[4,this.getQueryResponse("getUserByUsername",t)];case 1:return[2,n.sent()[0]||null]}}))}))},e.prototype.getUsers=function(e){return u(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return f.validateParams("getUsers(ids)",{ids:[e,"array"]}),t=e.map((function(e,t){return"$"+(t+1)})).join(","),n={text:"SELECT id, user_name, email, password, status, type, custom_data, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at")+" FROM users WHERE id in ("+t+")",values:e},[4,this.getQueryResponse("getUsers",n)];case 1:return[2,r.sent()]}}))}))},e.prototype.createUser=function(e){return u(this,void 0,void 0,(function(){var t,n,a,s;return o(this,(function(i){switch(i.label){case 0:return f.validateParams("createUser(user)",{user:[e,"object"]}),[4,this.server.generateId()];case 1:t=i.sent(),i.label=2;case 2:return i.trys.push([2,4,,5]),n=r({id:t,status:p.UserStatus.Active,type:p.UserTypes.Standard},e),a=m.getQuery({type:m.Command.Insert,table:"users",params:n}),[4,this.getQueryResponse("createUser",a)];case 3:return i.sent(),[2,n];case 4:return s=i.sent(),f.throwError("db.createUser","Fail to generate id: "+s),[3,5];case 5:return[2]}}))}))},e.prototype.editUser=function(e){return u(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return f.validateParams("editUser(user)",{user:[e,"object"]}),t=m.getQuery({type:m.Command.Update,id:e.id,table:"users",params:e}),[4,this.getQueryResponse("editUser",t)];case 1:return[2,n.sent()[0]||null]}}))}))},e.prototype.deactivateUser=function(e){return u(this,void 0,void 0,(function(){var t,n;return o(this,(function(a){switch(a.label){case 0:f.validateParams("deactivateUser(id)",{id:[e,"string"]}),t=m.getQuery({type:m.Command.Update,id:e,table:"users",params:{status:p.UserStatus.Inactive}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("deactivateUser",t)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:e,successful:!1}];case 4:return[2]}}))}))},e.prototype.getResolvers=function(){var e=this,t="id, user_name, email, type, custom_data, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at"),n="id, xfdf, author_id, document_id, page_number, in_reply_to, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at"),a="id, author_id, is_public, name, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at"),s="id, user_id, document_id, annotation_id, permission, "+m.toUnixTimestamp("last_read"),i="id, user_id, document_id, "+m.toUnixTimestamp("last_read");return{Query:{user:function(n){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e={text:"SELECT "+t+" FROM users WHERE id = $1 LIMIT 1",values:[n]},[4,this.getQueryResponse("Query.user",e)];case 1:return[2,r.sent()[0]||null]}}))}))},userWithEmail:function(n){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e={text:"SELECT "+t+" FROM users WHERE email = $1 LIMIT 1",values:[n]},[4,this.getQueryResponse("Query.userWithEmail",e)];case 1:return[2,r.sent()[0]||null]}}))}))},annotation:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e={text:"SELECT "+n+" FROM annotations WHERE id = $1 LIMIT 1",values:[t]},[4,this.getQueryResponse("Query.annotation",e)];case 1:return[2,r.sent()[0]||null]}}))}))},annotations:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e={text:"SELECT "+n+" FROM annotations WHERE document_id = $1",values:[t]},[4,this.getQueryResponse("Query.annotations",e)];case 1:return[2,r.sent()]}}))}))},annotationMember:function(t,n,r){return u(e,void 0,void 0,(function(){var e;return o(this,(function(a){switch(a.label){case 0:return e={text:"",values:[]},e=r?{text:"SELECT "+s+" FROM annotation_members WHERE id = $1",values:[r]}:{text:"SELECT "+s+" FROM annotation_members WHERE annotation_id = $1 AND user_id = $2",values:[t,n]},[4,this.getQueryResponse("Query.annotationMember",e)];case 1:return[2,a.sent()[0]||null]}}))}))},annotationMembers:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e={text:"SELECT "+s+" FROM annotation_members WHERE annotation_id = $1",values:[t]},[4,this.getQueryResponse("Query.annotationMembers",e)];case 1:return[2,n.sent()]}}))}))},document:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e={text:"SELECT "+a+" FROM documents WHERE id = $1 LIMIT 1",values:[t]},[4,this.getQueryResponse("Query.document",e)];case 1:return[2,n.sent()[0]||null]}}))}))},documentMember:function(t,n,r){return u(e,void 0,void 0,(function(){var e;return o(this,(function(a){switch(a.label){case 0:return e=r?{text:"SELECT "+i+" FROM document_members WHERE id = $1",values:[r]}:{text:"SELECT "+i+" FROM document_members WHERE document_id = $1 AND user_id = $2",values:[t,n]},[4,this.getQueryResponse("Query.documentMember",e)];case 1:return[2,a.sent()[0]||null]}}))}))},documentMembers:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e={text:"SELECT "+i+" FROM document_members WHERE document_id = $1",values:[t]},[4,this.getQueryResponse("Query.documentMembers",e)];case 1:return[2,n.sent()]}}))}))},userDocuments:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e={text:"SELECT "+a+" FROM documents WHERE id\n in (SELECT document_id FROM document_members WHERE user_id = $1)",values:[t]},[4,this.getQueryResponse("Query.userDocuments",e)];case 1:return[2,n.sent()]}}))}))}},Mutation:{addUser:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e=m.getQuery({type:m.Command.Insert,table:"users",params:t}),[4,this.getQueryResponse("Mutation.addUser",e)];case 1:return[2,n.sent()[0]||null]}}))}))},addAnnotation:function(t){return u(e,void 0,void 0,(function(){var e,n,r,a,s,i,u,c;return o(this,(function(o){switch(o.label){case 0:return e=t.id,n=t.xfdf,r=t.documentId,a=t.pageNumber,s=t.createdAt,i=t.inReplyTo,u=t.authorId,c=m.getQuery({type:m.Command.Insert,table:"annotations",params:{id:e,xfdf:n,authorId:u,documentId:r,pageNumber:a,createdAt:s,inReplyTo:i}}),[4,this.getQueryResponse("Mutation.addAnnotation",c)];case 1:return[2,o.sent()[0]||null]}}))}))},editAnnotation:function(t,n){return u(e,void 0,void 0,(function(){var e,r,a;return o(this,(function(s){switch(s.label){case 0:return e=n.xfdf,r=n.pageNumber,a=m.getQuery({type:m.Command.Update,id:t,table:"annotations",params:{xfdf:e,pageNumber:r}}),[4,this.getQueryResponse("Mutation.editAnnotation",a)];case 1:return[2,s.sent()[0]||null]}}))}))},deleteAnnotation:function(t){return u(e,void 0,void 0,(function(){var e,n;return o(this,(function(a){switch(a.label){case 0:e=m.getQuery({type:m.Command.Delete,table:"annotations",params:{id:t}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteAnnotation",e)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:t,successful:!1}];case 4:return[2]}}))}))},addDocument:function(t){return u(e,void 0,void 0,(function(){var e,n,r,a,s,i;return o(this,(function(u){switch(u.label){case 0:return e=t.id,n=t.authorId,r=t.isPublic,a=t.name,s=t.createdAt,i=m.getQuery({type:m.Command.Insert,table:"documents",params:{id:e,authorId:n,isPublic:r,name:a,createdAt:s}}),[4,this.getQueryResponse("Mutation.addDocument",i)];case 1:return[2,u.sent()[0]||null]}}))}))},editDocument:function(t,n){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e=m.getQuery({type:m.Command.Update,id:t,table:"documents",params:n}),[4,this.getQueryResponse("Mutation.editDocument",e)];case 1:return[2,r.sent()[0]||null]}}))}))},deleteDocument:function(t){return u(e,void 0,void 0,(function(){var e,n;return o(this,(function(a){switch(a.label){case 0:e=m.getQuery({type:m.Command.Delete,table:"documents",params:{id:t}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteDocument",e)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:t,successful:!1}];case 4:return[2]}}))}))},addDocumentMember:function(t){return u(e,void 0,void 0,(function(){var e,n,r,a,s;return o(this,(function(i){switch(i.label){case 0:return e=t.id,n=t.userId,r=t.documentId,a=t.lastRead,s=m.getQuery({type:m.Command.Insert,table:"document_members",params:{id:e,userId:n,documentId:r,lastRead:a}}),[4,this.getQueryResponse("Mutation.addDocumentMember",s)];case 1:return[2,i.sent()[0]||null]}}))}))},editDocumentMember:function(t,n){return u(e,void 0,void 0,(function(){var e,r;return o(this,(function(a){switch(a.label){case 0:return e=n.lastRead,r=m.getQuery({type:m.Command.Update,id:t,table:"document_members",params:{lastRead:e}}),[4,this.getQueryResponse("Mutation.editDocumentMember",r)];case 1:return[2,a.sent()[0]||null]}}))}))},deleteDocumentMember:function(t){return u(e,void 0,void 0,(function(){var e,n;return o(this,(function(a){switch(a.label){case 0:e=m.getQuery({type:m.Command.Delete,table:"document_members",params:{id:t}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteDocumentMember",e)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:t,successful:!1}];case 4:return[2]}}))}))},addAnnotationMember:function(t){return u(e,void 0,void 0,(function(){var e,n,r,a,s,i;return o(this,(function(u){switch(u.label){case 0:return e=t.id,n=t.userId,r=t.documentId,a=t.annotationId,s=t.lastRead,i=m.getQuery({type:m.Command.Insert,table:"annotation_members",params:{id:e,userId:n,documentId:r,annotationId:a,lastRead:s}}),[4,this.getQueryResponse("Mutation.addAnnotationMember",i)];case 1:return[2,u.sent()[0]||null]}}))}))},editAnnotationMember:function(t,n){return u(e,void 0,void 0,(function(){var e,r;return o(this,(function(a){switch(a.label){case 0:return e=n.lastRead,r=m.getQuery({type:m.Command.Update,id:t,table:"annotation_members",params:{lastRead:e}}),[4,this.getQueryResponse("Mutation.editAnnotationMember",r)];case 1:return[2,a.sent()[0]||null]}}))}))},deleteAnnotationMember:function(t){return u(e,void 0,void 0,(function(){var e,n;return o(this,(function(a){switch(a.label){case 0:e=m.getQuery({type:m.Command.Delete,table:"annotation_members",params:{id:t}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteAnnotationMember",e)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:t,successful:!1}];case 4:return[2]}}))}))}}}},e.LogLevels=l.LogLevels,e}();t.default=v;var h=n(2);Object.defineProperty(t,"UserTypes",{enumerable:!0,get:function(){return h.UserTypes}})},function(e,t){e.exports=require("pg")},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.addTransports=t.addConsoleTransport=void 0;var i=s(n(1)),u=n(0);t.addConsoleTransport=function(e,t){void 0===t&&(t=u.LogLevels.INFO),e.add(new i.default.transports.Console({level:t,format:i.format.combine(i.format.colorize(),i.format.printf((function(e){var t=o(e.message),n=e.tag?" ["+e.tag+"]":"",r=o(e.meta);return e.timestamp+" "+e.level+n+":"+t+" "+r})),i.format.metadata({fillExcept:["message","level","timestamp","label"]}))}))},t.addTransports=function(e,t){t.forEach((function(t){return e.add(t)}))};var o=function(e){var t=e||"";return"object"==typeof e&&null!==e&&(t=JSON.stringify(e,null,2)),t}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateParams=t.throwError=void 0;var a=r(n(0));t.throwError=function(e,t,n){var r=e+" - "+t;throw a.default.error(r),n?new n(r):new Error(r)},t.validateParams=function(e,t){var n,r=function(t){var n=e+' - Paramater "'+t+'" is required';throw a.default.error(n),new Error(n)},s=function(t,n,r){var s=e+' - Paramater "'+t+'" expected type "'+r+'" but got "'+n+'"';throw a.default.error(s),new Error(s)};for(var i in t){var u=t[i],o=u[0],c=u[1],d=void 0===c?"any":c,l=u[2],f=void 0===l||l;if(null!=o&&""!==o){if("any"!==d){var m=typeof o;if("string"!==d){if("number"!==d){if("array"!==d){if("blob"!==d){if("boolean"!==d){if("object"!==d){if("function"!==d);else if(!(n=o)||"[object Function]"!=={}.toString.call(n))return s(i,m,d)}else if("object"!==m)return s(i,m,d)}else if("boolean"!==m)return s(i,m,d)}else if(!(o instanceof Blob))return s(i,m,d)}else if(!Array.isArray(o))return s(i,m,d)}else if("number"!==m)return s(i,m,d)}else if("string"!==m)return s(i,m,d)}}else if(f)return r(i)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getQuery=t.toUnixTimestamp=t.camelToSnake=t.keysToCamel=t.Command=void 0,function(e){e.Insert="INSERT",e.Update="UPDATE",e.Delete="DELETE"}(t.Command||(t.Command={}));var r=function(e){return Array.isArray(e)},a=function(e){return e===Object(e)&&!r(e)&&"function"!=typeof e&&!function(e){return e instanceof Date}(e)};t.keysToCamel=function(e){if(a(e)){var n={};return Object.keys(e).forEach((function(r){var a;n[(a=r,a.replace(/([-_][a-z])/gi,(function(e){return e.toUpperCase().replace("-","").replace("_","")})))]=t.keysToCamel(e[r])})),n}return r(e)?e.map((function(e){return t.keysToCamel(e)})):e},t.camelToSnake=function(e){return e.replace(/[\w]([A-Z])/g,(function(e){return e[0]+"_"+e[1]})).toLowerCase()},t.toUnixTimestamp=function(e){return"EXTRACT(epoch FROM date_trunc('milliseconds', "+e+")) * 1000 AS "+e},t.getQuery=function(e){var n=e.type,r=e.id,a=e.table,s=e.params,i=Object.keys(s),u=[],o=[],c=[],d=[],l=1;i.forEach((function(e){var r=s[e];if(void 0!==r){if("createdAt"===e||"updatedAt"===e||"lastRead"===e){var a=new Date(r);d.push(a.toISOString())}else d.push(r);u.push(t.camelToSnake(e)),"INSERT"===n&&c.push("$"+l),o.push(t.camelToSnake(e)+" = $"+l),l+=1}}));var f=null,m=u.map((function(e){return"created_at"===e||"updated_at"===e||"last_read"===e?t.toUnixTimestamp(e):e}));switch(n){case"INSERT":f="INSERT INTO "+a+" ("+u.join(", ")+") VALUES("+c.join(", ")+") RETURNING "+m.join(", ");break;case"UPDATE":f="UPDATE "+a+" SET "+o.join(", ")+" WHERE id = '"+r+"' RETURNING id, "+m.join(", ");break;case"DELETE":f="DELETE FROM "+a+" WHERE "+o.join(" AND ")+" RETURNING id"}return{text:f,values:d}}}]).default}));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CollabPostgres=t():e.CollabPostgres=t()}(global,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.setupLogger=t.LogLevels=t.Tags=void 0;var i=s(n(1)),u=n(5);!function(e){e.STANDARD="STANDARD",e.ENTITY="ENTITY",e.QUERY="QUERY",e.RESPONSE="RESPONSE"}(t.Tags||(t.Tags={})),t.LogLevels={ERROR:"error",WARN:"warn",INFO:"info",HTTP:"http",VERBOSE:"verbose",DEBUG:"debug",SILLY:"silly",NONE:"none"};var o=i.default.createLogger({format:i.format.combine(i.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,n){e===t.LogLevels.NONE?o.silent=!0:(u.addConsoleTransport(o,e),n&&n.length&&u.addTransports(o,n))},t.default=o},function(e,t){e.exports=require("winston")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.QueryType=t.UserTypes=t.UserStatus=void 0,function(e){e.Active="ACTIVE",e.Inactive="INACTIVE"}(t.UserStatus||(t.UserStatus={})),function(e){e.Anonymous="ANONYMOUS",e.Standard="STANDARD"}(t.UserTypes||(t.UserTypes={})),function(e){e.Single="SINGLE",e.Multiple="MULTIPLE"}(t.QueryType||(t.QueryType={}))},function(e,t,n){"use strict";var r=this&&this.__assign||function(){return(r=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var a in t=arguments[n])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},a=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&a(t,e,n);return s(t,e),t},u=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(a,s){function i(e){try{o(r.next(e))}catch(e){s(e)}}function u(e){try{o(r.throw(e))}catch(e){s(e)}}function o(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,u)}o((r=r.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,r,a,s,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return s={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function u(s){return function(u){return function(s){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,r=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UserTypes=void 0;var d=c(n(4)).default.Client,l=i(n(0)),f=n(6),m=n(7),p=n(2),v=function(){function e(e){var t=e.host,n=e.port,r=e.dbName,a=e.username,s=e.password,i=e.logLevel,u=e.logTransports;l.setupLogger(i,u),l.default.info("CollabPostgresDB version 0.0.2"),this.host=t,this.port=n,this.dbName=r,this.username=a,this.password=s,this.dbClient=new d({user:this.username,host:this.host,database:this.dbName,password:this.password,port:this.port}),this.server=null}return e.prototype.connectDB=function(){return u(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.dbClient.connect()];case 1:return t.sent(),l.default.info("--\x3e Database connected"),[2];case 2:return e=t.sent(),l.default.error("--\x3e Database connection error",{meta:e.stack}),[3,3];case 3:return[2]}}))}))},e.prototype.disconnectDB=function(){return u(this,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.dbClient.end()];case 1:return t.sent(),l.default.info("--\x3e Database disconnected"),[2];case 2:return e=t.sent(),l.default.error("--\x3e Database disconnection error",{meta:e.stack}),[3,3];case 3:return[2]}}))}))},e.prototype.setServer=function(e){this.server=e},e.prototype.getQueryResponse=function(e,t){var n=t.text;return t.values.forEach((function(e,t){var r=new RegExp("\\$"+(t+1),"g");n=n.replace(r,e)})),l.default.debug("["+e+"]",{tag:l.Tags.QUERY,meta:n}),this.dbClient.query(t).then((function(t){var n=m.keysToCamel(t.rows);return l.default.debug("["+e+"]",{tag:l.Tags.RESPONSE,meta:JSON.stringify(n)}),n}))},e.prototype.getUser=function(e){return u(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return f.validateParams("getUser(id)",{id:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+m.toUnixTimestamp("created_at")+" FROM users WHERE id = $1 LIMIT 1",values:[e]},[4,this.getQueryResponse("getUser",t)];case 1:return[2,n.sent()[0]||null]}}))}))},e.prototype.getUserByEmail=function(e){return u(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return f.validateParams("getUserByEmail(email)",{email:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at")+" FROM users WHERE email = $1 LIMIT 1",values:[e]},[4,this.getQueryResponse("getUserByEmail",t)];case 1:return[2,n.sent()[0]||null]}}))}))},e.prototype.getUserByUsername=function(e){return u(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return f.validateParams("getUserByUsername(userName)",{userName:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at")+" FROM users WHERE user_name = $1 LIMIT 1",values:[e]},[4,this.getQueryResponse("getUserByUsername",t)];case 1:return[2,n.sent()[0]||null]}}))}))},e.prototype.getUsers=function(e){return u(this,void 0,void 0,(function(){var t,n;return o(this,(function(r){switch(r.label){case 0:return f.validateParams("getUsers(ids)",{ids:[e,"array"]}),t=e.map((function(e,t){return"$"+(t+1)})).join(","),n={text:"SELECT id, user_name, email, password, status, type, custom_data, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at")+" FROM users WHERE id in ("+t+")",values:e},[4,this.getQueryResponse("getUsers",n)];case 1:return[2,r.sent()]}}))}))},e.prototype.createUser=function(e){return u(this,void 0,void 0,(function(){var t,n,a,s;return o(this,(function(i){switch(i.label){case 0:return f.validateParams("createUser(user)",{user:[e,"object"]}),[4,this.server.generateId()];case 1:t=i.sent(),i.label=2;case 2:return i.trys.push([2,4,,5]),n=r({id:t,status:p.UserStatus.Active,type:p.UserTypes.Standard},e),a=m.getQuery({type:m.Command.Insert,table:"users",params:n}),[4,this.getQueryResponse("createUser",a)];case 3:return i.sent(),[2,n];case 4:return s=i.sent(),f.throwError("db.createUser","Fail to generate id: "+s),[3,5];case 5:return[2]}}))}))},e.prototype.editUser=function(e){return u(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return f.validateParams("editUser(user)",{user:[e,"object"]}),t=m.getQuery({type:m.Command.Update,id:e.id,table:"users",params:e}),[4,this.getQueryResponse("editUser",t)];case 1:return[2,n.sent()[0]||null]}}))}))},e.prototype.deactivateUser=function(e){return u(this,void 0,void 0,(function(){var t,n;return o(this,(function(a){switch(a.label){case 0:f.validateParams("deactivateUser(id)",{id:[e,"string"]}),t=m.getQuery({type:m.Command.Update,id:e,table:"users",params:{status:p.UserStatus.Inactive}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("deactivateUser",t)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:e,successful:!1}];case 4:return[2]}}))}))},e.prototype.getResolvers=function(){var e=this,t="id, user_name, email, type, custom_data, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at"),n="id, xfdf, author_id, document_id, page_number, in_reply_to, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at"),a="id, author_id, is_public, name, "+m.toUnixTimestamp("created_at")+", "+m.toUnixTimestamp("updated_at"),s="id, user_id, document_id, annotation_id, permission, "+m.toUnixTimestamp("last_read"),i="id, user_id, document_id, "+m.toUnixTimestamp("last_read");return{Query:{user:function(n){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e={text:"SELECT "+t+" FROM users WHERE id = $1 LIMIT 1",values:[n]},[4,this.getQueryResponse("Query.user",e)];case 1:return[2,r.sent()[0]||null]}}))}))},userWithEmail:function(n){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e={text:"SELECT "+t+" FROM users WHERE email = $1 LIMIT 1",values:[n]},[4,this.getQueryResponse("Query.userWithEmail",e)];case 1:return[2,r.sent()[0]||null]}}))}))},annotation:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e={text:"SELECT "+n+" FROM annotations WHERE id = $1 LIMIT 1",values:[t]},[4,this.getQueryResponse("Query.annotation",e)];case 1:return[2,r.sent()[0]||null]}}))}))},annotations:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e={text:"SELECT "+n+" FROM annotations WHERE document_id = $1",values:[t]},[4,this.getQueryResponse("Query.annotations",e)];case 1:return[2,r.sent()]}}))}))},annotationMember:function(t,n,r){return u(e,void 0,void 0,(function(){var e;return o(this,(function(a){switch(a.label){case 0:return e={text:"",values:[]},e=r?{text:"SELECT "+s+" FROM annotation_members WHERE id = $1",values:[r]}:{text:"SELECT "+s+" FROM annotation_members WHERE annotation_id = $1 AND user_id = $2",values:[t,n]},[4,this.getQueryResponse("Query.annotationMember",e)];case 1:return[2,a.sent()[0]||null]}}))}))},annotationMembers:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e={text:"SELECT "+s+" FROM annotation_members WHERE annotation_id = $1",values:[t]},[4,this.getQueryResponse("Query.annotationMembers",e)];case 1:return[2,n.sent()]}}))}))},document:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e={text:"SELECT "+a+" FROM documents WHERE id = $1 LIMIT 1",values:[t]},[4,this.getQueryResponse("Query.document",e)];case 1:return[2,n.sent()[0]||null]}}))}))},documentMember:function(t,n,r){return u(e,void 0,void 0,(function(){var e;return o(this,(function(a){switch(a.label){case 0:return e=r?{text:"SELECT "+i+" FROM document_members WHERE id = $1",values:[r]}:{text:"SELECT "+i+" FROM document_members WHERE document_id = $1 AND user_id = $2",values:[t,n]},[4,this.getQueryResponse("Query.documentMember",e)];case 1:return[2,a.sent()[0]||null]}}))}))},documentMembers:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e={text:"SELECT "+i+" FROM document_members WHERE document_id = $1",values:[t]},[4,this.getQueryResponse("Query.documentMembers",e)];case 1:return[2,n.sent()]}}))}))},userDocuments:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e={text:"SELECT "+a+" FROM documents WHERE id\n in (SELECT document_id FROM document_members WHERE user_id = $1)",values:[t]},[4,this.getQueryResponse("Query.userDocuments",e)];case 1:return[2,n.sent()]}}))}))}},Mutation:{addUser:function(t){return u(e,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return e=m.getQuery({type:m.Command.Insert,table:"users",params:t}),[4,this.getQueryResponse("Mutation.addUser",e)];case 1:return[2,n.sent()[0]||null]}}))}))},addAnnotation:function(t){return u(e,void 0,void 0,(function(){var e,n,r,a,s,i,u,c;return o(this,(function(o){switch(o.label){case 0:return e=t.id,n=t.xfdf,r=t.documentId,a=t.pageNumber,s=t.createdAt,i=t.inReplyTo,u=t.authorId,c=m.getQuery({type:m.Command.Insert,table:"annotations",params:{id:e,xfdf:n,authorId:u,documentId:r,pageNumber:a,createdAt:s,inReplyTo:i}}),[4,this.getQueryResponse("Mutation.addAnnotation",c)];case 1:return[2,o.sent()[0]||null]}}))}))},editAnnotation:function(t,n){return u(e,void 0,void 0,(function(){var e,r,a;return o(this,(function(s){switch(s.label){case 0:return e=n.xfdf,r=n.pageNumber,a=m.getQuery({type:m.Command.Update,id:t,table:"annotations",params:{xfdf:e,pageNumber:r}}),[4,this.getQueryResponse("Mutation.editAnnotation",a)];case 1:return[2,s.sent()[0]||null]}}))}))},deleteAnnotation:function(t){return u(e,void 0,void 0,(function(){var e,n;return o(this,(function(a){switch(a.label){case 0:e=m.getQuery({type:m.Command.Delete,table:"annotations",params:{id:t}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteAnnotation",e)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:t,successful:!1}];case 4:return[2]}}))}))},addDocument:function(t){return u(e,void 0,void 0,(function(){var e,n,r,a,s,i;return o(this,(function(u){switch(u.label){case 0:return e=t.id,n=t.authorId,r=t.isPublic,a=t.name,s=t.createdAt,i=m.getQuery({type:m.Command.Insert,table:"documents",params:{id:e,authorId:n,isPublic:r,name:a,createdAt:s}}),[4,this.getQueryResponse("Mutation.addDocument",i)];case 1:return[2,u.sent()[0]||null]}}))}))},editDocument:function(t,n){return u(e,void 0,void 0,(function(){var e;return o(this,(function(r){switch(r.label){case 0:return e=m.getQuery({type:m.Command.Update,id:t,table:"documents",params:n}),[4,this.getQueryResponse("Mutation.editDocument",e)];case 1:return[2,r.sent()[0]||null]}}))}))},deleteDocument:function(t){return u(e,void 0,void 0,(function(){var e,n;return o(this,(function(a){switch(a.label){case 0:e=m.getQuery({type:m.Command.Delete,table:"documents",params:{id:t}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteDocument",e)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:t,successful:!1}];case 4:return[2]}}))}))},addDocumentMember:function(t){return u(e,void 0,void 0,(function(){var e,n,r,a,s;return o(this,(function(i){switch(i.label){case 0:return e=t.id,n=t.userId,r=t.documentId,a=t.lastRead,s=m.getQuery({type:m.Command.Insert,table:"document_members",params:{id:e,userId:n,documentId:r,lastRead:a}}),[4,this.getQueryResponse("Mutation.addDocumentMember",s)];case 1:return[2,i.sent()[0]||null]}}))}))},editDocumentMember:function(t,n){return u(e,void 0,void 0,(function(){var e,r;return o(this,(function(a){switch(a.label){case 0:return e=n.lastRead,r=m.getQuery({type:m.Command.Update,id:t,table:"document_members",params:{lastRead:e}}),[4,this.getQueryResponse("Mutation.editDocumentMember",r)];case 1:return[2,a.sent()[0]||null]}}))}))},deleteDocumentMember:function(t){return u(e,void 0,void 0,(function(){var e,n;return o(this,(function(a){switch(a.label){case 0:e=m.getQuery({type:m.Command.Delete,table:"document_members",params:{id:t}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteDocumentMember",e)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:t,successful:!1}];case 4:return[2]}}))}))},addAnnotationMember:function(t){return u(e,void 0,void 0,(function(){var e,n,r,a,s,i;return o(this,(function(u){switch(u.label){case 0:return e=t.id,n=t.userId,r=t.documentId,a=t.annotationId,s=t.lastRead,i=m.getQuery({type:m.Command.Insert,table:"annotation_members",params:{id:e,userId:n,documentId:r,annotationId:a,lastRead:s}}),[4,this.getQueryResponse("Mutation.addAnnotationMember",i)];case 1:return[2,u.sent()[0]||null]}}))}))},editAnnotationMember:function(t,n){return u(e,void 0,void 0,(function(){var e,r;return o(this,(function(a){switch(a.label){case 0:return e=n.lastRead,r=m.getQuery({type:m.Command.Update,id:t,table:"annotation_members",params:{lastRead:e}}),[4,this.getQueryResponse("Mutation.editAnnotationMember",r)];case 1:return[2,a.sent()[0]||null]}}))}))},deleteAnnotationMember:function(t){return u(e,void 0,void 0,(function(){var e,n;return o(this,(function(a){switch(a.label){case 0:e=m.getQuery({type:m.Command.Delete,table:"annotation_members",params:{id:t}}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteAnnotationMember",e)];case 2:return n=a.sent(),[2,r(r({},n[0]),{successful:!0})];case 3:return a.sent(),[2,{id:t,successful:!1}];case 4:return[2]}}))}))}}}},e.LogLevels=l.LogLevels,e}();t.default=v;var h=n(2);Object.defineProperty(t,"UserTypes",{enumerable:!0,get:function(){return h.UserTypes}})},function(e,t){e.exports=require("pg")},function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.addTransports=t.addConsoleTransport=void 0;var i=s(n(1)),u=n(0);t.addConsoleTransport=function(e,t){void 0===t&&(t=u.LogLevels.INFO),e.add(new i.default.transports.Console({level:t,format:i.format.combine(i.format.colorize(),i.format.printf((function(e){var t=o(e.message),n=e.tag?" ["+e.tag+"]":"",r=o(e.meta);return e.timestamp+" "+e.level+n+":"+t+" "+r})),i.format.metadata({fillExcept:["message","level","timestamp","label"]}))}))},t.addTransports=function(e,t){t.forEach((function(t){return e.add(t)}))};var o=function(e){var t=e||"";return"object"==typeof e&&null!==e&&(t=JSON.stringify(e,null,2)),t}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateParams=t.throwError=void 0;var a=r(n(0));t.throwError=function(e,t,n){var r=e+" - "+t;throw a.default.error(r),n?new n(r):new Error(r)},t.validateParams=function(e,t){var n,r=function(t){var n=e+' - Paramater "'+t+'" is required';throw a.default.error(n),new Error(n)},s=function(t,n,r){var s=e+' - Paramater "'+t+'" expected type "'+r+'" but got "'+n+'"';throw a.default.error(s),new Error(s)};for(var i in t){var u=t[i],o=u[0],c=u[1],d=void 0===c?"any":c,l=u[2],f=void 0===l||l;if(null!=o&&""!==o){if("any"!==d){var m=typeof o;if("string"!==d){if("number"!==d){if("array"!==d){if("blob"!==d){if("boolean"!==d){if("object"!==d){if("function"!==d);else if(!(n=o)||"[object Function]"!=={}.toString.call(n))return s(i,m,d)}else if("object"!==m)return s(i,m,d)}else if("boolean"!==m)return s(i,m,d)}else if(!(o instanceof Blob))return s(i,m,d)}else if(!Array.isArray(o))return s(i,m,d)}else if("number"!==m)return s(i,m,d)}else if("string"!==m)return s(i,m,d)}}else if(f)return r(i)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getQuery=t.toUnixTimestamp=t.camelToSnake=t.keysToCamel=t.Command=void 0,function(e){e.Insert="INSERT",e.Update="UPDATE",e.Delete="DELETE"}(t.Command||(t.Command={}));var r=function(e){return Array.isArray(e)},a=function(e){return e===Object(e)&&!r(e)&&"function"!=typeof e&&!function(e){return e instanceof Date}(e)};t.keysToCamel=function(e){if(a(e)){var n={};return Object.keys(e).forEach((function(r){var a;n[(a=r,a.replace(/([-_][a-z])/gi,(function(e){return e.toUpperCase().replace("-","").replace("_","")})))]=t.keysToCamel(e[r])})),n}return r(e)?e.map((function(e){return t.keysToCamel(e)})):e},t.camelToSnake=function(e){return e.replace(/[\w]([A-Z])/g,(function(e){return e[0]+"_"+e[1]})).toLowerCase()},t.toUnixTimestamp=function(e){return"EXTRACT(epoch FROM date_trunc('milliseconds', "+e+")) * 1000 AS "+e},t.getQuery=function(e){var n=e.type,r=e.id,a=e.table,s=e.params,i=Object.keys(s),u=[],o=[],c=[],d=[],l=1;i.forEach((function(e){var r=s[e];if(void 0!==r){if("createdAt"===e||"updatedAt"===e||"lastRead"===e){var a=new Date(r);d.push(a.toISOString())}else d.push(r);u.push(t.camelToSnake(e)),"INSERT"===n&&c.push("$"+l),o.push(t.camelToSnake(e)+" = $"+l),l+=1}}));var f=null,m=u.map((function(e){return"created_at"===e||"updated_at"===e||"last_read"===e?t.toUnixTimestamp(e):e}));switch(n){case"INSERT":f="INSERT INTO "+a+" ("+u.join(", ")+") VALUES("+c.join(", ")+") RETURNING "+m.join(", ");break;case"UPDATE":f="UPDATE "+a+" SET "+o.join(", ")+" WHERE id = '"+r+"' RETURNING id, "+m.join(", ");break;case"DELETE":f="DELETE FROM "+a+" WHERE "+o.join(" AND ")+" RETURNING id"}return{text:f,values:d}}}]).default}));

@@ -6,3 +6,3 @@ {

"types": "dist/index.d.ts",
"version": "0.0.1",
"version": "0.0.2",
"scripts": {

@@ -32,3 +32,3 @@ "start-local-db": "node dist/scripts/start-local-db.js",

},
"gitHead": "b16c89b623f6e29001f16fa687736604ed643452"
"gitHead": "3229c235b105a877cc4d41457f1a921f9087c441"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc