Socket
Socket
Sign inDemoInstall

@pdftron/collab-db-postgresql

Package Overview
Dependencies
70
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.1.0-alpha.12 to 2.1.0

types/packages/collab-server/src/util/session.d.ts

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=7)}([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}),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)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.setupLogger=t.LogLevels=t.LogTags=void 0;var i,s=o(n(5)),u=n(10);!function(e){e.STANDARD="STANDARD",e.ENTITY="ENTITY",e.MUTATION="MUTATION",e.RESPONSE="RESPONSE",e.AUTH="AUTH",e.CACHE="CACHE",e.CONNECTED_USERS="CONNECTED_USERS",e.SCROLL_SYNC="SCROLL_SYNC",e.USERNAMES="USERNAMES",e.ANNOTATION_SYNC="ANNOTATION_SYNC",e.PERMISSIONS="PERMISSIONS",e.PERMISSION_CACHE="PERMISSION_CACHE",e.BATCH="BATCH",e.REAL_TIME="REAL_TIME",e.UNREAD="UNREAD",e.CLIENT="CLIENT",e.ANNOTATIONS="ANNOTATIONS"}(t.LogTags||(t.LogTags={})),function(e){e.ERROR="error",e.WARN="warn",e.INFO="info",e.HTTP="http",e.VERBOSE="verbose",e.DEBUG="debug",e.SILLY="silly",e.NONE="none"}(i=t.LogLevels||(t.LogLevels={}));var c=s.default.createLogger({format:s.format.combine(s.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,t,n){return e===i.NONE?c.silent=!0:((0,u.addConsoleTransport)(c,e,n),t&&t.length&&(0,u.addTransports)(c,t)),c},t.default=c},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.getQuery=t.toUnixTimestampSelector=t.camelToSnake=t.keysToCamel=t.valueIn=t.getFilterQuery=t.whereAnd=t.Command=void 0;var a,o=n(2),i=r(n(3)),s=n(4);!function(e){e.Insert="INSERT",e.Update="UPDATE",e.Delete="DELETE"}(a=t.Command||(t.Command={}));t.whereAnd=function(e){var t=e.filter((function(e){return!!e}));return t.reduce((function(e,n,r){var a=r===t.length-1;return"".concat(e," ").concat(n," ").concat(a?"":"AND")}),"WHERE ")};t.getFilterQuery=function(e){return[e.createdBefore&&"".concat((0,t.toUnixTimestampSelector)("created_at")," < ").concat(e.createdBefore),e.createdAfter&&"".concat((0,t.toUnixTimestampSelector)("created_at")," > ").concat(e.createdAfter),e.updatedBefore&&"".concat((0,t.toUnixTimestampSelector)("updated_at")," < ").concat(e.updatedBefore),e.updatedAfter&&"".concat((0,t.toUnixTimestampSelector)("updated_at")," > ").concat(e.updatedAfter)]};t.valueIn=function(e,t){return"".concat(e," IN (").concat(t.reduce((function(e,n,r){var a=r===t.length-1?"":",";return"string"==typeof n?e+"'".concat(n,"'").concat(a):e+"".concat(n).concat(a)}),""),")")};var u=function(e){return Array.isArray(e)},c=function(e){return e===Object(e)&&!u(e)&&"function"!=typeof e&&!function(e){return e instanceof Date}(e)};t.keysToCamel=function(e){if(c(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("_","")})))]=(0,t.keysToCamel)(e[r])})),n}return u(e)?e.map((function(e){return(0,t.keysToCamel)(e)})):e};t.camelToSnake=function(e){return e.replace(/[\w]([A-Z])/g,(function(e){return e[0]+"_"+e[1]})).toLowerCase()};t.toUnixTimestampSelector=function(e){return"EXTRACT(epoch FROM date_trunc('milliseconds', ".concat(e,")) * 1000")};t.getQuery=function(e){var n=e.type,r=e.id,u=e.table,c=e.params,d=e.dbClient;Array.isArray(c)||(c=[c]);var l=[],f=[],p=[];c.forEach((function(e){n!==a.Insert||e.id||(e.id=(0,o.generateId)());var r=[];f.push(r),Object.keys(e).forEach((function(n){var a=e[n];if(void 0!==a){if(s.TimestampProperties.includes(n))if(s.NowTimestampProperties.includes(n))a=i.default.getNow();else try{var o=new Date(a);a=d.escapeLiteral("".concat(o.toISOString()))}catch(e){throw new Error('Failed to parse date for "'.concat(n,'" - tried to convert ').concat(JSON.stringify(a)," to a date but could not."))}else a=null===a?"NULL":d.escapeLiteral("".concat(a));r.push(a);var u=(0,t.camelToSnake)(n);l.includes(u)||l.push(u),p.push("".concat((0,t.camelToSnake)(n)," = ").concat(a))}}))}));var m=null;switch(n){case"INSERT":var h=f.reduce((function(e,t,n){var r=t.join(", "),a=n===f.length-1;return e+"(".concat(r,")").concat(a?"":",")}),"");m="INSERT INTO ".concat(u," (").concat(l.join(", "),") VALUES ").concat(h," RETURNING *;");break;case"UPDATE":m="UPDATE ".concat(u," SET ").concat(p.join(", ")," WHERE id = '").concat(r,"' RETURNING *;");break;case"DELETE":m="DELETE FROM ".concat(u," WHERE ").concat(p.join(" AND ")," RETURNING id;")}return{text:m}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateId=t.setGenerator=void 0;var r=n(8),a=function(){return(0,r.v4)()};t.setGenerator=function(e){a=e};t.generateId=function(){return a()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.indicator="NOW",this._current=function(){return"CURRENT_TIMESTAMP"}}return e.prototype.set=function(e){this._current=e},e.prototype.getNow=function(){return this._current()},e}();t.default=new r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringIdProperties=t.NowTimestampProperties=t.TimestampProperties=void 0,t.TimestampProperties=["createdAt","updatedAt","lastRead","annotationCreatedAt"],t.NowTimestampProperties=["createdAt","updatedAt","lastRead"],t.StringIdProperties=["id","userId","snapshotId","authorId","documentId","annotationId"]},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]}),o=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 o(t,e),t},s=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(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(i,s)}u((r=r.apply(e,t||[])).next())}))},u=this&&this.__generator||function(e,t){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(a=2&o[0]?r.return:o[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,o[1])).done)return a;switch(r=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,r=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){i.label=o[1];break}if(6===o[0]&&i.label<a[1]){i.label=a[1],a=o;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(o);break}a[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(e,i)}catch(e){o=[6,e],r=0}finally{n=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},c=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i},d=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogTags=t.LogLevels=t.UserTypes=void 0;var f=n(1),p=l(n(9)).default.Client,m=i(n(0)),h=n(11),v=n(2),b=n(1),y=n(6),g=l(n(3)),_=n(4),I=function(){function e(e){var t=e.username,n=e.dbName,r=e.password,a=e.port,o=e.host,i=e.connectionString,s=e.ssl,u=e.statementTimeout,c=e.queryTimeout,d=void 0===c?5e3:c,l=e.idleInTransactionSessionTimeout,f=e.logLevel,h=e.logTransports,v=e.filterLogsByTag;Array.isArray(v)||(v=[v]),(0,m.setupLogger)(f,h,v),m.default.info("CollabPostgresDB version ".concat("2.1.0-alpha.12")),g.default.set((function(){return"NOW()"})),this.dbClient=new p({user:t,database:n,password:r,port:a,host:o,connectionString:i,ssl:s,statement_timeout:u,query_timeout:d,idle_in_transaction_session_timeout:l}),this.dbConnected=!1}return e.prototype.setServer=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];console.warn("collabDB.setServer() is no longer required. You may remove this function call from your code.")},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(),this.dbConnected=!0,m.default.info("--\x3e Database connected"),[2];case 2:return e=t.sent(),m.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(),this.dbConnected=!1,m.default.info("--\x3e Database disconnected"),[2];case 2:return e=t.sent(),m.default.error("--\x3e Database disconnection error",{meta:e.stack}),[3,3];case 3:return[2]}}))}))},e.prototype.getQueryResponse=function(e,t){return this.dbConnected||(0,h.throwError)("Database Query","Database not connected, please do db.connectDB() first."),this.dbClient.query(t).then((function(e){var t=(0,b.keysToCamel)(e.rows);return t.forEach((function(e){e.id&&(e.id="".concat(e.id)),e.authorId&&(e.authorId="".concat(e.authorId)),e.documentId&&(e.documentId="".concat(e.documentId)),e.userId&&(e.userId="".concat(e.userId)),e.annotationId&&(e.annotationId="".concat(e.annotationId)),e.inReplyTo&&(e.inReplyTo="".concat(e.inReplyTo)),Object.keys(e).forEach((function(t){_.TimestampProperties.includes(t)&&(e[t]=new Date(e[t]).getTime())}))})),t}))},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(0,h.validateParams)("getUser(id)",{id:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, created_at, updated_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(0,h.validateParams)("getUserByEmail(email)",{email:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, created_at, 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(0,h.validateParams)("getUserByUsername(userName)",{userName:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, created_at, 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(0,h.validateParams)("getUsers(ids)",{ids:[e,"array"]}),t=e.map((function(e,t){return"$".concat(t+1)})).join(","),n={text:"SELECT id, user_name, email, password, status, type, custom_data, created_at, updated_at FROM users WHERE id in (".concat(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,o,i;return u(this,(function(s){switch(s.label){case 0:(0,h.validateParams)("createUser(user)",{user:[e,"object"],"user.email":[e.email,"string"],"user.password":[e.password,"string"],"user.userName":[e.userName,"string",!1]}),t=Date.now(),n=(0,v.generateId)(),s.label=1;case 1:return s.trys.push([1,3,,4]),a=r({id:n,type:y.UserTypes.Standard,createdAt:t,updatedAt:t},e),o=(0,b.getQuery)({type:b.Command.Insert,table:"users",params:a,dbClient:this.dbClient}),[4,this.getQueryResponse("createUser",o)];case 2:return s.sent(),[2,a];case 3:return i=s.sent(),(0,h.throwError)("db.createUser","Fail to generate id: ".concat(i)),[3,4];case 4:return[2]}}))}))},e.prototype.editUser=function(e){return s(this,void 0,void 0,(function(){var t,n;return u(this,(function(a){switch(a.label){case 0:return(0,h.validateParams)("editUser(user)",{user:[e,"object"],"user.id":[e.id,"string"],"user.email":[e.email,"string",!1],"user.password":[e.password,"string",!1],"user.userName":[e.userName,"string",!1]}),t=Date.now(),n=(0,b.getQuery)({type:b.Command.Update,id:e.id,table:"users",dbClient:this.dbClient,params:r(r({},e),{updatedAt:e.updatedAt||t})}),[4,this.getQueryResponse("editUser",n)];case 1:return[2,a.sent()[0]||null]}}))}))},e.prototype.getResolvers=function(){var e=this,t="id, user_name, email, type, created_at, updated_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 ".concat(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 ".concat(t," FROM users WHERE email = $1 LIMIT 1"),values:[n]},[4,this.getQueryResponse("Query.userWithEmail",e)];case 1:return[2,r.sent()[0]||null]}}))}))},userByIdentifier: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 ".concat(t," FROM users WHERE email = $1 OR user_name = $1 LIMIT 1"),values:[n]},[4,this.getQueryResponse("Query.userByIdentifier",e)];case 1:return[2,r.sent()[0]||null]}}))}))},annotations:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h,v,y;return u(this,(function(u){switch(u.label){case 0:return e=t.ids,n=t.documentId,r=t.annotationIds,a=t.filters,o=void 0===a?{}:a,i=t.inReplyTo,s=t.pageNumbers,l=o.limit,p=o.orderBy,m=o.orderDirection,h=void 0===m?"DESC":m,v="\n SELECT ".concat("id, xfdf, annot_contents, author_id, annotation_id, document_id, page_number, in_reply_to, created_at, updated_at","\n FROM annotations\n ").concat((0,f.whereAnd)(d([e&&e.length&&(0,f.valueIn)("id",e),r&&r&&(0,f.valueIn)("annotation_id",r),n&&"document_id = '".concat(n,"'"),i&&"in_reply_to = '".concat(i,"'"),s&&s.length&&(0,f.valueIn)("page_number",s)],c((0,f.getFilterQuery)(o)),!1)),"\n "),p&&(v+=" ORDER BY ".concat((0,b.camelToSnake)(p)," ").concat(h)),l&&(v+=" LIMIT ".concat(l)),y={text:v},[4,this.getQueryResponse("Query.annotations",y)];case 1:return[2,u.sent()]}}))}))},documents:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h;return u(this,(function(u){switch(u.label){case 0:return e=t.ids,n=t.userId,r=t.filters,a=void 0===r?{}:r,o=t.isPublic,i=a.limit,s=a.orderBy,l=a.orderDirection,p=void 0===l?"DESC":l,m="\n SELECT ".concat("id, author_id, is_public, name, created_at, updated_at","\n FROM documents\n ").concat((0,f.whereAnd)(d([e&&e.length&&(0,f.valueIn)("id",e),o&&"is_public = true",n&&"id in (SELECT document_id FROM document_members WHERE user_id = '".concat(n,"')")],c((0,f.getFilterQuery)(a)),!1)),"\n "),s&&(m+=" ORDER BY ".concat((0,b.camelToSnake)(s)," ").concat(p)),i&&(m+=" LIMIT ".concat(i)),h={text:m},[4,this.getQueryResponse("Query.documents",h)];case 1:return[2,u.sent()]}}))}))},annotationMembers:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h,v;return u(this,(function(u){switch(u.label){case 0:return e=t.annotationId,n=t.ids,r=t.userId,a=t.filters,o=void 0===a?{}:a,i=t.documentId,s=o.limit,l=o.orderBy,p=o.orderDirection,m=void 0===p?"DESC":p,h="\n SELECT ".concat("id, user_id, document_id, annotation_id, last_read, updated_at, created_at, annotation_created_at","\n FROM annotation_members\n ").concat((0,f.whereAnd)(d([n&&n.length&&(0,f.valueIn)("id",n),e&&"annotation_id = '".concat(e,"'"),i&&"document_id = '".concat(i,"'"),r&&"user_id = '".concat(r,"'")],c((0,f.getFilterQuery)(o)),!1)),"\n "),l&&(h+=" ORDER BY ".concat((0,b.camelToSnake)(l)," ").concat(m)),s&&(h+=" LIMIT ".concat(s)),v={text:h},[4,this.getQueryResponse("Query.annotationMembers",v)];case 1:return[2,u.sent()]}}))}))},documentMembers:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h;return u(this,(function(u){switch(u.label){case 0:return e=t.documentId,n=t.userId,r=t.ids,a=t.filters,i=(o=void 0===a?{}:a).limit,s=o.orderBy,l=o.orderDirection,p=void 0===l?"DESC":l,m="\n SELECT ".concat("id, user_id, document_id, last_read, created_at, updated_at","\n FROM document_members\n ").concat((0,f.whereAnd)(d([r&&r.length&&(0,f.valueIn)("id",r),e&&"document_id = '".concat(e,"'"),n&&"user_id = '".concat(n,"'")],c((0,f.getFilterQuery)(o)),!1)),"\n "),s&&(m+=" ORDER BY ".concat((0,b.camelToSnake)(s)," ").concat(p)),i&&(m+=" LIMIT ".concat(i)),h={text:m},[4,this.getQueryResponse("Query.documentMembers",h)];case 1:return[2,u.sent()]}}))}))},mentions:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h;return u(this,(function(u){switch(u.label){case 0:return e=t.annotationId,n=t.userId,r=t.documentId,a=t.ids,o=t.filters,s=(i=void 0===o?{}:o).limit,l=i.orderBy,p=i.orderDirection,m="\n SELECT ".concat("id, user_id, annotation_id, document_id, created_at, updated_at","\n FROM mentions\n ").concat((0,f.whereAnd)(d([a&&a.length&&(0,f.valueIn)("id",a),r&&"document_id = '".concat(r,"'"),e&&"annotation_id = '".concat(e,"'"),n&&"user_id = '".concat(n,"'")],c((0,f.getFilterQuery)(i)),!1)),"\n "),l&&(m+=" ORDER BY ".concat((0,b.camelToSnake)(l)," ").concat(p)),s&&(m+=" LIMIT ".concat(s)),h={text:m},[4,this.getQueryResponse("Query.mentions",h)];case 1:return[2,u.sent()]}}))}))},annotationCount:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a;return u(this,(function(o){switch(o.label){case 0:return e=t.since,n=t.documentId,r={text:"SELECT COUNT(DISTINCT id) FROM annotations WHERE document_id = $1 AND ".concat((0,f.toUnixTimestampSelector)("created_at")," > $2 AND author_id IS NOT NULL"),values:[n,e]},[4,this.getQueryResponse("Query.annotationCount",r)];case 1:return a=o.sent(),[2,Number(a[0].count||0)]}}))}))},annotationMemberCount:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o;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 ".concat((0,f.toUnixTimestampSelector)("annotation_created_at")," > $3"),values:[n,e,r]},[4,this.getQueryResponse("Query.annotationMemberCount",a)];case 1:return o=i.sent(),[2,Number(o[0].count||0)]}}))}))},snapshots:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m;return u(this,(function(u){switch(u.label){case 0:return e=t.ids,n=t.documentId,r=t.filters,o=(a=void 0===r?{}:r).limit,i=a.orderBy,s=a.orderDirection,l=void 0===s?"DESC":s,p="\n SELECT ".concat("id, author_id, document_id, xfdf, name, created_at, updated_at","\n FROM snapshots\n ").concat((0,f.whereAnd)(d([e&&e.length&&(0,f.valueIn)("id",e),n&&"document_id = '".concat(n,"'")],c((0,f.getFilterQuery)(a)),!1)),"\n "),i&&(p+=" ORDER BY ".concat((0,b.camelToSnake)(i)," ").concat(l)),o&&(p+=" LIMIT ".concat(o)),m={text:p},[4,this.getQueryResponse("Query.snapshots",m)];case 1:return[2,u.sent()]}}))}))},snapshotAssets:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a;return u(this,(function(o){switch(o.label){case 0:return e=t.ids,n=t.snapshotId,r="\n SELECT ".concat("id, snapshot_id, data, created_at, updated_at","\n FROM snapshot_assets\n ").concat((0,f.whereAnd)([e&&e.length&&(0,f.valueIn)("id",e),n&&"snapshot_id = '".concat(n,"'")]),"\n "),a={text:r},[4,this.getQueryResponse("Query.snapshotAsset",a)];case 1:return[2,o.sent()]}}))}))}},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 t.id||(t.id=(0,v.generateId)()),e=(0,b.getQuery)({type:b.Command.Insert,table:"users",params:t,dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.addUser",e)];case 1:return[2,n.sent()[0]||null]}}))}))},batchAddAnnotations:function(t){return s(e,void 0,void 0,(function(){var e;return u(this,(function(n){switch(n.label){case 0:return e=(0,b.getQuery)({type:b.Command.Insert,table:"annotations",params:t,dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.addAnnotation",e)];case 1:return[2,n.sent()]}}))}))},addAnnotation:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,c,d,l,f,p;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.xfdf,a=t.annotationId,o=t.documentId,i=t.pageNumber,s=t.createdAt,c=t.inReplyTo,d=t.authorId,l=t.updatedAt,f=t.annotContents,p=(0,b.getQuery)({type:b.Command.Insert,table:"annotations",dbClient:this.dbClient,params:{id:n,xfdf:r,annotContents:f,authorId:d,annotationId:a,documentId:o,pageNumber:i,createdAt:s,inReplyTo:c,updatedAt:l}}),[4,this.getQueryResponse("Mutation.addAnnotation",p)];case 1:return[2,u.sent()[0]||null]}}))}))},editAnnotation:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a,o,i;return u(this,(function(s){switch(s.label){case 0:return e=n.xfdf,r=n.pageNumber,a=n.updatedAt,o=n.annotContents,i=(0,b.getQuery)({type:b.Command.Update,id:t,table:"annotations",params:{xfdf:e,annotContents:o,pageNumber:r,updatedAt:a},dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.editAnnotation",i)];case 1:return[2,s.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=(0,b.getQuery)({type:b.Command.Delete,table:"annotations",params:{id:t},dbClient:this.dbClient}),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,o,i,s,c;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.authorId,a=t.isPublic,o=t.name,i=t.createdAt,s=t.updatedAt,c=(0,b.getQuery)({type:b.Command.Insert,table:"documents",dbClient:this.dbClient,params:{id:n,authorId:r,isPublic:a,name:o,createdAt:i,updatedAt:s}}),[4,this.getQueryResponse("Mutation.addDocument",c)];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=(0,b.getQuery)({type:b.Command.Update,id:t,table:"documents",params:n,dbClient:this.dbClient}),[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=(0,b.getQuery)({type:b.Command.Delete,table:"documents",params:{id:t},dbClient:this.dbClient}),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,o,i,s,c;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.userId,a=t.documentId,o=t.lastRead,i=t.createdAt,s=t.updatedAt,c=(0,b.getQuery)({type:b.Command.Insert,table:"document_members",dbClient:this.dbClient,params:{id:n,userId:r,documentId:a,lastRead:o,createdAt:i,updatedAt:s}}),[4,this.getQueryResponse("Mutation.addDocumentMember",c)];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(o){switch(o.label){case 0:return e=n.lastRead,r=n.updatedAt,a=(0,b.getQuery)({type:b.Command.Update,id:t,table:"document_members",params:{lastRead:e,updatedAt:r},dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.editDocumentMember",a)];case 1:return[2,o.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=(0,b.getQuery)({type:b.Command.Delete,table:"document_members",params:{id:t},dbClient:this.dbClient}),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]}}))}))},batchAddAnnotationMembers:function(t){return s(e,void 0,void 0,(function(){var e;return u(this,(function(n){switch(n.label){case 0:return e=(0,b.getQuery)({type:b.Command.Insert,table:"annotation_members",dbClient:this.dbClient,params:t}),[4,this.getQueryResponse("Mutation.addAnnotationMember",e)];case 1:return[2,n.sent()]}}))}))},addAnnotationMember:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,c,d,l;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.userId,a=t.documentId,o=t.annotationId,i=t.lastRead,s=t.annotationCreatedAt,c=t.createdAt,d=t.updatedAt,l=(0,b.getQuery)({type:b.Command.Insert,table:"annotation_members",dbClient:this.dbClient,params:{id:n,userId:r,documentId:a,annotationId:o,lastRead:i,annotationCreatedAt:s,createdAt:c,updatedAt:d}}),[4,this.getQueryResponse("Mutation.addAnnotationMember",l)];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(o){switch(o.label){case 0:return e=n.lastRead,r=n.updatedAt,a=(0,b.getQuery)({type:b.Command.Update,id:t,dbClient:this.dbClient,table:"annotation_members",params:{lastRead:e,updatedAt:r}}),[4,this.getQueryResponse("Mutation.editAnnotationMember",a)];case 1:return[2,o.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=(0,b.getQuery)({type:b.Command.Delete,table:"annotation_members",params:{id:t},dbClient:this.dbClient}),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]}}))}))},addMention:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,c;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.userId,a=t.documentId,o=t.annotationId,i=t.createdAt,s=t.updatedAt,c=(0,b.getQuery)({type:b.Command.Insert,table:"mentions",dbClient:this.dbClient,params:{id:n,userId:r,documentId:a,annotationId:o,createdAt:i,updatedAt:s}}),[4,this.getQueryResponse("Mutation.addMention",c)];case 1:return[2,u.sent()[0]||null]}}))}))},deleteMention:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=(0,b.getQuery)({type:b.Command.Delete,table:"mentions",params:{id:t},dbClient:this.dbClient}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteMention",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]}}))}))},addSnapshot:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,c,d;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.authorId,a=t.documentId,o=t.xfdf,i=t.name,s=t.createdAt,c=t.updatedAt,d=(0,b.getQuery)({type:b.Command.Insert,table:"snapshots",dbClient:this.dbClient,params:{id:n,authorId:r,documentId:a,xfdf:o,name:i,createdAt:s,updatedAt:c}}),[4,this.getQueryResponse("Mutation.addSnapshot",d)];case 1:return[2,u.sent()[0]||null]}}))}))},editSnapshot:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a;return u(this,(function(o){switch(o.label){case 0:return e=n.name,r=n.updatedAt,a=(0,b.getQuery)({type:b.Command.Update,id:t,table:"snapshots",dbClient:this.dbClient,params:{name:e,updatedAt:r}}),[4,this.getQueryResponse("Mutation.editSnapshot",a)];case 1:return[2,o.sent()[0]||null]}}))}))},deleteSnapshot:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=(0,b.getQuery)({type:b.Command.Delete,table:"snapshots",params:{id:t},dbClient:this.dbClient}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteSnapshot",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]}}))}))},addSnapshotAsset:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.snapshotId,a=t.data,o=t.createdAt,i=t.updatedAt,s=(0,b.getQuery)({type:b.Command.Insert,table:"snapshot_assets",params:{id:n,snapshotId:r,data:a,createdAt:o,updatedAt:i},dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.addSnapshotAsset",s)];case 1:return[2,u.sent()[0]||null]}}))}))},editSnapshotAsset:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a;return u(this,(function(o){switch(o.label){case 0:return e=n.snapshotId,r=n.updatedAt,a=(0,b.getQuery)({type:b.Command.Update,id:t,table:"snapshot_assets",dbClient:this.dbClient,params:{snapshotId:e,updatedAt:r}}),[4,this.getQueryResponse("Mutation.editSnapshotAsset",a)];case 1:return[2,o.sent()[0]||null]}}))}))},deleteSnapshotAsset:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=(0,b.getQuery)({type:b.Command.Delete,table:"snapshot_assets",params:{id:t},dbClient:this.dbClient}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteSnapshotAsset",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=m.LogLevels,e.LogTags=m.LogTags,e}();t.default=I;var T=n(6);Object.defineProperty(t,"UserTypes",{enumerable:!0,get:function(){return T.UserTypes}});var C=n(0);Object.defineProperty(t,"LogLevels",{enumerable:!0,get:function(){return C.LogLevels}}),Object.defineProperty(t,"LogTags",{enumerable:!0,get:function(){return C.LogTags}})},function(e,t){e.exports=require("uuid")},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}),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)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.addTransports=t.addConsoleTransport=void 0;var i=o(n(5)),s=n(0);t.addConsoleTransport=function(e,t,n){void 0===t&&(t=s.LogLevels.INFO),e.add(new i.default.transports.Console({level:t,format:i.format.combine((0,i.format)((function(e){return!(n&&!n.some((function(t){return e.tag===t})))&&e}))(),i.format.colorize(),i.format.printf((function(e){var t=d(e.message),n=e.tag?" [".concat(e.tag,"]"):"",r=d(e.meta);return"".concat(e.timestamp," ").concat(e.level).concat(n,": ").concat(t," ").concat(r)})),i.format.metadata({fillExcept:["message","level","timestamp","label"]}))}))};t.addTransports=function(e,t){t.forEach((function(t){return e.add(t)}))};var u=/<appearance(.*?)<\/appearance>/g,c=/<imagedata(.*?)<\/imagedata>/g,d=function(e){var t=e||"";return"object"==typeof e&&null!==e&&(t=JSON.stringify(e,null,2)),t=(t=t.replace(u,"<appearance>Truncated for readability...</appearance>")).replace(c,"<imagedata>Truncated for readability...</imagedata>")}},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,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}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.validateResolver=t.validateParams=t.throwError=t.ErrorCodes=void 0;var o=a(n(0));t.ErrorCodes={PERMISSION_ERROR:"PERMISSION_ERROR",ENTITY_MISSING:"ENTITY_MISSING",INVALID_ENTITY:"INVALID_ENTITY"};t.throwError=function(e,t,n){var r=t;throw"string"!=typeof r&&(r=t.message),r="".concat(e," - ").concat(r),o.default.error(r),n?new n(r):"string"!=typeof t?t:new Error(r)};t.validateParams=function(e,t){var n,a=function(t){var n="".concat(e,' - Paramater "').concat(t,'" is required');throw o.default.error(n),new Error(n)},i=function(t,n,r){var a="".concat(e,' - Parameter "').concat(t,'" expected type "').concat(r,'" but got "').concat(n,'"');throw o.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],p=void 0===f||f;if(null!=c&&""!==c){if("any"!==l){var m=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(s,m,l)}else if("object"!==m)return i(s,m,l)}else if("boolean"!==m)return i(s,m,l)}else if(!(c instanceof Blob))return i(s,m,l)}else if(!Array.isArray(c))return i(s,m,l)}else if("number"!==m)return i(s,m,l)}else if("string"!==m)return i(s,m,l)}}else if(p)return a(s)}};t.validateResolver=function(e,n){n||(0,t.throwError)(e,"Could not find resolvers for the ".concat(e,". Please make sure you provide resolvers for ").concat(e,"."))}}]).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=7)}([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}),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)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.setupLogger=t.LogLevels=t.LogTags=void 0;var i,s=o(n(5)),u=n(10);!function(e){e.STANDARD="STANDARD",e.ENTITY="ENTITY",e.MUTATION="MUTATION",e.RESPONSE="RESPONSE",e.AUTH="AUTH",e.CACHE="CACHE",e.CONNECTED_USERS="CONNECTED_USERS",e.SCROLL_SYNC="SCROLL_SYNC",e.USERNAMES="USERNAMES",e.ANNOTATION_SYNC="ANNOTATION_SYNC",e.PERMISSIONS="PERMISSIONS",e.PERMISSION_CACHE="PERMISSION_CACHE",e.BATCH="BATCH",e.REAL_TIME="REAL_TIME",e.UNREAD="UNREAD",e.CLIENT="CLIENT",e.ANNOTATIONS="ANNOTATIONS",e.SESSION_STATUS="SESSION_STATUS"}(t.LogTags||(t.LogTags={})),function(e){e.ERROR="error",e.WARN="warn",e.INFO="info",e.HTTP="http",e.VERBOSE="verbose",e.DEBUG="debug",e.SILLY="silly",e.NONE="none"}(i=t.LogLevels||(t.LogLevels={}));var c=s.default.createLogger({format:s.format.combine(s.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,t,n){return e===i.NONE?c.silent=!0:((0,u.addConsoleTransport)(c,e,n),t&&t.length&&(0,u.addTransports)(c,t)),c},t.default=c},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.getQuery=t.toUnixTimestampSelector=t.camelToSnake=t.keysToCamel=t.valueIn=t.getFilterQuery=t.whereAnd=t.Command=void 0;var a,o=n(2),i=r(n(3)),s=n(4);!function(e){e.Insert="INSERT",e.Update="UPDATE",e.Delete="DELETE"}(a=t.Command||(t.Command={}));t.whereAnd=function(e){var t=e.filter((function(e){return!!e}));return t.reduce((function(e,n,r){var a=r===t.length-1;return"".concat(e," ").concat(n," ").concat(a?"":"AND")}),"WHERE ")};t.getFilterQuery=function(e){return[e.createdBefore&&"".concat((0,t.toUnixTimestampSelector)("created_at")," < ").concat(e.createdBefore),e.createdAfter&&"".concat((0,t.toUnixTimestampSelector)("created_at")," > ").concat(e.createdAfter),e.updatedBefore&&"".concat((0,t.toUnixTimestampSelector)("updated_at")," < ").concat(e.updatedBefore),e.updatedAfter&&"".concat((0,t.toUnixTimestampSelector)("updated_at")," > ").concat(e.updatedAfter)]};t.valueIn=function(e,t){return"".concat(e," IN (").concat(t.reduce((function(e,n,r){var a=r===t.length-1?"":",";return"string"==typeof n?e+"'".concat(n,"'").concat(a):e+"".concat(n).concat(a)}),""),")")};var u=function(e){return Array.isArray(e)},c=function(e){return e===Object(e)&&!u(e)&&"function"!=typeof e&&!function(e){return e instanceof Date}(e)};t.keysToCamel=function(e){if(c(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("_","")})))]=(0,t.keysToCamel)(e[r])})),n}return u(e)?e.map((function(e){return(0,t.keysToCamel)(e)})):e};t.camelToSnake=function(e){return e.replace(/[\w]([A-Z])/g,(function(e){return e[0]+"_"+e[1]})).toLowerCase()};t.toUnixTimestampSelector=function(e){return"EXTRACT(epoch FROM date_trunc('milliseconds', ".concat(e,")) * 1000")};t.getQuery=function(e){var n=e.type,r=e.id,u=e.table,c=e.params,d=e.dbClient;Array.isArray(c)||(c=[c]);var l=[],f=[],p=[];c.forEach((function(e){n!==a.Insert||e.id||(e.id=(0,o.generateId)());var r=[];f.push(r),Object.keys(e).forEach((function(n){var a=e[n];if(void 0!==a){if(s.TimestampProperties.includes(n))if(s.NowTimestampProperties.includes(n))a=i.default.getNow();else try{var o=new Date(a);a=d.escapeLiteral("".concat(o.toISOString()))}catch(e){throw new Error('Failed to parse date for "'.concat(n,'" - tried to convert ').concat(JSON.stringify(a)," to a date but could not."))}else a=null===a?"NULL":d.escapeLiteral("".concat(a));r.push(a);var u=(0,t.camelToSnake)(n);l.includes(u)||l.push(u),p.push("".concat((0,t.camelToSnake)(n)," = ").concat(a))}}))}));var m=null;switch(n){case"INSERT":var h=f.reduce((function(e,t,n){var r=t.join(", "),a=n===f.length-1;return e+"(".concat(r,")").concat(a?"":",")}),"");m="INSERT INTO ".concat(u," (").concat(l.join(", "),") VALUES ").concat(h," RETURNING *;");break;case"UPDATE":m="UPDATE ".concat(u," SET ").concat(p.join(", ")," WHERE id = '").concat(r,"' RETURNING *;");break;case"DELETE":m="DELETE FROM ".concat(u," WHERE ").concat(p.join(" AND ")," RETURNING id;")}return{text:m}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateId=t.setGenerator=void 0;var r=n(8),a=function(){return(0,r.v4)()};t.setGenerator=function(e){a=e};t.generateId=function(){return a()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(){this.indicator="NOW",this._current=function(){return"CURRENT_TIMESTAMP"}}return e.prototype.set=function(e){this._current=e},e.prototype.getNow=function(){return this._current()},e}();t.default=new r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringIdProperties=t.NowTimestampProperties=t.TimestampProperties=void 0,t.TimestampProperties=["createdAt","updatedAt","lastRead","annotationCreatedAt"],t.NowTimestampProperties=["createdAt","updatedAt","lastRead"],t.StringIdProperties=["id","userId","snapshotId","authorId","documentId","annotationId"]},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]}),o=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 o(t,e),t},s=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(a,o){function i(e){try{u(r.next(e))}catch(e){o(e)}}function s(e){try{u(r.throw(e))}catch(e){o(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(i,s)}u((r=r.apply(e,t||[])).next())}))},u=this&&this.__generator||function(e,t){var n,r,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(a=2&o[0]?r.return:o[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,o[1])).done)return a;switch(r=0,a&&(o=[2&o[0],a.value]),o[0]){case 0:case 1:a=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,r=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!a||o[1]>a[0]&&o[1]<a[3])){i.label=o[1];break}if(6===o[0]&&i.label<a[1]){i.label=a[1],a=o;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(o);break}a[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(e,i)}catch(e){o=[6,e],r=0}finally{n=a=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},c=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,a,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(a)throw a.error}}return i},d=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,a=0,o=t.length;a<o;a++)!r&&a in t||(r||(r=Array.prototype.slice.call(t,0,a)),r[a]=t[a]);return e.concat(r||Array.prototype.slice.call(t))},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogTags=t.LogLevels=t.UserTypes=void 0;var f=n(1),p=l(n(9)).default.Client,m=i(n(0)),h=n(11),v=n(2),b=n(1),y=n(6),g=l(n(3)),_=n(4),I=function(){function e(e){var t=e.username,n=e.dbName,r=e.password,a=e.port,o=e.host,i=e.connectionString,s=e.ssl,u=e.statementTimeout,c=e.queryTimeout,d=void 0===c?5e3:c,l=e.idleInTransactionSessionTimeout,f=e.logLevel,h=e.logTransports,v=e.filterLogsByTag;Array.isArray(v)||(v=[v]),(0,m.setupLogger)(f,h,v),m.default.info("CollabPostgresDB version ".concat("2.1.0")),g.default.set((function(){return"NOW()"})),this.dbClient=new p({user:t,database:n,password:r,port:a,host:o,connectionString:i,ssl:s,statement_timeout:u,query_timeout:d,idle_in_transaction_session_timeout:l}),this.dbConnected=!1}return e.prototype.setServer=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];console.warn("collabDB.setServer() is no longer required. You may remove this function call from your code.")},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(),this.dbConnected=!0,m.default.info("--\x3e Database connected"),[2];case 2:return e=t.sent(),m.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(),this.dbConnected=!1,m.default.info("--\x3e Database disconnected"),[2];case 2:return e=t.sent(),m.default.error("--\x3e Database disconnection error",{meta:e.stack}),[3,3];case 3:return[2]}}))}))},e.prototype.getQueryResponse=function(e,t){return this.dbConnected||(0,h.throwError)("Database Query","Database not connected, please do db.connectDB() first."),this.dbClient.query(t).then((function(e){var t=(0,b.keysToCamel)(e.rows);return t.forEach((function(e){e.id&&(e.id="".concat(e.id)),e.authorId&&(e.authorId="".concat(e.authorId)),e.documentId&&(e.documentId="".concat(e.documentId)),e.userId&&(e.userId="".concat(e.userId)),e.annotationId&&(e.annotationId="".concat(e.annotationId)),e.inReplyTo&&(e.inReplyTo="".concat(e.inReplyTo)),Object.keys(e).forEach((function(t){_.TimestampProperties.includes(t)&&(e[t]=new Date(e[t]).getTime())}))})),t}))},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(0,h.validateParams)("getUser(id)",{id:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, created_at, updated_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(0,h.validateParams)("getUserByEmail(email)",{email:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, created_at, 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(0,h.validateParams)("getUserByUsername(userName)",{userName:[e,"string"]}),t={text:"SELECT id, user_name, email, password, status, type, custom_data, created_at, 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(0,h.validateParams)("getUsers(ids)",{ids:[e,"array"]}),t=e.map((function(e,t){return"$".concat(t+1)})).join(","),n={text:"SELECT id, user_name, email, password, status, type, custom_data, created_at, updated_at FROM users WHERE id in (".concat(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,o,i;return u(this,(function(s){switch(s.label){case 0:(0,h.validateParams)("createUser(user)",{user:[e,"object"],"user.email":[e.email,"string"],"user.password":[e.password,"string"],"user.userName":[e.userName,"string",!1]}),t=Date.now(),n=(0,v.generateId)(),s.label=1;case 1:return s.trys.push([1,3,,4]),a=r({id:n,type:y.UserTypes.Standard,createdAt:t,updatedAt:t},e),o=(0,b.getQuery)({type:b.Command.Insert,table:"users",params:a,dbClient:this.dbClient}),[4,this.getQueryResponse("createUser",o)];case 2:return s.sent(),[2,a];case 3:return i=s.sent(),(0,h.throwError)("db.createUser","Fail to generate id: ".concat(i)),[3,4];case 4:return[2]}}))}))},e.prototype.editUser=function(e){return s(this,void 0,void 0,(function(){var t,n;return u(this,(function(a){switch(a.label){case 0:return(0,h.validateParams)("editUser(user)",{user:[e,"object"],"user.id":[e.id,"string"],"user.email":[e.email,"string",!1],"user.password":[e.password,"string",!1],"user.userName":[e.userName,"string",!1]}),t=Date.now(),n=(0,b.getQuery)({type:b.Command.Update,id:e.id,table:"users",dbClient:this.dbClient,params:r(r({},e),{updatedAt:e.updatedAt||t})}),[4,this.getQueryResponse("editUser",n)];case 1:return[2,a.sent()[0]||null]}}))}))},e.prototype.getResolvers=function(){var e=this,t="id, user_name, email, type, created_at, updated_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 ".concat(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 ".concat(t," FROM users WHERE email = $1 LIMIT 1"),values:[n]},[4,this.getQueryResponse("Query.userWithEmail",e)];case 1:return[2,r.sent()[0]||null]}}))}))},userByIdentifier: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 ".concat(t," FROM users WHERE email = $1 OR user_name = $1 LIMIT 1"),values:[n]},[4,this.getQueryResponse("Query.userByIdentifier",e)];case 1:return[2,r.sent()[0]||null]}}))}))},annotations:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h,v,y;return u(this,(function(u){switch(u.label){case 0:return e=t.ids,n=t.documentId,r=t.annotationIds,a=t.filters,o=void 0===a?{}:a,i=t.inReplyTo,s=t.pageNumbers,l=o.limit,p=o.orderBy,m=o.orderDirection,h=void 0===m?"DESC":m,v="\n SELECT ".concat("id, xfdf, annot_contents, author_id, annotation_id, document_id, page_number, in_reply_to, created_at, updated_at","\n FROM annotations\n ").concat((0,f.whereAnd)(d([e&&e.length&&(0,f.valueIn)("id",e),r&&r&&(0,f.valueIn)("annotation_id",r),n&&"document_id = '".concat(n,"'"),i&&"in_reply_to = '".concat(i,"'"),s&&s.length&&(0,f.valueIn)("page_number",s)],c((0,f.getFilterQuery)(o)),!1)),"\n "),p&&(v+=" ORDER BY ".concat((0,b.camelToSnake)(p)," ").concat(h)),l&&(v+=" LIMIT ".concat(l)),y={text:v},[4,this.getQueryResponse("Query.annotations",y)];case 1:return[2,u.sent()]}}))}))},documents:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h;return u(this,(function(u){switch(u.label){case 0:return e=t.ids,n=t.userId,r=t.filters,a=void 0===r?{}:r,o=t.isPublic,i=a.limit,s=a.orderBy,l=a.orderDirection,p=void 0===l?"DESC":l,m="\n SELECT ".concat("id, author_id, is_public, name, created_at, updated_at","\n FROM documents\n ").concat((0,f.whereAnd)(d([e&&e.length&&(0,f.valueIn)("id",e),o&&"is_public = true",n&&"id in (SELECT document_id FROM document_members WHERE user_id = '".concat(n,"')")],c((0,f.getFilterQuery)(a)),!1)),"\n "),s&&(m+=" ORDER BY ".concat((0,b.camelToSnake)(s)," ").concat(p)),i&&(m+=" LIMIT ".concat(i)),h={text:m},[4,this.getQueryResponse("Query.documents",h)];case 1:return[2,u.sent()]}}))}))},annotationMembers:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h,v;return u(this,(function(u){switch(u.label){case 0:return e=t.annotationId,n=t.ids,r=t.userId,a=t.filters,o=void 0===a?{}:a,i=t.documentId,s=o.limit,l=o.orderBy,p=o.orderDirection,m=void 0===p?"DESC":p,h="\n SELECT ".concat("id, user_id, document_id, annotation_id, last_read, updated_at, created_at, annotation_created_at","\n FROM annotation_members\n ").concat((0,f.whereAnd)(d([n&&n.length&&(0,f.valueIn)("id",n),e&&"annotation_id = '".concat(e,"'"),i&&"document_id = '".concat(i,"'"),r&&"user_id = '".concat(r,"'")],c((0,f.getFilterQuery)(o)),!1)),"\n "),l&&(h+=" ORDER BY ".concat((0,b.camelToSnake)(l)," ").concat(m)),s&&(h+=" LIMIT ".concat(s)),v={text:h},[4,this.getQueryResponse("Query.annotationMembers",v)];case 1:return[2,u.sent()]}}))}))},documentMembers:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h;return u(this,(function(u){switch(u.label){case 0:return e=t.documentId,n=t.userId,r=t.ids,a=t.filters,i=(o=void 0===a?{}:a).limit,s=o.orderBy,l=o.orderDirection,p=void 0===l?"DESC":l,m="\n SELECT ".concat("id, user_id, document_id, last_read, created_at, updated_at","\n FROM document_members\n ").concat((0,f.whereAnd)(d([r&&r.length&&(0,f.valueIn)("id",r),e&&"document_id = '".concat(e,"'"),n&&"user_id = '".concat(n,"'")],c((0,f.getFilterQuery)(o)),!1)),"\n "),s&&(m+=" ORDER BY ".concat((0,b.camelToSnake)(s)," ").concat(p)),i&&(m+=" LIMIT ".concat(i)),h={text:m},[4,this.getQueryResponse("Query.documentMembers",h)];case 1:return[2,u.sent()]}}))}))},mentions:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m,h;return u(this,(function(u){switch(u.label){case 0:return e=t.annotationId,n=t.userId,r=t.documentId,a=t.ids,o=t.filters,s=(i=void 0===o?{}:o).limit,l=i.orderBy,p=i.orderDirection,m="\n SELECT ".concat("id, user_id, annotation_id, document_id, created_at, updated_at","\n FROM mentions\n ").concat((0,f.whereAnd)(d([a&&a.length&&(0,f.valueIn)("id",a),r&&"document_id = '".concat(r,"'"),e&&"annotation_id = '".concat(e,"'"),n&&"user_id = '".concat(n,"'")],c((0,f.getFilterQuery)(i)),!1)),"\n "),l&&(m+=" ORDER BY ".concat((0,b.camelToSnake)(l)," ").concat(p)),s&&(m+=" LIMIT ".concat(s)),h={text:m},[4,this.getQueryResponse("Query.mentions",h)];case 1:return[2,u.sent()]}}))}))},annotationCount:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a;return u(this,(function(o){switch(o.label){case 0:return e=t.since,n=t.documentId,r={text:"SELECT COUNT(DISTINCT id) FROM annotations WHERE document_id = $1 AND ".concat((0,f.toUnixTimestampSelector)("created_at")," > $2 AND author_id IS NOT NULL"),values:[n,e]},[4,this.getQueryResponse("Query.annotationCount",r)];case 1:return a=o.sent(),[2,Number(a[0].count||0)]}}))}))},annotationMemberCount:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o;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 ".concat((0,f.toUnixTimestampSelector)("annotation_created_at")," > $3"),values:[n,e,r]},[4,this.getQueryResponse("Query.annotationMemberCount",a)];case 1:return o=i.sent(),[2,Number(o[0].count||0)]}}))}))},snapshots:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,l,p,m;return u(this,(function(u){switch(u.label){case 0:return e=t.ids,n=t.documentId,r=t.filters,o=(a=void 0===r?{}:r).limit,i=a.orderBy,s=a.orderDirection,l=void 0===s?"DESC":s,p="\n SELECT ".concat("id, author_id, document_id, xfdf, name, created_at, updated_at","\n FROM snapshots\n ").concat((0,f.whereAnd)(d([e&&e.length&&(0,f.valueIn)("id",e),n&&"document_id = '".concat(n,"'")],c((0,f.getFilterQuery)(a)),!1)),"\n "),i&&(p+=" ORDER BY ".concat((0,b.camelToSnake)(i)," ").concat(l)),o&&(p+=" LIMIT ".concat(o)),m={text:p},[4,this.getQueryResponse("Query.snapshots",m)];case 1:return[2,u.sent()]}}))}))},snapshotAssets:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a;return u(this,(function(o){switch(o.label){case 0:return e=t.ids,n=t.snapshotId,r="\n SELECT ".concat("id, snapshot_id, data, created_at, updated_at","\n FROM snapshot_assets\n ").concat((0,f.whereAnd)([e&&e.length&&(0,f.valueIn)("id",e),n&&"snapshot_id = '".concat(n,"'")]),"\n "),a={text:r},[4,this.getQueryResponse("Query.snapshotAsset",a)];case 1:return[2,o.sent()]}}))}))}},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 t.id||(t.id=(0,v.generateId)()),e=(0,b.getQuery)({type:b.Command.Insert,table:"users",params:t,dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.addUser",e)];case 1:return[2,n.sent()[0]||null]}}))}))},batchAddAnnotations:function(t){return s(e,void 0,void 0,(function(){var e;return u(this,(function(n){switch(n.label){case 0:return e=(0,b.getQuery)({type:b.Command.Insert,table:"annotations",params:t,dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.addAnnotation",e)];case 1:return[2,n.sent()]}}))}))},addAnnotation:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,c,d,l,f,p;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.xfdf,a=t.annotationId,o=t.documentId,i=t.pageNumber,s=t.createdAt,c=t.inReplyTo,d=t.authorId,l=t.updatedAt,f=t.annotContents,p=(0,b.getQuery)({type:b.Command.Insert,table:"annotations",dbClient:this.dbClient,params:{id:n,xfdf:r,annotContents:f,authorId:d,annotationId:a,documentId:o,pageNumber:i,createdAt:s,inReplyTo:c,updatedAt:l}}),[4,this.getQueryResponse("Mutation.addAnnotation",p)];case 1:return[2,u.sent()[0]||null]}}))}))},editAnnotation:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a,o,i;return u(this,(function(s){switch(s.label){case 0:return e=n.xfdf,r=n.pageNumber,a=n.updatedAt,o=n.annotContents,i=(0,b.getQuery)({type:b.Command.Update,id:t,table:"annotations",params:{xfdf:e,annotContents:o,pageNumber:r,updatedAt:a},dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.editAnnotation",i)];case 1:return[2,s.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=(0,b.getQuery)({type:b.Command.Delete,table:"annotations",params:{id:t},dbClient:this.dbClient}),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,o,i,s,c;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.authorId,a=t.isPublic,o=t.name,i=t.createdAt,s=t.updatedAt,c=(0,b.getQuery)({type:b.Command.Insert,table:"documents",dbClient:this.dbClient,params:{id:n,authorId:r,isPublic:a,name:o,createdAt:i,updatedAt:s}}),[4,this.getQueryResponse("Mutation.addDocument",c)];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=(0,b.getQuery)({type:b.Command.Update,id:t,table:"documents",params:n,dbClient:this.dbClient}),[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=(0,b.getQuery)({type:b.Command.Delete,table:"documents",params:{id:t},dbClient:this.dbClient}),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,o,i,s,c;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.userId,a=t.documentId,o=t.lastRead,i=t.createdAt,s=t.updatedAt,c=(0,b.getQuery)({type:b.Command.Insert,table:"document_members",dbClient:this.dbClient,params:{id:n,userId:r,documentId:a,lastRead:o,createdAt:i,updatedAt:s}}),[4,this.getQueryResponse("Mutation.addDocumentMember",c)];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(o){switch(o.label){case 0:return e=n.lastRead,r=n.updatedAt,a=(0,b.getQuery)({type:b.Command.Update,id:t,table:"document_members",params:{lastRead:e,updatedAt:r},dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.editDocumentMember",a)];case 1:return[2,o.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=(0,b.getQuery)({type:b.Command.Delete,table:"document_members",params:{id:t},dbClient:this.dbClient}),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]}}))}))},batchAddAnnotationMembers:function(t){return s(e,void 0,void 0,(function(){var e;return u(this,(function(n){switch(n.label){case 0:return e=(0,b.getQuery)({type:b.Command.Insert,table:"annotation_members",dbClient:this.dbClient,params:t}),[4,this.getQueryResponse("Mutation.addAnnotationMember",e)];case 1:return[2,n.sent()]}}))}))},addAnnotationMember:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,c,d,l;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.userId,a=t.documentId,o=t.annotationId,i=t.lastRead,s=t.annotationCreatedAt,c=t.createdAt,d=t.updatedAt,l=(0,b.getQuery)({type:b.Command.Insert,table:"annotation_members",dbClient:this.dbClient,params:{id:n,userId:r,documentId:a,annotationId:o,lastRead:i,annotationCreatedAt:s,createdAt:c,updatedAt:d}}),[4,this.getQueryResponse("Mutation.addAnnotationMember",l)];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(o){switch(o.label){case 0:return e=n.lastRead,r=n.updatedAt,a=(0,b.getQuery)({type:b.Command.Update,id:t,dbClient:this.dbClient,table:"annotation_members",params:{lastRead:e,updatedAt:r}}),[4,this.getQueryResponse("Mutation.editAnnotationMember",a)];case 1:return[2,o.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=(0,b.getQuery)({type:b.Command.Delete,table:"annotation_members",params:{id:t},dbClient:this.dbClient}),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]}}))}))},addMention:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,c;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.userId,a=t.documentId,o=t.annotationId,i=t.createdAt,s=t.updatedAt,c=(0,b.getQuery)({type:b.Command.Insert,table:"mentions",dbClient:this.dbClient,params:{id:n,userId:r,documentId:a,annotationId:o,createdAt:i,updatedAt:s}}),[4,this.getQueryResponse("Mutation.addMention",c)];case 1:return[2,u.sent()[0]||null]}}))}))},deleteMention:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=(0,b.getQuery)({type:b.Command.Delete,table:"mentions",params:{id:t},dbClient:this.dbClient}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteMention",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]}}))}))},addSnapshot:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s,c,d;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.authorId,a=t.documentId,o=t.xfdf,i=t.name,s=t.createdAt,c=t.updatedAt,d=(0,b.getQuery)({type:b.Command.Insert,table:"snapshots",dbClient:this.dbClient,params:{id:n,authorId:r,documentId:a,xfdf:o,name:i,createdAt:s,updatedAt:c}}),[4,this.getQueryResponse("Mutation.addSnapshot",d)];case 1:return[2,u.sent()[0]||null]}}))}))},editSnapshot:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a;return u(this,(function(o){switch(o.label){case 0:return e=n.name,r=n.updatedAt,a=(0,b.getQuery)({type:b.Command.Update,id:t,table:"snapshots",dbClient:this.dbClient,params:{name:e,updatedAt:r}}),[4,this.getQueryResponse("Mutation.editSnapshot",a)];case 1:return[2,o.sent()[0]||null]}}))}))},deleteSnapshot:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=(0,b.getQuery)({type:b.Command.Delete,table:"snapshots",params:{id:t},dbClient:this.dbClient}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteSnapshot",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]}}))}))},addSnapshotAsset:function(t){return s(e,void 0,void 0,(function(){var e,n,r,a,o,i,s;return u(this,(function(u){switch(u.label){case 0:return e=t.id,n=void 0===e?(0,v.generateId)():e,r=t.snapshotId,a=t.data,o=t.createdAt,i=t.updatedAt,s=(0,b.getQuery)({type:b.Command.Insert,table:"snapshot_assets",params:{id:n,snapshotId:r,data:a,createdAt:o,updatedAt:i},dbClient:this.dbClient}),[4,this.getQueryResponse("Mutation.addSnapshotAsset",s)];case 1:return[2,u.sent()[0]||null]}}))}))},editSnapshotAsset:function(t,n){return s(e,void 0,void 0,(function(){var e,r,a;return u(this,(function(o){switch(o.label){case 0:return e=n.snapshotId,r=n.updatedAt,a=(0,b.getQuery)({type:b.Command.Update,id:t,table:"snapshot_assets",dbClient:this.dbClient,params:{snapshotId:e,updatedAt:r}}),[4,this.getQueryResponse("Mutation.editSnapshotAsset",a)];case 1:return[2,o.sent()[0]||null]}}))}))},deleteSnapshotAsset:function(t){return s(e,void 0,void 0,(function(){var e,n;return u(this,(function(a){switch(a.label){case 0:e=(0,b.getQuery)({type:b.Command.Delete,table:"snapshot_assets",params:{id:t},dbClient:this.dbClient}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.getQueryResponse("Mutation.deleteSnapshotAsset",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=m.LogLevels,e.LogTags=m.LogTags,e}();t.default=I;var T=n(6);Object.defineProperty(t,"UserTypes",{enumerable:!0,get:function(){return T.UserTypes}});var E=n(0);Object.defineProperty(t,"LogLevels",{enumerable:!0,get:function(){return E.LogLevels}}),Object.defineProperty(t,"LogTags",{enumerable:!0,get:function(){return E.LogTags}})},function(e,t){e.exports=require("uuid")},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}),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)&&r(t,e,n);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.addTransports=t.addConsoleTransport=void 0;var i=o(n(5)),s=n(0);t.addConsoleTransport=function(e,t,n){void 0===t&&(t=s.LogLevels.INFO),n&&0===(n=n.filter((function(e){return!!e}))).length&&(n=void 0),e.add(new i.default.transports.Console({level:t,format:i.format.combine((0,i.format)((function(e){return!(n&&!n.some((function(t){return e.tag===t})))&&e}))(),i.format.colorize(),i.format.printf((function(e){var t=d(e.message),n=e.tag?" [".concat(e.tag,"]"):"",r=d(e.meta);return"".concat(e.timestamp," ").concat(e.level).concat(n,": ").concat(t," ").concat(r)})),i.format.metadata({fillExcept:["message","level","timestamp","label"]}))}))};t.addTransports=function(e,t){t.forEach((function(t){return e.add(t)}))};var u=/<appearance(.*?)<\/appearance>/g,c=/<imagedata(.*?)<\/imagedata>/g,d=function(e){var t=e||"";return"object"==typeof e&&null!==e&&(t=JSON.stringify(e,null,2)),t=(t=t.replace(u,"<appearance>Truncated for readability...</appearance>")).replace(c,"<imagedata>Truncated for readability...</imagedata>")}},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,o=n.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)i.push(r.value)}catch(e){a={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}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.validateResolver=t.validateParams=t.throwError=t.ErrorCodes=void 0;var o=a(n(0));t.ErrorCodes={PERMISSION_ERROR:"PERMISSION_ERROR",ENTITY_MISSING:"ENTITY_MISSING",INVALID_ENTITY:"INVALID_ENTITY"};t.throwError=function(e,t,n){var r=t;throw"string"!=typeof r&&(r=t.message),r="".concat(e," - ").concat(r),o.default.error(r),n?new n(r):"string"!=typeof t?t:new Error(r)};t.validateParams=function(e,t){var n,a=function(t){var n="".concat(e,' - Paramater "').concat(t,'" is required');throw o.default.error(n),new Error(n)},i=function(t,n,r){var a="".concat(e,' - Parameter "').concat(t,'" expected type "').concat(r,'" but got "').concat(n,'"');throw o.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],p=void 0===f||f;if(null!=c&&""!==c){if("any"!==l){var m=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(s,m,l)}else if("object"!==m)return i(s,m,l)}else if("boolean"!==m)return i(s,m,l)}else if(!(c instanceof Blob))return i(s,m,l)}else if(!Array.isArray(c))return i(s,m,l)}else if("number"!==m)return i(s,m,l)}else if("string"!==m)return i(s,m,l)}}else if(p)return a(s)}};t.validateResolver=function(e,n){n||(0,t.throwError)(e,"Could not find resolvers for the ".concat(e,". Please make sure you provide resolvers for ").concat(e,"."))}}]).default}));

@@ -7,3 +7,3 @@ {

"types": "types/packages/collab-db-postgresql/src/index.d.ts",
"version": "2.1.0-alpha.12",
"version": "2.1.0",
"scripts": {

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

},
"gitHead": "56b3e40b1ab52053aa22d57e981d14d2a7be52d4"
"gitHead": "ab62c395f6ce4025fe82efbe1c6968a58174aba6"
}

@@ -37,6 +37,6 @@ import { PubSub } from 'graphql-subscriptions';

getUserMembership(userId: any): Promise<{
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -43,0 +43,0 @@ } & {

@@ -8,6 +8,3 @@ import { Context } from '../../types/Context';

};
editConnectedDocUser: (p: any, args: any, context: Context) => {
userId: any;
currentPage: number;
}[];
editConnectedDocUser: (p: any, args: any, context: Context) => any[];
deleteConnectedDocUser: (p: any, args: any, context: Context) => {

@@ -14,0 +11,0 @@ successful: boolean;

@@ -25,3 +25,3 @@ declare const Mutation: {

documentId: string;
connectedUsers: string[];
connectedUserIds: string[];
position: {

@@ -36,3 +36,3 @@ scrollTop: number;

documentId: string;
connectedUsers: string[];
connectedUserIds: string[];
position: {

@@ -47,3 +47,3 @@ scrollTop: number;

documentId: string;
connectedUsers: string[];
connectedUserIds: string[];
position: {

@@ -61,6 +61,3 @@ scrollTop: number;

};
editConnectedDocUser: (p: any, args: any, context: import("../../types/Context").Context) => {
userId: any;
currentPage: number;
}[];
editConnectedDocUser: (p: any, args: any, context: import("../../types/Context").Context) => any[];
deleteConnectedDocUser: (p: any, args: any, context: import("../../types/Context").Context) => {

@@ -105,2 +102,3 @@ successful: boolean;

token: string;
sessionId: string;
}>;

@@ -110,4 +108,5 @@ login: (p: any, args: any, context: import("../../types/Context").Context) => Promise<{

token: string;
sessionId: string;
}>;
};
export default Mutation;

@@ -6,3 +6,3 @@ import { Context } from '../../types/Context';

documentId: string;
connectedUsers: string[];
connectedUserIds: string[];
position: {

@@ -17,3 +17,3 @@ scrollTop: number;

documentId: string;
connectedUsers: string[];
connectedUserIds: string[];
position: {

@@ -28,3 +28,3 @@ scrollTop: number;

documentId: string;
connectedUsers: string[];
connectedUserIds: string[];
position: {

@@ -31,0 +31,0 @@ scrollTop: number;

@@ -7,2 +7,3 @@ import { Context } from '../../types/Context';

token: string;
sessionId: string;
}>;

@@ -12,4 +13,5 @@ login: (p: any, args: any, context: Context) => Promise<{

token: string;
sessionId: string;
}>;
};
export default _default;

@@ -12,6 +12,3 @@ import { Context } from '../types/Context';

}>;
connectedDocUsers: (p: any, args: any, context: Context) => {
userId: any;
currentPage: number;
}[];
connectedDocUsers: (p: any, args: any, context: Context) => any[];
documents: (_: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Document[]>;

@@ -25,3 +22,3 @@ mentions: (_: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Mention[]>;

documentId: string;
connectedUsers: string[];
connectedUserIds: string[];
position: {

@@ -28,0 +25,0 @@ scrollTop: number;

@@ -44,2 +44,3 @@ import { Response } from "express";

annotationSyncSettings: CollabServerOptions['annotationSyncSettings'];
sessionId?: string;
};
import { UserAuth } from '../types/Auth';
export declare const getTokenFromHeaders: (req: any) => any;
export declare const getSessionIdFromHeaders: (req: any) => any;
export declare const getUserFromHeaders: (req: any) => UserAuth;

@@ -8,66 +8,74 @@ declare type ScrollPosition = {

documentId: string;
connectedUsers: string[];
connectedUserIds: UserId[];
position: ScrollPosition;
sessionId: string;
};
declare type PageNumber = number;
declare type UserId = string;
declare type DocumentId = string;
declare type SessionId = string;
declare class DocumentConnection {
documentId: DocumentId;
private connectedUsers;
constructor(documentId: DocumentId);
connectUser(userId: UserId, sessionId: string, pageNumber?: PageNumber): void;
disconnectUser(userId: UserId, sessionId: string): void;
updatePageNumber(userId: UserId, sessionId: string, pageNumber: number): void;
isEmpty(): boolean;
getUsers(): any[];
getPageNumberForUser(userId: UserId, sessionId: string): number;
}
export declare class UserConnection {
userId: any;
sessionId: string;
timeConnected: number;
currentDocuments: DocumentConnection[];
currentPageMap: Map<string, number>;
constructor(userId: any, timeConnected?: number);
connectToDocument(doc: DocumentConnection): void;
setCurrentPage(docId: string, page: number): void;
getCurrentPage(docId: any): number;
private currentDocument;
private currentPage;
constructor(userId: any, sessionId: string, timeConnected?: number);
connectToDocument(documentConnection: DocumentConnection, pageNumber?: number): void;
disconnectFromDocument(): void;
setCurrentPage(pageNumber: number): void;
getCurrentPage(): number;
getCurrentDocument(): DocumentConnection;
close(): void;
}
declare class DocumentConnection {
documentId: any;
connectedUserArray: UserConnection[];
connectedUserMap: Map<string, UserConnection>;
constructor(documentId: any);
isEmpty(): boolean;
userIsConnectedToDocument(userId: string): boolean;
userConnected(user: UserConnection): void;
userDisconnected(userId: string): void;
declare class UserConnectionPool {
userId: string;
connections: UserConnection[];
constructor(userId: string);
addConnection(connection: UserConnection): void;
getConnection(sessionId: string): UserConnection;
closeConnection(sessionId: string): void;
get activeConnections(): number;
}
declare class ConnectedUserMap {
userConnectionMap: Map<string, UserConnection>;
documentConnectionMap: Map<string, DocumentConnection>;
connectionPools: Map<UserId, UserConnectionPool>;
documentConnections: Map<DocumentId, DocumentConnection>;
scrollSessionMap: Map<string, ScrollSyncItem>;
constructor();
private createSessionId;
createScrollSyncSession(userId: string, documentId: string, position: ScrollPosition): ScrollSyncItem;
joinScrollSyncSession(sessionId: string, userId: string): true | ScrollSyncItem;
connect(userId: UserId, sessionId: SessionId): {
session: UserConnection;
connectionPool: UserConnectionPool;
};
disconnect(userId: UserId, sessionId: SessionId): {
connectionPool: UserConnectionPool;
disconnectedFromDocumentId: string;
};
ensureUserHasConnection(userId: UserId, sessionId: SessionId): void;
connectUserToDocument(userId: string, documentId: string, sessionId: string, pageNumber?: number): void;
disconnectUserFromDocument(userId: UserId, sessionId: SessionId): void;
getConnectedUsersForDocument(documentId: DocumentId): any[];
setCurrentPageForUser(userId: UserId, sessionId: SessionId, pageNumber: PageNumber): void;
createScrollSyncSession(userId: UserId, documentId: DocumentId, sessionId: SessionId, position: ScrollPosition): ScrollSyncItem;
joinScrollSyncSession(sessionId: SessionId, userId: UserId): true | ScrollSyncItem;
getUserCurrentPage(userId: string, sessionId: string): number;
updateScrollSyncSession(sessionId: string, userId: string, position: ScrollPosition): ScrollSyncItem;
exitScrollSyncSessionByUserId(userId: string): ScrollSyncItem;
exitScrollSyncSession(sessionId: string, userId: string): boolean;
endScrollSyncSession(sessionId: string, userId: string): boolean;
getScrollSyncSessionsForDocument(documentId: string): ScrollSyncItem[];
getConnectedUsersForDocument(documentId: string): {
userId: any;
currentPage: number;
}[];
getUserCurrentPage(userId: string, documentId: string): number;
setCurrentPageForUser(userId: string, documentId: string, currentPage: number): void;
connectUserToDocument(userId: string, documentId: string, pageNumber?: number): boolean;
disconnectUserFromDocument(userId: string, documentId: string): boolean;
disconnectUserFromAllDocuments(userId: any): any[];
connect(userId: string): void;
/**
* Checks if a user is connected or not
* used to be .has()
*/
isUserConnected(userId: string): boolean;
/**
* Used to be .delete()
*/
disconnectUser(userId: string): any;
/**
* Used to be .keys()
*/
exitScrollSyncSession(sessionId: SessionId, userId: UserId): boolean;
endScrollSyncSession(sessionId: SessionId, userId: UserId): boolean;
getAllConnectedUsers(): IterableIterator<string>;
isUserConnected(userId: UserId): boolean;
getScrollSyncSessionsForDocument(documentId: DocumentId): ScrollSyncItem[];
clear(): void;
cull(): void;
private printStatusForUser;
}
declare const _default: ConnectedUserMap;
export default _default;

@@ -36,9 +36,9 @@ import { Actions } from '..';

annotations: (query: import("../types/Params").AnnotationsQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -51,9 +51,9 @@ inReplyTo?: string;

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -67,5 +67,5 @@ inReplyTo?: string;

documents: (query: import("../types/Params").DocumentsQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -78,5 +78,5 @@ name?: string;

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -90,3 +90,2 @@ name?: string;

annotationMembers: (query: import("../types/Params").AnnotationMembersQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;

@@ -96,4 +95,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -105,3 +105,2 @@ userId: string;

})[] | Promise<({
id: string;
createdAt: any;

@@ -111,4 +110,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -121,6 +121,6 @@ userId: string;

documentMembers: (query: import("../types/Params").DocumentMembersQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -132,6 +132,6 @@ } & {

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -146,7 +146,7 @@ } & {

mentions: (query: import("../types/Params").MentionsQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -157,7 +157,7 @@ userId: string;

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -169,7 +169,7 @@ userId: string;

snapshots?: (query: import("../types/Params").SnapshotsQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -181,7 +181,7 @@ } & {

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -215,9 +215,9 @@ } & {

annotations: (query: import("../types/Params").AnnotationsQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -230,9 +230,9 @@ inReplyTo?: string;

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -246,5 +246,5 @@ inReplyTo?: string;

documents: (query: import("../types/Params").DocumentsQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -257,5 +257,5 @@ name?: string;

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -269,3 +269,2 @@ name?: string;

annotationMembers: (query: import("../types/Params").AnnotationMembersQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;

@@ -275,4 +274,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -284,3 +284,2 @@ userId: string;

})[] | Promise<({
id: string;
createdAt: any;

@@ -290,4 +289,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -300,6 +300,6 @@ userId: string;

documentMembers: (query: import("../types/Params").DocumentMembersQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -311,6 +311,6 @@ } & {

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -325,7 +325,7 @@ } & {

mentions: (query: import("../types/Params").MentionsQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -336,7 +336,7 @@ userId: string;

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -348,7 +348,7 @@ userId: string;

snapshots?: (query: import("../types/Params").SnapshotsQuery, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -360,7 +360,7 @@ } & {

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -385,9 +385,9 @@ } & {

addAnnotation: (annotation: import("../../../../types/global-graphql-types").NewAnnotationInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -400,9 +400,9 @@ inReplyTo?: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -416,9 +416,9 @@ inReplyTo?: string;

batchAddAnnotations?: (annotations: import("../../../../types/global-graphql-types").NewAnnotationInput[], context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -431,9 +431,9 @@ inReplyTo?: string;

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -447,9 +447,9 @@ inReplyTo?: string;

editAnnotation: (id: string, input: import("../../../../types/resolvers-types").EditAnnotationInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -462,9 +462,9 @@ inReplyTo?: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -479,5 +479,5 @@ inReplyTo?: string;

addDocument: (document: import("../../../../types/resolvers-types").NewDocumentInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -490,5 +490,5 @@ name?: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -502,5 +502,5 @@ name?: string;

editDocument: (id: string, input: import("../../../../types/global-graphql-types").EditDocumentInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -513,5 +513,5 @@ name?: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -526,6 +526,6 @@ name?: string;

addDocumentMember: (documentMember: import("../types/Inputs").AddDocumentMemberInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -537,6 +537,6 @@ } & {

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -549,6 +549,6 @@ } & {

editDocumentMember: (id: string, input: import("../../../../types/resolvers-types").EditDocumentMemberInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -560,6 +560,6 @@ } & {

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -573,3 +573,2 @@ } & {

addAnnotationMember: (annotationMember: import("../types/Inputs").AddAnnotationMemberInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;

@@ -579,4 +578,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -588,3 +588,2 @@ userId: string;

}) | Promise<{
id: string;
createdAt: any;

@@ -594,4 +593,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -604,3 +604,2 @@ userId: string;

batchAddAnnotationMembers?: (annotationMember: import("../types/Inputs").AddAnnotationMemberInput[], context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;

@@ -610,4 +609,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -619,3 +619,2 @@ userId: string;

})[] | Promise<({
id: string;
createdAt: any;

@@ -625,4 +624,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -635,3 +635,2 @@ userId: string;

editAnnotationMember: (id: string, input: import("../types/Inputs").EditAnnotationMemberUserInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;

@@ -641,4 +640,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -650,3 +650,2 @@ userId: string;

}) | Promise<{
id: string;
createdAt: any;

@@ -656,4 +655,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -667,7 +667,7 @@ userId: string;

addMention: (mention: import("../types/Inputs").AddMentionInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -678,7 +678,7 @@ userId: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -693,7 +693,7 @@ userId: string;

}, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -705,7 +705,7 @@ } & {

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -718,7 +718,7 @@ } & {

editSnapshot?: (id: string, input: import("../../../../types/resolvers-types").EditSnapshotInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -730,7 +730,7 @@ } & {

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -761,9 +761,9 @@ } & {

addAnnotation: (annotation: import("../../../../types/global-graphql-types").NewAnnotationInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -776,9 +776,9 @@ inReplyTo?: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -792,9 +792,9 @@ inReplyTo?: string;

batchAddAnnotations?: (annotations: import("../../../../types/global-graphql-types").NewAnnotationInput[], context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -807,9 +807,9 @@ inReplyTo?: string;

})[] | Promise<({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -823,9 +823,9 @@ inReplyTo?: string;

editAnnotation: (id: string, input: import("../../../../types/resolvers-types").EditAnnotationInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -838,9 +838,9 @@ inReplyTo?: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
xfdf: string;
annotContents?: string;
annotationId: string;
documentId: string;
pageNumber: number;

@@ -855,5 +855,5 @@ inReplyTo?: string;

addDocument: (document: import("../../../../types/resolvers-types").NewDocumentInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -866,5 +866,5 @@ name?: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -878,5 +878,5 @@ name?: string;

editDocument: (id: string, input: import("../../../../types/global-graphql-types").EditDocumentInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -889,5 +889,5 @@ name?: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
isPublic?: boolean;

@@ -902,6 +902,6 @@ name?: string;

addDocumentMember: (documentMember: import("../types/Inputs").AddDocumentMemberInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -913,6 +913,6 @@ } & {

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -925,6 +925,6 @@ } & {

editDocumentMember: (id: string, input: import("../../../../types/resolvers-types").EditDocumentMemberInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -936,6 +936,6 @@ } & {

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
lastRead: any;
id: string;
documentId: string;

@@ -949,3 +949,2 @@ } & {

addAnnotationMember: (annotationMember: import("../types/Inputs").AddAnnotationMemberInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;

@@ -955,4 +954,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -964,3 +964,2 @@ userId: string;

}) | Promise<{
id: string;
createdAt: any;

@@ -970,4 +969,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -980,3 +980,2 @@ userId: string;

batchAddAnnotationMembers?: (annotationMember: import("../types/Inputs").AddAnnotationMemberInput[], context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;

@@ -986,4 +985,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -995,3 +995,2 @@ userId: string;

})[] | Promise<({
id: string;
createdAt: any;

@@ -1001,4 +1000,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -1011,3 +1011,2 @@ userId: string;

editAnnotationMember: (id: string, input: import("../types/Inputs").EditAnnotationMemberUserInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;

@@ -1017,4 +1016,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -1026,3 +1026,2 @@ userId: string;

}) | Promise<{
id: string;
createdAt: any;

@@ -1032,4 +1031,5 @@ updatedAt: any;

annotationCreatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -1043,7 +1043,7 @@ userId: string;

addMention: (mention: import("../types/Inputs").AddMentionInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -1054,7 +1054,7 @@ userId: string;

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
annotationId: string;
documentId: string;
} & {

@@ -1069,7 +1069,7 @@ userId: string;

}, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -1081,7 +1081,7 @@ } & {

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -1094,7 +1094,7 @@ } & {

editSnapshot?: (id: string, input: import("../../../../types/resolvers-types").EditSnapshotInput, context: import("../types/CustomContext").CustomContext) => ({
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -1106,7 +1106,7 @@ } & {

}) | Promise<{
id: string;
createdAt: any;
updatedAt: any;
id: string;
documentId: string;
xfdf: string;
documentId: string;
name?: string;

@@ -1113,0 +1113,0 @@ } & {

@@ -19,3 +19,4 @@ import winston from 'winston';

CLIENT = "CLIENT",
ANNOTATIONS = "ANNOTATIONS"
ANNOTATIONS = "ANNOTATIONS",
SESSION_STATUS = "SESSION_STATUS"
}

@@ -22,0 +23,0 @@ export declare enum LogLevels {

@@ -68,2 +68,3 @@ import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql';

token?: Maybe<Scalars['String']>;
sessionId?: Maybe<Scalars['String']>;
};

@@ -901,2 +902,3 @@ export declare type AuthUser = {

token?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
sessionId?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
__isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;

@@ -903,0 +905,0 @@ }>;

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