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.6 to 0.1.0

docker-compose.yml

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.6"),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.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,s=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=s.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=s.return)&&n.call(s)}finally{if(a)throw a.error}}return i},a=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 s=a(n(0));t.throwError=function(e,t,n){var r=e+" - "+t;throw s.default.error(r),n?new n(r):new Error(r)},t.validateParams=function(e,t){var n,a=function(t){var n=e+' - Paramater "'+t+'" is required';throw s.default.error(n),new Error(n)},i=function(t,n,r){var a=e+' - Paramater "'+t+'" expected type "'+r+'" but got "'+n+'"';throw s.default.error(a),new Error(a)};for(var u in t){var o=r(t[u],3),c=o[0],d=o[1],l=void 0===d?"any":d,f=o[2],m=void 0===f||f;if(null!=c&&""!==c){if("any"!==l){var p=typeof c;if("string"!==l){if("number"!==l){if("array"!==l){if("blob"!==l){if("boolean"!==l){if("object"!==l){if("function"!==l);else if(!(n=c)||"[object Function]"!=={}.toString.call(n))return i(u,p,l)}else if("object"!==p)return i(u,p,l)}else if("boolean"!==p)return i(u,p,l)}else if(!(c instanceof Blob))return i(u,p,l)}else if(!Array.isArray(c))return i(u,p,l)}else if("number"!==p)return i(u,p,l)}else if("string"!==p)return i(u,p,l)}}else if(m)return a(u)}}},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=4)}([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}),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)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.setupLogger=t.LogLevels=t.Tags=void 0;var o=i(n(2)),s=n(6);!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 u=o.default.createLogger({format:o.format.combine(o.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,n){e===t.LogLevels.NONE?u.silent=!0:(s.addConsoleTransport(u,e),n&&n.length&&s.addTransports(u,n))},t.default=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getQuery=t.toUnixTimestampSelector=t.toUnixTimestamp=t.camelToSnake=t.keysToCamel=t.valueIn=t.getFilterQuery=t.whereAnd=t.Command=void 0,function(e){e.Insert="INSERT",e.Update="UPDATE",e.Delete="DELETE"}(t.Command||(t.Command={})),t.whereAnd=function(e){var t=e.filter((function(e){return!!e}));return t.reduce((function(e,n,r){return e+" "+n+" "+(r===t.length-1?"":"AND")}),"WHERE ")},t.getFilterQuery=function(e){return[e.createdBefore&&t.toUnixTimestampSelector("created_at")+" < "+e.createdBefore,e.createdAfter&&t.toUnixTimestampSelector("created_at")+" > "+e.createdAfter,e.updatedBefore&&t.toUnixTimestampSelector("updated_at")+" < "+e.updatedBefore,e.updatedAfter&&t.toUnixTimestampSelector("updated_at")+" > "+e.updatedAfter]},t.valueIn=function(e,t){return e+" IN ("+t.reduce((function(e,n,r){var a=r===t.length-1?"":",";return"string"==typeof n?e+"'"+n+"'"+a:e+""+n+a}),"")+")"};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.toUnixTimestampSelector=function(e){return"EXTRACT(epoch FROM date_trunc('milliseconds', "+e+")) * 1000"},t.getQuery=function(e){var n=e.type,r=e.id,a=e.table,i=e.params,o=Object.keys(i),s=[],u=[],c=[],d=[],l=1;o.forEach((function(e){var r=i[e];if(void 0!==r){if("createdAt"===e||"updatedAt"===e||"lastRead"===e||"annotationCreatedAt"===e){var a=new Date(r);d.push(a.toISOString())}else d.push(r);s.push(t.camelToSnake(e)),"INSERT"===n&&c.push("$"+l),u.push(t.camelToSnake(e)+" = $"+l),l+=1}}));var f=null,m=s.map((function(e){return"created_at"===e||"updated_at"===e||"last_read"===e||"annotation_created_at"===e?t.toUnixTimestamp(e):e}));switch(n){case"INSERT":f="INSERT INTO "+a+" ("+s.join(", ")+") VALUES("+c.join(", ")+") RETURNING "+m.join(", ");break;case"UPDATE":f="UPDATE "+a+" SET "+u.join(", ")+" WHERE id = '"+r+"' RETURNING id, "+m.join(", ");break;case"DELETE":f="DELETE FROM "+a+" WHERE "+u.join(" AND ")+" RETURNING id"}return{text:f,values:d}}},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]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=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 i(t,e),t},s=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(a,i){function o(e){try{u(r.next(e))}catch(e){i(e)}}function s(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}u((r=r.apply(e,t||[])).next())}))},u=this&&this.__generator||function(e,t){var n,r,a,i,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(a=2&i[0]?r.return:i[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,i[1])).done)return a;switch(r=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==i[0]&&2!==i[0])){o=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){o.label=i[1];break}if(6===i[0]&&o.label<a[1]){o.label=a[1],a=i;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(i);break}a[2]&&o.ops.pop(),o.trys.pop();continue}i=t.call(e,o)}catch(e){i=[6,e],r=0}finally{n=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},c=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,i=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return o},d=this&&this.__spread||function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(c(arguments[t]));return e},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.UserTypes=void 0;var f=n(1),m=l(n(5)).default.Client,p=o(n(0)),v=n(7),h=n(1),y=n(3),b=function(){function e(e){var t=e.host,n=e.port,r=e.dbName,a=e.username,i=e.password,o=e.logLevel,s=e.logTransports;p.setupLogger(o,s),p.default.info("CollabPostgresDB version 0.1.0"),this.host=t,this.port=n,this.dbName=r,this.username=a,this.password=i,this.dbClient=new m({user:this.username,host:this.host,database:this.dbName,password:this.password,port:this.port}),this.server=null}return e.prototype.connectDB=function(){return s(this,void 0,void 0,(function(){var e;return u(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.dbClient.connect()];case 1:return t.sent(),p.default.info("--\x3e Database connected"),[2];case 2:return e=t.sent(),p.default.error("--\x3e Database connection error",{meta:e.stack}),[3,3];case 3:return[2]}}))}))},e.prototype.disconnectDB=function(){return s(this,void 0,void 0,(function(){var e;return u(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,this.dbClient.end()];case 1:return t.sent(),p.default.info("--\x3e Database disconnected"),[2];case 2:return e=t.sent(),p.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,r=t.text;return null===(n=t.values)||void 0===n||n.forEach((function(e,t){var n=new RegExp("\\$"+(t+1),"g");r=r.replace(n,e)})),p.default.debug("["+e+"]",{tag:p.Tags.QUERY,meta:r}),this.dbClient.query(t).then((function(t){var n=h.keysToCamel(t.rows);return p.default.debug("["+e+"]",{tag:p.Tags.RESPONSE,meta:JSON.stringify(n)}),n}))},e.prototype.getUser=function(e){return s(this,void 0,void 0,(function(){var t;return u(this,(function(n){switch(n.label){case 0:return v.validateParams("getUser(id)",{id:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+h.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 s(this,void 0,void 0,(function(){var t;return u(this,(function(n){switch(n.label){case 0:return v.validateParams("getUserByEmail(email)",{email:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+h.toUnixTimestamp("created_at")+", "+h.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 s(this,void 0,void 0,(function(){var t;return u(this,(function(n){switch(n.label){case 0:return v.validateParams("getUserByUsername(userName)",{userName:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, "+h.toUnixTimestamp("created_at")+", "+h.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 s(this,void 0,void 0,(function(){var t,n;return u(this,(function(r){switch(r.label){case 0:return v.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, "+h.toUnixTimestamp("created_at")+", "+h.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 s(this,void 0,void 0,(function(){var t,n,a,i;return u(this,(function(o){switch(o.label){case 0:return v.validateParams("createUser(user)",{user:[e,"object"],"user.email":[e.email,"string"],"user.password":[e.password,"string"],"user.userName":[e.userName,"string",!1]}),[4,this.server.generateId()];case 1:t=o.sent(),o.label=2;case 2:return o.trys.push([2,4,,5]),n=r({id:t,status:y.UserStatus.Active,type:y.UserTypes.Standard},e),a=h.getQuery({type:h.Command.Insert,table:"users",params:n}),[4,this.getQueryResponse("createUser",a)];case 3:return o.sent(),[2,n];case 4:return i=o.sent(),v.throwError("db.createUser","Fail to generate id: "+i),[3,5];case 5:return[2]}}))}))},e.prototype.editUser=function(e){return s(this,void 0,void 0,(function(){var t;return u(this,(function(n){switch(n.label){case 0:return v.validateParams("editUser(user)",{user:[e,"object"],"user.email":[e.email,"string"],"user.password":[e.password,"string",!1],"user.userName":[e.userName,"string",!1]}),t=h.getQuery({type:h.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 s(this,void 0,void 0,(function(){var t,n;return u(this,(function(a){switch(a.label){case 0:v.validateParams("deactivateUser(id)",{id:[e,"string"]}),t=h.getQuery({type:h.Command.Update,id:e,table:"users",params:{status:y.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, "+h.toUnixTimestamp("created_at")+", "+h.toUnixTimestamp("updated_at"),n="id, xfdf, author_id, document_id, page_number, in_reply_to, "+h.toUnixTimestamp("created_at")+", "+h.toUnixTimestamp("updated_at"),a="id, author_id, is_public, name, "+h.toUnixTimestamp("created_at")+", "+h.toUnixTimestamp("updated_at"),i="id, user_id, document_id, annotation_id, "+h.toUnixTimestamp("last_read")+", "+h.toUnixTimestamp("updated_at")+", "+h.toUnixTimestamp("created_at")+", "+h.toUnixTimestamp("annotation_created_at"),o="id, user_id, document_id, "+h.toUnixTimestamp("last_read")+", "+h.toUnixTimestamp("created_at");return{Query:{user:function(n){return s(e,void 0,void 0,(function(){var e;return u(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 s(e,void 0,void 0,(function(){var e;return u(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]}}))}))},annotations:function(t){return s(e,void 0,void 0,(function(){var e,r,a,i,o,s,c,l,m,p,v;return u(this,(function(u){switch(u.label){case 0:return e=t.ids,r=t.documentId,a=t.filters,i=void 0===a?{}:a,o=t.inReplyTo,s=t.pageNumbers,c=i.limit,l=i.orderBy,m=i.orderDirection,p="\n SELECT "+n+" \n FROM annotations\n "+f.whereAnd(d([e&&e.length&&f.valueIn("id",e),r&&"document_id = '"+r+"'",o&&"in_reply_to = '"+o+"'",s&&s.length&&f.valueIn("page_number",s)],f.getFilterQuery(i)))+"\n ",l&&(p+=" ORDER BY "+l+" "+m),c&&(p+=" LIMIT "+c),v={text:p},[4,this.getQueryResponse("Query.annotations",v)];case 1:return[2,u.sent()]}}))}))},documents:function(t){return s(e,void 0,void 0,(function(){var e,n,r,i,o,s,c,l,m;return u(this,(function(u){switch(u.label){case 0:return e=t.ids,n=t.userId,r=t.filters,o=(i=void 0===r?{}:r).limit,s=i.orderBy,c=i.orderDirection,l="\n SELECT "+a+" \n FROM documents\n "+f.whereAnd(d([e&&e.length&&f.valueIn("id",e),n&&"id in (SELECT document_id FROM document_members WHERE user_id = '"+n+"')"],f.getFilterQuery(i)))+"\n ",s&&(l+=" ORDER BY "+("createdAt"===s?"created_at":"updated_at")+" "+c),o&&(l+=" LIMIT "+o),m={text:l},[4,this.getQueryResponse("Query.annotations",m)];case 1:return[2,u.sent()]}}))}))},annotationMembers:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,s,c,l,m,p;return u(this,(function(u){switch(u.label){case 0:return e=t.annotationId,n=t.ids,r=t.userId,a=t.filters,s=(o=void 0===a?{}:a).limit,c=o.orderBy,l=o.orderDirection,m="\n SELECT "+i+"\n FROM annotation_members\n "+f.whereAnd(d([n&&n.length&&f.valueIn("id",n),e&&"annotation_id = '"+e+"'",r&&"user_id = '"+r+"'"],f.getFilterQuery(o)))+"\n ",c&&(m+=" ORDER BY "+c+" "+l),s&&(m+=" LIMIT "+s),p={text:m},[4,this.getQueryResponse("Query.annotationMembers",p)];case 1:return[2,u.sent()]}}))}))},documentMembers:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,i,s,c,l,m,p;return u(this,(function(u){switch(u.label){case 0:return e=t.documentId,n=t.userId,r=t.ids,a=t.filters,s=(i=void 0===a?{}:a).limit,c=i.orderBy,l=i.orderDirection,m="\n SELECT "+o+" \n FROM document_members \n "+f.whereAnd(d([r&&r.length&&f.valueIn("id",r),e&&"document_id = '"+e+"'",n&&"user_id = '"+n+"'"],f.getFilterQuery(i)))+"\n ",c&&(m+=" ORDER BY "+c+" "+l),s&&(m+=" LIMIT "+s),p={text:m},[4,this.getQueryResponse("Query.documentMembers",p)];case 1:return[2,u.sent()]}}))}))},annotationCount:function(t){return s(e,void 0,void 0,(function(){var e,n,r;return u(this,(function(a){switch(a.label){case 0:return e=t.since,n=t.documentId,r={text:"SELECT COUNT(DISTINCT id) FROM annotations WHERE document_id = $1 AND "+f.toUnixTimestampSelector("created_at")+" > $2",values:[n,e]},[4,this.getQueryResponse("Query.annotationCount",r)];case 1:return[2,a.sent()[0].count||0]}}))}))},annotationMemberCount:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a;return u(this,(function(i){switch(i.label){case 0:return e=t.userId,n=t.documentId,r=t.since,a={text:"SELECT COUNT(DISTINCT id) FROM annotation_members WHERE document_id = $1 AND user_id = $2 AND "+f.toUnixTimestampSelector("annotation_created_at")+" > $3",values:[n,e,r]},[4,this.getQueryResponse("Query.annotationMemberCount",a)];case 1:return[2,i.sent()[0].count||0]}}))}))}},Mutation:{addUser:function(t){return s(e,void 0,void 0,(function(){var e;return u(this,(function(n){switch(n.label){case 0:return e=h.getQuery({type:h.Command.Insert,table:"users",params:t}),[4,this.getQueryResponse("Mutation.addUser",e)];case 1:return[2,n.sent()[0]||null]}}))}))},addAnnotation:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,i,o,s,c,d;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=t.xfdf,r=t.documentId,a=t.pageNumber,i=t.createdAt,o=t.inReplyTo,s=t.authorId,c=t.updatedAt,d=h.getQuery({type:h.Command.Insert,table:"annotations",params:{id:e,xfdf:n,authorId:s,documentId:r,pageNumber:a,createdAt:i,inReplyTo:o,updatedAt:c}}),[4,this.getQueryResponse("Mutation.addAnnotation",d)];case 1:return[2,u.sent()[0]||null]}}))}))},editAnnotation:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a,i;return u(this,(function(o){switch(o.label){case 0:return e=n.xfdf,r=n.pageNumber,a=n.updatedAt,i=h.getQuery({type:h.Command.Update,id:t,table:"annotations",params:{xfdf:e,pageNumber:r,updatedAt:a}}),[4,this.getQueryResponse("Mutation.editAnnotation",i)];case 1:return[2,o.sent()[0]||null]}}))}))},deleteAnnotation:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=h.getQuery({type:h.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 s(e,void 0,void 0,(function(){var e,n,r,a,i,o,s;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=t.authorId,r=t.isPublic,a=t.name,i=t.createdAt,o=t.updatedAt,s=h.getQuery({type:h.Command.Insert,table:"documents",params:{id:e,authorId:n,isPublic:r,name:a,createdAt:i,updatedAt:o}}),[4,this.getQueryResponse("Mutation.addDocument",s)];case 1:return[2,u.sent()[0]||null]}}))}))},editDocument:function(t,n){return s(e,void 0,void 0,(function(){var e;return u(this,(function(r){switch(r.label){case 0:return e=h.getQuery({type:h.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 s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=h.getQuery({type:h.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 s(e,void 0,void 0,(function(){var e,n,r,a,i,o,s;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=t.userId,r=t.documentId,a=t.lastRead,i=t.createdAt,o=t.updatedAt,s=h.getQuery({type:h.Command.Insert,table:"document_members",params:{id:e,userId:n,documentId:r,lastRead:a,createdAt:i,updatedAt:o}}),[4,this.getQueryResponse("Mutation.addDocumentMember",s)];case 1:return[2,u.sent()[0]||null]}}))}))},editDocumentMember:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a;return u(this,(function(i){switch(i.label){case 0:return e=n.lastRead,r=n.updatedAt,a=h.getQuery({type:h.Command.Update,id:t,table:"document_members",params:{lastRead:e,updatedAt:r}}),[4,this.getQueryResponse("Mutation.editDocumentMember",a)];case 1:return[2,i.sent()[0]||null]}}))}))},deleteDocumentMember:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=h.getQuery({type:h.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 s(e,void 0,void 0,(function(){var e,n,r,a,i,o,s,c,d;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=t.userId,r=t.documentId,a=t.annotationId,i=t.lastRead,o=t.annotationCreatedAt,s=t.createdAt,c=t.updatedAt,d=h.getQuery({type:h.Command.Insert,table:"annotation_members",params:{id:e,userId:n,documentId:r,annotationId:a,lastRead:i,annotationCreatedAt:o,createdAt:s,updatedAt:c}}),[4,this.getQueryResponse("Mutation.addAnnotationMember",d)];case 1:return[2,u.sent()[0]||null]}}))}))},editAnnotationMember:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a;return u(this,(function(i){switch(i.label){case 0:return e=n.lastRead,r=n.updatedAt,a=h.getQuery({type:h.Command.Update,id:t,table:"annotation_members",params:{lastRead:e,updatedAt:r}}),[4,this.getQueryResponse("Mutation.editAnnotationMember",a)];case 1:return[2,i.sent()[0]||null]}}))}))},deleteAnnotationMember:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=h.getQuery({type:h.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=p.LogLevels,e}();t.default=b;var g=n(3);Object.defineProperty(t,"UserTypes",{enumerable:!0,get:function(){return g.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}),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)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.addTransports=t.addConsoleTransport=void 0;var o=i(n(2)),s=n(0);t.addConsoleTransport=function(e,t){void 0===t&&(t=s.LogLevels.INFO),e.add(new o.default.transports.Console({level:t,format:o.format.combine(o.format.colorize(),o.format.printf((function(e){var t=u(e.message),n=e.tag?" ["+e.tag+"]":"",r=u(e.meta);return e.timestamp+" "+e.level+n+":"+t+" "+r})),o.format.metadata({fillExcept:["message","level","timestamp","label"]}))}))},t.addTransports=function(e,t){t.forEach((function(t){return e.add(t)}))};var u=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.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,i=n.call(e),o=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)o.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(a)throw a.error}}return o},a=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 i=a(n(0));t.throwError=function(e,t,n){var r=e+" - "+t;throw i.default.error(r),n?new n(r):new Error(r)},t.validateParams=function(e,t){var n,a=function(t){var n=e+' - Paramater "'+t+'" is required';throw i.default.error(n),new Error(n)},o=function(t,n,r){var a=e+' - Paramater "'+t+'" expected type "'+r+'" but got "'+n+'"';throw i.default.error(a),new Error(a)};for(var s in t){var u=r(t[s],3),c=u[0],d=u[1],l=void 0===d?"any":d,f=u[2],m=void 0===f||f;if(null!=c&&""!==c){if("any"!==l){var p=typeof c;if("string"!==l){if("number"!==l){if("array"!==l){if("blob"!==l){if("boolean"!==l){if("object"!==l){if("function"!==l);else if(!(n=c)||"[object Function]"!=={}.toString.call(n))return o(s,p,l)}else if("object"!==p)return o(s,p,l)}else if("boolean"!==p)return o(s,p,l)}else if(!(c instanceof Blob))return o(s,p,l)}else if(!Array.isArray(c))return o(s,p,l)}else if("number"!==p)return o(s,p,l)}else if("string"!==p)return o(s,p,l)}}else if(m)return a(s)}}}]).default}));
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
transform: {
"\\.(gql|graphql)$": "./jest-transform-graphql"
},
setupFilesAfterEnv: ['./jest.setup.ts'],
globalSetup: './test.setup.ts',
globalTeardown: './test.teardown.ts'
};

@@ -6,11 +6,11 @@ {

"types": "dist/index.d.ts",
"version": "0.0.6",
"version": "0.1.0",
"scripts": {
"start-local-db": "node dist/scripts/start-local-db.js",
"init-db": "node dist/scripts/init-db.js",
"test": "jest --watch",
"test": "jest",
"api": "typedoc --out docs",
"compile-scripts": "rm -rf dist/scripts && tsc --outDir dist/scripts scripts/start-local-db.ts && tsc --outDir dist/scripts scripts/init-db.ts && cp scripts/init_database.sql dist/scripts/init_database.sql"
},
"author": "Jimmy Lin",
"author": "",
"license": "ISC",

@@ -21,7 +21,7 @@ "devDependencies": {

"@types/yargs": "^15.0.5",
"docker-compose": "^0.23.5",
"jest": "^26.1.0",
"nodemon": "^2.0.4",
"ts-jest": "^26.1.1",
"ts-node": "^8.10.2",
"typescript": "^3.9.6"
"ts-node": "^8.10.2"
},

@@ -33,3 +33,3 @@ "dependencies": {

},
"gitHead": "73d73d86c71cfe27feaa0b859c1cfb5bf3c5089f"
"gitHead": "3ae81985f16dd54544d318ddb3f442a42f44c0ea"
}

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

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