Socket
Socket
Sign inDemoInstall

@pdftron/collab-sql-resolver-generator

Package Overview
Dependencies
7
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.0.0-alpha.21 to 2.0.0-alpha.25

docs-readme.md

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.CollabPostgresGenerator=t():e.CollabPostgresGenerator=t()}(global,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.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 o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),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)&&r(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.setupLogger=t.LogLevels=t.LogTags=void 0;var a=i(n(2)),u=n(7);t.LogTags={STANDARD:"STANDARD",ENTITY:"ENTITY",QUERY:"QUERY",MUTATION:"MUTATION",RESPONSE:"RESPONSE",AUTH:"AUTH",CACHE:"CACHE",CONNECTED_USERS:"CONNECTED_USERS",SCROLL_SYNC:"SCROLL_SYNC"},t.LogLevels={ERROR:"error",WARN:"warn",INFO:"info",HTTP:"http",VERBOSE:"verbose",DEBUG:"debug",SILLY:"silly",NONE:"none"};var s=a.default.createLogger({format:a.format.combine(a.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,n,r){e===t.LogLevels.NONE?s.silent=!0:((0,u.addConsoleTransport)(s,e,r),n&&n.length&&(0,u.addTransports)(s,n))},t.default=s},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,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},o=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 i=o(n(0));t.ErrorCodes={PERMISSION_ERROR:"PERMISSION_ERROR"};t.throwError=function(e,t,n){var r=t;throw"string"!=typeof r&&(r=t.message||t.toString()),r="".concat(e," - ").concat(r),i.default.error(r),n?new n(r):"string"!=typeof t?t:new Error(r)};t.validateParams=function(e,t){var n,o=function(t){var n="".concat(e,' - Paramater "').concat(t,'" is required');throw i.default.error(n),new Error(n)},a=function(t,n,r){var o="".concat(e,' - Parameter "').concat(t,'" expected type "').concat(r,'" but got "').concat(n,'"');throw i.default.error(o),new Error(o)};for(var u in t){var s=r(t[u],3),d=s[0],c=s[1],l=void 0===c?"any":c,f=s[2],m=void 0===f||f;if(null!=d&&""!==d){if("any"!==l){var p=typeof d;if("string"!==l){if("number"!==l){if("array"!==l){if("blob"!==l){if("boolean"!==l){if("object"!==l){if("function"!==l);else if(!(n=d)||"[object Function]"!=={}.toString.call(n))return a(u,p,l)}else if("object"!==p)return a(u,p,l)}else if("boolean"!==p)return a(u,p,l)}else if(!(d instanceof Blob))return a(u,p,l)}else if(!Array.isArray(d))return a(u,p,l)}else if("number"!==p)return a(u,p,l)}else if("string"!==p)return a(u,p,l)}}else if(m)return o(u)}};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,"."))}},function(e,t){e.exports=require("winston")},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 o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},o=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=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)&&o(t,e,n);return i(t,e),t},u=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function u(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,u)}s((r=r.apply(e,t||[])).next())}))},s=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}},d=this&&this.__await||function(e){return this instanceof d?(this.v=e,this):new d(e)},c=this&&this.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||u(e,t)}))})}function u(e,t){try{(n=o[e](t)).value instanceof d?Promise.resolve(n.value.v).then(s,c):l(i[0][2],n)}catch(e){l(i[0][3],e)}var n}function s(e){u("next",e)}function c(e){u("throw",e)}function l(e,t){e(t),i.shift(),i.length&&u(i[0][0],i[0][1])}},l=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},f=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},m=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogTags=t.LogLevels=t.MutationOperationType=t.SQLClient=void 0;var p=m(n(4)),h=n(5),v=a(n(0)),y=n(8),b=n(1);t.SQLClient={Postgres:"pg",MSSQL:"mssql",SQLite3:"sqlite3",Oracle:"oracledb",MySQL:"mysql"},t.MutationOperationType={CREATE:"create",UPDATE:"update"};var T=n(0);Object.defineProperty(t,"LogLevels",{enumerable:!0,get:function(){return T.LogLevels}}),Object.defineProperty(t,"LogTags",{enumerable:!0,get:function(){return T.LogTags}}),t.default=function(e){var n=e.client,o=e.version,i=void 0===o?"":o,a=e.connection,m=e.pool,T=void 0===m?{min:2,max:10}:m,M=e.getDatabaseTimestamp,w=void 0===M?h.defaultGetDatabaseTimestamp:M,g=e.parseToUnixTimestamp,A=void 0===g?h.defaultParseToUnixTimestamp:g,x=e.logLevel,S=void 0===x?v.LogLevels.ERROR:x,C=e.filterLogsByTag,I=e.transports,q=void 0===I?[]:I;(0,h.testTimeTransformFunctions)(A,w),(0,v.setupLogger)(S,q,C),v.default.info("Collab SQL Resolver Generator version ".concat("2.0.0-alpha.21"));var _=(0,y.validateSchema)(v.LogLevels,v.LogTags,t.SQLClient).validate(e).error;if(_)throw v.default.error(_.details),new Error("".concat(_));var O=(0,h.attachAdditionalInfo)(e.info),E=(0,p.default)({client:n,version:i,connection:a,pool:r({afterCreate:function(e,t){v.default.info("--\x3e Database connected"),t(null,e)}},T),postProcessResponse:function(e,t){if(!t)return e;if(null==t?void 0:t.isCountQuery)return e;if(0===e.length)return e;var n=(0,h.transformToApolloFormat)({result:e,columns:null==t?void 0:t.entityInformation.columns,columnMap:t.entityInformation.columnMap,parseToUnixTimestamp:A,from:t.from});return v.default.log({level:v.LogLevels.DEBUG,tag:v.LogTags.RESPONSE,message:"[".concat(t.from,"]: ").concat(JSON.stringify(n))}),n},debug:S===v.LogLevels.DEBUG,log:{warn:function(e){v.default.warn(e)},error:function(e){v.default.error(e)},deprecate:function(e){v.default.warn(e)},debug:function(e){v.default.log({level:v.LogLevels.DEBUG,tag:v.LogTags.QUERY,message:e})}}}),D=function(e){var t=e.writeMiddleware,n=e.dbDataMap,o=e.operationType,i=e.customContext,a=void 0===i?{}:i;return u(void 0,void 0,void 0,(function(){var e,i,f,m,p,h,v;return s(this,(function(y){switch(y.label){case 0:if(e=r({},n),0===t.length)return[2,e];i=function(){return c(this,arguments,(function(){var n,r,i=this;return s(this,(function(c){switch(c.label){case 0:n=0,r=function(){return u(i,void 0,void 0,(function(){var r;return s(this,(function(i){switch(i.label){case 0:return(r=t[n])?[4,new Promise((function(t){r({data:e,ctx:a,type:o,knex:E,next:function(n,r){n&&(e=n),r&&(a=r),t()}})}))]:[2];case 1:return i.sent(),[2]}}))}))},c.label=1;case 1:return n<t.length?[4,d(r())]:[3,5];case 2:return c.sent(),n++,[4,d(void 0)];case 3:return[4,c.sent()];case 4:return c.sent(),[3,1];case 5:return[4,d(void 0)];case 6:return[2,c.sent()]}}))}))}(),y.label=1;case 1:y.trys.push([1,6,7,12]),f=l(i),y.label=2;case 2:return[4,f.next()];case 3:if((m=y.sent()).done)return[3,5];m.value,i.next(),y.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return p=y.sent(),h={error:p},[3,12];case 7:return y.trys.push([7,,10,11]),m&&!m.done&&(v=f.return)?[4,v.call(f)]:[3,9];case 8:y.sent(),y.label=9;case 9:return[3,11];case 10:if(h)throw h.error;return[7];case 11:return[7];case 12:return[2,e]}}))}))},j=function(e){var r=e.from,o=e.id,i=e.operationType,a=e.entity,d=e.dbDataMap,c=e.customContext;return u(void 0,void 0,void 0,(function(){var e,u,l,m,p,h,v,y,b;return s(this,(function(s){switch(s.label){case 0:return e=a.table,u=a.selectFields,l=a.columns,m=a.columnMap,p={from:r,entityInformation:a,customContext:c},i!==t.MutationOperationType.CREATE?[3,2]:[4,E(e).queryContext(p).insert(d)];case 1:return s.sent(),[3,4];case 2:return i!==t.MutationOperationType.UPDATE?[3,4]:[4,E(e).queryContext(p).where(l.id.nameWithTable,o).update(d)];case 3:s.sent(),s.label=4;case 4:return h=n===t.SQLClient.SQLite3?"last_insert_rowid() as id":"LAST_INSERT_ID() as id",[4,E.select(E.raw(h))];case 5:return v=f.apply(void 0,[s.sent(),1]),y=v[0],b=y.id,n===t.SQLClient.SQLite3&&u.push("rowid"),[4,E(e).select(u).queryContext({from:r,columns:l,columnMap:m}).where(l.id.nameWithTable,b)];case 6:return[2,s.sent()]}}))}))},P=function(e){var r=e.from,o=e.id,i=e.entity,a=e.data,d=e.customContext,c=e.operationType;return u(void 0,void 0,void 0,(function(){var e,u,l,f,m,p,v,y,T,M,g,A,x;return s(this,(function(s){switch(s.label){case 0:e=i.table,u=i.writeMiddleware,l=void 0===u?[]:u,f=i.returnFields,m=i.columns,p=i.afterWrite,s.label=1;case 1:return s.trys.push([1,11,,12]),v=(0,h.toDatabaseFormat)({data:a,table:e,columns:m,getDatabaseTimestamp:w,knex:E}),[4,D({writeMiddleware:l,dbDataMap:v,operationType:c,customContext:d})];case 2:return y=s.sent(),y=(0,h.removeJoinedData)(y,m),T={from:r,customContext:d,entityInformation:i},M=[],n!==t.SQLClient.SQLite3&&n!==t.SQLClient.MySQL?[3,4]:[4,j({from:r,id:o,operationType:c,entity:i,dbDataMap:y,customContext:d})];case 3:return M=s.sent(),[3,8];case 4:return c!==t.MutationOperationType.CREATE?[3,6]:[4,E(e).queryContext(T).insert(y).returning(f)];case 5:return M=s.sent(),[3,8];case 6:return[4,E(e).queryContext(T).where(m.id.nameWithTable,o).update(y).returning(f)];case 7:M=s.sent(),s.label=8;case 8:return(g=M[0]||null)&&(g=(0,h.applyMissingData)(a,g,i.columns)),p?[4,p({data:g,knex:E,context:d,operation:c})]:[3,10];case 9:(A=s.sent())&&(g=A),s.label=10;case 10:return[2,g];case 11:return x=s.sent(),(0,b.throwError)("".concat(r),x),[3,12];case 12:return[2]}}))}))},L=function(e){var t=e.entity,n=e.id;return u(void 0,void 0,void 0,(function(){var e,r,o,i;return s(this,(function(a){switch(a.label){case 0:e=t.table,r=t.columns,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,E(e).where(r.id.nameWithTable,n).del().returning(r.id.nameWithTable)];case 2:return o=a.sent(),[2,{id:"".concat(o[0]),successful:!0}];case 3:return i=a.sent(),v.default.error(i),[2,{id:n,successful:!1}];case 4:return[2]}}))}))},Q={Query:{user:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u;return s(this,(function(s){switch(s.label){case 0:return n=O.Users,r=n.selectFields,o=void 0===r?[]:r,i=n.table,a=n.columns,u={from:"Query.user",entityInformation:O.Users,customContext:t},[4,E(i).queryContext(u).modify((function(e){(0,h.buildJoinQuery)(e,O.Users)})).select(o).where(a.id.nameWithTable,e).limit(1).then((function(e){return e}))];case 1:return[2,s.sent()[0]||null]}}))}))},userWithEmail:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u;return s(this,(function(s){switch(s.label){case 0:return n=O.Users,r=n.selectFields,o=void 0===r?[]:r,i=n.table,a=n.columns,u={from:"Query.userWithEmail",entityInformation:O.Users,customContext:t},[4,E(i).queryContext(u).modify((function(e){(0,h.buildJoinQuery)(e,O.Users)})).select(o).where(a.email.nameWithTable,e).limit(1)];case 1:return[2,s.sent()[0]||null]}}))}))},annotations:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f,m,p,v;return s(this,(function(s){switch(s.label){case 0:return n=e.ids,r=e.documentId,o=e.annotationIds,i=e.filters,a=void 0===i?{}:i,u=e.inReplyTo,d=e.pageNumbers,c=O.Annotations,l=c.selectFields,f=void 0===l?[]:l,m=c.table,p=c.columns,v={from:"Query.annotations",entityInformation:O.Annotations,customContext:t},[4,E(m).queryContext(v).modify((function(e){(0,h.buildJoinQuery)(e,O.Annotations)})).select(f).where((function(e){n&&e.whereIn(p.id.nameWithTable,n),o&&e.whereIn(p.annotationId.nameWithTable,o),r&&e.where(p.documentId.nameWithTable,r),u&&e.where(p.inReplyTo.nameWithTable,u),d&&e.whereIn(p.pageNumber.nameWithTable,d),(0,h.buildFilterQuery)(e,a,p,w)})).modify((function(e){(0,h.buildModifyQuery)(e,a,p)}))];case 1:return[2,s.sent()]}}))}))},documents:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f;return s(this,(function(s){switch(s.label){case 0:return n=e.ids,r=e.userId,o=e.filters,i=void 0===o?{}:o,a=O.Documents,u=a.selectFields,d=void 0===u?[]:u,c=a.table,l=a.columns,f={from:"Query.documents",entityInformation:O.Documents,customContext:t},[4,E(c).queryContext(f).modify((function(e){(0,h.buildJoinQuery)(e,O.Documents)})).select(d).where((function(e){n&&e.whereIn(l.id.nameWithTable,n),r&&e.whereIn(l.id.nameWithTable,(function(){this.select(O.DocumentMembers.columns.documentId.nameWithTable).from(O.DocumentMembers.table).where(O.DocumentMembers.columns.userId.nameWithTable,r)})),(0,h.buildFilterQuery)(e,i,l,w)})).modify((function(e){(0,h.buildModifyQuery)(e,i,l)}))];case 1:return[2,s.sent()]}}))}))},annotationMembers:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f,m,p;return s(this,(function(s){switch(s.label){case 0:return n=e.annotationId,r=e.documentId,o=e.ids,i=e.userId,a=e.filters,u=void 0===a?{}:a,d=O.AnnotationMembers,c=d.selectFields,l=void 0===c?[]:c,f=d.table,m=d.columns,p={from:"Query.annotationMembers",entityInformation:O.AnnotationMembers,customContext:t},[4,E(f).queryContext(p).modify((function(e){(0,h.buildJoinQuery)(e,O.AnnotationMembers)})).select(l).where((function(e){o&&e.whereIn(m.id.nameWithTable,o),n&&e.where(m.annotationId.nameWithTable,n),r&&e.where(m.documentId.nameWithTable,r),i&&e.where(m.userId.nameWithTable,i),(0,h.buildFilterQuery)(e,u,m,w)})).modify((function(e){(0,h.buildModifyQuery)(e,u,m)}))];case 1:return[2,s.sent()]}}))}))},documentMembers:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f,m;return s(this,(function(s){switch(s.label){case 0:return n=e.documentId,r=e.ids,o=e.userId,i=e.filters,a=void 0===i?{}:i,u=O.DocumentMembers,d=u.selectFields,c=void 0===d?[]:d,l=u.table,f=u.columns,m={from:"Query.documentMembers",entityInformation:O.DocumentMembers,customContext:t},[4,E(l).queryContext(m).modify((function(e){(0,h.buildJoinQuery)(e,O.DocumentMembers)})).select(c).where((function(e){r&&e.whereIn(f.id.nameWithTable,r),n&&e.where(f.documentId.nameWithTable,n),o&&e.where(f.userId.nameWithTable,o),(0,h.buildFilterQuery)(e,a,f,w)})).modify((function(e){(0,h.buildModifyQuery)(e,a,f)}))];case 1:return[2,s.sent()]}}))}))},mentions:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f,m,p;return s(this,(function(s){switch(s.label){case 0:return n=e.annotationId,r=e.userId,o=e.documentId,i=e.ids,a=e.filters,u=void 0===a?{}:a,d=O.Mentions,c=d.selectFields,l=void 0===c?[]:c,f=d.table,m=d.columns,p={from:"Query.mentions",entityInformation:O.Mentions,customContext:t},[4,E(f).queryContext(p).modify((function(e){(0,h.buildJoinQuery)(e,O.Mentions)})).select(l).where((function(e){i&&e.whereIn(m.id.nameWithTable,i),o&&e.where(m.documentId.nameWithTable,o),n&&e.where(m.annotationId.nameWithTable,n),r&&e.where(m.userId.nameWithTable,r),(0,h.buildFilterQuery)(e,u,m,w)})).modify((function(e){(0,h.buildModifyQuery)(e,u,m)}))];case 1:return[2,s.sent()]}}))}))},annotationCount:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d;return s(this,(function(s){switch(s.label){case 0:return n=e.since,r=e.documentId,o=O.Annotations,i=o.table,a=o.columns,u={from:"Query.annotationCount",entityInformation:O.Annotations,customContext:t,isCountQuery:!0},[4,E(i).queryContext(u).modify((function(e){(0,h.buildJoinQuery)(e,O.Annotations)})).count({count:[a.id.nameWithTable]}).where(a.documentId.nameWithTable,r).where(a.createdAt.nameWithTable,">",w(n)).whereNotNull(a.authorId.nameWithTable)];case 1:return d=s.sent(),[2,Number(d[0].count||0)]}}))}))},annotationMemberCount:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c;return s(this,(function(s){switch(s.label){case 0:return n=e.userId,r=e.documentId,o=e.since,i=O.AnnotationMembers,a=i.table,u=i.columns,d={from:"Query.annotationMemberCount",entityInformation:O.AnnotationMembers,customContext:t,isCountQuery:!0},[4,E(a).queryContext(d).modify((function(e){(0,h.buildJoinQuery)(e,O.AnnotationMembers)})).count({count:[u.id.nameWithTable]}).where(u.documentId.nameWithTable,r).where(u.userId.nameWithTable,n).where(u.createdAt.nameWithTable,">",w(o))];case 1:return c=s.sent(),[2,Number(c[0].count||0)]}}))}))}},Mutation:{addUser:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addUser",entity:O.Users,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},addAnnotation:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addAnnotation",entity:O.Annotations,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editAnnotation:function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i,a,u;return s(this,(function(s){return o=n.xfdf,i=n.pageNumber,a=n.updatedAt,u=n.annotContents,[2,P({from:"Mutation.editAnnotation",customContext:r,entity:O.Annotations,id:e,data:{xfdf:o,pageNumber:i,updatedAt:a,annotContents:u},operationType:t.MutationOperationType.UPDATE})]}))}))},deleteAnnotation:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,L({from:"Mutation.deleteAnnotation",entity:O.Annotations,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))},addDocument:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addDocument",entity:O.Documents,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editDocument:function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i,a;return s(this,(function(u){return o=n.name,i=n.isPublic,a=n.updatedAt,[2,P({from:"Mutation.editDocument",entity:O.Documents,id:e,data:{name:o,isPublic:i,updatedAt:a},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteDocument:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,L({from:"Mutation.deleteDocument",entity:O.Documents,id:e,customContext:t})]}))}))},addDocumentMember:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addDocumentMember",entity:O.DocumentMembers,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editDocumentMember:function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(a){return o=n.lastRead,i=n.updatedAt,[2,P({from:"Mutation.editDocumentMember",entity:O.DocumentMembers,id:e,data:{lastRead:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteDocumentMember:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,L({from:"Mutation.deleteDocumentMember",entity:O.DocumentMembers,id:e,customContext:t})]}))}))},addAnnotationMember:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addAnnotationMember",entity:O.AnnotationMembers,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editAnnotationMember:function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(a){return o=n.lastRead,i=n.updatedAt,[2,P({from:"Mutation.editAnnotationMember",entity:O.AnnotationMembers,id:e,data:{lastRead:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteAnnotationMember:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,L({from:"Mutation.deleteAnnotationMember",entity:O.AnnotationMembers,id:e,customContext:t})]}))}))},addMention:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addMention",entity:O.Mentions,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},deleteMention:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,L({from:"Mutation.deleteMention",entity:O.Mentions,id:e,customContext:t})]}))}))}}};return O.Snapshots&&(Q.Query.snapshots=function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f;return s(this,(function(s){switch(s.label){case 0:return n=e.ids,r=e.documentId,o=e.filters,i=void 0===o?{}:o,a=O.Snapshots,u=a.selectFields,d=void 0===u?[]:u,c=a.table,l=a.columns,f={from:"Query.Snapshots",entityInformation:O.Snapshots,customContext:t},[4,E(c).queryContext(f).select(d).where((function(e){n&&e.whereIn(l.id.nameWithTable,n),r&&e.where(l.documentId.nameWithTable,r),(0,h.buildFilterQuery)(e,i,l,w)})).modify((function(e){(0,h.buildModifyQuery)(e,i,l)}))];case 1:return[2,s.sent()]}}))}))},Q.Mutation.addSnapshot=function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addSnapshot",entity:O.Snapshots,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},Q.Mutation.editSnapshot=function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(a){return o=n.name,i=n.updatedAt,[2,P({from:"Mutation.editSnapshot",customContext:r,entity:O.Snapshots,id:e,data:{name:o,updatedAt:i},operationType:t.MutationOperationType.UPDATE})]}))}))},Q.Mutation.deleteSnapshot=function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,L({from:"Mutation.deleteSnapshot",entity:O.Snapshots,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))}),O.SnapshotAssets&&(Q.Query.snapshotAssets=function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c;return s(this,(function(s){switch(s.label){case 0:return n=e.ids,r=e.snapshotId,o=O.SnapshotAssets,i=o.selectFields,a=void 0===i?[]:i,u=o.table,d=o.columns,c={from:"Query.SnapshotAssets",entityInformation:O.SnapshotAssets,customContext:t},[4,E(u).queryContext(c).select(a).where((function(e){n&&e.whereIn(d.id.nameWithTable,n),r&&e.where(d.snapshotId.nameWithTable,r)}))];case 1:return[2,s.sent()]}}))}))},Q.Mutation.addSnapshotAsset=function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addSnapshotAsset",entity:O.SnapshotAssets,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},Q.Mutation.editSnapshotAsset=function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(a){return o=n.snapshotId,i=n.updatedAt,[2,P({from:"Mutation.editSnapshotAsset",customContext:r,entity:O.SnapshotAssets,id:e,data:{snapshotId:o,updatedAt:i},operationType:t.MutationOperationType.UPDATE})]}))}))},Q.Mutation.deleteSnapshotAsset=function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,L({from:"Mutation.deleteSnapshotAsset",entity:O.SnapshotAssets,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))}),Q}},function(e,t){e.exports=require("knex")},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 o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},o=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},a=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(t,"__esModule",{value:!0}),t.attachAdditionalInfo=t.transformToApolloFormat=t.keysToCamel=t.toUnixTimestamp=t.testTimeTransformFunctions=t.defaultGetDatabaseTimestamp=t.defaultParseToUnixTimestamp=t.toDatabaseFormat=t.removeJoinedData=t.applyMissingData=t.buildModifyQuery=t.buildJoinQuery=t.buildFilterQuery=void 0;var u=n(6),s=n(1);t.buildFilterQuery=function(e,t,n,r){t.createdBefore&&e.where(n.createdAt.nameWithTable,"<",r(t.createdBefore)),t.createdAfter&&e.where(n.createdAt.nameWithTable,">",r(t.createdAfter)),t.updatedBefore&&e.where(n.updatedAt.nameWithTable,"<",r(t.updatedBefore)),t.updatedAfter&&e.where(n.updatedAt.nameWithTable,">",r(t.updatedAfter))};t.buildJoinQuery=function(e,t){var n=t.columns,r=Object.keys(n).reduce((function(e,t){var r=n[t];if("string"==typeof r)return e;if(!r.join)return e;var i=o(r.join,1)[0];return e[i]||(e[i]=[]),e[i].push(r.join),e}),{}),a=Object.keys(r);a.length>0&&e.distinct(),a.forEach((function(t){var n=r[t];if(1===n.length){var a=o(n,1)[0],u=o(a,2),s=u[0],d=u[1];"string"==typeof d?e.join.apply(e,i([],o(a),!1)):e.join(s,(function(){d(this)}))}else e.join(t,(function(){this.on((function(){var e=this;n.forEach((function(t,n){var r=0===n?e.on:e.orOn,a=o(t,2)[1];"string"==typeof a?r.call.apply(r,i([e],o(t.slice(1)),!1)):r((function(){a(this)}))}))}))}))}))};t.buildModifyQuery=function(e,t,n){var r=t.limit,o=t.orderBy,i=t.orderDirection,a=void 0===i?"DESC":i;o&&e.orderBy(n[o].nameWithTable,a),r&&e.limit(r)};t.applyMissingData=function(e,t,n){var r,o,i={},u=Object.keys(n);try{for(var s=a(u),d=s.next();!d.done;d=s.next()){var c=d.value;i[c]=t[c],void 0===i[c]&&void 0!==e[c]&&(i[c]=e[c])}}catch(e){r={error:e}}finally{try{d&&!d.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}return i};t.removeJoinedData=function(e,t){var n,o,i=r({},e),u=Object.keys(t);try{for(var s=a(u),d=s.next();!d.done;d=s.next()){var c=d.value,l=t[c];l.skipWrite&&(delete i[c],delete i[l.name],delete i[l.nameWithTable])}}catch(e){n={error:e}}finally{try{d&&!d.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return i};t.toDatabaseFormat=function(e){var t=e.data,n=e.columns,r=e.getDatabaseTimestamp,o=e.knex,i={};for(var a in t)n[a]&&(u.TimestampProperties.includes(a)?u.NowTimestampProperties.includes(a)?i[n[a].name]=o.raw(t[a]):i[n[a].name]=r(t[a]):i[n[a].name]=t[a]);return i};t.defaultParseToUnixTimestamp=function(e){return new Date(e).getTime()};t.defaultGetDatabaseTimestamp=function(e){return new Date(e).toISOString()};t.testTimeTransformFunctions=function(e,t){var n=Date.now();if(e(t(n))!==n)throw new Error('Configuration error: "getDatabaseTimestamp" and "parseToUnixTimestamp" functions are not compatible. The result of "parseUnixFunc" must be equal to the input of "getDatabaseTimestampFunc". For example, the following must be true: parseUnixFunc(getDatabaseTimestamp('.concat(n,")) === ").concat(n))};t.toUnixTimestamp=function(e,t){return Object.keys(e).forEach((function(n){u.TimestampProperties.includes(n)&&(e[n]=t(e[n]))})),e};t.keysToCamel=function(e,t,n){var r={};return Object.keys(n).forEach((function(o){var i;if(n[o]){var a=n[o],s=e[o],d=void 0;d="string"!=typeof t[a]&&!!(null===(i=t[a])||void 0===i?void 0:i.transform)&&void 0!==s?t[a].transform(s):e[o],u.StringIdProperties.includes(a)&&"number"==typeof d&&(d="".concat(d)),void 0===r[a]&&void 0!==d&&(r[a]=d)}})),r};t.transformToApolloFormat=function(e){var n=e.result,r=e.columns,o=e.columnMap,i=e.parseToUnixTimestamp,a=[];return n.forEach((function(e){var n=(0,t.keysToCamel)(e,r,o),u=(0,t.toUnixTimestamp)(n,i);a.push(u)})),a};t.attachAdditionalInfo=function(e){var t=function(e){return r(r({},e),{columnMap:{},selectFields:[],returnFields:[]})},n=r({Users:t(e.Users),Annotations:t(e.Annotations),Documents:t(e.Documents),AnnotationMembers:t(e.AnnotationMembers),DocumentMembers:t(e.DocumentMembers),Mentions:t(e.Mentions)},e.SnapshotAssets&&e.Snapshots&&{Snapshots:t(e.Snapshots),SnapshotAssets:t(e.SnapshotAssets)});for(var a in n){var u=n[a],d=u.table,c=u.columns;for(var l in c){var f=c[l];"string"==typeof f&&(f=c[l]={name:f,nameWithTable:""});var m=f.join,p=f.name;if(m||p||(0,s.throwError)("SQL Resolver Generator","Expected column object to have either 'name' or 'join' property"),m){var h=o(m),v=h[0],y=h.slice(1),b=o(v.split("."),2),T=b[0],M=b[1];T&&M||(0,s.throwError)("SQL Resolver Generator","First item in join query must be formatted as {TableName}.{ColumnName} - received ".concat(v)),f.skipWrite=!0,f.nameWithTable="".concat(T,".").concat(M),f.name=M,f.join=i([T],o(y),!1),u.selectFields.push("".concat(T,".").concat(M)),u.columnMap[f.nameWithTable]=f.name,u.columnMap[M]=f.name}else f.nameWithTable="".concat(d,".").concat(f.name),u.selectFields.push("".concat(d,".").concat(f.name)),u.returnFields.push("".concat(f.name));u.columnMap[f.name]=l,u.columnMap["".concat(d,".").concat(f.name)]=l}}return n}},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,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]}),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)&&r(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.addTransports=t.addConsoleTransport=void 0;var a=i(n(2)),u=n(0);t.addConsoleTransport=function(e,t,n){void 0===t&&(t=u.LogLevels.INFO),e.add(new a.default.transports.Console({level:t,format:a.format.combine((0,a.format)((function(e){return(!n||e.tag===n)&&e}))(),a.format.colorize(),a.format.printf((function(e){var t=s(e.message),n=e.tag?" [".concat(e.tag,"]"):"",r=s(e.meta);return"".concat(e.timestamp," ").concat(e.level).concat(n,": ").concat(t," ").concat(r)})),a.format.metadata({fillExcept:["message","level","timestamp","label"]}))}))};t.addTransports=function(e,t){t.forEach((function(t){return e.add(t)}))};var s=function(e){var t=e||"";return"object"==typeof e&&null!==e&&(t=JSON.stringify(e,null,2)),t}},function(e,t,n){"use strict";var r=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchema=void 0;var a=i(n(9)),u=a.default.alternatives().try(a.default.object({name:a.default.string(),transform:a.default.function(),join:a.default.array(),resolve:a.default.func()}),a.default.string());t.validateSchema=function(e,t,n){var i,s,d;return a.default.object({client:(i=a.default.string()).valid.apply(i,o([],r(Object.values(n)),!1)).required(),connection:a.default.object().required(),pool:{min:a.default.number(),max:a.default.number()},getDatabaseTimestamp:a.default.func(),parseToUnixTimestamp:a.default.func(),getNow:a.default.func(),logLevel:(s=a.default.string()).valid.apply(s,o([],r(Object.values(e)),!1)),filterLogsByTag:(d=a.default.string()).valid.apply(d,o([],r(Object.values(t)),!1)),transports:a.default.array(),info:a.default.object({Users:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),type:u.required(),email:u.required(),userName:u,createdAt:u.required(),updatedAt:u.required()}).required()}).required(),Annotations:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),xfdf:u.required(),authorId:u.required(),annotationId:u.required(),documentId:u.required(),pageNumber:u.required(),createdAt:u.required(),updatedAt:u.required(),inReplyTo:u.required(),annotContents:u}).required()}).required(),Documents:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),authorId:u.required(),createdAt:u.required(),updatedAt:u.required(),isPublic:u.required(),name:u}).required()}).required(),AnnotationMembers:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),userId:u.required(),documentId:u.required(),annotationId:u.required(),lastRead:u.required(),createdAt:u.required(),updatedAt:u.required(),annotationCreatedAt:u.required()}).required()}),DocumentMembers:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),userId:u.required(),documentId:u.required(),lastRead:u.required(),createdAt:u.required(),updatedAt:u.required()}).required()}).required(),Mentions:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),userId:u.required(),documentId:u.required(),annotationId:u.required(),createdAt:u.required(),updatedAt:u.required()}).required()}).required(),Snapshots:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),authorId:u.required(),documentId:u.required(),xfdf:u.required(),name:u.required(),createdAt:u.required(),updatedAt:u.required()}).required()}),SnapshotAssets:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),snapshotId:u.required(),data:u.required(),createdAt:u.required(),updatedAt:u.required()}).required()})}).required()})}},function(e,t){e.exports=require("joi")}]).default}));
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CollabPostgresGenerator=t():e.CollabPostgresGenerator=t()}(global,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.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 o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}([function(e,t,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),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)&&r(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.setupLogger=t.LogLevels=t.LogTags=void 0;var a,u=i(n(2)),s=n(7);!function(e){e.STANDARD="STANDARD",e.ENTITY="ENTITY",e.QUERY="QUERY",e.MUTATION="MUTATION",e.RESPONSE="RESPONSE",e.AUTH="AUTH",e.CACHE="CACHE",e.CONNECTED_USERS="CONNECTED_USERS",e.SCROLL_SYNC="SCROLL_SYNC"}(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"}(a=t.LogLevels||(t.LogLevels={}));var d=u.default.createLogger({format:u.format.combine(u.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,t,n){e===a.NONE?d.silent=!0:((0,s.addConsoleTransport)(d,e,n),t&&t.length&&(0,s.addTransports)(d,t))},t.default=d},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,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},o=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 i=o(n(0));t.ErrorCodes={PERMISSION_ERROR:"PERMISSION_ERROR"};t.throwError=function(e,t,n){var r=t;throw"string"!=typeof r&&(r=t.message||t.toString()),r="".concat(e," - ").concat(r),i.default.error(r),n?new n(r):"string"!=typeof t?t:new Error(r)};t.validateParams=function(e,t){var n,o=function(t){var n="".concat(e,' - Paramater "').concat(t,'" is required');throw i.default.error(n),new Error(n)},a=function(t,n,r){var o="".concat(e,' - Parameter "').concat(t,'" expected type "').concat(r,'" but got "').concat(n,'"');throw i.default.error(o),new Error(o)};for(var u in t){var s=r(t[u],3),d=s[0],c=s[1],l=void 0===c?"any":c,f=s[2],m=void 0===f||f;if(null!=d&&""!==d){if("any"!==l){var p=typeof d;if("string"!==l){if("number"!==l){if("array"!==l){if("blob"!==l){if("boolean"!==l){if("object"!==l){if("function"!==l);else if(!(n=d)||"[object Function]"!=={}.toString.call(n))return a(u,p,l)}else if("object"!==p)return a(u,p,l)}else if("boolean"!==p)return a(u,p,l)}else if(!(d instanceof Blob))return a(u,p,l)}else if(!Array.isArray(d))return a(u,p,l)}else if("number"!==p)return a(u,p,l)}else if("string"!==p)return a(u,p,l)}}else if(m)return o(u)}};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,"."))}},function(e,t){e.exports=require("winston")},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 o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},o=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=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)&&o(t,e,n);return i(t,e),t},u=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{s(r.next(e))}catch(e){i(e)}}function u(e){try{s(r.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,u)}s((r=r.apply(e,t||[])).next())}))},s=this&&this.__generator||function(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,u])}}},d=this&&this.__await||function(e){return this instanceof d?(this.v=e,this):new d(e)},c=this&&this.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,o=n.apply(e,t||[]),i=[];return r={},a("next"),a("throw"),a("return"),r[Symbol.asyncIterator]=function(){return this},r;function a(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||u(e,t)}))})}function u(e,t){try{(n=o[e](t)).value instanceof d?Promise.resolve(n.value.v).then(s,c):l(i[0][2],n)}catch(e){l(i[0][3],e)}var n}function s(e){u("next",e)}function c(e){u("throw",e)}function l(e,t){e(t),i.shift(),i.length&&u(i[0][0],i[0][1])}},l=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,o,(t=e[n](t)).done,t.value)}))}}},f=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},m=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogTags=t.LogLevels=t.MutationOperationType=t.SQLClient=void 0;var p=m(n(4)),h=n(5),v=a(n(0)),y=n(8),b=n(1);t.SQLClient={Postgres:"pg",MSSQL:"mssql",SQLite3:"sqlite3",Oracle:"oracledb",MySQL:"mysql"},t.MutationOperationType={CREATE:"create",UPDATE:"update"};var T=n(0);Object.defineProperty(t,"LogLevels",{enumerable:!0,get:function(){return T.LogLevels}}),Object.defineProperty(t,"LogTags",{enumerable:!0,get:function(){return T.LogTags}}),t.default=function(e){var n=e.client,o=e.version,i=void 0===o?"":o,a=e.connection,m=e.pool,T=void 0===m?{min:2,max:10}:m,M=e.getDatabaseTimestamp,w=void 0===M?h.defaultGetDatabaseTimestamp:M,g=e.parseToUnixTimestamp,A=void 0===g?h.defaultParseToUnixTimestamp:g,x=e.logLevel,C=void 0===x?v.LogLevels.ERROR:x,S=e.filterLogsByTag,I=e.transports,q=void 0===I?[]:I;(0,h.testTimeTransformFunctions)(A,w),(0,v.setupLogger)(C,q,S),v.default.info("Collab SQL Resolver Generator version ".concat("2.0.0-alpha.25"));var _=(0,y.validateSchema)(v.LogLevels,v.LogTags,t.SQLClient).validate(e).error;if(_)throw v.default.error(_.details),new Error("".concat(_));var O=(0,h.attachAdditionalInfo)(e.info),E=(0,p.default)({client:n,version:i,connection:a,pool:r({afterCreate:function(e,t){v.default.info("--\x3e Database connected"),t(null,e)}},T),postProcessResponse:function(e,t){if(!t)return e;if(null==t?void 0:t.isCountQuery)return e;if(!Array.isArray(e))return e;if(0===e.length)return e;var n=(0,h.transformToApolloFormat)({result:e,columns:null==t?void 0:t.entityInformation.columns,columnMap:t.entityInformation.columnMap,parseToUnixTimestamp:A,from:t.from,customContext:t.customContext});return v.default.log({level:v.LogLevels.DEBUG,tag:v.LogTags.RESPONSE,message:"[".concat(t.from,"]: ").concat(JSON.stringify(n))}),n},debug:C===v.LogLevels.DEBUG,log:{warn:function(e){v.default.warn(e)},error:function(e){v.default.error(e)},deprecate:function(e){v.default.warn(e)},debug:function(e){v.default.log({level:v.LogLevels.DEBUG,tag:v.LogTags.QUERY,message:e})}}}),D=function(e){var t=e.writeMiddleware,n=e.dbDataMap,o=e.operationType,i=e.customContext,a=void 0===i?{}:i;return u(void 0,void 0,void 0,(function(){var e,i,f,m,p,h,v;return s(this,(function(y){switch(y.label){case 0:if(e=r({},n),0===t.length)return[2,e];i=function(){return c(this,arguments,(function(){var n,r,i=this;return s(this,(function(c){switch(c.label){case 0:n=0,r=function(){return u(i,void 0,void 0,(function(){var r;return s(this,(function(i){switch(i.label){case 0:return(r=t[n])?[4,new Promise((function(t){r({data:e,ctx:a,type:o,knex:E,next:function(n,r){n&&(e=n),r&&(a=r),t()}})}))]:[2];case 1:return i.sent(),[2]}}))}))},c.label=1;case 1:return n<t.length?[4,d(r())]:[3,5];case 2:return c.sent(),n++,[4,d(void 0)];case 3:return[4,c.sent()];case 4:return c.sent(),[3,1];case 5:return[4,d(void 0)];case 6:return[2,c.sent()]}}))}))}(),y.label=1;case 1:y.trys.push([1,6,7,12]),f=l(i),y.label=2;case 2:return[4,f.next()];case 3:if((m=y.sent()).done)return[3,5];m.value,i.next(),y.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return p=y.sent(),h={error:p},[3,12];case 7:return y.trys.push([7,,10,11]),m&&!m.done&&(v=f.return)?[4,v.call(f)]:[3,9];case 8:y.sent(),y.label=9;case 9:return[3,11];case 10:if(h)throw h.error;return[7];case 11:return[7];case 12:return[2,e]}}))}))},j=function(e){var r=e.from,o=e.id,i=e.operationType,a=e.entity,d=e.dbDataMap,c=e.customContext;return u(void 0,void 0,void 0,(function(){var e,u,l,m,p,h,v,y;return s(this,(function(s){switch(s.label){case 0:return e=a.table,u=a.selectFields,l=a.columns,m={from:r,entityInformation:a,customContext:c},i!==t.MutationOperationType.CREATE?[3,2]:[4,E(e).queryContext(m).insert(d)];case 1:return s.sent(),[3,4];case 2:return i!==t.MutationOperationType.UPDATE?[3,4]:[4,E(e).queryContext(m).where(l.id.nameWithTable,o).update(d)];case 3:s.sent(),s.label=4;case 4:return i!==t.MutationOperationType.CREATE?[3,6]:(h=n===t.SQLClient.SQLite3?"last_insert_rowid() as id":"LAST_INSERT_ID() as id",[4,E.select(E.raw(h))]);case 5:return v=f.apply(void 0,[s.sent(),1]),y=v[0],p=y.id,[3,7];case 6:p=o,s.label=7;case 7:return n===t.SQLClient.SQLite3&&(u.includes("rowid")||u.push("rowid")),[4,E(e).select(u).queryContext(m).where(l.id.nameWithTable,p)];case 8:return[2,s.sent()]}}))}))},P=function(e){var r=e.from,o=e.id,i=e.entity,a=e.data,d=e.customContext,c=e.operationType;return u(void 0,void 0,void 0,(function(){var e,u,l,f,m,p,v,y,T,M,g,A,x;return s(this,(function(s){switch(s.label){case 0:e=i.table,u=i.writeMiddleware,l=void 0===u?[]:u,f=i.returnFields,m=i.columns,p=i.afterWrite,s.label=1;case 1:return s.trys.push([1,11,,12]),v=(0,h.toDatabaseFormat)({data:a,table:e,columns:m,getDatabaseTimestamp:w,knex:E}),[4,D({writeMiddleware:l,dbDataMap:v,operationType:c,customContext:d})];case 2:return y=s.sent(),y=(0,h.removeJoinedData)(y,m),T={from:r,customContext:d,entityInformation:i},M=[],n!==t.SQLClient.SQLite3&&n!==t.SQLClient.MySQL?[3,4]:[4,j({from:r,id:o,operationType:c,entity:i,dbDataMap:y,customContext:d})];case 3:return M=s.sent(),[3,8];case 4:return c!==t.MutationOperationType.CREATE?[3,6]:[4,E(e).queryContext(T).insert(y).returning(f)];case 5:return M=s.sent(),[3,8];case 6:return[4,E(e).queryContext(T).where(m.id.nameWithTable,o).update(y).returning(f)];case 7:M=s.sent(),s.label=8;case 8:return(g=M[0]||null)&&(g=(0,h.applyMissingData)(a,g,i.columns)),p?[4,p({data:g,knex:E,context:d,operation:c})]:[3,10];case 9:(A=s.sent())&&(g=A),s.label=10;case 10:return[2,g];case 11:return x=s.sent(),(0,b.throwError)("".concat(r),x),[3,12];case 12:return[2]}}))}))},L=function(e){var t=e.entity,n=e.id;return u(void 0,void 0,void 0,(function(){var e,r,o,i;return s(this,(function(a){switch(a.label){case 0:e=t.table,r=t.columns,a.label=1;case 1:return a.trys.push([1,3,,4]),[4,E(e).where(r.id.nameWithTable,n).del().returning(r.id.nameWithTable)];case 2:return o=a.sent(),[2,{id:"".concat(o[0]),successful:!0}];case 3:return i=a.sent(),v.default.error(i),[2,{id:n,successful:!1}];case 4:return[2]}}))}))},Q={Query:{user:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u;return s(this,(function(s){switch(s.label){case 0:return n=O.Users,r=n.selectFields,o=void 0===r?[]:r,i=n.table,a=n.columns,u={from:"Query.user",entityInformation:O.Users,customContext:t},[4,E(i).queryContext(u).modify((function(e){(0,h.buildJoinQuery)(e,O.Users)})).select(o).where(a.id.nameWithTable,e).limit(1).then((function(e){return e}))];case 1:return[2,s.sent()[0]||null]}}))}))},userWithEmail:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u;return s(this,(function(s){switch(s.label){case 0:return n=O.Users,r=n.selectFields,o=void 0===r?[]:r,i=n.table,a=n.columns,u={from:"Query.userWithEmail",entityInformation:O.Users,customContext:t},[4,E(i).queryContext(u).modify((function(e){(0,h.buildJoinQuery)(e,O.Users)})).select(o).where(a.email.nameWithTable,e).limit(1)];case 1:return[2,s.sent()[0]||null]}}))}))},annotations:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f,m,p,v;return s(this,(function(s){switch(s.label){case 0:return n=e.ids,r=e.documentId,o=e.annotationIds,i=e.filters,a=void 0===i?{}:i,u=e.inReplyTo,d=e.pageNumbers,c=O.Annotations,l=c.selectFields,f=void 0===l?[]:l,m=c.table,p=c.columns,v={from:"Query.annotations",entityInformation:O.Annotations,customContext:t},[4,E(m).queryContext(v).modify((function(e){(0,h.buildJoinQuery)(e,O.Annotations)})).select(f).where((function(e){n&&e.whereIn(p.id.nameWithTable,n),o&&e.whereIn(p.annotationId.nameWithTable,o),r&&e.where(p.documentId.nameWithTable,r),u&&e.where(p.inReplyTo.nameWithTable,u),d&&e.whereIn(p.pageNumber.nameWithTable,d),(0,h.buildFilterQuery)(e,a,p,w)})).modify((function(e){(0,h.buildModifyQuery)(e,a,p)}))];case 1:return[2,s.sent()]}}))}))},documents:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f;return s(this,(function(s){switch(s.label){case 0:return n=e.ids,r=e.userId,o=e.filters,i=void 0===o?{}:o,a=O.Documents,u=a.selectFields,d=void 0===u?[]:u,c=a.table,l=a.columns,f={from:"Query.documents",entityInformation:O.Documents,customContext:t},[4,E(c).queryContext(f).modify((function(e){(0,h.buildJoinQuery)(e,O.Documents)})).select(d).where((function(e){n&&e.whereIn(l.id.nameWithTable,n),r&&e.whereIn(l.id.nameWithTable,(function(){this.select(O.DocumentMembers.columns.documentId.nameWithTable).from(O.DocumentMembers.table).where(O.DocumentMembers.columns.userId.nameWithTable,r)})),(0,h.buildFilterQuery)(e,i,l,w)})).modify((function(e){(0,h.buildModifyQuery)(e,i,l)}))];case 1:return[2,s.sent()]}}))}))},annotationMembers:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f,m,p;return s(this,(function(s){switch(s.label){case 0:return n=e.annotationId,r=e.documentId,o=e.ids,i=e.userId,a=e.filters,u=void 0===a?{}:a,d=O.AnnotationMembers,c=d.selectFields,l=void 0===c?[]:c,f=d.table,m=d.columns,p={from:"Query.annotationMembers",entityInformation:O.AnnotationMembers,customContext:t},[4,E(f).queryContext(p).modify((function(e){(0,h.buildJoinQuery)(e,O.AnnotationMembers)})).select(l).where((function(e){o&&e.whereIn(m.id.nameWithTable,o),n&&e.where(m.annotationId.nameWithTable,n),r&&e.where(m.documentId.nameWithTable,r),i&&e.where(m.userId.nameWithTable,i),(0,h.buildFilterQuery)(e,u,m,w)})).modify((function(e){(0,h.buildModifyQuery)(e,u,m)}))];case 1:return[2,s.sent()]}}))}))},documentMembers:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f,m;return s(this,(function(s){switch(s.label){case 0:return n=e.documentId,r=e.ids,o=e.userId,i=e.filters,a=void 0===i?{}:i,u=O.DocumentMembers,d=u.selectFields,c=void 0===d?[]:d,l=u.table,f=u.columns,m={from:"Query.documentMembers",entityInformation:O.DocumentMembers,customContext:t},[4,E(l).queryContext(m).modify((function(e){(0,h.buildJoinQuery)(e,O.DocumentMembers)})).select(c).where((function(e){r&&e.whereIn(f.id.nameWithTable,r),n&&e.where(f.documentId.nameWithTable,n),o&&e.where(f.userId.nameWithTable,o),(0,h.buildFilterQuery)(e,a,f,w)})).modify((function(e){(0,h.buildModifyQuery)(e,a,f)}))];case 1:return[2,s.sent()]}}))}))},mentions:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f,m,p;return s(this,(function(s){switch(s.label){case 0:return n=e.annotationId,r=e.userId,o=e.documentId,i=e.ids,a=e.filters,u=void 0===a?{}:a,d=O.Mentions,c=d.selectFields,l=void 0===c?[]:c,f=d.table,m=d.columns,p={from:"Query.mentions",entityInformation:O.Mentions,customContext:t},[4,E(f).queryContext(p).modify((function(e){(0,h.buildJoinQuery)(e,O.Mentions)})).select(l).where((function(e){i&&e.whereIn(m.id.nameWithTable,i),o&&e.where(m.documentId.nameWithTable,o),n&&e.where(m.annotationId.nameWithTable,n),r&&e.where(m.userId.nameWithTable,r),(0,h.buildFilterQuery)(e,u,m,w)})).modify((function(e){(0,h.buildModifyQuery)(e,u,m)}))];case 1:return[2,s.sent()]}}))}))},annotationCount:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d;return s(this,(function(s){switch(s.label){case 0:return n=e.since,r=e.documentId,o=O.Annotations,i=o.table,a=o.columns,u={from:"Query.annotationCount",entityInformation:O.Annotations,customContext:t,isCountQuery:!0},[4,E(i).queryContext(u).modify((function(e){(0,h.buildJoinQuery)(e,O.Annotations)})).count({count:[a.id.nameWithTable]}).where(a.documentId.nameWithTable,r).where(a.createdAt.nameWithTable,">",w(n)).whereNotNull(a.authorId.nameWithTable)];case 1:return d=s.sent(),[2,Number(d[0].count||0)]}}))}))},annotationMemberCount:function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c;return s(this,(function(s){switch(s.label){case 0:return n=e.userId,r=e.documentId,o=e.since,i=O.AnnotationMembers,a=i.table,u=i.columns,d={from:"Query.annotationMemberCount",entityInformation:O.AnnotationMembers,customContext:t,isCountQuery:!0},[4,E(a).queryContext(d).modify((function(e){(0,h.buildJoinQuery)(e,O.AnnotationMembers)})).count({count:[u.id.nameWithTable]}).where(u.documentId.nameWithTable,r).where(u.userId.nameWithTable,n).where(u.createdAt.nameWithTable,">",w(o))];case 1:return c=s.sent(),[2,Number(c[0].count||0)]}}))}))}},Mutation:{addUser:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addUser",entity:O.Users,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},addAnnotation:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addAnnotation",entity:O.Annotations,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editAnnotation:function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i,a,u;return s(this,(function(s){return o=n.xfdf,i=n.pageNumber,a=n.updatedAt,u=n.annotContents,[2,P({from:"Mutation.editAnnotation",customContext:r,entity:O.Annotations,id:e,data:{xfdf:o,pageNumber:i,updatedAt:a,annotContents:u},operationType:t.MutationOperationType.UPDATE})]}))}))},deleteAnnotation:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,L({from:"Mutation.deleteAnnotation",entity:O.Annotations,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))},addDocument:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addDocument",entity:O.Documents,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editDocument:function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i,a;return s(this,(function(u){return o=n.name,i=n.isPublic,a=n.updatedAt,[2,P({from:"Mutation.editDocument",entity:O.Documents,id:e,data:{name:o,isPublic:i,updatedAt:a},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteDocument:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,L({from:"Mutation.deleteDocument",entity:O.Documents,id:e,customContext:t})]}))}))},addDocumentMember:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addDocumentMember",entity:O.DocumentMembers,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editDocumentMember:function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(a){return o=n.lastRead,i=n.updatedAt,[2,P({from:"Mutation.editDocumentMember",entity:O.DocumentMembers,id:e,data:{lastRead:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteDocumentMember:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,L({from:"Mutation.deleteDocumentMember",entity:O.DocumentMembers,id:e,customContext:t})]}))}))},addAnnotationMember:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addAnnotationMember",entity:O.AnnotationMembers,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editAnnotationMember:function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(a){return o=n.lastRead,i=n.updatedAt,[2,P({from:"Mutation.editAnnotationMember",entity:O.AnnotationMembers,id:e,data:{lastRead:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteAnnotationMember:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,L({from:"Mutation.deleteAnnotationMember",entity:O.AnnotationMembers,id:e,customContext:t})]}))}))},addMention:function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addMention",entity:O.Mentions,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},deleteMention:function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,L({from:"Mutation.deleteMention",entity:O.Mentions,id:e,customContext:t})]}))}))}}};return O.Snapshots&&(Q.Query.snapshots=function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c,l,f;return s(this,(function(s){switch(s.label){case 0:return n=e.ids,r=e.documentId,o=e.filters,i=void 0===o?{}:o,a=O.Snapshots,u=a.selectFields,d=void 0===u?[]:u,c=a.table,l=a.columns,f={from:"Query.Snapshots",entityInformation:O.Snapshots,customContext:t},[4,E(c).queryContext(f).select(d).where((function(e){n&&e.whereIn(l.id.nameWithTable,n),r&&e.where(l.documentId.nameWithTable,r),(0,h.buildFilterQuery)(e,i,l,w)})).modify((function(e){(0,h.buildModifyQuery)(e,i,l)}))];case 1:return[2,s.sent()]}}))}))},Q.Mutation.addSnapshot=function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addSnapshot",entity:O.Snapshots,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},Q.Mutation.editSnapshot=function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(a){return o=n.name,i=n.updatedAt,[2,P({from:"Mutation.editSnapshot",customContext:r,entity:O.Snapshots,id:e,data:{name:o,updatedAt:i},operationType:t.MutationOperationType.UPDATE})]}))}))},Q.Mutation.deleteSnapshot=function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,L({from:"Mutation.deleteSnapshot",entity:O.Snapshots,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))}),O.SnapshotAssets&&(Q.Query.snapshotAssets=function(e,t){return u(void 0,void 0,void 0,(function(){var n,r,o,i,a,u,d,c;return s(this,(function(s){switch(s.label){case 0:return n=e.ids,r=e.snapshotId,o=O.SnapshotAssets,i=o.selectFields,a=void 0===i?[]:i,u=o.table,d=o.columns,c={from:"Query.SnapshotAssets",entityInformation:O.SnapshotAssets,customContext:t},[4,E(u).queryContext(c).select(a).where((function(e){n&&e.whereIn(d.id.nameWithTable,n),r&&e.where(d.snapshotId.nameWithTable,r)}))];case 1:return[2,s.sent()]}}))}))},Q.Mutation.addSnapshotAsset=function(e,n){return u(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,P({from:"Mutation.addSnapshotAsset",entity:O.SnapshotAssets,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},Q.Mutation.editSnapshotAsset=function(e,n,r){return u(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(a){return o=n.snapshotId,i=n.updatedAt,[2,P({from:"Mutation.editSnapshotAsset",customContext:r,entity:O.SnapshotAssets,id:e,data:{snapshotId:o,updatedAt:i},operationType:t.MutationOperationType.UPDATE})]}))}))},Q.Mutation.deleteSnapshotAsset=function(e,t){return u(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,L({from:"Mutation.deleteSnapshotAsset",entity:O.SnapshotAssets,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))}),Q}},function(e,t){e.exports=require("knex")},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 o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},o=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},i=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},a=this&&this.__values||function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(t,"__esModule",{value:!0}),t.attachAdditionalInfo=t.transformToApolloFormat=t.keysToCamel=t.toUnixTimestamp=t.testTimeTransformFunctions=t.defaultGetDatabaseTimestamp=t.defaultParseToUnixTimestamp=t.toDatabaseFormat=t.removeJoinedData=t.applyMissingData=t.buildModifyQuery=t.buildJoinQuery=t.buildFilterQuery=void 0;var u=n(6),s=n(1);t.buildFilterQuery=function(e,t,n,r){t.createdBefore&&e.where(n.createdAt.nameWithTable,"<",r(t.createdBefore)),t.createdAfter&&e.where(n.createdAt.nameWithTable,">",r(t.createdAfter)),t.updatedBefore&&e.where(n.updatedAt.nameWithTable,"<",r(t.updatedBefore)),t.updatedAfter&&e.where(n.updatedAt.nameWithTable,">",r(t.updatedAfter))};t.buildJoinQuery=function(e,t){var n=t.columns,r=Object.keys(n).reduce((function(e,t){var r=n[t];if("string"==typeof r)return e;if(!r.join)return e;var i=o(r.join,1)[0];return e[i]||(e[i]=[]),e[i].push(r.join),e}),{}),a=Object.keys(r);a.length>0&&e.distinct(),a.forEach((function(t){var n=r[t];if(1===n.length){var a=o(n,1)[0],u=o(a,2),s=u[0],d=u[1];"string"==typeof d?e.join.apply(e,i([],o(a),!1)):e.join(s,(function(){d(this)}))}else e.join(t,(function(){this.on((function(){var e=this;n.forEach((function(t,n){var r=0===n?e.on:e.orOn,a=o(t,2)[1];"string"==typeof a?r.call.apply(r,i([e],o(t.slice(1)),!1)):r((function(){a(this)}))}))}))}))}))};t.buildModifyQuery=function(e,t,n){var r=t.limit,o=t.orderBy,i=t.orderDirection,a=void 0===i?"DESC":i;o&&e.orderBy(n[o].nameWithTable,a),r&&e.limit(r)};t.applyMissingData=function(e,t,n){var r,o,i={},u=Object.keys(n);try{for(var s=a(u),d=s.next();!d.done;d=s.next()){var c=d.value;i[c]=t[c],void 0===i[c]&&void 0!==e[c]&&(i[c]=e[c])}}catch(e){r={error:e}}finally{try{d&&!d.done&&(o=s.return)&&o.call(s)}finally{if(r)throw r.error}}return i};t.removeJoinedData=function(e,t){var n,o,i=r({},e),u=Object.keys(t);try{for(var s=a(u),d=s.next();!d.done;d=s.next()){var c=d.value,l=t[c];l.skipWrite&&(delete i[c],delete i[l.name],delete i[l.nameWithTable])}}catch(e){n={error:e}}finally{try{d&&!d.done&&(o=s.return)&&o.call(s)}finally{if(n)throw n.error}}return i};t.toDatabaseFormat=function(e){var t=e.data,n=e.columns,r=e.getDatabaseTimestamp,o=e.knex,i={};for(var a in t)n[a]&&(u.TimestampProperties.includes(a)?u.NowTimestampProperties.includes(a)?i[n[a].name]=o.raw(t[a]):i[n[a].name]=r(t[a]):i[n[a].name]=t[a]);return i};t.defaultParseToUnixTimestamp=function(e){return new Date(e).getTime()};t.defaultGetDatabaseTimestamp=function(e){return new Date(e).toISOString()};t.testTimeTransformFunctions=function(e,t){var n=Date.now();if(e(t(n))!==n)throw new Error('Configuration error: "getDatabaseTimestamp" and "parseToUnixTimestamp" functions are not compatible. The result of "parseUnixFunc" must be equal to the input of "getDatabaseTimestampFunc". For example, the following must be true: parseUnixFunc(getDatabaseTimestamp('.concat(n,")) === ").concat(n))};t.toUnixTimestamp=function(e,t){return Object.keys(e).forEach((function(n){u.TimestampProperties.includes(n)&&(e[n]=t(e[n]))})),e};t.keysToCamel=function(e,t,n,r){var o={};return Object.keys(n).forEach((function(i){var a;if(n[i]){var s=n[i],d=e[i],c=void 0;c="string"!=typeof t[s]&&!!(null===(a=t[s])||void 0===a?void 0:a.transform)&&void 0!==d?t[s].transform(d,r):e[i],u.StringIdProperties.includes(s)&&"number"==typeof c&&(c="".concat(c)),void 0===o[s]&&void 0!==c&&(o[s]=c)}})),o};t.transformToApolloFormat=function(e){var n=e.result,r=e.columns,o=e.columnMap,i=e.parseToUnixTimestamp,a=e.customContext,u=[];return n.forEach((function(e){var n=(0,t.keysToCamel)(e,r,o,a),s=(0,t.toUnixTimestamp)(n,i);u.push(s)})),u};t.attachAdditionalInfo=function(e){var t=function(e){return r(r({},e),{columnMap:{},selectFields:[],returnFields:[]})},n=r({Users:t(e.Users),Annotations:t(e.Annotations),Documents:t(e.Documents),AnnotationMembers:t(e.AnnotationMembers),DocumentMembers:t(e.DocumentMembers),Mentions:t(e.Mentions)},e.SnapshotAssets&&e.Snapshots&&{Snapshots:t(e.Snapshots),SnapshotAssets:t(e.SnapshotAssets)});for(var a in n){var u=n[a],d=u.table,c=u.columns;for(var l in c){var f=c[l];"string"==typeof f&&(f=c[l]={name:f,nameWithTable:""});var m=f.join,p=f.name;if(m||p||(0,s.throwError)("SQL Resolver Generator","Expected column object to have either 'name' or 'join' property"),m){var h=o(m),v=h[0],y=h.slice(1),b=o(v.split("."),2),T=b[0],M=b[1];T&&M||(0,s.throwError)("SQL Resolver Generator","First item in join query must be formatted as {TableName}.{ColumnName} - received ".concat(v)),f.skipWrite=!0,f.nameWithTable="".concat(T,".").concat(M),f.name=M,f.join=i([T],o(y),!1),u.selectFields.push("".concat(T,".").concat(M)),u.columnMap[f.nameWithTable]=f.name,u.columnMap[M]=f.name}else f.nameWithTable="".concat(d,".").concat(f.name),u.selectFields.push("".concat(d,".").concat(f.name)),u.returnFields.push("".concat(f.name));u.columnMap[f.name]=l,u.columnMap["".concat(d,".").concat(f.name)]=l}}return n}},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,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]}),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)&&r(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.addTransports=t.addConsoleTransport=void 0;var a=i(n(2)),u=n(0);t.addConsoleTransport=function(e,t,n){void 0===t&&(t=u.LogLevels.INFO),e.add(new a.default.transports.Console({level:t,format:a.format.combine((0,a.format)((function(e){return(!n||e.tag===n)&&e}))(),a.format.colorize(),a.format.printf((function(e){var t=s(e.message),n=e.tag?" [".concat(e.tag,"]"):"",r=s(e.meta);return"".concat(e.timestamp," ").concat(e.level).concat(n,": ").concat(t," ").concat(r)})),a.format.metadata({fillExcept:["message","level","timestamp","label"]}))}))};t.addTransports=function(e,t){t.forEach((function(t){return e.add(t)}))};var s=function(e){var t=e||"";return"object"==typeof e&&null!==e&&(t=JSON.stringify(e,null,2)),t}},function(e,t,n){"use strict";var r=this&&this.__read||function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a},o=this&&this.__spreadArray||function(e,t,n){if(n||2===arguments.length)for(var r,o=0,i=t.length;o<i;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchema=void 0;var a=i(n(9)),u=a.default.alternatives().try(a.default.object({name:a.default.string(),transform:a.default.function(),join:a.default.array(),resolve:a.default.func()}),a.default.string());t.validateSchema=function(e,t,n){var i,s,d;return a.default.object({client:(i=a.default.string()).valid.apply(i,o([],r(Object.values(n)),!1)).required(),connection:a.default.object().required(),pool:{min:a.default.number(),max:a.default.number()},getDatabaseTimestamp:a.default.func(),parseToUnixTimestamp:a.default.func(),getNow:a.default.func(),logLevel:(s=a.default.string()).valid.apply(s,o([],r(Object.values(e)),!1)),filterLogsByTag:(d=a.default.string()).valid.apply(d,o([],r(Object.values(t)),!1)),transports:a.default.array(),info:a.default.object({Users:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),type:u.required(),email:u.required(),userName:u,createdAt:u.required(),updatedAt:u.required()}).required()}).required(),Annotations:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),xfdf:u.required(),authorId:u.required(),annotationId:u.required(),documentId:u.required(),pageNumber:u.required(),createdAt:u.required(),updatedAt:u.required(),inReplyTo:u.required(),annotContents:u}).required()}).required(),Documents:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),authorId:u.required(),createdAt:u.required(),updatedAt:u.required(),isPublic:u.required(),name:u}).required()}).required(),AnnotationMembers:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),userId:u.required(),documentId:u.required(),annotationId:u.required(),lastRead:u.required(),createdAt:u.required(),updatedAt:u.required(),annotationCreatedAt:u.required()}).required()}),DocumentMembers:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),userId:u.required(),documentId:u.required(),lastRead:u.required(),createdAt:u.required(),updatedAt:u.required()}).required()}).required(),Mentions:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),userId:u.required(),documentId:u.required(),annotationId:u.required(),createdAt:u.required(),updatedAt:u.required()}).required()}).required(),Snapshots:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),authorId:u.required(),documentId:u.required(),xfdf:u.required(),name:u.required(),createdAt:u.required(),updatedAt:u.required()}).required()}),SnapshotAssets:a.default.object({table:a.default.string().required(),writeMiddleware:a.default.array().items(a.default.function()),afterWrite:a.default.function(),columns:a.default.object({id:u.required(),snapshotId:u.required(),data:u.required(),createdAt:u.required(),updatedAt:u.required()}).required()})}).required()})}},function(e,t){e.exports=require("joi")}]).default}));

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

"types": "types/packages/collab-sql-resolver-generator/src/index.d.ts",
"version": "2.0.0-alpha.21",
"version": "2.0.0-alpha.25",
"typedocMain": "src/index.ts",

@@ -39,3 +39,3 @@ "scripts": {

},
"gitHead": "334c193d11270d964df34d9241e89eaccabfb42e"
"gitHead": "e338f5df3291d9b885c093bb350dafcf4217ccc5"
}
/// <reference types="node" />
import type winston from 'winston';
import { Logging, Tags } from '../../../shared/log/logger';
import { LogLevels, LogTags } from '../../../shared/log/logger';
import { ConnectionOptions } from 'tls';

@@ -26,4 +26,4 @@ export declare type Maybe<T> = T | null;

idleInTransactionSessionTimeout?: number;
logLevel?: Logging;
filterLogsByTag?: Tags;
logLevel?: LogLevels;
filterLogsByTag?: LogTags;
logTransports?: Array<winston.transport>;

@@ -39,3 +39,3 @@ };

}
export declare type CreateUser = {
export declare type CreateUserParams = {
email: string;

@@ -42,0 +42,0 @@ password: string;

import { DeleteResult } from "../../../../types/resolvers-types";
import { Context } from "../types/Context";
import { Timestamp } from "..";
import { Timestamp } from "../resolvers";
declare type BaseEntity = {

@@ -5,0 +5,0 @@ createdAt: number | string;

@@ -38,5 +38,5 @@ import { PubSub } from 'graphql-subscriptions';

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

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

/// <reference types="node" />
import { LogLevels, LogTags } from '../../../shared/log/logger';
import type { Server as HttpServer } from 'http';
import { UserResolvers } from './types/UserResolvers';
import { CollabServerOptions } from './types/Server';
import { UnknownInviteStrategies } from './types/Strategies';
/**
* @ignore
*/
export declare enum XFDFFormats {

@@ -16,46 +21,14 @@ RAW = "RAW",

constructor(options: CollabServerOptions);
static LogLevels: {
readonly ERROR: "error";
readonly WARN: "warn";
readonly INFO: "info";
readonly HTTP: "http";
readonly VERBOSE: "verbose";
readonly DEBUG: "debug";
readonly SILLY: "silly";
readonly NONE: "none";
static LogLevels: typeof LogLevels;
static LogTags: typeof LogTags;
static UnknownInviteStrategies: typeof UnknownInviteStrategies;
static sendGridEmailHandler: (emailServiceOptions: import("./email/sendGridEmailHandler").EmailServiceOptions) => import("./types/Email").EmailFunction;
static Permissions: {
Roles: typeof import("./util/permissions").Roles;
Actions: typeof import("./util/permissions").Actions;
Entities: typeof import("./util/permissions").Entities;
};
static LogTags: {
readonly STANDARD: "STANDARD";
readonly ENTITY: "ENTITY";
readonly QUERY: "QUERY";
readonly MUTATION: "MUTATION";
readonly RESPONSE: "RESPONSE";
readonly AUTH: "AUTH";
readonly CACHE: "CACHE";
readonly CONNECTED_USERS: "CONNECTED_USERS";
readonly SCROLL_SYNC: "SCROLL_SYNC";
static Utils: {
getXFDFMetaData: (xfdf: string) => import("./util/xfdf").XFDFMetadata[];
};
static sendGridEmailHandler: (emailServiceOptions: import(".").EmailServiceOptions) => import("./types/Email").EmailFunction;
static Permissions: {
Roles: {
readonly DOCUMENT_AUTHOR: "document_author";
readonly DOCUMENT_MEMBER: "document_member";
readonly ANNOTATION_AUTHOR: "annotation_author";
readonly SNAPSHOT_AUTHOR: "snapshot_author";
readonly ANY: "any";
};
Actions: {
readonly READ: "read";
readonly ADD: "add";
readonly EDIT: "edit";
readonly DELETE: "delete";
readonly INVITE: "invite";
readonly RESTORE: "restore";
};
Entities: {
readonly DOCUMENT: "document";
readonly ANNOTATION: "annotation";
readonly SNAPSHOT: "snapshot";
};
};
start(port?: number): Promise<HttpServer>;

@@ -71,5 +44,9 @@ stop(): void;

export declare const applyFormattersToResolvers: (resolvers: UserResolvers) => UserResolvers;
export * from './resolvers';
export { default as Permissions, PermissionSetting, UserPermissionSetting, setPermissions, Roles, Actions, EntityPermissions, AuthMethod, AuthorizeFunction } from './util/permissions';
export { CollabServerOptions } from './types/Server';
export { XFDFMetadata, getXFDFMetadata, } from './util/xfdf';
export { CollabServerEmailOptions, EmailFunction, Email, InviteEmailData, MessageEmailData } from './types/Email';
export { LogLevels, LogTags } from '../../../shared/log/logger';
export { VerifyPassword, } from './types/Auth';
export { default as Permissions, PermissionSetting, UserPermissionSetting, setPermissions, Roles, Actions, Entities, EntityPermissions, AuthMethod, AuthorizeFunction } from './util/permissions';
export { UnknownInviteCustomStrategy, UnknownInviteStrategy, UnknownInviteStrategies } from './types/Strategies';
export { default as sendGridEmailHandler, EmailServiceOptions } from './email/sendGridEmailHandler';
export { parseAnnotationIdFromXFDF } from './util/xfdf';

@@ -42,3 +42,12 @@ declare const Mutation: {

};
updateScrollSyncSession: (p: any, args: any, context: import("../../types/Context").Context) => boolean;
updateScrollSyncSession: (p: any, args: any, context: import("../../types/Context").Context) => {
leaderId: string;
documentId: string;
connectedUsers: string[];
position: {
scrollTop: number;
scrollHeight: number;
};
sessionId: string;
};
exitScrollSyncSession: (p: any, args: any, context: import("../../types/Context").Context) => boolean;

@@ -45,0 +54,0 @@ connectUserToDocument: (p: any, args: any, context: import("../../types/Context").Context) => {

@@ -23,5 +23,14 @@ import { Context } from '../../types/Context';

};
updateScrollSyncSession: (p: any, args: any, context: Context) => boolean;
updateScrollSyncSession: (p: any, args: any, context: Context) => {
leaderId: string;
documentId: string;
connectedUsers: string[];
position: {
scrollTop: number;
scrollHeight: number;
};
sessionId: string;
};
exitScrollSyncSession: (p: any, args: any, context: Context) => boolean;
};
export default _default;

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

import { CollabServerEmailOptions } from "./Email";
import { UnknownInviteStrategy } from "./Strategies";
export declare type Context = {

@@ -31,2 +32,3 @@ res: Response;

userResolvers: UserResolvers;
unknownInviteStrategy: UnknownInviteStrategy;
};
import { CorsOptions } from "cors";
import winston from "winston";
import { UserPermissionSetting } from "..";
import { Logging, Tags } from "../../../../shared/log/logger";
import { LogLevels, LogTags } from "../../../../shared/log/logger";
import { TimestampGetter } from "../util/TimestampManager";

@@ -9,13 +9,55 @@ import { GetUserFromToken, VerifyPassword } from "./Auth";

import { UserResolvers } from "./UserResolvers";
import { UnknownInviteStrategy } from '../types/Strategies';
export declare type CollabServerOptions = {
/**
* The resolvers for the server. See [resolvers](https://collaboration.pdftron.com/docs/server/resolvers) for more info.
*/
resolvers: UserResolvers;
/**
* Cors settings for the server. Accepts anything the 'cors' npm package accepts
*/
corsOption?: CorsOptions;
logLevel?: Logging;
filterLogsByTag?: Tags;
/**
* Log levels for the server.
* @example
* ```js
* import CollabServer from '@pdftron/collab-server'
* new CollabServer({
* logLevel: CollabServer.LogLevels.ERROR
* })
* ```
*/
logLevel?: LogLevels;
/**
* If set, only logs with this tag will be displayed
*/
filterLogsByTag?: LogTags;
/**
* Custom winston logging transports
*/
logTransports?: Array<winston.transport>;
/**
* Email settings. Used to send emails to users on certain events.
*/
emailOptions?: CollabServerEmailOptions;
/**
* A function to verify a users password. Only used if you use the `loginWithPassword` API.
*/
verifyPassword?: VerifyPassword;
/**
* A function that accepts an authentication token and returns a user object
*/
getUserFromToken?: GetUserFromToken;
/**
* Custom permission settings for the server
*/
permissions?: UserPermissionSetting;
/**
* A function to get a value that represents "now" in your database.
*/
getNow?: TimestampGetter;
/**
* Which strategy to use when an unknown user is invited to a document.
*/
unknownInviteStrategy?: UnknownInviteStrategy;
};
import { CustomContext } from "../../types/CustomContext";
export declare const Entities: {
readonly DOCUMENT: "document";
readonly ANNOTATION: "annotation";
readonly SNAPSHOT: "snapshot";
};
export declare type Entities = typeof Entities[keyof typeof Entities];
export declare const Roles: {
readonly DOCUMENT_AUTHOR: "document_author";
readonly DOCUMENT_MEMBER: "document_member";
readonly ANNOTATION_AUTHOR: "annotation_author";
readonly SNAPSHOT_AUTHOR: "snapshot_author";
readonly ANY: "any";
};
export declare const Actions: {
readonly READ: "read";
readonly ADD: "add";
readonly EDIT: "edit";
readonly DELETE: "delete";
readonly INVITE: "invite";
readonly RESTORE: "restore";
};
export declare type Roles = typeof Roles[keyof typeof Roles];
export declare type Actions = typeof Actions[keyof typeof Actions];
export declare enum Entities {
DOCUMENT = "document",
ANNOTATION = "annotation",
SNAPSHOT = "snapshot"
}
export declare enum Roles {
DOCUMENT_AUTHOR = "document_author",
DOCUMENT_MEMBER = "document_member",
ANNOTATION_AUTHOR = "annotation_author",
SNAPSHOT_AUTHOR = "snapshot_author",
ANY = "any"
}
export declare enum Actions {
READ = "read",
ADD = "add",
EDIT = "edit",
DELETE = "delete",
INVITE = "invite",
RESTORE = "restore"
}
export declare type AuthMethod = Roles | AuthorizeFunction;

@@ -47,23 +44,6 @@ export declare type UserPermissionSetting = {

declare const permissionConstants: {
Roles: {
readonly DOCUMENT_AUTHOR: "document_author";
readonly DOCUMENT_MEMBER: "document_member";
readonly ANNOTATION_AUTHOR: "annotation_author";
readonly SNAPSHOT_AUTHOR: "snapshot_author";
readonly ANY: "any";
};
Actions: {
readonly READ: "read";
readonly ADD: "add";
readonly EDIT: "edit";
readonly DELETE: "delete";
readonly INVITE: "invite";
readonly RESTORE: "restore";
};
Entities: {
readonly DOCUMENT: "document";
readonly ANNOTATION: "annotation";
readonly SNAPSHOT: "snapshot";
};
Roles: typeof Roles;
Actions: typeof Actions;
Entities: typeof Entities;
};
export default permissionConstants;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

documents: (query: import("../types/Params").DocumentsQuery, context: CustomContext) => ({
name?: string;
id: string;

@@ -68,2 +67,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -74,3 +74,2 @@ authorId: string;

})[] | Promise<({
name?: string;
id: string;

@@ -80,2 +79,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -88,6 +88,6 @@ authorId: string;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -102,6 +102,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -117,5 +117,5 @@ annotationCreatedAt: any;

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

@@ -128,5 +128,5 @@ } & {

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

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

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
} & {

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

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
} & {

@@ -164,8 +164,8 @@ userId: string;

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

@@ -176,8 +176,8 @@ authorId: string;

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

@@ -206,9 +206,9 @@ authorId: string;

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

documents: (query: import("../types/Params").DocumentsQuery, context: CustomContext) => ({
name?: string;
id: string;

@@ -242,2 +241,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -248,3 +248,2 @@ authorId: string;

})[] | Promise<({
name?: string;
id: string;

@@ -254,2 +253,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -262,6 +262,6 @@ authorId: string;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -276,6 +276,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -291,5 +291,5 @@ annotationCreatedAt: any;

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

@@ -302,5 +302,5 @@ } & {

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

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

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
} & {

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

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
} & {

@@ -338,8 +338,8 @@ userId: string;

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

@@ -350,8 +350,8 @@ authorId: string;

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

@@ -376,9 +376,9 @@ authorId: string;

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

addDocument: (document: import("../../../../types/resolvers-types").NewDocumentInput, context: CustomContext) => ({
name?: string;
id: string;

@@ -444,2 +443,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -450,3 +450,2 @@ authorId: string;

}) | Promise<{
name?: string;
id: string;

@@ -456,2 +455,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -463,3 +463,2 @@ authorId: string;

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

@@ -469,2 +468,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -475,3 +475,2 @@ authorId: string;

}) | Promise<{
name?: string;
id: string;

@@ -481,2 +480,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -490,5 +490,5 @@ authorId: string;

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

@@ -501,5 +501,5 @@ } & {

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

@@ -513,5 +513,5 @@ } & {

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

@@ -524,5 +524,5 @@ } & {

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

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

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -551,6 +551,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -566,6 +566,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -580,6 +580,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -596,6 +596,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
} & {

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

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
} & {

@@ -621,8 +621,8 @@ userId: string;

}, context: CustomContext) => ({
name?: string;
id: string;
xfdf: string;
documentId: string;
createdAt: any;
updatedAt: any;
xfdf: string;
documentId: string;
name?: string;
} & {

@@ -633,8 +633,8 @@ authorId: string;

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

@@ -646,8 +646,8 @@ authorId: string;

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

@@ -658,8 +658,8 @@ authorId: string;

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

@@ -690,9 +690,9 @@ authorId: string;

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

id: string;
createdAt: any;
updatedAt: any;
xfdf: string;
annotContents?: string;
xfdf: string;
annotationId: string;
documentId: string;
pageNumber: number;
createdAt: any;
updatedAt: any;
inReplyTo?: string;

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

addDocument: (document: import("../../../../types/resolvers-types").NewDocumentInput, context: CustomContext) => ({
name?: string;
id: string;

@@ -758,2 +757,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -764,3 +764,2 @@ authorId: string;

}) | Promise<{
name?: string;
id: string;

@@ -770,2 +769,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -777,3 +777,2 @@ authorId: string;

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

@@ -783,2 +782,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -789,3 +789,2 @@ authorId: string;

}) | Promise<{
name?: string;
id: string;

@@ -795,2 +794,3 @@ createdAt: any;

isPublic?: boolean;
name?: string;
} & {

@@ -804,5 +804,5 @@ authorId: string;

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

@@ -815,5 +815,5 @@ } & {

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

@@ -827,5 +827,5 @@ } & {

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

@@ -838,5 +838,5 @@ } & {

id: string;
documentId: string;
createdAt: any;
updatedAt: any;
documentId: string;
lastRead: any;

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

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -865,6 +865,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -880,6 +880,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -894,6 +894,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
lastRead: any;

@@ -910,6 +910,6 @@ annotationCreatedAt: any;

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
} & {

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

id: string;
annotationId: string;
documentId: string;
createdAt: any;
updatedAt: any;
annotationId: string;
documentId: string;
} & {

@@ -935,8 +935,8 @@ userId: string;

}, context: CustomContext) => ({
name?: string;
id: string;
xfdf: string;
documentId: string;
createdAt: any;
updatedAt: any;
xfdf: string;
documentId: string;
name?: string;
} & {

@@ -947,8 +947,8 @@ authorId: string;

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

@@ -960,8 +960,8 @@ authorId: string;

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

@@ -972,8 +972,8 @@ authorId: string;

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

@@ -980,0 +980,0 @@ authorId: string;

@@ -23,1 +23,11 @@ import { XFDFFormats } from '../index';

export declare const parseXFDFToSingleAnnot: (input: string) => string[];
export declare type XFDFMetadata = {
type: string;
pageNumber: number;
color?: string;
properties: Record<string, string | number>;
};
/**
* Gets metadata about an XFDF string
*/
export declare const getXFDFMetadata: (xfdf: string) => XFDFMetadata[];

@@ -24,3 +24,3 @@ import { CollabSQLResolverGeneratorOptions } from './types';

export { LogLevels, LogTags } from '../../../shared/log/logger';
export type { CollabSQLResolverGeneratorOptions, EntityInfo, SQLClientOptions, ConnectionOptions, GetDatabaseTimestamp, Middleware, MiddlewareFunction } from './types';
export type { CollabSQLResolverGeneratorOptions, EntityInfo, SQLClientOptions, ConnectionOptions, GetDatabaseTimestamp, Middleware, MiddlewareFunction, GeneratorEntity, OptionsColumns, UserDatabaseEntity, MutationOperations } from './types';
export default SQLResolverGenerator;
import { Knex } from 'knex';
import type winston from 'winston';
import type { Logging, Tags } from '../../../shared/log/logger';
import type { LogLevels, LogTags } from '../../../shared/log/logger';
import { DatabaseAnnotation, DatabaseAnnotationMember, DatabaseDocument, DatabaseDocumentMember, DatabaseMention, DatabaseSnapshot, DatabaseSnapshotAsset, DatabaseUser } from '../../collab-server/src/types/DatabaseTypes';

@@ -15,3 +15,3 @@ export declare type AsyncOrSync<T> = Promise<T> | T;

name?: string;
transform?: (data: any) => any;
transform?: (data: any, customContext: Record<any, any>) => any;
join?: JoinFromArray | JoinFromBuilder;

@@ -107,2 +107,3 @@ };

from?: string;
customContext: Record<any, any>;
}

@@ -162,13 +163,13 @@ export interface ApplyMiddlewareOption<T extends UserDatabaseEntity> {

/**
* Log level. See {@link https://collaboration.pdftron.com/docs/sql-generator/logging|this guide} for more info.
* Log level. See {@link https://collaboration.pdftron.com/docs/sql-generator/LogLevels|this guide} for more info.
*/
logLevel?: Logging;
logLevel?: LogLevels;
/**
* Log transports. See {@link https://collaboration.pdftron.com/docs/sql-generator/logging|this guide} for more info.
* Log transports. See {@link https://collaboration.pdftron.com/docs/sql-generator/LogLevels|this guide} for more info.
*/
transports?: Array<winston.transport>;
/**
* Filter logs by tag. See {@link https://collaboration.pdftron.com/docs/sql-generator/logging|this guide} for more info.
* Filter logs by tag. See {@link https://collaboration.pdftron.com/docs/sql-generator/LogLevels|this guide} for more info.
*/
filterLogsByTag?: Tags;
filterLogsByTag?: LogTags;
/**

@@ -175,0 +176,0 @@ * The version of database you are using. This typically is not required

@@ -14,4 +14,4 @@ import { ToDatabaseFormatOption, TransformToApolloFormatOption, ParseToUnixTimestamp, EntityInfo, EntityInfoWithMap, GetDatabaseTimestamp, GeneratorEntityWithMap, Entity, TransformedOptionsColumns, OptionsColumns } from "./types";

export declare const toUnixTimestamp: (data: Record<string, any>, parseToUnixTimestamp: ParseToUnixTimestamp) => Record<string, any>;
export declare const keysToCamel: <T extends Entity>(data: Record<string, any>, columns: TransformedOptionsColumns<T>, columnsMap: Record<string, string>) => Record<keyof T, any>;
export declare const transformToApolloFormat: <T extends Entity>({ result, columns, columnMap, parseToUnixTimestamp, }: TransformToApolloFormatOption) => T[];
export declare const keysToCamel: <T extends Entity>(data: Record<string, any>, columns: TransformedOptionsColumns<T>, columnsMap: Record<string, string>, customContext: Record<any, any>) => Record<keyof T, any>;
export declare const transformToApolloFormat: <T extends Entity>({ result, columns, columnMap, parseToUnixTimestamp, customContext }: TransformToApolloFormatOption) => T[];
export declare const attachAdditionalInfo: (info: EntityInfo) => EntityInfoWithMap;
import winston from 'winston';
export declare const LogTags: {
readonly STANDARD: "STANDARD";
readonly ENTITY: "ENTITY";
readonly QUERY: "QUERY";
readonly MUTATION: "MUTATION";
readonly RESPONSE: "RESPONSE";
readonly AUTH: "AUTH";
readonly CACHE: "CACHE";
readonly CONNECTED_USERS: "CONNECTED_USERS";
readonly SCROLL_SYNC: "SCROLL_SYNC";
};
export declare type Tags = keyof typeof LogTags;
export declare type Logging = 'error' | 'warn' | 'info' | 'http' | 'verbose' | 'debug' | 'silly' | 'none';
export declare const LogLevels: {
readonly ERROR: "error";
readonly WARN: "warn";
readonly INFO: "info";
readonly HTTP: "http";
readonly VERBOSE: "verbose";
readonly DEBUG: "debug";
readonly SILLY: "silly";
readonly NONE: "none";
};
export declare enum LogTags {
STANDARD = "STANDARD",
ENTITY = "ENTITY",
QUERY = "QUERY",
MUTATION = "MUTATION",
RESPONSE = "RESPONSE",
AUTH = "AUTH",
CACHE = "CACHE",
CONNECTED_USERS = "CONNECTED_USERS",
SCROLL_SYNC = "SCROLL_SYNC"
}
export declare enum LogLevels {
ERROR = "error",
WARN = "warn",
INFO = "info",
HTTP = "http",
VERBOSE = "verbose",
DEBUG = "debug",
SILLY = "silly",
NONE = "none"
}
declare const logger: winston.Logger;
export declare const setupLogger: (logLevel: Logging, logTransports: Array<winston.transport>, filterByTag?: Tags) => void;
export declare const setupLogger: (logLevel: LogLevels, logTransports: Array<winston.transport>, filterByTag?: LogTags) => void;
export default logger;
import winston from 'winston';
import { Logging, Tags } from './logger';
export declare const addConsoleTransport: (logger: winston.Logger, level?: Logging, filterByTag?: Tags) => void;
import { LogTags, LogLevels } from './logger';
export declare const addConsoleTransport: (logger: winston.Logger, level?: LogLevels, filterByTag?: LogTags) => void;
export declare const addTransports: (logger: winston.Logger, transports: Array<winston.transport>) => void;
SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc