@pdftron/collab-sql-resolver-generator
Advanced tools
Comparing version 2.0.0-alpha.14 to 2.0.0-alpha.15
@@ -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=2)}([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 u=i(n(1)),a=n(6);t.LogTags={STANDARD:"STANDARD",ENTITY:"ENTITY",QUERY:"QUERY",RESPONSE:"RESPONSE",AUTH:"AUTH",CACHE:"CACHE"},t.LogLevels={ERROR:"error",WARN:"warn",INFO:"info",HTTP:"http",VERBOSE:"verbose",DEBUG:"debug",SILLY:"silly",NONE:"none"};var s=u.default.createLogger({format:u.format.combine(u.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,n,r){e===t.LogLevels.NONE?s.silent=!0:(a.addConsoleTransport(s,e,r),n&&n.length&&a.addTransports(s,n))},t.default=s},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}),u=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},a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function u(e){try{s(r.next(e))}catch(e){i(e)}}function a(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(u,a)}s((r=r.apply(e,t||[])).next())}))},s=this&&this.__generator||function(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;u;)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 u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}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,a])}}},d=this&&this.__await||function(e){return this instanceof d?(this.v=e,this):new d(e)},l=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={},u("next"),u("throw"),u("return"),r[Symbol.asyncIterator]=function(){return this},r;function u(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||a(e,t)}))})}function a(e,t){try{(n=o[e](t)).value instanceof d?Promise.resolve(n.value.v).then(s,l):c(i[0][2],n)}catch(e){c(i[0][3],e)}var n}function s(e){a("next",e)}function l(e){a("throw",e)}function c(e,t){e(t),i.shift(),i.length&&a(i[0][0],i[0][1])}},c=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),u=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)u.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 u},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(3)),v=n(4),b=u(n(0)),y=n(7);t.SQLClient={Postgres:"pg",MSSQL:"mssql",SQLite3:"sqlite3",Oracle:"oracledb",MySQL:"mysql"},t.MutationOperationType={CREATE:"create",UPDATE:"update"};var h=n(0);Object.defineProperty(t,"LogLevels",{enumerable:!0,get:function(){return h.LogLevels}}),Object.defineProperty(t,"LogTags",{enumerable:!0,get:function(){return h.LogTags}}),t.default=function(e){var n=e.client,o=e.version,i=void 0===o?"":o,u=e.connection,m=e.pool,h=void 0===m?{min:2,max:10}:m,g=e.getDatabaseTimestamp,M=void 0===g?v.defaultGetDatabaseTimestamp:g,T=e.parseToUnixTimestamp,w=void 0===T?v.defaultParseToUnixTimestamp:T,C=e.logLevel,A=void 0===C?b.LogLevels.ERROR:C,x=e.filterLogsByTag,q=e.transports,_=void 0===q?[]:q;v.testTimeTransformFunctions(w,M),b.setupLogger(A,_,x),b.default.info("Collab SQL Resolver Generator version 2.0.0-alpha.14");var D=y.validateSchema(b.LogLevels,b.LogTags,t.SQLClient).validate(e).error;if(D)throw b.default.error(D.details),new Error(""+D);var O=v.attachAdditionalInfo(e.info),N=p.default({client:n,version:i,connection:u,pool:r({afterCreate:function(e,t){b.default.info("--\x3e Database connected"),t(null,e)}},h),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=v.transformToApolloFormat({result:e,columns:null==t?void 0:t.columns,columnsMap:null==t?void 0:t.columnsMap,parseToUnixTimestamp:w});return b.default.log({level:b.LogLevels.DEBUG,tag:b.LogTags.RESPONSE,message:"["+t.from+"]: "+JSON.stringify(n)}),n},debug:A===b.LogLevels.DEBUG,log:{warn:function(e){b.default.warn(e)},error:function(e){b.default.error(e)},deprecate:function(e){b.default.warn(e)},debug:function(e){b.default.log({level:b.LogLevels.DEBUG,tag:b.LogTags.QUERY,message:e})}}}),I=function(e){var t=e.writeMiddleware,n=e.dbDataMap,o=e.operationType,i=e.customContext,u=void 0===i?{}:i;return a(void 0,void 0,void 0,(function(){var e,i,f,m,p,v,b,y;return s(this,(function(h){switch(h.label){case 0:if(e=r({},u),i=r({},n),0===t.length)return[2,i];f=function(){return l(this,arguments,(function(){var n,r,u=this;return s(this,(function(l){switch(l.label){case 0:n=0,r=function(){return a(u,void 0,void 0,(function(){var r;return s(this,(function(u){switch(u.label){case 0:return(r=t[n])?[4,new Promise((function(t){r({data:i,ctx:e,type:o,next:function(n,r){n&&(i=n),r&&(e=r),t()}})}))]:[2];case 1:return u.sent(),[2]}}))}))},l.label=1;case 1:return n<t.length?[4,d(r())]:[3,5];case 2:return l.sent(),n++,[4,d(void 0)];case 3:return[4,l.sent()];case 4:return l.sent(),[3,1];case 5:return[4,d(void 0)];case 6:return[2,l.sent()]}}))}))}(),h.label=1;case 1:h.trys.push([1,6,7,12]),m=c(f),h.label=2;case 2:return[4,m.next()];case 3:if((p=h.sent()).done)return[3,5];p.value,f.next(),h.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return v=h.sent(),b={error:v},[3,12];case 7:return h.trys.push([7,,10,11]),p&&!p.done&&(y=m.return)?[4,y.call(m)]:[3,9];case 8:h.sent(),h.label=9;case 9:return[3,11];case 10:if(b)throw b.error;return[7];case 11:return[7];case 12:return[2,i]}}))}))},E=function(e){var r=e.from,o=e.id,i=e.operationType,u=e.entity,d=e.dbDataMap;return a(void 0,void 0,void 0,(function(){var e,a,l,c,m,p,b,y;return s(this,(function(s){switch(s.label){case 0:return e=u.table,a=u.selectFields,l=u.columns,c=u.columnsMap,i!==t.MutationOperationType.CREATE?[3,2]:[4,N(e).queryContext({from:r,columns:l,columnsMap:c}).insert(d)];case 1:return s.sent(),[3,4];case 2:return i!==t.MutationOperationType.UPDATE?[3,4]:[4,N(e).queryContext({from:r,columns:l,columnsMap:c}).where(v.getColumnName(l.id),o).update(d)];case 3:s.sent(),s.label=4;case 4:return m=n===t.SQLClient.SQLite3?"last_insert_rowid() as id":"LAST_INSERT_ID() as id",[4,N.select(N.raw(m))];case 5:return p=f.apply(void 0,[s.sent(),1]),b=p[0],y=b.id,n===t.SQLClient.SQLite3&&a.push("rowid"),[4,N(e).select(a).queryContext({from:r,columns:l,columnsMap:c}).where(v.getColumnName(l.id),y)];case 6:return[2,s.sent()]}}))}))},j=function(e){var r=e.from,o=e.id,i=e.entity,u=e.data,d=e.customContext,l=e.operationType;return a(void 0,void 0,void 0,(function(){var e,a,c,f,m,p,y,h,g;return s(this,(function(s){switch(s.label){case 0:e=i.table,a=i.writeMiddleware,c=void 0===a?[]:a,f=i.selectFields,m=i.columns,p=i.columnsMap,s.label=1;case 1:return s.trys.push([1,9,,10]),[4,I({writeMiddleware:c,dbDataMap:v.toDatabaseFormat({data:u,table:e,columns:m,getDatabaseTimestamp:M,knex:N}),operationType:l,customContext:d})];case 2:return y=s.sent(),h=[],n!==t.SQLClient.SQLite3&&n!==t.SQLClient.MySQL?[3,4]:[4,E({from:r,id:o,operationType:l,entity:i,dbDataMap:y})];case 3:return h=s.sent(),[3,8];case 4:return l!==t.MutationOperationType.CREATE?[3,6]:[4,N(e).queryContext({from:r,columns:m,columnsMap:p}).insert(y).returning(f)];case 5:return h=s.sent(),[3,8];case 6:return[4,N(e).queryContext({from:r,columns:m,columnsMap:p}).where(v.getColumnName(m.id),o).update(y).returning(f)];case 7:h=s.sent(),s.label=8;case 8:return[2,h[0]||null];case 9:return g=s.sent(),b.default.error(g),[3,10];case 10:return[2]}}))}))},S=function(e){var t=e.entity,n=e.id;return a(void 0,void 0,void 0,(function(){var e,r,o;return s(this,(function(i){switch(i.label){case 0:e=t.table,r=t.columns,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,N(e).where(v.getColumnName(r.id),n).del().returning(v.getColumnName(r.id))];case 2:return[2,{id:""+i.sent()[0],successful:!0}];case 3:return o=i.sent(),b.default.error(o),[2,{id:n,successful:!1}];case 4:return[2]}}))}))};return{Query:{user:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u;return s(this,(function(a){switch(a.label){case 0:return t=O.Users,n=t.selectFields,r=void 0===n?[]:n,o=t.table,i=t.columns,u=t.columnsMap,[4,N(o).queryContext({from:"Query.user",columns:i,columnsMap:u}).select(r).where(v.getColumnName(i.id),e).limit(1).then((function(e){return e}))];case 1:return[2,a.sent()[0]||null]}}))}))},userWithEmail:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u;return s(this,(function(a){switch(a.label){case 0:return t=O.Users,n=t.selectFields,r=void 0===n?[]:n,o=t.table,i=t.columns,u=t.columnsMap,[4,N(o).queryContext({from:"Query.userWithEmail",columns:i,columnsMap:u}).select(r).where(v.getColumnName(i.email),e).limit(1)];case 1:return[2,a.sent()[0]||null]}}))}))},annotations:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,l,c,f,m,p;return s(this,(function(s){switch(s.label){case 0:return t=e.ids,n=e.documentId,r=e.annotationIds,o=e.filters,i=void 0===o?{}:o,u=e.inReplyTo,a=e.pageNumbers,d=O.Annotations,l=d.selectFields,c=void 0===l?[]:l,f=d.table,m=d.columns,p=d.columnsMap,[4,N(f).queryContext({from:"Query.annotations",columns:m,columnsMap:p}).select(c).where((function(e){t&&e.whereIn(v.getColumnName(m.id),t),r&&e.whereIn(v.getColumnName(m.annotationId),r),n&&e.where(v.getColumnName(m.documentId),n),u&&e.where(v.getColumnName(m.inReplyTo),u),a&&e.whereIn(v.getColumnName(m.pageNumber),a),v.buildFilterQuery(e,i,m,M)})).modify((function(e){v.buildModifyQuery(e,i,m)}))];case 1:return[2,s.sent()]}}))}))},documents:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,l,c;return s(this,(function(s){switch(s.label){case 0:return t=e.ids,n=e.userId,r=e.filters,o=void 0===r?{}:r,i=O.Documents,u=i.selectFields,a=void 0===u?[]:u,d=i.table,l=i.columns,c=i.columnsMap,[4,N(d).queryContext({from:"Query.documents",columns:l,columnsMap:c}).select(a).where((function(e){t&&e.whereIn(v.getColumnName(l.id),t),n&&e.whereIn(v.getColumnName(l.id),(function(){this.select(v.getColumnName(O.DocumentMembers.columns.documentId)).from(O.DocumentMembers.table).where(v.getColumnName(O.DocumentMembers.columns.userId),n)})),v.buildFilterQuery(e,o,l,M)})).modify((function(e){v.buildModifyQuery(e,o,l)}))];case 1:return[2,s.sent()]}}))}))},annotationMembers:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,l,c,f;return s(this,(function(s){switch(s.label){case 0:return t=e.annotationId,n=e.ids,r=e.userId,o=e.filters,i=void 0===o?{}:o,u=O.AnnotationMembers,a=u.selectFields,d=void 0===a?[]:a,l=u.table,c=u.columns,f=u.columnsMap,[4,N(l).queryContext({from:"Query.annotationMembers",columns:c,columnsMap:f}).select(d).where((function(e){n&&e.whereIn(v.getColumnName(c.id),n),t&&e.where(v.getColumnName(c.annotationId),t),r&&e.where(v.getColumnName(c.userId),r),v.buildFilterQuery(e,i,c,M)})).modify((function(e){v.buildModifyQuery(e,i,c)}))];case 1:return[2,s.sent()]}}))}))},documentMembers:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,l,c,f;return s(this,(function(s){switch(s.label){case 0:return t=e.documentId,n=e.ids,r=e.userId,o=e.filters,i=void 0===o?{}:o,u=O.DocumentMembers,a=u.selectFields,d=void 0===a?[]:a,l=u.table,c=u.columns,f=u.columnsMap,[4,N(l).queryContext({from:"Query.documentMembers",columns:c,columnsMap:f}).select(d).where((function(e){n&&e.whereIn(v.getColumnName(c.id),n),t&&e.where(v.getColumnName(c.documentId),t),r&&e.where(v.getColumnName(c.userId),r),v.buildFilterQuery(e,i,c,M)})).modify((function(e){v.buildModifyQuery(e,i,c)}))];case 1:return[2,s.sent()]}}))}))},mentions:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,l,c,f,m;return s(this,(function(s){switch(s.label){case 0:return t=e.annotationId,n=e.userId,r=e.documentId,o=e.ids,i=e.filters,u=void 0===i?{}:i,a=O.Mentions,d=a.selectFields,l=void 0===d?[]:d,c=a.table,f=a.columns,m=a.columnsMap,[4,N(c).queryContext({from:"Query.mentions",columns:f,columnsMap:m}).select(l).where((function(e){o&&e.whereIn(v.getColumnName(f.id),o),r&&e.where(v.getColumnName(f.documentId),r),t&&e.where(v.getColumnName(f.annotationId),t),n&&e.where(v.getColumnName(f.userId),n),v.buildFilterQuery(e,u,f,M)})).modify((function(e){v.buildModifyQuery(e,u,f)}))];case 1:return[2,s.sent()]}}))}))},annotationCount:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a;return s(this,(function(s){switch(s.label){case 0:return t=e.since,n=e.documentId,r=O.Annotations,o=r.table,i=r.columns,u=r.columnsMap,[4,N(o).queryContext({from:"Query.annotationCount",columns:i,columnsMap:u,isCountQuery:!0}).count({count:[v.getColumnName(i.id)]}).where(v.getColumnName(i.documentId),n).where(v.getColumnName(i.createdAt),">",M(t))];case 1:return a=s.sent(),[2,Number(a[0].count||0)]}}))}))},annotationMemberCount:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d;return s(this,(function(s){switch(s.label){case 0:return t=e.userId,n=e.documentId,r=e.since,o=O.AnnotationMembers,i=o.table,u=o.columns,a=o.columnsMap,[4,N(i).queryContext({from:"Query.annotationMemberCount",columns:u,columnsMap:a,isCountQuery:!0}).count({count:[v.getColumnName(u.id)]}).where(v.getColumnName(u.documentId),n).where(v.getColumnName(u.userId),t).where(v.getColumnName(u.createdAt),">",M(r))];case 1:return d=s.sent(),[2,Number(d[0].count||0)]}}))}))}},Mutation:{addUser:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,j({from:"Mutation.addUser",entity:O.Users,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},addAnnotation:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,j({from:"Mutation.addAnnotation",entity:O.Annotations,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editAnnotation:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i,u,a;return s(this,(function(s){return o=n.xfdf,i=n.pageNumber,u=n.updatedAt,a=n.annotContents,[2,j({from:"Mutation.editAnnotation",customContext:r,entity:O.Annotations,id:e,data:{xfdf:o,pageNumber:i,updatedAt:u,annotContents:a},operationType:t.MutationOperationType.UPDATE})]}))}))},deleteAnnotation:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,S({from:"Mutation.deleteAnnotation",entity:O.Annotations,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))},addDocument:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,j({from:"Mutation.addDocument",entity:O.Documents,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editDocument:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i,u;return s(this,(function(a){return o=n.name,i=n.isPublic,u=n.updatedAt,[2,j({from:"Mutation.editDocument",entity:O.Documents,id:e,data:{name:o,isPublic:i,updatedAt:u},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteDocument:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,S({from:"Mutation.deleteDocument",entity:O.Documents,id:e,customContext:t})]}))}))},addDocumentMember:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,j({from:"Mutation.addDocumentMember",entity:O.DocumentMembers,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editDocumentMember:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(u){return o=n.lastRead,i=n.updatedAt,[2,j({from:"Mutation.editDocumentMember",entity:O.DocumentMembers,id:e,data:{lastRead:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteDocumentMember:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,S({from:"Mutation.deleteDocumentMember",entity:O.DocumentMembers,id:e,customContext:t})]}))}))},addAnnotationMember:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,j({from:"Mutation.addAnnotationMember",entity:O.AnnotationMembers,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editAnnotationMember:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(u){return o=n.lastRead,i=n.updatedAt,[2,j({from:"Mutation.editAnnotationMember",entity:O.AnnotationMembers,id:e,data:{lastRead:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteAnnotationMember:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,S({from:"Mutation.deleteAnnotationMember",entity:O.AnnotationMembers,id:e,customContext:t})]}))}))},addMention:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,j({from:"Mutation.addMention",entity:O.Mentions,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editMention:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(u){return o=n.readBeforeMention,i=n.updatedAt,[2,j({from:"Mutation.editMention",entity:O.Mentions,id:e,data:{readBeforeMention:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteMention:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,S({from:"Mutation.deleteMention",entity:O.Mentions,id:e,customContext:t})]}))}))}}}}},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.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.attachAdditionalInfo=t.transformToApolloFormat=t.keysToCamel=t.toUnixTimestamp=t.testTimeTransformFunctions=t.defaultGetDatabaseTimestamp=t.defaultParseToUnixTimestamp=t.toDatabaseFormat=t.buildModifyQuery=t.getColumnName=t.buildFilterQuery=void 0;var i=n(5),u=o(n(0));t.buildFilterQuery=function(e,n,r,o){n.createdBefore&&e.where(t.getColumnName(r.createdAt),"<",o(n.createdBefore)),n.createdAfter&&e.where(t.getColumnName(r.createdAt),">",o(n.createdAfter)),n.updatedBefore&&e.where(t.getColumnName(r.updatedAt),"<",o(n.updatedBefore)),n.updatedAfter&&e.where(t.getColumnName(r.updatedAt),">",o(n.updatedAfter))};t.getColumnName=function(e){return"string"==typeof e?e:e.name};t.buildModifyQuery=function(e,n,r){var o=n.limit,i=n.orderBy,u=n.orderDirection,a=void 0===u?"DESC":u;i&&e.orderBy(t.getColumnName(r[i]),a),o&&e.limit(o)};t.toDatabaseFormat=function(e){var n=e.data,r=e.table,o=e.columns,a=e.getDatabaseTimestamp,s=e.knex,d={};for(var l in n)void 0===o[l]?u.default.warn("SQL Resolver Generator - Received unexpected data { '"+l+"': '"+n[l]+"' } when formatting data for the \""+r+'" table. This data will be ignored.\n\nReceived data:\n\n'+JSON.stringify(n,null,2)):i.TimestampProperties.includes(l)?i.NowTimestampProperties.includes(l)?d[t.getColumnName(o[l])]=s.raw(n[l]):d[t.getColumnName(o[l])]=a(n[l]):d[t.getColumnName(o[l])]=n[l];return d};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('+n+")) === "+n)};t.toUnixTimestamp=function(e,t){return Object.keys(e).forEach((function(n){i.TimestampProperties.includes(n)&&(e[n]=t(e[n]))})),e};t.keysToCamel=function(e,t,n){var r={};return Object.keys(e).forEach((function(o){if(n[o]){var i=n[o],u="string"!=typeof t[i]&&!!t[i].transform;r[i]=u?t[i].transform(e[o]):e[o]}})),r};t.transformToApolloFormat=function(e){var n=e.result,r=e.columns,o=e.columnsMap,i=e.parseToUnixTimestamp,u=[];return n.forEach((function(e){var n=t.keysToCamel(e,r,o),a=t.toUnixTimestamp(n,i);u.push(a)})),u};t.attachAdditionalInfo=function(e){var n={Users:r(r({},e.Users),{columnsMap:{},selectFields:[]}),Annotations:r(r({},e.Annotations),{columnsMap:{},selectFields:[]}),Documents:r(r({},e.Documents),{columnsMap:{},selectFields:[]}),AnnotationMembers:r(r({},e.AnnotationMembers),{columnsMap:{},selectFields:[]}),DocumentMembers:r(r({},e.DocumentMembers),{columnsMap:{},selectFields:[]}),Mentions:r(r({},e.Mentions),{columnsMap:{},selectFields:[]})};for(var o in e){var i={},u=e[o].columns;for(var a in u){var s=t.getColumnName(u[a]);n[o].selectFields.push(s),i[s]=a}n[o].columnsMap=i}return n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NowTimestampProperties=t.TimestampProperties=void 0,t.TimestampProperties=["createdAt","updatedAt","lastRead","annotationCreatedAt"],t.NowTimestampProperties=["createdAt","updatedAt","lastRead"]},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 u=i(n(1)),a=n(0);t.addConsoleTransport=function(e,t,n){void 0===t&&(t=a.LogLevels.INFO),e.add(new u.default.transports.Console({level:t,format:u.format.combine(u.format((function(e){return(!n||e.tag===n)&&e}))(),u.format.colorize(),u.format.printf((function(e){var t=s(e.message),n=e.tag?" ["+e.tag+"]":"",r=s(e.meta);return e.timestamp+" "+e.level+n+": "+t+" "+r})),u.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),u=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)u.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 u},o=this&&this.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchema=void 0;var u=i(n(8)),a=u.default.alternatives().try(u.default.object({name:u.default.string().required(),transform:u.default.function()}),u.default.string()).required();t.validateSchema=function(e,t,n){var i,s,d;return u.default.object({client:(i=u.default.string()).valid.apply(i,o([],r(Object.values(n)))).required(),connection:u.default.object().required(),pool:{min:u.default.number(),max:u.default.number()},getDatabaseTimestamp:u.default.func(),parseToUnixTimestamp:u.default.func(),getNow:u.default.func(),logLevel:(s=u.default.string()).valid.apply(s,o([],r(Object.values(e)))),filterLogsByTag:(d=u.default.string()).valid.apply(d,o([],r(Object.values(t)))),transports:u.default.array(),info:u.default.object({Users:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),type:a.required(),email:a.required(),userName:a,createdAt:a.required(),updatedAt:a.required()}).required()}).required(),Annotations:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),xfdf:a.required(),authorId:a.required(),annotationId:a.required(),documentId:a.required(),pageNumber:a.required(),createdAt:a.required(),updatedAt:a.required(),inReplyTo:a.required(),annotContents:a}).required()}).required(),Documents:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),authorId:a.required(),createdAt:a.required(),updatedAt:a.required(),isPublic:a.required(),name:a}).required()}).required(),AnnotationMembers:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),userId:a.required(),documentId:a.required(),annotationId:a.required(),lastRead:a.required(),createdAt:a.required(),updatedAt:a.required(),annotationCreatedAt:a.required()}).required()}),DocumentMembers:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),userId:a.required(),documentId:a.required(),lastRead:a.required(),createdAt:a.required(),updatedAt:a.required()}).required()}).required(),Mentions:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),userId:a.required(),documentId:a.required(),annotationId:a.required(),readBeforeMention:a.required(),createdAt:a.required(),updatedAt:a.required()}).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=2)}([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 u=i(n(1)),a=n(6);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=u.default.createLogger({format:u.format.combine(u.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}))});t.setupLogger=function(e,n,r){e===t.LogLevels.NONE?s.silent=!0:(a.addConsoleTransport(s,e,r),n&&n.length&&a.addTransports(s,n))},t.default=s},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}),u=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},a=this&&this.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(o,i){function u(e){try{s(r.next(e))}catch(e){i(e)}}function a(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(u,a)}s((r=r.apply(e,t||[])).next())}))},s=this&&this.__generator||function(e,t){var n,r,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;u;)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 u.label++,{value:i[1],done:!1};case 5:u.label++,r=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){u.label=i[1];break}if(6===i[0]&&u.label<o[1]){u.label=o[1],o=i;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(i);break}o[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}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,a])}}},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={},u("next"),u("throw"),u("return"),r[Symbol.asyncIterator]=function(){return this},r;function u(e){o[e]&&(r[e]=function(t){return new Promise((function(n,r){i.push([e,t,n,r])>1||a(e,t)}))})}function a(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){a("next",e)}function c(e){a("throw",e)}function l(e,t){e(t),i.shift(),i.length&&a(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),u=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)u.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 u},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(3)),v=n(4),h=u(n(0)),y=n(7);t.SQLClient={Postgres:"pg",MSSQL:"mssql",SQLite3:"sqlite3",Oracle:"oracledb",MySQL:"mysql"},t.MutationOperationType={CREATE:"create",UPDATE:"update"};var b=n(0);Object.defineProperty(t,"LogLevels",{enumerable:!0,get:function(){return b.LogLevels}}),Object.defineProperty(t,"LogTags",{enumerable:!0,get:function(){return b.LogTags}}),t.default=function(e){var n=e.client,o=e.version,i=void 0===o?"":o,u=e.connection,m=e.pool,b=void 0===m?{min:2,max:10}:m,M=e.getDatabaseTimestamp,g=void 0===M?v.defaultGetDatabaseTimestamp:M,T=e.parseToUnixTimestamp,w=void 0===T?v.defaultParseToUnixTimestamp:T,C=e.logLevel,A=void 0===C?h.LogLevels.ERROR:C,q=e.filterLogsByTag,S=e.transports,x=void 0===S?[]:S;v.testTimeTransformFunctions(w,g),h.setupLogger(A,x,q),h.default.info("Collab SQL Resolver Generator version 2.0.0-alpha.15");var N=y.validateSchema(h.LogLevels,h.LogTags,t.SQLClient).validate(e).error;if(N)throw h.default.error(N.details),new Error(""+N);var _=v.attachAdditionalInfo(e.info),O=p.default({client:n,version:i,connection:u,pool:r({afterCreate:function(e,t){h.default.info("--\x3e Database connected"),t(null,e)}},b),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=v.transformToApolloFormat({result:e,columns:null==t?void 0:t.columns,columnsMap:null==t?void 0:t.columnsMap,parseToUnixTimestamp:w});return h.default.log({level:h.LogLevels.DEBUG,tag:h.LogTags.RESPONSE,message:"["+t.from+"]: "+JSON.stringify(n)}),n},debug:A===h.LogLevels.DEBUG,log:{warn:function(e){h.default.warn(e)},error:function(e){h.default.error(e)},deprecate:function(e){h.default.warn(e)},debug:function(e){h.default.log({level:h.LogLevels.DEBUG,tag:h.LogTags.QUERY,message:e})}}}),D=function(e){var t=e.writeMiddleware,n=e.dbDataMap,o=e.operationType,i=e.customContext,u=void 0===i?{}:i;return a(void 0,void 0,void 0,(function(){var e,i,f,m,p,v,h,y;return s(this,(function(b){switch(b.label){case 0:if(e=r({},u),i=r({},n),0===t.length)return[2,i];f=function(){return c(this,arguments,(function(){var n,r,u=this;return s(this,(function(c){switch(c.label){case 0:n=0,r=function(){return a(u,void 0,void 0,(function(){var r;return s(this,(function(u){switch(u.label){case 0:return(r=t[n])?[4,new Promise((function(t){r({data:i,ctx:e,type:o,knex:O,next:function(n,r){n&&(i=n),r&&(e=r),t()}})}))]:[2];case 1:return u.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()]}}))}))}(),b.label=1;case 1:b.trys.push([1,6,7,12]),m=l(f),b.label=2;case 2:return[4,m.next()];case 3:if((p=b.sent()).done)return[3,5];p.value,f.next(),b.label=4;case 4:return[3,2];case 5:return[3,12];case 6:return v=b.sent(),h={error:v},[3,12];case 7:return b.trys.push([7,,10,11]),p&&!p.done&&(y=m.return)?[4,y.call(m)]:[3,9];case 8:b.sent(),b.label=9;case 9:return[3,11];case 10:if(h)throw h.error;return[7];case 11:return[7];case 12:return[2,i]}}))}))},I=function(e){var r=e.from,o=e.id,i=e.operationType,u=e.entity,d=e.dbDataMap;return a(void 0,void 0,void 0,(function(){var e,a,c,l,m,p,h,y;return s(this,(function(s){switch(s.label){case 0:return e=u.table,a=u.selectFields,c=u.columns,l=u.columnsMap,i!==t.MutationOperationType.CREATE?[3,2]:[4,O(e).queryContext({from:r,columns:c,columnsMap:l}).insert(d)];case 1:return s.sent(),[3,4];case 2:return i!==t.MutationOperationType.UPDATE?[3,4]:[4,O(e).queryContext({from:r,columns:c,columnsMap:l}).where(v.getColumnName(c.id),o).update(d)];case 3:s.sent(),s.label=4;case 4:return m=n===t.SQLClient.SQLite3?"last_insert_rowid() as id":"LAST_INSERT_ID() as id",[4,O.select(O.raw(m))];case 5:return p=f.apply(void 0,[s.sent(),1]),h=p[0],y=h.id,n===t.SQLClient.SQLite3&&a.push("rowid"),[4,O(e).select(a).queryContext({from:r,columns:c,columnsMap:l}).where(v.getColumnName(c.id),y)];case 6:return[2,s.sent()]}}))}))},E=function(e){var r=e.from,o=e.id,i=e.entity,u=e.data,d=e.customContext,c=e.operationType;return a(void 0,void 0,void 0,(function(){var e,a,l,f,m,p,y,b,M;return s(this,(function(s){switch(s.label){case 0:e=i.table,a=i.writeMiddleware,l=void 0===a?[]:a,f=i.selectFields,m=i.columns,p=i.columnsMap,s.label=1;case 1:return s.trys.push([1,9,,10]),[4,D({writeMiddleware:l,dbDataMap:v.toDatabaseFormat({data:u,table:e,columns:m,getDatabaseTimestamp:g,knex:O}),operationType:c,customContext:d})];case 2:return y=s.sent(),b=[],n!==t.SQLClient.SQLite3&&n!==t.SQLClient.MySQL?[3,4]:[4,I({from:r,id:o,operationType:c,entity:i,dbDataMap:y})];case 3:return b=s.sent(),[3,8];case 4:return c!==t.MutationOperationType.CREATE?[3,6]:[4,O(e).queryContext({from:r,columns:m,columnsMap:p}).insert(y).returning(f)];case 5:return b=s.sent(),[3,8];case 6:return[4,O(e).queryContext({from:r,columns:m,columnsMap:p}).where(v.getColumnName(m.id),o).update(y).returning(f)];case 7:b=s.sent(),s.label=8;case 8:return[2,b[0]||null];case 9:return M=s.sent(),h.default.error(M),[3,10];case 10:return[2]}}))}))},j=function(e){var t=e.entity,n=e.id;return a(void 0,void 0,void 0,(function(){var e,r,o;return s(this,(function(i){switch(i.label){case 0:e=t.table,r=t.columns,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,O(e).where(v.getColumnName(r.id),n).del().returning(v.getColumnName(r.id))];case 2:return[2,{id:""+i.sent()[0],successful:!0}];case 3:return o=i.sent(),h.default.error(o),[2,{id:n,successful:!1}];case 4:return[2]}}))}))},L={Query:{user:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u;return s(this,(function(a){switch(a.label){case 0:return t=_.Users,n=t.selectFields,r=void 0===n?[]:n,o=t.table,i=t.columns,u=t.columnsMap,[4,O(o).queryContext({from:"Query.user",columns:i,columnsMap:u}).select(r).where(v.getColumnName(i.id),e).limit(1).then((function(e){return e}))];case 1:return[2,a.sent()[0]||null]}}))}))},userWithEmail:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u;return s(this,(function(a){switch(a.label){case 0:return t=_.Users,n=t.selectFields,r=void 0===n?[]:n,o=t.table,i=t.columns,u=t.columnsMap,[4,O(o).queryContext({from:"Query.userWithEmail",columns:i,columnsMap:u}).select(r).where(v.getColumnName(i.email),e).limit(1)];case 1:return[2,a.sent()[0]||null]}}))}))},annotations:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,c,l,f,m,p;return s(this,(function(s){switch(s.label){case 0:return t=e.ids,n=e.documentId,r=e.annotationIds,o=e.filters,i=void 0===o?{}:o,u=e.inReplyTo,a=e.pageNumbers,d=_.Annotations,c=d.selectFields,l=void 0===c?[]:c,f=d.table,m=d.columns,p=d.columnsMap,[4,O(f).queryContext({from:"Query.annotations",columns:m,columnsMap:p}).select(l).where((function(e){t&&e.whereIn(v.getColumnName(m.id),t),r&&e.whereIn(v.getColumnName(m.annotationId),r),n&&e.where(v.getColumnName(m.documentId),n),u&&e.where(v.getColumnName(m.inReplyTo),u),a&&e.whereIn(v.getColumnName(m.pageNumber),a),v.buildFilterQuery(e,i,m,g)})).modify((function(e){v.buildModifyQuery(e,i,m)}))];case 1:return[2,s.sent()]}}))}))},documents:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,c,l;return s(this,(function(s){switch(s.label){case 0:return t=e.ids,n=e.userId,r=e.filters,o=void 0===r?{}:r,i=_.Documents,u=i.selectFields,a=void 0===u?[]:u,d=i.table,c=i.columns,l=i.columnsMap,[4,O(d).queryContext({from:"Query.documents",columns:c,columnsMap:l}).select(a).where((function(e){t&&e.whereIn(v.getColumnName(c.id),t),n&&e.whereIn(v.getColumnName(c.id),(function(){this.select(v.getColumnName(_.DocumentMembers.columns.documentId)).from(_.DocumentMembers.table).where(v.getColumnName(_.DocumentMembers.columns.userId),n)})),v.buildFilterQuery(e,o,c,g)})).modify((function(e){v.buildModifyQuery(e,o,c)}))];case 1:return[2,s.sent()]}}))}))},annotationMembers:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,c,l,f;return s(this,(function(s){switch(s.label){case 0:return t=e.annotationId,n=e.ids,r=e.userId,o=e.filters,i=void 0===o?{}:o,u=_.AnnotationMembers,a=u.selectFields,d=void 0===a?[]:a,c=u.table,l=u.columns,f=u.columnsMap,[4,O(c).queryContext({from:"Query.annotationMembers",columns:l,columnsMap:f}).select(d).where((function(e){n&&e.whereIn(v.getColumnName(l.id),n),t&&e.where(v.getColumnName(l.annotationId),t),r&&e.where(v.getColumnName(l.userId),r),v.buildFilterQuery(e,i,l,g)})).modify((function(e){v.buildModifyQuery(e,i,l)}))];case 1:return[2,s.sent()]}}))}))},documentMembers:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,c,l,f;return s(this,(function(s){switch(s.label){case 0:return t=e.documentId,n=e.ids,r=e.userId,o=e.filters,i=void 0===o?{}:o,u=_.DocumentMembers,a=u.selectFields,d=void 0===a?[]:a,c=u.table,l=u.columns,f=u.columnsMap,[4,O(c).queryContext({from:"Query.documentMembers",columns:l,columnsMap:f}).select(d).where((function(e){n&&e.whereIn(v.getColumnName(l.id),n),t&&e.where(v.getColumnName(l.documentId),t),r&&e.where(v.getColumnName(l.userId),r),v.buildFilterQuery(e,i,l,g)})).modify((function(e){v.buildModifyQuery(e,i,l)}))];case 1:return[2,s.sent()]}}))}))},mentions:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,c,l,f,m;return s(this,(function(s){switch(s.label){case 0:return t=e.annotationId,n=e.userId,r=e.documentId,o=e.ids,i=e.filters,u=void 0===i?{}:i,a=_.Mentions,d=a.selectFields,c=void 0===d?[]:d,l=a.table,f=a.columns,m=a.columnsMap,[4,O(l).queryContext({from:"Query.mentions",columns:f,columnsMap:m}).select(c).where((function(e){o&&e.whereIn(v.getColumnName(f.id),o),r&&e.where(v.getColumnName(f.documentId),r),t&&e.where(v.getColumnName(f.annotationId),t),n&&e.where(v.getColumnName(f.userId),n),v.buildFilterQuery(e,u,f,g)})).modify((function(e){v.buildModifyQuery(e,u,f)}))];case 1:return[2,s.sent()]}}))}))},annotationCount:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a;return s(this,(function(s){switch(s.label){case 0:return t=e.since,n=e.documentId,r=_.Annotations,o=r.table,i=r.columns,u=r.columnsMap,[4,O(o).queryContext({from:"Query.annotationCount",columns:i,columnsMap:u,isCountQuery:!0}).count({count:[v.getColumnName(i.id)]}).where(v.getColumnName(i.documentId),n).where(v.getColumnName(i.createdAt),">",g(t))];case 1:return a=s.sent(),[2,Number(a[0].count||0)]}}))}))},annotationMemberCount:function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d;return s(this,(function(s){switch(s.label){case 0:return t=e.userId,n=e.documentId,r=e.since,o=_.AnnotationMembers,i=o.table,u=o.columns,a=o.columnsMap,[4,O(i).queryContext({from:"Query.annotationMemberCount",columns:u,columnsMap:a,isCountQuery:!0}).count({count:[v.getColumnName(u.id)]}).where(v.getColumnName(u.documentId),n).where(v.getColumnName(u.userId),t).where(v.getColumnName(u.createdAt),">",g(r))];case 1:return d=s.sent(),[2,Number(d[0].count||0)]}}))}))}},Mutation:{addUser:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,E({from:"Mutation.addUser",entity:_.Users,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},addAnnotation:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,E({from:"Mutation.addAnnotation",entity:_.Annotations,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editAnnotation:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i,u,a;return s(this,(function(s){return o=n.xfdf,i=n.pageNumber,u=n.updatedAt,a=n.annotContents,[2,E({from:"Mutation.editAnnotation",customContext:r,entity:_.Annotations,id:e,data:{xfdf:o,pageNumber:i,updatedAt:u,annotContents:a},operationType:t.MutationOperationType.UPDATE})]}))}))},deleteAnnotation:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,j({from:"Mutation.deleteAnnotation",entity:_.Annotations,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))},addDocument:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,E({from:"Mutation.addDocument",entity:_.Documents,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editDocument:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i,u;return s(this,(function(a){return o=n.name,i=n.isPublic,u=n.updatedAt,[2,E({from:"Mutation.editDocument",entity:_.Documents,id:e,data:{name:o,isPublic:i,updatedAt:u},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteDocument:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,j({from:"Mutation.deleteDocument",entity:_.Documents,id:e,customContext:t})]}))}))},addDocumentMember:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,E({from:"Mutation.addDocumentMember",entity:_.DocumentMembers,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editDocumentMember:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(u){return o=n.lastRead,i=n.updatedAt,[2,E({from:"Mutation.editDocumentMember",entity:_.DocumentMembers,id:e,data:{lastRead:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteDocumentMember:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,j({from:"Mutation.deleteDocumentMember",entity:_.DocumentMembers,id:e,customContext:t})]}))}))},addAnnotationMember:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,E({from:"Mutation.addAnnotationMember",entity:_.AnnotationMembers,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},editAnnotationMember:function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(u){return o=n.lastRead,i=n.updatedAt,[2,E({from:"Mutation.editAnnotationMember",entity:_.AnnotationMembers,id:e,data:{lastRead:o,updatedAt:i},customContext:r,operationType:t.MutationOperationType.UPDATE})]}))}))},deleteAnnotationMember:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,j({from:"Mutation.deleteAnnotationMember",entity:_.AnnotationMembers,id:e,customContext:t})]}))}))},addMention:function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,E({from:"Mutation.addMention",entity:_.Mentions,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},deleteMention:function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){return[2,j({from:"Mutation.deleteMention",entity:_.Mentions,id:e,customContext:t})]}))}))}}};return _.Snapshots&&(L.Query.snapshots=function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d,c,l;return s(this,(function(s){switch(s.label){case 0:return t=e.ids,n=e.documentId,r=e.filters,o=void 0===r?{}:r,i=_.Snapshots,u=i.selectFields,a=void 0===u?[]:u,d=i.table,c=i.columns,l=i.columnsMap,[4,O(d).queryContext({from:"Query.snapshots",columns:c,columnsMap:l}).select(a).where((function(e){t&&e.whereIn(v.getColumnName(c.id),t),n&&e.where(v.getColumnName(c.documentId),n),v.buildFilterQuery(e,o,c,g)})).modify((function(e){v.buildModifyQuery(e,o,c)}))];case 1:return[2,s.sent()]}}))}))},L.Mutation.addSnapshot=function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,E({from:"Mutation.addSnapshot",entity:_.Snapshots,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},L.Mutation.editSnapshot=function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(u){return o=n.name,i=n.updatedAt,[2,E({from:"Mutation.editSnapshot",customContext:r,entity:_.Snapshots,id:e,data:{name:o,updatedAt:i},operationType:t.MutationOperationType.UPDATE})]}))}))},L.Mutation.deleteSnapshot=function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,j({from:"Mutation.deleteSnapshot",entity:_.Snapshots,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))}),_.SnapshotAssets&&(L.Query.snapshotAssets=function(e){return a(void 0,void 0,void 0,(function(){var t,n,r,o,i,u,a,d;return s(this,(function(s){switch(s.label){case 0:return t=e.ids,n=e.snapshotId,r=_.SnapshotAssets,o=r.selectFields,i=void 0===o?[]:o,u=r.table,a=r.columns,d=r.columnsMap,[4,O(u).queryContext({from:"Query.snapshotAssets",columns:a,columnsMap:d}).select(i).where((function(e){t&&e.whereIn(v.getColumnName(a.id),t),n&&e.where(v.getColumnName(a.snapshotId),n)}))];case 1:return[2,s.sent()]}}))}))},L.Mutation.addSnapshotAsset=function(e,n){return a(void 0,void 0,void 0,(function(){return s(this,(function(r){return[2,E({from:"Mutation.addSnapshotAsset",entity:_.SnapshotAssets,data:e,customContext:n,operationType:t.MutationOperationType.CREATE})]}))}))},L.Mutation.editSnapshotAsset=function(e,n,r){return a(void 0,void 0,void 0,(function(){var o,i;return s(this,(function(u){return o=n.snapshotId,i=n.updatedAt,[2,E({from:"Mutation.editSnapshotAsset",customContext:r,entity:_.SnapshotAssets,id:e,data:{snapshotId:o,updatedAt:i},operationType:t.MutationOperationType.UPDATE})]}))}))},L.Mutation.deleteSnapshotAsset=function(e,t){return a(void 0,void 0,void 0,(function(){return s(this,(function(n){switch(n.label){case 0:return[4,j({from:"Mutation.deleteSnapshotAsset",entity:_.SnapshotAssets,id:e,customContext:t})];case 1:return[2,n.sent()]}}))}))}),L}},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.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.attachAdditionalInfo=t.transformToApolloFormat=t.keysToCamel=t.toUnixTimestamp=t.testTimeTransformFunctions=t.defaultGetDatabaseTimestamp=t.defaultParseToUnixTimestamp=t.toDatabaseFormat=t.buildModifyQuery=t.getColumnName=t.buildFilterQuery=void 0;var i=n(5),u=o(n(0));t.buildFilterQuery=function(e,n,r,o){n.createdBefore&&e.where(t.getColumnName(r.createdAt),"<",o(n.createdBefore)),n.createdAfter&&e.where(t.getColumnName(r.createdAt),">",o(n.createdAfter)),n.updatedBefore&&e.where(t.getColumnName(r.updatedAt),"<",o(n.updatedBefore)),n.updatedAfter&&e.where(t.getColumnName(r.updatedAt),">",o(n.updatedAfter))};t.getColumnName=function(e){return"string"==typeof e?e:e.name};t.buildModifyQuery=function(e,n,r){var o=n.limit,i=n.orderBy,u=n.orderDirection,a=void 0===u?"DESC":u;i&&e.orderBy(t.getColumnName(r[i]),a),o&&e.limit(o)};t.toDatabaseFormat=function(e){var n=e.data,r=e.table,o=e.columns,a=e.getDatabaseTimestamp,s=e.knex,d={};for(var c in n)void 0===o[c]?u.default.warn("SQL Resolver Generator - Received unexpected data { '"+c+"': '"+n[c]+"' } when formatting data for the \""+r+'" table. This data will be ignored.\n\nReceived data:\n\n'+JSON.stringify(n,null,2)):i.TimestampProperties.includes(c)?i.NowTimestampProperties.includes(c)?d[t.getColumnName(o[c])]=s.raw(n[c]):d[t.getColumnName(o[c])]=a(n[c]):d[t.getColumnName(o[c])]=n[c];return d};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('+n+")) === "+n)};t.toUnixTimestamp=function(e,t){return Object.keys(e).forEach((function(n){i.TimestampProperties.includes(n)&&(e[n]=t(e[n]))})),e};t.keysToCamel=function(e,t,n){var r={};return Object.keys(e).forEach((function(o){if(n[o]){var i=n[o],u="string"!=typeof t[i]&&!!t[i].transform;r[i]=u?t[i].transform(e[o]):e[o]}})),r};t.transformToApolloFormat=function(e){var n=e.result,r=e.columns,o=e.columnsMap,i=e.parseToUnixTimestamp,u=[];return n.forEach((function(e){var n=t.keysToCamel(e,r,o),a=t.toUnixTimestamp(n,i);u.push(a)})),u};t.attachAdditionalInfo=function(e){var n={Users:r(r({},e.Users),{columnsMap:{},selectFields:[]}),Annotations:r(r({},e.Annotations),{columnsMap:{},selectFields:[]}),Documents:r(r({},e.Documents),{columnsMap:{},selectFields:[]}),AnnotationMembers:r(r({},e.AnnotationMembers),{columnsMap:{},selectFields:[]}),DocumentMembers:r(r({},e.DocumentMembers),{columnsMap:{},selectFields:[]}),Mentions:r(r({},e.Mentions),{columnsMap:{},selectFields:[]}),Snapshots:r(r({},e.Snapshots),{columnsMap:{},selectFields:[]}),SnapshotAssets:r(r({},e.SnapshotAssets),{columnsMap:{},selectFields:[]})};for(var o in e){var i={},u=e[o].columns;for(var a in u){var s=t.getColumnName(u[a]);n[o].selectFields.push(s),i[s]=a}n[o].columnsMap=i}return n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NowTimestampProperties=t.TimestampProperties=void 0,t.TimestampProperties=["createdAt","updatedAt","lastRead","annotationCreatedAt"],t.NowTimestampProperties=["createdAt","updatedAt","lastRead"]},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 u=i(n(1)),a=n(0);t.addConsoleTransport=function(e,t,n){void 0===t&&(t=a.LogLevels.INFO),e.add(new u.default.transports.Console({level:t,format:u.format.combine(u.format((function(e){return(!n||e.tag===n)&&e}))(),u.format.colorize(),u.format.printf((function(e){var t=s(e.message),n=e.tag?" ["+e.tag+"]":"",r=s(e.meta);return e.timestamp+" "+e.level+n+": "+t+" "+r})),u.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),u=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)u.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 u},o=this&&this.__spreadArray||function(e,t){for(var n=0,r=t.length,o=e.length;n<r;n++,o++)e[o]=t[n];return e},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateSchema=void 0;var u=i(n(8)),a=u.default.alternatives().try(u.default.object({name:u.default.string().required(),transform:u.default.function()}),u.default.string()).required();t.validateSchema=function(e,t,n){var i,s,d;return u.default.object({client:(i=u.default.string()).valid.apply(i,o([],r(Object.values(n)))).required(),connection:u.default.object().required(),pool:{min:u.default.number(),max:u.default.number()},getDatabaseTimestamp:u.default.func(),parseToUnixTimestamp:u.default.func(),getNow:u.default.func(),logLevel:(s=u.default.string()).valid.apply(s,o([],r(Object.values(e)))),filterLogsByTag:(d=u.default.string()).valid.apply(d,o([],r(Object.values(t)))),transports:u.default.array(),info:u.default.object({Users:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),type:a.required(),email:a.required(),userName:a,createdAt:a.required(),updatedAt:a.required()}).required()}).required(),Annotations:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),xfdf:a.required(),authorId:a.required(),annotationId:a.required(),documentId:a.required(),pageNumber:a.required(),createdAt:a.required(),updatedAt:a.required(),inReplyTo:a.required(),annotContents:a}).required()}).required(),Documents:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),authorId:a.required(),createdAt:a.required(),updatedAt:a.required(),isPublic:a.required(),name:a}).required()}).required(),AnnotationMembers:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),userId:a.required(),documentId:a.required(),annotationId:a.required(),lastRead:a.required(),createdAt:a.required(),updatedAt:a.required(),annotationCreatedAt:a.required()}).required()}),DocumentMembers:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),userId:a.required(),documentId:a.required(),lastRead:a.required(),createdAt:a.required(),updatedAt:a.required()}).required()}).required(),Mentions:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),userId:a.required(),documentId:a.required(),annotationId:a.required(),createdAt:a.required(),updatedAt:a.required()}).required()}).required(),Snapshots:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),authorId:a.required(),documentId:a.required(),xfdf:a.required(),name:a.required(),createdAt:a.required(),updatedAt:a.required()}).required()}),SnapshotAssets:u.default.object({table:u.default.string().required(),writeMiddleware:u.default.array().items(u.default.function()),columns:u.default.object({id:a.required(),snapshotId:a.required(),data:a.required(),createdAt:a.required(),updatedAt:a.required()}).required()})}).required()})}},function(e,t){e.exports=require("joi")}]).default})); |
@@ -6,3 +6,4 @@ { | ||
"types": "types/packages/collab-sql-resolver-generator/src/index.d.ts", | ||
"version": "2.0.0-alpha.14", | ||
"version": "2.0.0-alpha.15", | ||
"typedocMain": "src/index.ts", | ||
"scripts": { | ||
@@ -36,3 +37,3 @@ "test-dev": "jest --watch", | ||
}, | ||
"gitHead": "af38da5cc29f13482a6d5abc16219bd8c98cc479" | ||
"gitHead": "9b8b2196beb14f2bac04260b4451dc0f2d5fc93a" | ||
} |
import { NewAnnotationInput } from "./../../../../../../types/global-graphql-types"; | ||
export interface AddAnnotation_addAnnotation_author { | ||
__typename: "User"; | ||
id: string; | ||
} | ||
export interface AddAnnotation_addAnnotation_membership { | ||
__typename: "AnnotationMember"; | ||
id: string; | ||
lastRead: any; | ||
} | ||
export interface AddAnnotation_addAnnotation { | ||
@@ -6,2 +15,9 @@ __typename: "Annotation"; | ||
xfdf: string; | ||
pageNumber: number; | ||
annotationId: string; | ||
createdAt: any; | ||
author: AddAnnotation_addAnnotation_author | null; | ||
documentId: string; | ||
membership: AddAnnotation_addAnnotation_membership | null; | ||
inReplyTo: string | null; | ||
} | ||
@@ -8,0 +24,0 @@ export interface AddAnnotation { |
/// <reference types="node" /> | ||
import { CustomContext } from './../resolvers'; | ||
import { MessageData, InviteEmailData, CollabServerEmailOptions, EmailFunction } from '..'; | ||
import { CustomContext } from "../types/CustomContext"; | ||
import { CollabServerEmailOptions, EmailFunction, InviteEmailData, MessageData } from "../types/Email"; | ||
export declare class EmailManager { | ||
@@ -5,0 +5,0 @@ disabled: boolean; |
@@ -1,3 +0,3 @@ | ||
import { Email, InviteEmailData, MessageEmailData, EmailFunction } from '..'; | ||
import type sgMail from '@sendgrid/mail'; | ||
import { Email, EmailFunction, InviteEmailData, MessageEmailData } from '../types/Email'; | ||
declare type AsyncOrSync<T> = Promise<T> | T; | ||
@@ -4,0 +4,0 @@ declare type TemplateData = { |
import { PubSub } from 'graphql-subscriptions'; | ||
import { ApolloDatabaseAnnotation } from './../resolvers'; | ||
import { User } from './User'; | ||
@@ -8,6 +7,5 @@ import { Mention } from './Mention'; | ||
import { AnnotationMember } from './AnnotationMember'; | ||
import { Context } from '../resolvers'; | ||
import { AuthMethod } from '../util/permission'; | ||
import { RequestedFields } from '../util/getRequestedFields'; | ||
import { EntityPermissions } from '../util/permission'; | ||
import { DatabaseAnnotation } from '../types/DatabaseTypes'; | ||
import { Context } from '../types/Context'; | ||
export declare type AnnotationPublishEventOptions = { | ||
@@ -23,3 +21,3 @@ onlyFireForUserId?: string; | ||
}; | ||
export declare class Annotation extends Base<ApolloDatabaseAnnotation, ApolloAnnotation, { | ||
export declare class Annotation extends Base<DatabaseAnnotation, ApolloAnnotation, { | ||
membership: AnnotationMember; | ||
@@ -29,6 +27,5 @@ author: User | null; | ||
}> { | ||
constructor(annotation: ApolloDatabaseAnnotation, userId: string, from: string, context: Context, skipMembership?: boolean); | ||
constructor(annotation: DatabaseAnnotation, userId: string, from: string, context: Context, skipMembership?: boolean); | ||
getAnnotationForUser(userId: string, requestedFields: RequestedFields, skipMembership?: boolean): Annotation; | ||
publishEvent(pubsub: PubSub, action: ChangeEventTypes, options?: AnnotationPublishEventOptions): Promise<void>; | ||
static checkPermission(annotation: ApolloDatabaseAnnotation, authMethods: Array<AuthMethod> | AuthMethod, context: Context): Promise<boolean>; | ||
addMember(user: { | ||
@@ -40,3 +37,2 @@ id: string; | ||
static buildFromId(id: string, userId: string, from: string, context: Context): Promise<Annotation>; | ||
static addAnnotationCheckPermission(annotation: ApolloDatabaseAnnotation, permission: Omit<EntityPermissions, 'invite'>, context: Context): Promise<void>; | ||
/** | ||
@@ -43,0 +39,0 @@ * Creates a new annotation and saves it in the database |
@@ -1,4 +0,5 @@ | ||
import { ApolloDatabaseAnnotationMember, Context } from '../resolvers'; | ||
import { AnnotationMember as ApolloAnnotationMember } from './../../../../types/resolvers-types'; | ||
import { Base } from './Base'; | ||
import { DatabaseAnnotationMember } from '../types/DatabaseTypes'; | ||
import { Context } from '../types/Context'; | ||
declare type AnnotationMemberRelatedIds = { | ||
@@ -9,4 +10,4 @@ userId?: string; | ||
}; | ||
export declare class AnnotationMember extends Base<ApolloDatabaseAnnotationMember, ApolloAnnotationMember, unknown> { | ||
constructor(annotMember: ApolloDatabaseAnnotationMember, from: string, context: Context); | ||
export declare class AnnotationMember extends Base<DatabaseAnnotationMember, ApolloAnnotationMember, unknown> { | ||
constructor(annotMember: DatabaseAnnotationMember, from: string, context: Context); | ||
static create(userId: string, documentId: string, annotationId: string, lastRead: number | string, annotationCreatedAt: number, from: string, context: Context): Promise<AnnotationMember>; | ||
@@ -13,0 +14,0 @@ static buildFromId(ids: AnnotationMemberRelatedIds, from: string, context: Context): Promise<AnnotationMember>; |
@@ -1,4 +0,4 @@ | ||
import { Context } from '../resolvers'; | ||
import { DeleteResult } from '../../../../types/resolvers-types'; | ||
import { Actions } from '../util/permission'; | ||
import { Context } from '../types/Context'; | ||
import { Timestamp } from '..'; | ||
declare type BaseEntity = { | ||
@@ -9,3 +9,2 @@ createdAt: number | string; | ||
}; | ||
declare type AuthFunction = (action: Actions, context: Context) => Promise<void>; | ||
declare type BaseConstructor<DatabaseType, FetchTypes extends Record<string, any>> = { | ||
@@ -17,6 +16,6 @@ entity: DatabaseType & { | ||
getters: Getters<FetchTypes>; | ||
update?: (updatedEntity: DatabaseType) => Promise<DatabaseType>; | ||
update?: (id: string, updatedEntity: PartialWithUpdatedAt<DatabaseType>) => Promise<DatabaseType>; | ||
remove?: (id: string) => Promise<DeleteResult>; | ||
authorize?: AuthFunction; | ||
name: string; | ||
isLeaf?: boolean; | ||
from: string; | ||
@@ -26,2 +25,5 @@ outputFormatter?: (entity: DatabaseType, context: Context) => DatabaseType; | ||
declare type Getters<FetchTypes extends Record<string, any>> = Record<keyof FetchTypes, () => Promise<FetchTypes[keyof FetchTypes]>>; | ||
declare type PartialWithUpdatedAt<T> = Partial<T> & { | ||
updatedAt: Timestamp; | ||
}; | ||
export declare class Base<DatabaseType extends BaseEntity, GraphQLType extends BaseEntity, FetchTypes extends Record<string, any> = Record<string, unknown>> { | ||
@@ -36,3 +38,2 @@ private data; | ||
private outputFormatter?; | ||
authFunc: AuthFunction | (() => void); | ||
from: string; | ||
@@ -42,12 +43,12 @@ context: Context; | ||
name: string; | ||
constructor({ entity, context, getters, update, remove, name, from, authorize, outputFormatter }: BaseConstructor<DatabaseType, FetchTypes>); | ||
isLeaf: boolean; | ||
constructor({ entity, context, getters, update, remove, name, from, outputFormatter, isLeaf }: BaseConstructor<DatabaseType, FetchTypes>); | ||
getFromCache<T extends keyof FetchTypes>(key: T): FetchTypes[T] | null; | ||
getEntity(): DatabaseType; | ||
getAuthFunction(): AuthFunction | (() => void); | ||
get<T extends keyof DatabaseType>(key: T): Promise<DatabaseType[T]>; | ||
set(key: keyof DatabaseType, value: DatabaseType[keyof DatabaseType]): Promise<void>; | ||
delete(useAuth?: boolean): Promise<DeleteResult>; | ||
delete(): Promise<DeleteResult>; | ||
setMultiple(obj: Partial<Record<keyof DatabaseType, DatabaseType[keyof DatabaseType]>>): Promise<void>; | ||
setCalculated(key: keyof FetchTypes, value: FetchTypes[keyof FetchTypes]): void; | ||
save(useAuth?: boolean): Promise<DatabaseType>; | ||
save(): Promise<PartialWithUpdatedAt<DatabaseType>>; | ||
/** | ||
@@ -59,5 +60,5 @@ * Returns the whole object including all fetched properties | ||
}): Promise<DatabaseType & FetchTypes>; | ||
resolveAsEntity(useAuth?: boolean): Promise<GraphQLType>; | ||
resolveAsEntity(): Promise<GraphQLType>; | ||
getCalculated<T extends keyof FetchTypes>(key: T): Promise<FetchTypes[T]>; | ||
} | ||
export {}; |
import { PubSub } from 'graphql-subscriptions'; | ||
import { ApolloDatabaseDocument, ApolloDatabaseDocumentMember, ApolloDatabaseUser } from './../resolvers'; | ||
import { Document as ApolloDocument, InvitedUserInput, NewDocumentInput, NewAnnotationInput, ChangeEventTypes, DocumentSubscriptionEvent } from './../../../../types/resolvers-types'; | ||
import { Base } from './Base'; | ||
import { Annotation } from './Annotation'; | ||
import { Context } from '../resolvers'; | ||
import { DocumentMember } from './DocumentMember'; | ||
import { Actions, AuthMethod } from '../util/permission'; | ||
import { RequestedFields } from '../util/getRequestedFields'; | ||
import { DatabaseDocument, DatabaseDocumentMember, DatabaseUser } from '../types/DatabaseTypes'; | ||
import { Context } from '../types/Context'; | ||
import { User } from './User'; | ||
export declare type DocumentPublishEventOptions = { | ||
@@ -17,13 +17,20 @@ markedAllAsRead?: boolean; | ||
}; | ||
export declare class Document extends Base<ApolloDatabaseDocument, ApolloDocument, { | ||
export declare class Document extends Base<DatabaseDocument, ApolloDocument, { | ||
members: DocumentMember[]; | ||
annotations: Annotation[]; | ||
unreadCount: number; | ||
author: User; | ||
}> { | ||
constructor(document: ApolloDatabaseDocument, userId: string, from: string, context: Context); | ||
constructor(document: DatabaseDocument, userId: string, from: string, context: Context); | ||
publishEvent(pubsub: PubSub, action: ChangeEventTypes, options?: DocumentPublishEventOptions): Promise<void>; | ||
getResolvedMembers(): Promise<(ApolloDatabaseDocumentMember & { | ||
user: ApolloDatabaseUser; | ||
getResolvedMembers(): Promise<(DatabaseDocumentMember & { | ||
user: DatabaseUser; | ||
})[]>; | ||
getUserMembership(userId: any): Promise<Omit<import("./../resolvers").ApolloDocumentMember, "__typename" | "user"> & { | ||
getUserMembership(userId: any): Promise<{ | ||
id: string; | ||
createdAt: any; | ||
updatedAt: any; | ||
documentId: string; | ||
lastRead: any; | ||
} & { | ||
userId: string; | ||
@@ -34,3 +41,2 @@ } & { | ||
getDocumentForUser(userId: any, requestedFields: RequestedFields): Promise<Document>; | ||
static checkPermission(document: ApolloDatabaseDocument, authMethods: Array<AuthMethod> | AuthMethod, action: Actions, context: Context): Promise<boolean>; | ||
addUsers(usersInvited: InvitedUserInput[], currentUserId?: string): Promise<{ | ||
@@ -37,0 +43,0 @@ isSelfInvite: boolean; |
@@ -1,10 +0,10 @@ | ||
import { ApolloDatabaseDocumentMember } from './../resolvers'; | ||
import { User } from './User'; | ||
import { Context } from '../resolvers'; | ||
import { DocumentMember as ApolloDocumentMember } from './../../../../types/resolvers-types'; | ||
import { Base } from './Base'; | ||
export declare class DocumentMember extends Base<ApolloDatabaseDocumentMember, ApolloDocumentMember, { | ||
import { DatabaseDocumentMember } from '../types/DatabaseTypes'; | ||
import { Context } from '../types/Context'; | ||
export declare class DocumentMember extends Base<DatabaseDocumentMember, ApolloDocumentMember, { | ||
user: User; | ||
}> { | ||
constructor(docMember: ApolloDatabaseDocumentMember, from: string, context: Context); | ||
constructor(docMember: DatabaseDocumentMember, from: string, context: Context); | ||
static create(userId: string, documentId: string, lastRead: number | string, from: string, context: Context): Promise<DocumentMember>; | ||
@@ -11,0 +11,0 @@ static buildFromId(ids: { |
import { PubSub } from 'graphql-subscriptions'; | ||
import { ApolloDatabaseMention } from './../resolvers'; | ||
import { User } from './User'; | ||
import { Context } from '../resolvers'; | ||
import { Mention as ApolloMention, NewMentionInput } from './../../../../types/resolvers-types'; | ||
import { Base } from './Base'; | ||
export declare class Mention extends Base<ApolloDatabaseMention, ApolloMention, { | ||
import { DatabaseMention } from '../types/DatabaseTypes'; | ||
import { Context } from '../types/Context'; | ||
export declare class Mention extends Base<DatabaseMention, ApolloMention, { | ||
mentionedUser: User; | ||
}> { | ||
constructor(mention: ApolloDatabaseMention, from: string, context: Context); | ||
constructor(mention: DatabaseMention, from: string, context: Context); | ||
publishEvent(pubsub: PubSub, action: 'ADD' | 'DELETE'): Promise<void>; | ||
@@ -12,0 +12,0 @@ static buildFromId(annotationId: string, userId: string, from: string, context: Context): Promise<Mention>; |
@@ -1,11 +0,11 @@ | ||
import { ApolloDatabaseUser } from './../resolvers'; | ||
import { Document } from './Document'; | ||
import { Context } from '../resolvers'; | ||
import { NewUserInput, User as ApolloUser } from './../../../../types/resolvers-types'; | ||
import { Base } from './Base'; | ||
export declare class User extends Base<ApolloDatabaseUser, ApolloUser, { | ||
import { DatabaseUser } from '../types/DatabaseTypes'; | ||
import { Context } from '../types/Context'; | ||
export declare class User extends Base<DatabaseUser, ApolloUser, { | ||
documents: Document[]; | ||
}> { | ||
constructor(user: ApolloDatabaseUser, from: string, context: Context); | ||
removeDocument(docId: string): Promise<import("./../resolvers").DeleteResult>; | ||
constructor(user: DatabaseUser, from: string, context: Context, isLeaf?: boolean); | ||
removeDocument(docId: string): Promise<import("./../../../../types/resolvers-types").DeleteResult>; | ||
static buildFromId(id: string, from: string, context: Context): Promise<User>; | ||
@@ -12,0 +12,0 @@ static buildFromEmail(email: string, from: string, context: Context): Promise<User>; |
/// <reference types="node" /> | ||
import { Response } from 'express'; | ||
import { PubSub } from 'graphql-subscriptions'; | ||
import { TimestampGetter } from './util/TimestampManager'; | ||
import ConnectedUserMap from './util/ConnectedUserMap'; | ||
import { UserResolvers, CustomContext } from './resolvers'; | ||
import { Logging, Tags } from '../../../shared/log/logger'; | ||
import { EmailManager } from './email/EmailManager'; | ||
import ContextCache from './cache/ContextCache'; | ||
import { PermissionSetting, UserPermissionSetting } from './util/permission'; | ||
import RequestStats from './util/RequestStats'; | ||
import { RequestedFields } from './util/getRequestedFields'; | ||
import type { Server as HttpServer } from 'http'; | ||
import type { CorsOptions } from 'apollo-server-express'; | ||
import type winston from 'winston'; | ||
import type { CookieOptions } from 'express'; | ||
import { InvitedUserInput, XfdfTypes } from '../../../types/resolvers-types'; | ||
export declare type UserAuth = { | ||
id: string; | ||
userName?: string; | ||
}; | ||
/** | ||
* @ignore | ||
*/ | ||
export declare type Context = { | ||
res: Response; | ||
user: UserAuth; | ||
permissionSetting: PermissionSetting; | ||
verifyPassword: VerifyPassword; | ||
getUserFromToken: GetUserFromToken; | ||
cookieOptions: CookieOptions; | ||
cache: ContextCache; | ||
resolvers: UserResolvers; | ||
stats: RequestStats; | ||
token?: string; | ||
connectedUsers: ConnectedUserMap; | ||
pubsub: PubSub; | ||
emailOptions: CollabServerEmailOptions; | ||
emailManager: EmailManager; | ||
requestedFields: RequestedFields; | ||
subscriptionFields: Record<string, RequestedFields>; | ||
customContext: CustomContext; | ||
xfdfFormat?: XfdfTypes; | ||
cookies: Record<any, any>; | ||
}; | ||
/** | ||
* A function that validates a users email and password. | ||
* | ||
* For more information on context, see {@link https://collaboration.pdftron.com/docs/server/context|this guide} | ||
*/ | ||
export declare type VerifyPassword = (email: string, password: string, context: CustomContext) => Promise<boolean> | boolean; | ||
/** | ||
* A function that authenticates a user from a token. | ||
* | ||
* For more information on context, see {@link https://collaboration.pdftron.com/docs/server/context|this guide} | ||
*/ | ||
export declare type GetUserFromToken = (token: string, context: CustomContext, cookies: Record<any, any>) => Promise<UserAuth> | UserAuth; | ||
/** | ||
* @ignore | ||
*/ | ||
export declare enum Email { | ||
Message = "message", | ||
Invite = "invite" | ||
} | ||
export declare type InviteEmailData = { | ||
documentName: string; | ||
documentId: string; | ||
usersInvited: InvitedUserInput[]; | ||
sentBy: string; | ||
sendTo: string[]; | ||
context: CustomContext; | ||
}; | ||
export declare type MessageData = { | ||
annotationId: string; | ||
messageText: string; | ||
documentName: string; | ||
documentId: string; | ||
sentBy: string; | ||
sendTo: string[]; | ||
context: CustomContext; | ||
}; | ||
import { UserResolvers } from './types/UserResolvers'; | ||
import { CollabServerOptions } from './types/Server'; | ||
export declare enum XFDFFormats { | ||
@@ -86,35 +9,2 @@ RAW = "RAW", | ||
} | ||
export declare type MessageEmailData = { | ||
messages: Omit<MessageData, 'sendTo'>[]; | ||
sendTo: string; | ||
}; | ||
export declare type EmailFunction = (type: Email, data: InviteEmailData | MessageEmailData, context: CustomContext) => Promise<void>; | ||
export declare type CollabServerEmailOptions = { | ||
emailHandler?: EmailFunction; | ||
emailQueueTimer?: number; | ||
emailOnAnnotationCreated?: boolean; | ||
}; | ||
export interface ResolverObj { | ||
[key: string]: { | ||
[key: string]: (parent: any, args: any, context: any, info: any) => Promise<any>; | ||
}; | ||
} | ||
export declare type CollabServerCustomQueriesOptions = { | ||
additionalTypeDefs: string; | ||
additionalResolvers: ResolverObj; | ||
}; | ||
export declare type CollabServerOptions = { | ||
resolvers: UserResolvers; | ||
corsOption?: CorsOptions; | ||
logLevel?: Logging; | ||
filterLogsByTag?: Tags; | ||
logTransports?: Array<winston.transport>; | ||
customQueries?: CollabServerCustomQueriesOptions; | ||
emailOptions?: CollabServerEmailOptions; | ||
verifyPassword?: VerifyPassword; | ||
getUserFromToken?: GetUserFromToken; | ||
cookieOptions?: CookieOptions; | ||
permissions?: UserPermissionSetting; | ||
getNow?: TimestampGetter; | ||
}; | ||
declare class CollabServer { | ||
@@ -141,7 +31,10 @@ private server; | ||
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 sendGridEmailHandler: (emailServiceOptions: import("./email/sendGridEmailHandler").EmailServiceOptions) => EmailFunction; | ||
static sendGridEmailHandler: (emailServiceOptions: import(".").EmailServiceOptions) => import("./types/Email").EmailFunction; | ||
static Permissions: { | ||
@@ -152,2 +45,3 @@ Roles: { | ||
readonly ANNOTATION_AUTHOR: "annotation_author"; | ||
readonly SNAPSHOT_AUTHOR: "snapshot_author"; | ||
readonly ANY: "any"; | ||
@@ -161,2 +55,3 @@ }; | ||
readonly INVITE: "invite"; | ||
readonly RESTORE: "restore"; | ||
}; | ||
@@ -166,2 +61,3 @@ Entities: { | ||
readonly ANNOTATION: "annotation"; | ||
readonly SNAPSHOT: "snapshot"; | ||
}; | ||
@@ -180,4 +76,4 @@ }; | ||
export * from './resolvers'; | ||
export { default as Permissions, PermissionSetting, UserPermissionSetting, setPermissions, Roles, Actions, EntityPermissions, AuthMethod, AuthorizeFunction } from './util/permission'; | ||
export { default as Permissions, PermissionSetting, UserPermissionSetting, setPermissions, Roles, Actions, EntityPermissions, AuthMethod, AuthorizeFunction } from './util/permissions'; | ||
export { default as sendGridEmailHandler, EmailServiceOptions } from './email/sendGridEmailHandler'; | ||
export { parseAnnotationIdFromXFDF } from './util/xfdf'; |
@@ -1,130 +0,60 @@ | ||
import { AddAnnotationVariables } from './../../collab-client/src/graphql/mutations/types/AddAnnotation'; | ||
import { EditDocumentVariables } from './../../collab-client/src/graphql/mutations/types/EditDocument'; | ||
import { Resolvers, Annotation as ApolloAnnotation, Document as ApolloDocument, DocumentMember as ApolloDocumentMember, AnnotationMember as ApolloAnnotationMember, User as ApolloUser, Mention as ApolloMention, DeleteResult, EditAnnotationInput, EditDocumentMemberInput, EditAnnotationMemberInput, EditMentionInput, NewUserInput, NewDocumentInput, NewDocumentMemberInput, NewAnnotationMemberInput, NewMentionInput } from "./../../../types/resolvers-types"; | ||
import { Resolvers } from "./../../../types/resolvers-types"; | ||
import Query from './resolvers/Query'; | ||
import Mutation from './resolvers/Mutation/Mutation'; | ||
export { Context, UserAuth } from './index'; | ||
export { Annotation as ApolloAnnotation, Document as ApolloDocument, DocumentMember as ApolloDocumentMember, AnnotationMember as ApolloAnnotationMember, User as ApolloUser, UserTypes, DeleteResult, EditAnnotationInput, EditDocumentMemberInput, EditAnnotationMemberInput, } from "./../../../types/resolvers-types"; | ||
import Joi from 'joi'; | ||
import { UserResolvers } from './types/UserResolvers'; | ||
import { Roles, Actions, Entities } from './util/permissions'; | ||
import { CustomContext } from './types/CustomContext'; | ||
export declare type Timestamp = 'NOW' | number; | ||
declare type AsyncOrSync<T> = Promise<T> | T; | ||
export declare type ApolloDatabaseUser = Omit<ApolloUser, 'documents' | '__typename'>; | ||
export declare type ApolloDatabaseDocument = Omit<ApolloDocument, 'members' | 'annotations' | 'unreadCount' | '__typename'>; | ||
export declare type ApolloDatabaseAnnotation = Omit<ApolloAnnotation, 'membership' | 'author' | 'mentions' | '__typename'> & { | ||
authorId: string; | ||
}; | ||
export declare type ApolloDatabaseAnnotationMember = Omit<ApolloAnnotationMember, '__typename' | 'user'> & { | ||
userId: string; | ||
annotationCreatedAt: number; | ||
}; | ||
export declare type ApolloDatabaseDocumentMember = Omit<ApolloDocumentMember, '__typename' | 'user'> & { | ||
userId: string; | ||
}; | ||
export declare type ApolloDatabaseMention = Omit<ApolloMention, 'mentionedUser' | '__typename'> & { | ||
userId: string; | ||
}; | ||
export declare type EditAnnotationMemberUserInput = Omit<EditAnnotationMemberInput, 'lastRead'> & { | ||
lastRead?: Timestamp; | ||
}; | ||
export declare type EditDocumentMemberUserInput = Omit<EditDocumentMemberInput, 'lastRead'> & { | ||
lastRead?: Timestamp; | ||
}; | ||
export declare type AddUserInput = NewUserInput & { | ||
id?: string; | ||
}; | ||
export declare type AddDocumentMemberInput = NewDocumentMemberInput & { | ||
id?: string; | ||
}; | ||
export declare type AddAnnotationMemberInput = NewAnnotationMemberInput & { | ||
id?: string; | ||
lastRead: Timestamp; | ||
annotationCreatedAt?: Timestamp; | ||
}; | ||
export declare type AddMentionInput = NewMentionInput & { | ||
id?: string; | ||
}; | ||
export declare type AnnotationMemberCountQueryData = { | ||
userId: string; | ||
documentId: string; | ||
since: number; | ||
}; | ||
export declare type AnnotationCountQueryData = { | ||
documentId: string; | ||
since: number; | ||
}; | ||
export declare type QueryParams = { | ||
createdBefore?: number; | ||
createdAfter?: number; | ||
updatedBefore?: number; | ||
updatedAfter?: number; | ||
orderBy?: 'updatedAt' | 'createdAt'; | ||
orderDirection?: 'ASC' | 'DESC'; | ||
limit?: number; | ||
}; | ||
export declare type AnnotationsQuery = { | ||
ids?: string[]; | ||
annotationIds?: string[]; | ||
declare type ArrayElement<ArrayType> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never; | ||
declare type Awaited<T> = T extends PromiseLike<infer U> ? U : T; | ||
declare type IDResponse = string[]; | ||
export declare type RequestedEntityIds = { | ||
documentIds?: IDResponse; | ||
annotationIds?: IDResponse; | ||
snapshotIds?: IDResponse; | ||
documentId?: string; | ||
pageNumbers?: number[]; | ||
inReplyTo?: string; | ||
filters?: QueryParams; | ||
}; | ||
export declare type DocumentsQuery = { | ||
ids?: string[]; | ||
userId?: string; | ||
filters?: QueryParams; | ||
}; | ||
export declare type AnnotationMembersQuery = { | ||
ids?: string[]; | ||
annotationId?: string; | ||
userId?: string; | ||
filters?: QueryParams; | ||
snapshotId?: string; | ||
}; | ||
export declare type DocumentMembersQuery = { | ||
documentId?: string; | ||
userId?: string; | ||
ids?: string[]; | ||
filters?: QueryParams; | ||
declare type CheckPermissionParamsQuery<T extends keyof UserResolvers['Query']> = { | ||
params: Parameters<UserResolvers['Query'][T]>; | ||
role: Roles; | ||
resolvers: UserResolvers; | ||
context: CustomContext; | ||
currentUserId: string; | ||
entity: ArrayElement<Awaited<ReturnType<UserResolvers['Query'][T]>>>; | ||
}; | ||
export declare type MentionsQuery = { | ||
annotationId?: string; | ||
userId?: string; | ||
documentId?: string; | ||
ids?: string[]; | ||
filters?: QueryParams; | ||
declare type CheckPermissionParamsMutation<T extends keyof UserResolvers['Mutation']> = { | ||
params: Parameters<UserResolvers['Mutation'][T]>; | ||
role: Roles; | ||
resolvers: UserResolvers; | ||
context: CustomContext; | ||
currentUserId: string; | ||
}; | ||
declare type RequireID<T> = T & { | ||
id: string; | ||
export declare type ResolverMetadataObject = { | ||
/** | ||
* Set to true if the resolver is expected to return an array | ||
*/ | ||
array?: boolean; | ||
/** | ||
* A function to validate the data returned from the resolver | ||
*/ | ||
validator: (params: any) => Joi.Schema; | ||
/** | ||
* A function to check permissions for a resolver call | ||
* You do not need to check for ALL, that will already be done. | ||
* Return undefined if permissions are not applicable for the given role | ||
*/ | ||
checkPermissions?: (...p: any[]) => Promise<boolean | null>; | ||
permissionAction?: Actions; | ||
permissionEntity?: Entities; | ||
}; | ||
export declare type CustomContext = Record<string, any>; | ||
declare type UserResolvers = { | ||
Query: { | ||
user: (id: string, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseUser>>; | ||
userWithEmail: (email: string, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseUser>>; | ||
annotations: (query: AnnotationsQuery, context: CustomContext) => AsyncOrSync<Array<RequireID<ApolloDatabaseAnnotation>>>; | ||
documents: (query: DocumentsQuery, context: CustomContext) => AsyncOrSync<Array<RequireID<ApolloDatabaseDocument>>>; | ||
annotationMembers: (query: AnnotationMembersQuery, context: CustomContext) => AsyncOrSync<Array<RequireID<ApolloDatabaseAnnotationMember>>>; | ||
documentMembers: (query: DocumentMembersQuery, context: CustomContext) => AsyncOrSync<Array<RequireID<ApolloDatabaseDocumentMember>>>; | ||
annotationCount: (query: AnnotationCountQueryData, context: CustomContext) => AsyncOrSync<number>; | ||
annotationMemberCount: (query: AnnotationMemberCountQueryData, context: CustomContext) => AsyncOrSync<number>; | ||
mentions: (query: MentionsQuery, context: CustomContext) => AsyncOrSync<Array<RequireID<ApolloDatabaseMention>>>; | ||
}; | ||
Mutation: { | ||
addUser: (user: AddUserInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseUser>>; | ||
addAnnotation: (annotation: AddAnnotationVariables['input'], context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseAnnotation>>; | ||
editAnnotation: (id: string, input: EditAnnotationInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseAnnotation | null>>; | ||
deleteAnnotation: (id: string, context: CustomContext) => AsyncOrSync<DeleteResult>; | ||
addDocument: (document: NewDocumentInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseDocument>>; | ||
editDocument: (id: string, input: EditDocumentVariables['input'], context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseDocument | null>>; | ||
deleteDocument: (id: string, context: CustomContext) => AsyncOrSync<DeleteResult>; | ||
addDocumentMember: (documentMember: AddDocumentMemberInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseDocumentMember>>; | ||
editDocumentMember: (id: string, input: EditDocumentMemberUserInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseDocumentMember | null>>; | ||
deleteDocumentMember: (id: string, context: CustomContext) => AsyncOrSync<DeleteResult>; | ||
addAnnotationMember: (annotationMember: AddAnnotationMemberInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseAnnotationMember>>; | ||
editAnnotationMember: (id: string, input: EditAnnotationMemberUserInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseAnnotationMember | null>>; | ||
deleteAnnotationMember: (id: string, context: CustomContext) => AsyncOrSync<DeleteResult>; | ||
addMention: (mention: AddMentionInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseMention>>; | ||
editMention: (id: string, input: EditMentionInput, context: CustomContext) => AsyncOrSync<RequireID<ApolloDatabaseMention | null>>; | ||
deleteMention: (id: string, context: CustomContext) => AsyncOrSync<DeleteResult>; | ||
}; | ||
declare type ResolverMetadata = { | ||
Query: Record<keyof UserResolvers['Query'], ResolverMetadataObject>; | ||
Mutation: Record<keyof UserResolvers['Mutation'], ResolverMetadataObject>; | ||
}; | ||
export declare type CheckPermissionsFunctionQuery<T extends keyof UserResolvers['Query']> = (p: CheckPermissionParamsQuery<T>) => Promise<boolean>; | ||
export declare type CheckPermissionsFunctionMutation<T extends keyof UserResolvers['Mutation']> = (p: CheckPermissionParamsMutation<T>) => Promise<boolean>; | ||
export declare const resolverMetadata: ResolverMetadata; | ||
export declare const SubscriptionTypes: { | ||
@@ -136,2 +66,4 @@ ANNOTATION_CHANGED: string; | ||
CONNECTED_DOC_USERS_CHANGED: string; | ||
SNAPSHOT_CHANGED: string; | ||
SCROLL_SYNC_SESSION_UPDATED: string; | ||
}; | ||
@@ -144,2 +76,2 @@ /** | ||
declare const makeResolvers: () => Resolvers; | ||
export { makeResolvers, UserResolvers }; | ||
export { makeResolvers }; |
@@ -1,9 +0,9 @@ | ||
import { Context } from './../../index'; | ||
import { NewAnnotationInput } from '../../../../../types/resolvers-types'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
addAnnotation: (p: any, args: { | ||
input: NewAnnotationInput; | ||
}, context: Context) => Promise<import("./../../index").ApolloAnnotation>; | ||
editAnnotation: (p: any, args: any, context: Context) => Promise<import("./../../index").ApolloAnnotation>; | ||
deleteAnnotation: (p: any, args: any, context: Context) => Promise<import("./../../index").DeleteResult | { | ||
}, context: Context) => Promise<import("../../../../../types/resolvers-types").Annotation>; | ||
editAnnotation: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").Annotation>; | ||
deleteAnnotation: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult | { | ||
id: any; | ||
@@ -10,0 +10,0 @@ successful: boolean; |
@@ -1,6 +0,6 @@ | ||
import { Context } from '../..'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
addAnnotationMember: (p: any, args: any, context: Context) => Promise<import("../..").ApolloAnnotationMember>; | ||
editAnnotationMember: (p: any, args: any, context: Context) => Promise<import("../..").ApolloAnnotationMember>; | ||
updateAnnotationMemberLastRead: (p: any, args: any, context: Context) => Promise<import("../..").ApolloAnnotationMember | { | ||
addAnnotationMember: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").AnnotationMember>; | ||
editAnnotationMember: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").AnnotationMember>; | ||
updateAnnotationMemberLastRead: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").AnnotationMember | { | ||
__typename: string; | ||
@@ -10,4 +10,4 @@ message: string; | ||
}>; | ||
deleteAnnotationMember: (p: any, args: any, context: Context) => Promise<import("../..").DeleteResult>; | ||
deleteAnnotationMember: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
}; | ||
export default _default; |
@@ -1,2 +0,2 @@ | ||
import { Context } from '../../index'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
@@ -8,3 +8,6 @@ connectUserToDocument: (p: any, args: any, context: Context) => { | ||
}; | ||
editConnectedDocUser: (p: any, args: any, context: Context) => import("../../util/ConnectedUserMap").UserConnection[]; | ||
editConnectedDocUser: (p: any, args: any, context: Context) => { | ||
userId: any; | ||
currentPage: number; | ||
}[]; | ||
deleteConnectedDocUser: (p: any, args: any, context: Context) => { | ||
@@ -11,0 +14,0 @@ successful: boolean; |
@@ -1,2 +0,2 @@ | ||
import { Context } from '../..'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
@@ -3,0 +3,0 @@ encodeContext: (p: any, args: any, context: Context) => Promise<{ |
@@ -1,9 +0,9 @@ | ||
import { Context } from './../../index'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
inviteUsersToDocument: (_: any, args: any, context: Context) => Promise<import("./../../index").ApolloDocument>; | ||
addDocument: (p: any, args: any, context: Context) => Promise<import("./../../index").ApolloDocument>; | ||
editDocument: (p: any, args: any, context: Context) => Promise<import("./../../index").ApolloDocument>; | ||
deleteDocument: (p: any, args: any, context: Context) => Promise<import("./../../index").DeleteResult>; | ||
markAllAsRead: (p: any, args: any, context: Context) => Promise<import("./../../index").ApolloDocument>; | ||
inviteUsersToDocument: (_: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").Document>; | ||
addDocument: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").Document>; | ||
editDocument: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").Document>; | ||
deleteDocument: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
markAllAsRead: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").Document>; | ||
}; | ||
export default _default; |
@@ -1,10 +0,10 @@ | ||
import { Context } from '../..'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
addDocumentMember: (p: any, args: any, context: Context) => Promise<import("../..").ApolloDocumentMember>; | ||
editDocumentMember: (p: any, args: any, context: Context) => Promise<import("../..").ApolloDocumentMember | { | ||
addDocumentMember: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").DocumentMember>; | ||
editDocumentMember: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").DocumentMember | { | ||
__typename: string; | ||
message: string; | ||
}>; | ||
deleteDocumentMember: (p: any, args: any, context: Context) => Promise<import("../..").DeleteResult>; | ||
deleteDocumentMember: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
}; | ||
export default _default; |
@@ -1,7 +0,6 @@ | ||
import { Context } from '../..'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
addMention: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").Mention>; | ||
editMention: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").Mention>; | ||
deleteMention: (p: any, args: any, context: Context) => Promise<import("../..").DeleteResult>; | ||
deleteMention: (p: any, args: any, context: Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
}; | ||
export default _default; |
declare const Mutation: { | ||
encodeContext: (p: any, args: any, context: import("../..").Context) => Promise<{ | ||
addSnapshotAsset: (p: any, args: { | ||
input: import("../../../../../types/resolvers-types").NewSnapshotAssetInput; | ||
}, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").SnapshotAsset>; | ||
editSnapshotAsset: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").SnapshotAsset>; | ||
deleteSnapshotAsset: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult | { | ||
id: any; | ||
successful: boolean; | ||
message: string; | ||
}>; | ||
addSnapshot: (p: any, args: { | ||
input: import("../../../../../types/resolvers-types").NewSnapshotInput; | ||
}, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Snapshot>; | ||
editSnapshot: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Snapshot>; | ||
deleteSnapshot: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
restoreSnapshot: (p: any, args: { | ||
input: import("../../../../../types/resolvers-types").RestoreSnapshotInput; | ||
}, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").RestoreSnapshotResult>; | ||
encodeContext: (p: any, args: any, context: import("../../types/Context").Context) => Promise<{ | ||
token: string; | ||
}>; | ||
editScrollSync: (p: any, args: any, context: import("../..").Context) => { | ||
position: any; | ||
createScrollSyncSession: (p: any, args: any, context: import("../../types/Context").Context) => { | ||
leaderId: string; | ||
documentId: string; | ||
connectedUsers: string[]; | ||
position: { | ||
scrollTop: number; | ||
scrollHeight: number; | ||
}; | ||
sessionId: string; | ||
}; | ||
deleteScrollSync: (p: any, args: any, context: import("../..").Context) => { | ||
successful: boolean; | ||
joinScrollSyncSession: (p: any, args: any, context: import("../../types/Context").Context) => true | { | ||
leaderId: string; | ||
documentId: string; | ||
connectedUsers: string[]; | ||
position: { | ||
scrollTop: number; | ||
scrollHeight: number; | ||
}; | ||
sessionId: string; | ||
}; | ||
connectUserToDocument: (p: any, args: any, context: import("../..").Context) => { | ||
updateScrollSyncSession: (p: any, args: any, context: import("../../types/Context").Context) => boolean; | ||
exitScrollSyncSession: (p: any, args: any, context: import("../../types/Context").Context) => boolean; | ||
connectUserToDocument: (p: any, args: any, context: import("../../types/Context").Context) => { | ||
userId: any; | ||
@@ -16,23 +49,25 @@ documentId: any; | ||
}; | ||
editConnectedDocUser: (p: any, args: any, context: import("../..").Context) => import("../../util/ConnectedUserMap").UserConnection[]; | ||
deleteConnectedDocUser: (p: any, args: any, context: import("../..").Context) => { | ||
editConnectedDocUser: (p: any, args: any, context: import("../../types/Context").Context) => { | ||
userId: any; | ||
currentPage: number; | ||
}[]; | ||
deleteConnectedDocUser: (p: any, args: any, context: import("../../types/Context").Context) => { | ||
successful: boolean; | ||
}; | ||
addMention: (p: any, args: any, context: import("../..").Context) => Promise<import("../../../../../types/resolvers-types").Mention>; | ||
editMention: (p: any, args: any, context: import("../..").Context) => Promise<import("../../../../../types/resolvers-types").Mention>; | ||
deleteMention: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").DeleteResult>; | ||
addDocumentMember: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloDocumentMember>; | ||
editDocumentMember: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloDocumentMember | { | ||
addMention: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Mention>; | ||
deleteMention: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
addDocumentMember: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DocumentMember>; | ||
editDocumentMember: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DocumentMember | { | ||
__typename: string; | ||
message: string; | ||
}>; | ||
deleteDocumentMember: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").DeleteResult>; | ||
inviteUsersToDocument: (_: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloDocument>; | ||
addDocument: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloDocument>; | ||
editDocument: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloDocument>; | ||
deleteDocument: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").DeleteResult>; | ||
markAllAsRead: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloDocument>; | ||
addAnnotationMember: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloAnnotationMember>; | ||
editAnnotationMember: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloAnnotationMember>; | ||
updateAnnotationMemberLastRead: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloAnnotationMember | { | ||
deleteDocumentMember: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
inviteUsersToDocument: (_: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Document>; | ||
addDocument: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Document>; | ||
editDocument: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Document>; | ||
deleteDocument: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
markAllAsRead: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Document>; | ||
addAnnotationMember: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").AnnotationMember>; | ||
editAnnotationMember: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").AnnotationMember>; | ||
updateAnnotationMemberLastRead: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").AnnotationMember | { | ||
__typename: string; | ||
@@ -42,8 +77,8 @@ message: string; | ||
}>; | ||
deleteAnnotationMember: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").DeleteResult>; | ||
deleteAnnotationMember: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult>; | ||
addAnnotation: (p: any, args: { | ||
input: import("../../../../../types/resolvers-types").NewAnnotationInput; | ||
}, context: import("../..").Context) => Promise<import("../..").ApolloAnnotation>; | ||
editAnnotation: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").ApolloAnnotation>; | ||
deleteAnnotation: (p: any, args: any, context: import("../..").Context) => Promise<import("../..").DeleteResult | { | ||
}, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Annotation>; | ||
editAnnotation: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").Annotation>; | ||
deleteAnnotation: (p: any, args: any, context: import("../../types/Context").Context) => Promise<import("../../../../../types/resolvers-types").DeleteResult | { | ||
id: any; | ||
@@ -53,9 +88,9 @@ successful: boolean; | ||
}>; | ||
addUser: (p: any, args: any, context: any) => Promise<import("../..").ApolloUser>; | ||
loginAnonymous: (p: any, args: any, context: import("../..").Context) => Promise<{ | ||
user: import("../..").ApolloUser; | ||
addUser: (p: any, args: any, context: any) => Promise<import("../../../../../types/resolvers-types").User>; | ||
loginAnonymous: (p: any, args: any, context: import("../../types/Context").Context) => Promise<{ | ||
user: import("../../../../../types/resolvers-types").User; | ||
token: string; | ||
}>; | ||
login: (p: any, args: any, context: import("../..").Context) => Promise<{ | ||
user: import("../..").ApolloDatabaseUser; | ||
login: (p: any, args: any, context: import("../../types/Context").Context) => Promise<{ | ||
user: import("../../types/DatabaseTypes").DatabaseUser; | ||
token: string; | ||
@@ -62,0 +97,0 @@ }>; |
@@ -1,10 +0,26 @@ | ||
import { Context } from '../../index'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
editScrollSync: (p: any, args: any, context: Context) => { | ||
position: any; | ||
createScrollSyncSession: (p: any, args: any, context: Context) => { | ||
leaderId: string; | ||
documentId: string; | ||
connectedUsers: string[]; | ||
position: { | ||
scrollTop: number; | ||
scrollHeight: number; | ||
}; | ||
sessionId: string; | ||
}; | ||
deleteScrollSync: (p: any, args: any, context: Context) => { | ||
successful: boolean; | ||
joinScrollSyncSession: (p: any, args: any, context: Context) => true | { | ||
leaderId: string; | ||
documentId: string; | ||
connectedUsers: string[]; | ||
position: { | ||
scrollTop: number; | ||
scrollHeight: number; | ||
}; | ||
sessionId: string; | ||
}; | ||
updateScrollSyncSession: (p: any, args: any, context: Context) => boolean; | ||
exitScrollSyncSession: (p: any, args: any, context: Context) => boolean; | ||
}; | ||
export default _default; |
@@ -1,10 +0,10 @@ | ||
import { Context } from './../../index'; | ||
import { Context } from '../../types/Context'; | ||
declare const _default: { | ||
addUser: (p: any, args: any, context: any) => Promise<import("./../../index").ApolloUser>; | ||
addUser: (p: any, args: any, context: any) => Promise<import("../../../../../types/resolvers-types").User>; | ||
loginAnonymous: (p: any, args: any, context: Context) => Promise<{ | ||
user: import("./../../index").ApolloUser; | ||
user: import("../../../../../types/resolvers-types").User; | ||
token: string; | ||
}>; | ||
login: (p: any, args: any, context: Context) => Promise<{ | ||
user: import("../../resolvers").ApolloDatabaseUser; | ||
user: import("../../types/DatabaseTypes").DatabaseUser; | ||
token: string; | ||
@@ -11,0 +11,0 @@ }>; |
@@ -1,7 +0,7 @@ | ||
import { Context } from './../index'; | ||
import { Context } from '../types/Context'; | ||
declare const _default: { | ||
user: (p: any, args: any, context: Context) => Promise<import("./../resolvers").ApolloUser>; | ||
annotation: (p: any, args: any, context: Context) => Promise<import("./../resolvers").ApolloAnnotation>; | ||
annotations: (p: any, args: any, context: Context) => Promise<Promise<import("./../resolvers").ApolloAnnotation>[]>; | ||
document: (p: any, args: any, context: Context) => Promise<import("./../resolvers").ApolloDocument>; | ||
user: (p: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").User>; | ||
annotation: (p: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Annotation>; | ||
annotations: (p: any, args: any, context: Context) => Promise<Promise<import("../../../../types/resolvers-types").Annotation>[]>; | ||
document: (p: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Document>; | ||
session: (_: any, __: any, context: Context) => Promise<{ | ||
@@ -12,5 +12,15 @@ token: string; | ||
}>; | ||
isScrollSyncAvailable: (_: any, args: any, context: Context) => boolean; | ||
scrollSyncPosition: (_: any, args: any, context: Context) => { | ||
userId: string; | ||
connectedDocUsers: (p: any, args: any, context: Context) => { | ||
userId: any; | ||
currentPage: number; | ||
}[]; | ||
documents: (_: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Document[]>; | ||
mentions: (_: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Mention[]>; | ||
snapshot: (p: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Snapshot>; | ||
snapshots: (p: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Snapshot[]>; | ||
snapshotAsset: (p: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").SnapshotAsset>; | ||
getAvailableScrollSyncSessions: (p: any, args: any, context: Context) => Promise<{ | ||
leaderId: string; | ||
documentId: string; | ||
connectedUsers: string[]; | ||
position: { | ||
@@ -20,7 +30,5 @@ scrollTop: number; | ||
}; | ||
}; | ||
connectedDocUsers: (p: any, args: any, context: Context) => import("../util/ConnectedUserMap").UserConnection[]; | ||
documents: (_: any, args: any, context: Context) => Promise<import("./../resolvers").ApolloDocument[]>; | ||
mentions: (_: any, args: any, context: Context) => Promise<import("../../../../types/resolvers-types").Mention[]>; | ||
sessionId: string; | ||
}[]>; | ||
}; | ||
export default _default; |
@@ -22,3 +22,9 @@ import type { AnnotationChangedPayload } from '../entities/Annotation'; | ||
}; | ||
snapshotChanged: { | ||
subscribe: import("graphql-subscriptions").ResolverFn; | ||
}; | ||
scrollSyncSessionUpdated: { | ||
subscribe: import("graphql-subscriptions").ResolverFn; | ||
}; | ||
}; | ||
export default _default; |
@@ -1,3 +0,3 @@ | ||
import { UserAuth } from ".."; | ||
import { UserAuth } from '../types/Auth'; | ||
export declare const getTokenFromHeaders: (req: any) => any; | ||
export declare const getUserFromHeaders: (req: any) => Promise<UserAuth | null>; |
@@ -5,5 +5,8 @@ declare type ScrollPosition = { | ||
}; | ||
declare type ScrollSyncValue = { | ||
userId: string; | ||
declare type ScrollSyncItem = { | ||
leaderId: string; | ||
documentId: string; | ||
connectedUsers: string[]; | ||
position: ScrollPosition; | ||
sessionId: string; | ||
}; | ||
@@ -16,4 +19,4 @@ export declare class UserConnection { | ||
constructor(userId: any, timeConnected?: number); | ||
connectedToDocument(doc: DocumentConnection): void; | ||
setCurrentPage(docId: any, page: number): void; | ||
connectToDocument(doc: DocumentConnection): void; | ||
setCurrentPage(docId: string, page: number): void; | ||
getCurrentPage(docId: any): number; | ||
@@ -25,3 +28,2 @@ } | ||
connectedUserMap: Map<string, UserConnection>; | ||
scrollInformation?: ScrollSyncValue; | ||
constructor(documentId: any); | ||
@@ -32,18 +34,25 @@ isEmpty(): boolean; | ||
userDisconnected(userId: string): void; | ||
removeScrollInfo(): void; | ||
} | ||
export default class ConnectedUserMap { | ||
declare class ConnectedUserMap { | ||
userConnectionMap: Map<string, UserConnection>; | ||
documentConnectionMap: Map<string, DocumentConnection>; | ||
scrollSessionMap: Map<string, ScrollSyncItem>; | ||
constructor(); | ||
getConnectedUsersForDocument(documentId: string): UserConnection[]; | ||
private createSessionId; | ||
createScrollSyncSession(userId: string, documentId: string, position: ScrollPosition): ScrollSyncItem; | ||
joinScrollSyncSession(sessionId: string, userId: string): true | ScrollSyncItem; | ||
updateScrollSyncSession(sessionId: string, userId: string, position: ScrollPosition): ScrollSyncItem; | ||
exitScrollSyncSessionByUserId(userId: string): ScrollSyncItem; | ||
exitScrollSyncSession(sessionId: string, userId: string): boolean; | ||
endScrollSyncSession(sessionId: string, userId: string): boolean; | ||
getScrollSyncSessionsForDocument(documentId: string): ScrollSyncItem[]; | ||
getConnectedUsersForDocument(documentId: string): { | ||
userId: any; | ||
currentPage: number; | ||
}[]; | ||
getUserCurrentPage(userId: string, documentId: string): number; | ||
getScrollPositionForDocument(documentId: string): ScrollSyncValue; | ||
setCurrentPageForUser(userId: string, documentId: string, currentPage: number): void; | ||
setScrollPositionForDocument(userId: any, documentId: string, position: ScrollPosition): void; | ||
connectUserToDocument(userId: string, documentId: string, pageNumber?: number): boolean; | ||
disconnectUserFromDocument(userId: string, documentId: string): boolean; | ||
disconnectUserFromAllDocuments(userId: any): any[]; | ||
disconnectFromScroll(documentId: any): boolean; | ||
leaveScroll(leavingUserId: string): string[]; | ||
connect(userId: string): void; | ||
@@ -64,5 +73,5 @@ /** | ||
clear(): void; | ||
hasDocumentForScroll(documentId: string): boolean; | ||
cull(): void; | ||
} | ||
export {}; | ||
declare const _default: ConnectedUserMap; | ||
export default _default; |
@@ -1,3 +0,3 @@ | ||
import { CustomContext } from ".."; | ||
import { CustomContext } from "../types/CustomContext"; | ||
export declare const decodeContext: (token: string) => Promise<CustomContext>; | ||
export declare const getContextFromHeaders: (req: any) => Promise<CustomContext>; |
import { User } from './../entities/User'; | ||
import { InvitedUserInput } from './../../../../types/resolvers-types'; | ||
import { Context } from '../resolvers'; | ||
import { Context } from '../types/Context'; | ||
declare const _default: (usersInvited: InvitedUserInput[], from: string, context: Context) => Promise<User[]>; | ||
@@ -5,0 +5,0 @@ /** |
@@ -1,2 +0,2 @@ | ||
import { Context } from '..'; | ||
import { Context } from '../types/Context'; | ||
export declare function requireLogin(from: string, context: Context): boolean; |
@@ -9,4 +9,15 @@ import { XFDFFormats } from '../index'; | ||
export declare const parseAnnotationIdFromXFDF: (xfdf: string) => string; | ||
export declare const parseAnnotPageNumberFromXFDF: (xfdf: string) => string; | ||
export declare const commandToRaw: (input: string) => string; | ||
export declare const ensureRawXFDF: (input: string) => string; | ||
export declare const rawXFDFToCommand: (xfdf: string, type: XfdfTypes) => string; | ||
export declare const getImageData: (xfdf: string) => RegExpMatchArray; | ||
export declare const replaceImageDataWithId: (xfdf: string, imageData: string, id: string) => string; | ||
export declare const replaceAssetIdWithImageData: (xfdf: string, imageData: string, id: string) => string; | ||
export declare const formatXFDF: (xfdf: string) => string; | ||
export declare const combineXFDF: (xfdfArray: string[]) => string; | ||
/** | ||
* Parses XFDF into individual annot XFDF | ||
* @param string The XFDF includes annot(s) | ||
*/ | ||
export declare const parseXFDFToSingleAnnot: (input: string) => string[]; |
import type { CollabSQLResolverGeneratorOptions } from './types'; | ||
import type { UserResolvers } from '../../collab-server/src/resolvers'; | ||
import { UserResolvers } from '../../collab-server/src/types/UserResolvers'; | ||
export declare const SQLClient: { | ||
@@ -19,3 +19,3 @@ readonly Postgres: "pg"; | ||
/** | ||
* A utlity function to generate resolver for you. Works with any SQL-like query language. | ||
* A utility function to generate resolver for you. Works with any SQL-like query language. | ||
* @returns {Object} Returns resolvers to be plugged into @pdftron/collab-server | ||
@@ -22,0 +22,0 @@ */ |
import { Knex } from 'knex'; | ||
import type winston from 'winston'; | ||
import type { Logging, Tags } from '../../../shared/log/logger'; | ||
import type { ApolloDatabaseUser, ApolloDatabaseDocument, ApolloDatabaseAnnotation, ApolloDatabaseAnnotationMember, ApolloDatabaseDocumentMember, ApolloDatabaseMention } from '../../collab-server/src/resolvers'; | ||
import { DatabaseAnnotation, DatabaseAnnotationMember, DatabaseDocument, DatabaseDocumentMember, DatabaseMention, DatabaseSnapshot, DatabaseSnapshotAsset, DatabaseUser } from '../../collab-server/src/types/DatabaseTypes'; | ||
export declare type AsyncOrSync<T> = Promise<T> | T; | ||
@@ -20,2 +20,3 @@ export declare type GeneratorColumnsOptionsObject = { | ||
ctx: Record<any, any>; | ||
knex: Knex; | ||
next: (data: Record<string, any>, ctx: Record<any, any>) => void; | ||
@@ -25,16 +26,20 @@ }; | ||
export interface EntityInfo { | ||
Users: GeneratorEntity<ApolloDatabaseUser>; | ||
Annotations: GeneratorEntity<ApolloDatabaseAnnotation>; | ||
Documents: GeneratorEntity<ApolloDatabaseDocument>; | ||
AnnotationMembers: GeneratorEntity<ApolloDatabaseAnnotationMember>; | ||
DocumentMembers: GeneratorEntity<ApolloDatabaseDocumentMember>; | ||
Mentions: GeneratorEntity<ApolloDatabaseMention>; | ||
Users: GeneratorEntity<DatabaseUser>; | ||
Annotations: GeneratorEntity<DatabaseAnnotation>; | ||
Documents: GeneratorEntity<DatabaseDocument>; | ||
AnnotationMembers: GeneratorEntity<DatabaseAnnotationMember>; | ||
DocumentMembers: GeneratorEntity<DatabaseDocumentMember>; | ||
Mentions: GeneratorEntity<DatabaseMention>; | ||
Snapshots?: GeneratorEntity<DatabaseSnapshot>; | ||
SnapshotAssets?: GeneratorEntity<DatabaseSnapshotAsset>; | ||
} | ||
export interface EntityInfoWithMap { | ||
Users: GeneratorEntityWithMap<ApolloDatabaseUser>; | ||
Annotations: GeneratorEntityWithMap<ApolloDatabaseAnnotation>; | ||
Documents: GeneratorEntityWithMap<ApolloDatabaseDocument>; | ||
AnnotationMembers: GeneratorEntityWithMap<ApolloDatabaseAnnotationMember>; | ||
DocumentMembers: GeneratorEntityWithMap<ApolloDatabaseDocumentMember>; | ||
Mentions: GeneratorEntityWithMap<ApolloDatabaseMention>; | ||
Users: GeneratorEntityWithMap<DatabaseUser>; | ||
Annotations: GeneratorEntityWithMap<DatabaseAnnotation>; | ||
Documents: GeneratorEntityWithMap<DatabaseDocument>; | ||
AnnotationMembers: GeneratorEntityWithMap<DatabaseAnnotationMember>; | ||
DocumentMembers: GeneratorEntityWithMap<DatabaseDocumentMember>; | ||
Mentions: GeneratorEntityWithMap<DatabaseMention>; | ||
Snapshots: GeneratorEntityWithMap<DatabaseSnapshot>; | ||
SnapshotAssets: GeneratorEntityWithMap<DatabaseSnapshotAsset>; | ||
} | ||
@@ -41,0 +46,0 @@ export declare type GeneratorEntity<T> = { |
@@ -1,4 +0,4 @@ | ||
import { QueryParams } from './../../collab-server/src/resolvers'; | ||
import { ToDatabaseFormatOption, TransformToApolloFormatOption, ParseToUnixTimestamp, EntityInfo, OptionsColumns, EntityInfoWithMap, GeneratorColumnsOptions, GetDatabaseTimestamp } from './types'; | ||
import type { Knex } from 'knex'; | ||
import { QueryParams } from '../../collab-server/src/types/Params'; | ||
export declare const buildFilterQuery: <T>(builder: Knex.QueryBuilder, filters: QueryParams, columns: OptionsColumns<T>, getDatabaseTimestamp: GetDatabaseTimestamp) => void; | ||
@@ -5,0 +5,0 @@ export declare const getColumnName: (column: GeneratorColumnsOptions) => string; |
@@ -0,1 +1,4 @@ | ||
export declare const ErrorCodes: { | ||
PERMISSION_ERROR: string; | ||
}; | ||
declare type Types = 'string' | 'number' | 'boolean' | 'blob' | 'array' | 'object' | 'function' | 'any'; | ||
@@ -5,3 +8,3 @@ declare type ParamValidationData = { | ||
}; | ||
export declare const throwError: (functionName: string, msg: string, AuthenticationError?: any) => never; | ||
export declare const throwError: (functionName: string, err: any, AuthenticationError?: any) => never; | ||
/** | ||
@@ -13,2 +16,8 @@ * Validated that parameters are applied and throws an error if they are empty. | ||
export declare const validateParams: (functionSigString: string, options: ParamValidationData) => never; | ||
/** | ||
* Validated the existence of the resolver and throws an error if the resolver is not provided. | ||
* @param {string} resolverName The name of the resolver | ||
* @param {function} resolver The resolver that needs to be validate | ||
*/ | ||
export declare const validateResolver: (resolverName: string, resolver: any) => void; | ||
export {}; |
@@ -6,5 +6,8 @@ import winston from 'winston'; | ||
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"; | ||
}; | ||
@@ -11,0 +14,0 @@ export declare type Tags = keyof typeof LogTags; |
@@ -19,2 +19,12 @@ export declare enum ChangeEventTypes { | ||
} | ||
export declare enum ScrollSyncChangedEventTypes { | ||
ADD = "ADD", | ||
DELETE = "DELETE" | ||
} | ||
export declare enum SnapshotChangeEventTypes { | ||
ADD = "ADD", | ||
DELETE = "DELETE", | ||
EDIT = "EDIT", | ||
RESTORE = "RESTORE" | ||
} | ||
export declare enum UserTypes { | ||
@@ -59,4 +69,4 @@ ANONYMOUS = "ANONYMOUS", | ||
} | ||
export interface EditMentionInput { | ||
readBeforeMention?: boolean | null; | ||
export interface EditSnapshotInput { | ||
name?: string | null; | ||
updatedAt: any; | ||
@@ -111,5 +121,9 @@ } | ||
} | ||
export interface NewScrollPositionInput { | ||
scrollTop?: number | null; | ||
scrollHeight?: number | null; | ||
export interface NewSnapshotInput { | ||
id?: string | null; | ||
authorId: string; | ||
documentId: string; | ||
name: string; | ||
createdAt: any; | ||
updatedAt: any; | ||
} | ||
@@ -126,1 +140,10 @@ export interface NewUserInput { | ||
} | ||
export interface RestoreSnapshotInput { | ||
id: string; | ||
name: string; | ||
createdAt: any; | ||
} | ||
export interface ScrollSyncPositionInput { | ||
scrollTop?: number | null; | ||
scrollHeight?: number | null; | ||
} |
@@ -95,3 +95,3 @@ import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql'; | ||
members: Array<DocumentMember>; | ||
authorId: Scalars['ID']; | ||
author: User; | ||
createdAt: Scalars['Date']; | ||
@@ -119,2 +119,9 @@ updatedAt: Scalars['Date']; | ||
}; | ||
export declare type RestoreSnapshotResult = { | ||
__typename?: 'RestoreSnapshotResult'; | ||
id?: Maybe<Scalars['ID']>; | ||
successful: Scalars['Boolean']; | ||
message?: Maybe<Scalars['String']>; | ||
annotations?: Maybe<Array<Maybe<Annotation>>>; | ||
}; | ||
export declare type Mention = { | ||
@@ -126,7 +133,23 @@ __typename?: 'Mention'; | ||
mentionedUser: User; | ||
/** Use this to record if the annotation that this mention belongs to is read when the mention is created. */ | ||
readBeforeMention?: Maybe<Scalars['Boolean']>; | ||
createdAt: Scalars['Date']; | ||
updatedAt: Scalars['Date']; | ||
}; | ||
export declare type Snapshot = { | ||
__typename?: 'Snapshot'; | ||
id: Scalars['ID']; | ||
author?: Maybe<User>; | ||
documentId: Scalars['ID']; | ||
xfdf: Scalars['String']; | ||
name?: Maybe<Scalars['String']>; | ||
createdAt: Scalars['Date']; | ||
updatedAt: Scalars['Date']; | ||
}; | ||
export declare type SnapshotAsset = { | ||
__typename?: 'SnapshotAsset'; | ||
id: Scalars['ID']; | ||
snapshotId: Scalars['ID']; | ||
data: Scalars['String']; | ||
createdAt: Scalars['Date']; | ||
updatedAt: Scalars['Date']; | ||
}; | ||
export declare type ScrollSyncPosition = { | ||
@@ -137,10 +160,41 @@ __typename?: 'ScrollSyncPosition'; | ||
}; | ||
export declare type ScrollSyncResult = { | ||
__typename?: 'ScrollSyncResult'; | ||
position?: Maybe<ScrollSyncPosition>; | ||
}; | ||
export declare type NewScrollPositionInput = { | ||
export declare type ScrollSyncPositionInput = { | ||
scrollTop?: Maybe<Scalars['Int']>; | ||
scrollHeight?: Maybe<Scalars['Int']>; | ||
}; | ||
export declare type ScrollSyncSession = { | ||
__typename?: 'ScrollSyncSession'; | ||
leaderId: Scalars['String']; | ||
documentId: Scalars['String']; | ||
position: ScrollSyncPosition; | ||
sessionId: Scalars['String']; | ||
}; | ||
export declare type NewSnapshotInput = { | ||
id?: Maybe<Scalars['ID']>; | ||
authorId: Scalars['ID']; | ||
documentId: Scalars['ID']; | ||
name: Scalars['String']; | ||
createdAt: Scalars['Date']; | ||
updatedAt: Scalars['Date']; | ||
}; | ||
export declare type EditSnapshotInput = { | ||
name?: Maybe<Scalars['String']>; | ||
updatedAt: Scalars['Date']; | ||
}; | ||
export declare type RestoreSnapshotInput = { | ||
id: Scalars['ID']; | ||
name: Scalars['String']; | ||
createdAt: Scalars['Date']; | ||
}; | ||
export declare type NewSnapshotAssetInput = { | ||
id?: Maybe<Scalars['ID']>; | ||
snapshotId?: Maybe<Scalars['ID']>; | ||
data: Scalars['String']; | ||
createdAt: Scalars['Date']; | ||
updatedAt: Scalars['Date']; | ||
}; | ||
export declare type EditSnapshotAssetInput = { | ||
snapshotId?: Maybe<Scalars['ID']>; | ||
updatedAt: Scalars['Date']; | ||
}; | ||
export declare type NewAnnotationInput = { | ||
@@ -234,6 +288,2 @@ id?: Maybe<Scalars['ID']>; | ||
}; | ||
export declare type EditMentionInput = { | ||
readBeforeMention?: Maybe<Scalars['Boolean']>; | ||
updatedAt: Scalars['Date']; | ||
}; | ||
export declare type ConnectedDocUser = { | ||
@@ -270,6 +320,9 @@ __typename?: 'ConnectedDocUser'; | ||
session?: Maybe<AuthUser>; | ||
snapshot?: Maybe<Snapshot>; | ||
snapshots: Array<Snapshot>; | ||
snapshotAsset?: Maybe<SnapshotAsset>; | ||
snapshotAssets: Array<SnapshotAsset>; | ||
mentions: Array<Mention>; | ||
isScrollSyncAvailable: Scalars['Boolean']; | ||
scrollSyncPosition?: Maybe<ScrollSyncResult>; | ||
connectedDocUsers: Array<ConnectedDocUser>; | ||
getAvailableScrollSyncSessions: Array<ScrollSyncSession>; | ||
}; | ||
@@ -300,15 +353,29 @@ export declare type QueryUserArgs = { | ||
}; | ||
export declare type QuerySnapshotArgs = { | ||
id: Scalars['ID']; | ||
settings?: Maybe<QuerySettings>; | ||
}; | ||
export declare type QuerySnapshotsArgs = { | ||
documentId: Scalars['ID']; | ||
limit: Scalars['Int']; | ||
before?: Maybe<Scalars['Date']>; | ||
orderBy?: Maybe<OrderTypes>; | ||
orderDirection?: Maybe<OrderDirections>; | ||
settings?: Maybe<QuerySettings>; | ||
}; | ||
export declare type QuerySnapshotAssetArgs = { | ||
id: Scalars['ID']; | ||
}; | ||
export declare type QuerySnapshotAssetsArgs = { | ||
snapshotId: Scalars['ID']; | ||
}; | ||
export declare type QueryMentionsArgs = { | ||
annotationId: Scalars['ID']; | ||
}; | ||
export declare type QueryIsScrollSyncAvailableArgs = { | ||
userId: Scalars['ID']; | ||
export declare type QueryConnectedDocUsersArgs = { | ||
documentId: Scalars['ID']; | ||
}; | ||
export declare type QueryScrollSyncPositionArgs = { | ||
export declare type QueryGetAvailableScrollSyncSessionsArgs = { | ||
documentId: Scalars['ID']; | ||
}; | ||
export declare type QueryConnectedDocUsersArgs = { | ||
documentId: Scalars['ID']; | ||
}; | ||
export declare type Mutation = { | ||
@@ -319,2 +386,9 @@ __typename?: 'Mutation'; | ||
deleteAnnotation: DeleteResult; | ||
addSnapshot: Snapshot; | ||
editSnapshot: Snapshot; | ||
deleteSnapshot: DeleteResult; | ||
restoreSnapshot: RestoreSnapshotResult; | ||
addSnapshotAsset: SnapshotAsset; | ||
editSnapshotAsset: SnapshotAsset; | ||
deleteSnapshotAsset: DeleteResult; | ||
addAnnotationMember: AnnotationMember; | ||
@@ -335,7 +409,8 @@ editAnnotationMember: AnnotationMember; | ||
addMention: Mention; | ||
editMention: Mention; | ||
deleteMention: DeleteResult; | ||
markAllAsRead: Document; | ||
editScrollSync: ScrollSyncResult; | ||
deleteScrollSync: DeleteResult; | ||
createScrollSyncSession: ScrollSyncSession; | ||
joinScrollSyncSession: ScrollSyncSession; | ||
updateScrollSyncSession: ScrollSyncSession; | ||
exitScrollSyncSession: Scalars['Boolean']; | ||
connectUserToDocument: ConnectResult; | ||
@@ -358,2 +433,28 @@ editConnectedDocUser?: Maybe<Array<Maybe<ConnectedDocUser>>>; | ||
}; | ||
export declare type MutationAddSnapshotArgs = { | ||
input: NewSnapshotInput; | ||
settings?: Maybe<QuerySettings>; | ||
}; | ||
export declare type MutationEditSnapshotArgs = { | ||
id: Scalars['ID']; | ||
input: EditSnapshotInput; | ||
settings?: Maybe<QuerySettings>; | ||
}; | ||
export declare type MutationDeleteSnapshotArgs = { | ||
id: Scalars['ID']; | ||
}; | ||
export declare type MutationRestoreSnapshotArgs = { | ||
input: RestoreSnapshotInput; | ||
settings?: Maybe<QuerySettings>; | ||
}; | ||
export declare type MutationAddSnapshotAssetArgs = { | ||
input: NewSnapshotAssetInput; | ||
}; | ||
export declare type MutationEditSnapshotAssetArgs = { | ||
id: Scalars['ID']; | ||
input: EditSnapshotAssetInput; | ||
}; | ||
export declare type MutationDeleteSnapshotAssetArgs = { | ||
id: Scalars['ID']; | ||
}; | ||
export declare type MutationAddAnnotationMemberArgs = { | ||
@@ -421,7 +522,2 @@ input: NewAnnotationMemberInput; | ||
}; | ||
export declare type MutationEditMentionArgs = { | ||
userId: Scalars['ID']; | ||
annotationId: Scalars['ID']; | ||
input?: Maybe<EditMentionInput>; | ||
}; | ||
export declare type MutationDeleteMentionArgs = { | ||
@@ -435,13 +531,20 @@ userId: Scalars['ID']; | ||
}; | ||
export declare type MutationEditScrollSyncArgs = { | ||
export declare type MutationCreateScrollSyncSessionArgs = { | ||
documentId: Scalars['ID']; | ||
userId: Scalars['ID']; | ||
position: NewScrollPositionInput; | ||
position: ScrollSyncPositionInput; | ||
}; | ||
export declare type MutationDeleteScrollSyncArgs = { | ||
documentId: Scalars['ID']; | ||
export declare type MutationJoinScrollSyncSessionArgs = { | ||
sessionId: Scalars['String']; | ||
}; | ||
export declare type MutationUpdateScrollSyncSessionArgs = { | ||
sessionId: Scalars['String']; | ||
position: ScrollSyncPositionInput; | ||
}; | ||
export declare type MutationExitScrollSyncSessionArgs = { | ||
sessionId: Scalars['String']; | ||
}; | ||
export declare type MutationConnectUserToDocumentArgs = { | ||
documentId: Scalars['ID']; | ||
userId: Scalars['ID']; | ||
pageNumber?: Maybe<Scalars['Int']>; | ||
}; | ||
@@ -473,3 +576,2 @@ export declare type MutationEditConnectedDocUserArgs = { | ||
action: ChangeEventTypes; | ||
mentionedCurrentUser?: Maybe<Scalars['Boolean']>; | ||
}; | ||
@@ -481,2 +583,3 @@ export declare type DocumentSubscriptionEvent = { | ||
action: ChangeEventTypes; | ||
invitedBy?: Maybe<Scalars['String']>; | ||
}; | ||
@@ -490,5 +593,4 @@ export declare type MentionSubscriptionEvent = { | ||
__typename?: 'ScrollPositionSubscriptionEvent'; | ||
documentId: Scalars['ID']; | ||
position?: Maybe<ScrollSyncPosition>; | ||
action: ChangeEventTypes; | ||
position: ScrollSyncPosition; | ||
sessionId: Scalars['String']; | ||
}; | ||
@@ -501,2 +603,22 @@ export declare type ConnectedDocUsersSubscriptionEvent = { | ||
}; | ||
export declare enum SnapshotChangeEventTypes { | ||
Add = "ADD", | ||
Edit = "EDIT", | ||
Delete = "DELETE", | ||
Restore = "RESTORE" | ||
} | ||
export declare enum ScrollSyncChangedEventTypes { | ||
Add = "ADD", | ||
Delete = "DELETE" | ||
} | ||
export declare type SnapshotChangedSubscriptionEvent = { | ||
__typename?: 'SnapshotChangedSubscriptionEvent'; | ||
snapshot: Snapshot; | ||
action: SnapshotChangeEventTypes; | ||
}; | ||
export declare type ScrollSyncSessionChangedEvent = { | ||
__typename?: 'ScrollSyncSessionChangedEvent'; | ||
session: ScrollSyncSession; | ||
action: ScrollSyncChangedEventTypes; | ||
}; | ||
export declare type Subscription = { | ||
@@ -507,4 +629,6 @@ __typename?: 'Subscription'; | ||
mentionChanged: MentionSubscriptionEvent; | ||
connectedDocUsersChanged: ConnectedDocUsersSubscriptionEvent; | ||
snapshotChanged: SnapshotChangedSubscriptionEvent; | ||
scrollPositionChanged: ScrollPositionSubscriptionEvent; | ||
connectedDocUsersChanged: ConnectedDocUsersSubscriptionEvent; | ||
scrollSyncSessionUpdated: ScrollSyncSessionChangedEvent; | ||
}; | ||
@@ -522,8 +646,15 @@ export declare type SubscriptionAnnotationChangedArgs = { | ||
}; | ||
export declare type SubscriptionScrollPositionChangedArgs = { | ||
export declare type SubscriptionConnectedDocUsersChangedArgs = { | ||
docId: Scalars['ID']; | ||
}; | ||
export declare type SubscriptionConnectedDocUsersChangedArgs = { | ||
export declare type SubscriptionSnapshotChangedArgs = { | ||
docId: Scalars['ID']; | ||
userId: Scalars['ID']; | ||
}; | ||
export declare type SubscriptionScrollPositionChangedArgs = { | ||
sessionId: Scalars['ID']; | ||
}; | ||
export declare type SubscriptionScrollSyncSessionUpdatedArgs = { | ||
docId: Scalars['ID']; | ||
}; | ||
export declare type AuthPayload = { | ||
@@ -600,6 +731,14 @@ __typename?: 'AuthPayload'; | ||
ConnectResult: ResolverTypeWrapper<ConnectResult>; | ||
RestoreSnapshotResult: ResolverTypeWrapper<RestoreSnapshotResult>; | ||
Mention: ResolverTypeWrapper<Mention>; | ||
Snapshot: ResolverTypeWrapper<Snapshot>; | ||
SnapshotAsset: ResolverTypeWrapper<SnapshotAsset>; | ||
ScrollSyncPosition: ResolverTypeWrapper<ScrollSyncPosition>; | ||
ScrollSyncResult: ResolverTypeWrapper<ScrollSyncResult>; | ||
NewScrollPositionInput: NewScrollPositionInput; | ||
ScrollSyncPositionInput: ScrollSyncPositionInput; | ||
ScrollSyncSession: ResolverTypeWrapper<ScrollSyncSession>; | ||
NewSnapshotInput: NewSnapshotInput; | ||
EditSnapshotInput: EditSnapshotInput; | ||
RestoreSnapshotInput: RestoreSnapshotInput; | ||
NewSnapshotAssetInput: NewSnapshotAssetInput; | ||
EditSnapshotAssetInput: EditSnapshotAssetInput; | ||
NewAnnotationInput: NewAnnotationInput; | ||
@@ -619,3 +758,2 @@ EditAnnotationInput: EditAnnotationInput; | ||
NewMentionInput: NewMentionInput; | ||
EditMentionInput: EditMentionInput; | ||
ConnectedDocUser: ResolverTypeWrapper<ConnectedDocUser>; | ||
@@ -635,2 +773,6 @@ EditConnectedDocUserInput: EditConnectedDocUserInput; | ||
ConnectedDocUsersSubscriptionEvent: ResolverTypeWrapper<ConnectedDocUsersSubscriptionEvent>; | ||
SnapshotChangeEventTypes: SnapshotChangeEventTypes; | ||
ScrollSyncChangedEventTypes: ScrollSyncChangedEventTypes; | ||
SnapshotChangedSubscriptionEvent: ResolverTypeWrapper<SnapshotChangedSubscriptionEvent>; | ||
ScrollSyncSessionChangedEvent: ResolverTypeWrapper<ScrollSyncSessionChangedEvent>; | ||
Subscription: ResolverTypeWrapper<{}>; | ||
@@ -659,6 +801,14 @@ AuthPayload: ResolverTypeWrapper<AuthPayload>; | ||
ConnectResult: ConnectResult; | ||
RestoreSnapshotResult: RestoreSnapshotResult; | ||
Mention: Mention; | ||
Snapshot: Snapshot; | ||
SnapshotAsset: SnapshotAsset; | ||
ScrollSyncPosition: ScrollSyncPosition; | ||
ScrollSyncResult: ScrollSyncResult; | ||
NewScrollPositionInput: NewScrollPositionInput; | ||
ScrollSyncPositionInput: ScrollSyncPositionInput; | ||
ScrollSyncSession: ScrollSyncSession; | ||
NewSnapshotInput: NewSnapshotInput; | ||
EditSnapshotInput: EditSnapshotInput; | ||
RestoreSnapshotInput: RestoreSnapshotInput; | ||
NewSnapshotAssetInput: NewSnapshotAssetInput; | ||
EditSnapshotAssetInput: EditSnapshotAssetInput; | ||
NewAnnotationInput: NewAnnotationInput; | ||
@@ -678,3 +828,2 @@ EditAnnotationInput: EditAnnotationInput; | ||
NewMentionInput: NewMentionInput; | ||
EditMentionInput: EditMentionInput; | ||
ConnectedDocUser: ConnectedDocUser; | ||
@@ -692,2 +841,4 @@ EditConnectedDocUserInput: EditConnectedDocUserInput; | ||
ConnectedDocUsersSubscriptionEvent: ConnectedDocUsersSubscriptionEvent; | ||
SnapshotChangedSubscriptionEvent: SnapshotChangedSubscriptionEvent; | ||
ScrollSyncSessionChangedEvent: ScrollSyncSessionChangedEvent; | ||
Subscription: {}; | ||
@@ -759,3 +910,3 @@ AuthPayload: AuthPayload; | ||
members?: Resolver<Array<ResolversTypes['DocumentMember']>, ParentType, ContextType>; | ||
authorId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>; | ||
author?: Resolver<ResolversTypes['User'], ParentType, ContextType>; | ||
createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>; | ||
@@ -784,2 +935,9 @@ updatedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>; | ||
}>; | ||
export declare type RestoreSnapshotResultResolvers<ContextType = any, ParentType extends ResolversParentTypes['RestoreSnapshotResult'] = ResolversParentTypes['RestoreSnapshotResult']> = ResolversObject<{ | ||
id?: Resolver<Maybe<ResolversTypes['ID']>, ParentType, ContextType>; | ||
successful?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>; | ||
message?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>; | ||
annotations?: Resolver<Maybe<Array<Maybe<ResolversTypes['Annotation']>>>, ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
}>; | ||
export declare type MentionResolvers<ContextType = any, ParentType extends ResolversParentTypes['Mention'] = ResolversParentTypes['Mention']> = ResolversObject<{ | ||
@@ -790,3 +948,2 @@ id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>; | ||
mentionedUser?: Resolver<ResolversTypes['User'], ParentType, ContextType>; | ||
readBeforeMention?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>; | ||
createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>; | ||
@@ -796,2 +953,20 @@ updatedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>; | ||
}>; | ||
export declare type SnapshotResolvers<ContextType = any, ParentType extends ResolversParentTypes['Snapshot'] = ResolversParentTypes['Snapshot']> = ResolversObject<{ | ||
id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>; | ||
author?: Resolver<Maybe<ResolversTypes['User']>, ParentType, ContextType>; | ||
documentId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>; | ||
xfdf?: Resolver<ResolversTypes['String'], ParentType, ContextType>; | ||
name?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>; | ||
createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>; | ||
updatedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
}>; | ||
export declare type SnapshotAssetResolvers<ContextType = any, ParentType extends ResolversParentTypes['SnapshotAsset'] = ResolversParentTypes['SnapshotAsset']> = ResolversObject<{ | ||
id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>; | ||
snapshotId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>; | ||
data?: Resolver<ResolversTypes['String'], ParentType, ContextType>; | ||
createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>; | ||
updatedAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
}>; | ||
export declare type ScrollSyncPositionResolvers<ContextType = any, ParentType extends ResolversParentTypes['ScrollSyncPosition'] = ResolversParentTypes['ScrollSyncPosition']> = ResolversObject<{ | ||
@@ -802,4 +977,7 @@ scrollTop?: Resolver<Maybe<ResolversTypes['Int']>, ParentType, ContextType>; | ||
}>; | ||
export declare type ScrollSyncResultResolvers<ContextType = any, ParentType extends ResolversParentTypes['ScrollSyncResult'] = ResolversParentTypes['ScrollSyncResult']> = ResolversObject<{ | ||
position?: Resolver<Maybe<ResolversTypes['ScrollSyncPosition']>, ParentType, ContextType>; | ||
export declare type ScrollSyncSessionResolvers<ContextType = any, ParentType extends ResolversParentTypes['ScrollSyncSession'] = ResolversParentTypes['ScrollSyncSession']> = ResolversObject<{ | ||
leaderId?: Resolver<ResolversTypes['String'], ParentType, ContextType>; | ||
documentId?: Resolver<ResolversTypes['String'], ParentType, ContextType>; | ||
position?: Resolver<ResolversTypes['ScrollSyncPosition'], ParentType, ContextType>; | ||
sessionId?: Resolver<ResolversTypes['String'], ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
@@ -825,6 +1003,9 @@ }>; | ||
session?: Resolver<Maybe<ResolversTypes['AuthUser']>, ParentType, ContextType>; | ||
snapshot?: Resolver<Maybe<ResolversTypes['Snapshot']>, ParentType, ContextType, RequireFields<QuerySnapshotArgs, 'id'>>; | ||
snapshots?: Resolver<Array<ResolversTypes['Snapshot']>, ParentType, ContextType, RequireFields<QuerySnapshotsArgs, 'documentId' | 'limit'>>; | ||
snapshotAsset?: Resolver<Maybe<ResolversTypes['SnapshotAsset']>, ParentType, ContextType, RequireFields<QuerySnapshotAssetArgs, 'id'>>; | ||
snapshotAssets?: Resolver<Array<ResolversTypes['SnapshotAsset']>, ParentType, ContextType, RequireFields<QuerySnapshotAssetsArgs, 'snapshotId'>>; | ||
mentions?: Resolver<Array<ResolversTypes['Mention']>, ParentType, ContextType, RequireFields<QueryMentionsArgs, 'annotationId'>>; | ||
isScrollSyncAvailable?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType, RequireFields<QueryIsScrollSyncAvailableArgs, 'userId' | 'documentId'>>; | ||
scrollSyncPosition?: Resolver<Maybe<ResolversTypes['ScrollSyncResult']>, ParentType, ContextType, RequireFields<QueryScrollSyncPositionArgs, 'documentId'>>; | ||
connectedDocUsers?: Resolver<Array<ResolversTypes['ConnectedDocUser']>, ParentType, ContextType, RequireFields<QueryConnectedDocUsersArgs, 'documentId'>>; | ||
getAvailableScrollSyncSessions?: Resolver<Array<ResolversTypes['ScrollSyncSession']>, ParentType, ContextType, RequireFields<QueryGetAvailableScrollSyncSessionsArgs, 'documentId'>>; | ||
}>; | ||
@@ -835,2 +1016,9 @@ export declare type MutationResolvers<ContextType = any, ParentType extends ResolversParentTypes['Mutation'] = ResolversParentTypes['Mutation']> = ResolversObject<{ | ||
deleteAnnotation?: Resolver<ResolversTypes['DeleteResult'], ParentType, ContextType, RequireFields<MutationDeleteAnnotationArgs, 'id'>>; | ||
addSnapshot?: Resolver<ResolversTypes['Snapshot'], ParentType, ContextType, RequireFields<MutationAddSnapshotArgs, 'input'>>; | ||
editSnapshot?: Resolver<ResolversTypes['Snapshot'], ParentType, ContextType, RequireFields<MutationEditSnapshotArgs, 'id' | 'input'>>; | ||
deleteSnapshot?: Resolver<ResolversTypes['DeleteResult'], ParentType, ContextType, RequireFields<MutationDeleteSnapshotArgs, 'id'>>; | ||
restoreSnapshot?: Resolver<ResolversTypes['RestoreSnapshotResult'], ParentType, ContextType, RequireFields<MutationRestoreSnapshotArgs, 'input'>>; | ||
addSnapshotAsset?: Resolver<ResolversTypes['SnapshotAsset'], ParentType, ContextType, RequireFields<MutationAddSnapshotAssetArgs, 'input'>>; | ||
editSnapshotAsset?: Resolver<ResolversTypes['SnapshotAsset'], ParentType, ContextType, RequireFields<MutationEditSnapshotAssetArgs, 'id' | 'input'>>; | ||
deleteSnapshotAsset?: Resolver<ResolversTypes['DeleteResult'], ParentType, ContextType, RequireFields<MutationDeleteSnapshotAssetArgs, 'id'>>; | ||
addAnnotationMember?: Resolver<ResolversTypes['AnnotationMember'], ParentType, ContextType, RequireFields<MutationAddAnnotationMemberArgs, 'input'>>; | ||
@@ -851,7 +1039,8 @@ editAnnotationMember?: Resolver<ResolversTypes['AnnotationMember'], ParentType, ContextType, RequireFields<MutationEditAnnotationMemberArgs, 'annotationId' | 'userId'>>; | ||
addMention?: Resolver<ResolversTypes['Mention'], ParentType, ContextType, RequireFields<MutationAddMentionArgs, never>>; | ||
editMention?: Resolver<ResolversTypes['Mention'], ParentType, ContextType, RequireFields<MutationEditMentionArgs, 'userId' | 'annotationId'>>; | ||
deleteMention?: Resolver<ResolversTypes['DeleteResult'], ParentType, ContextType, RequireFields<MutationDeleteMentionArgs, 'userId' | 'annotationId'>>; | ||
markAllAsRead?: Resolver<ResolversTypes['Document'], ParentType, ContextType, RequireFields<MutationMarkAllAsReadArgs, never>>; | ||
editScrollSync?: Resolver<ResolversTypes['ScrollSyncResult'], ParentType, ContextType, RequireFields<MutationEditScrollSyncArgs, 'documentId' | 'userId' | 'position'>>; | ||
deleteScrollSync?: Resolver<ResolversTypes['DeleteResult'], ParentType, ContextType, RequireFields<MutationDeleteScrollSyncArgs, 'documentId'>>; | ||
createScrollSyncSession?: Resolver<ResolversTypes['ScrollSyncSession'], ParentType, ContextType, RequireFields<MutationCreateScrollSyncSessionArgs, 'documentId' | 'position'>>; | ||
joinScrollSyncSession?: Resolver<ResolversTypes['ScrollSyncSession'], ParentType, ContextType, RequireFields<MutationJoinScrollSyncSessionArgs, 'sessionId'>>; | ||
updateScrollSyncSession?: Resolver<ResolversTypes['ScrollSyncSession'], ParentType, ContextType, RequireFields<MutationUpdateScrollSyncSessionArgs, 'sessionId' | 'position'>>; | ||
exitScrollSyncSession?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType, RequireFields<MutationExitScrollSyncSessionArgs, 'sessionId'>>; | ||
connectUserToDocument?: Resolver<ResolversTypes['ConnectResult'], ParentType, ContextType, RequireFields<MutationConnectUserToDocumentArgs, 'documentId' | 'userId'>>; | ||
@@ -866,3 +1055,2 @@ editConnectedDocUser?: Resolver<Maybe<Array<Maybe<ResolversTypes['ConnectedDocUser']>>>, ParentType, ContextType, RequireFields<MutationEditConnectedDocUserArgs, 'input'>>; | ||
action?: Resolver<ResolversTypes['ChangeEventTypes'], ParentType, ContextType>; | ||
mentionedCurrentUser?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
@@ -874,2 +1062,3 @@ }>; | ||
action?: Resolver<ResolversTypes['ChangeEventTypes'], ParentType, ContextType>; | ||
invitedBy?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
@@ -883,5 +1072,4 @@ }>; | ||
export declare type ScrollPositionSubscriptionEventResolvers<ContextType = any, ParentType extends ResolversParentTypes['ScrollPositionSubscriptionEvent'] = ResolversParentTypes['ScrollPositionSubscriptionEvent']> = ResolversObject<{ | ||
documentId?: Resolver<ResolversTypes['ID'], ParentType, ContextType>; | ||
position?: Resolver<Maybe<ResolversTypes['ScrollSyncPosition']>, ParentType, ContextType>; | ||
action?: Resolver<ResolversTypes['ChangeEventTypes'], ParentType, ContextType>; | ||
position?: Resolver<ResolversTypes['ScrollSyncPosition'], ParentType, ContextType>; | ||
sessionId?: Resolver<ResolversTypes['String'], ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
@@ -895,2 +1083,12 @@ }>; | ||
}>; | ||
export declare type SnapshotChangedSubscriptionEventResolvers<ContextType = any, ParentType extends ResolversParentTypes['SnapshotChangedSubscriptionEvent'] = ResolversParentTypes['SnapshotChangedSubscriptionEvent']> = ResolversObject<{ | ||
snapshot?: Resolver<ResolversTypes['Snapshot'], ParentType, ContextType>; | ||
action?: Resolver<ResolversTypes['SnapshotChangeEventTypes'], ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
}>; | ||
export declare type ScrollSyncSessionChangedEventResolvers<ContextType = any, ParentType extends ResolversParentTypes['ScrollSyncSessionChangedEvent'] = ResolversParentTypes['ScrollSyncSessionChangedEvent']> = ResolversObject<{ | ||
session?: Resolver<ResolversTypes['ScrollSyncSession'], ParentType, ContextType>; | ||
action?: Resolver<ResolversTypes['ScrollSyncChangedEventTypes'], ParentType, ContextType>; | ||
__isTypeOf?: IsTypeOfResolverFn<ParentType>; | ||
}>; | ||
export declare type SubscriptionResolvers<ContextType = any, ParentType extends ResolversParentTypes['Subscription'] = ResolversParentTypes['Subscription']> = ResolversObject<{ | ||
@@ -900,4 +1098,6 @@ annotationChanged?: SubscriptionResolver<ResolversTypes['AnnotationSubscriptionEvent'], "annotationChanged", ParentType, ContextType, RequireFields<SubscriptionAnnotationChangedArgs, 'userId'>>; | ||
mentionChanged?: SubscriptionResolver<ResolversTypes['MentionSubscriptionEvent'], "mentionChanged", ParentType, ContextType, RequireFields<SubscriptionMentionChangedArgs, 'userId'>>; | ||
scrollPositionChanged?: SubscriptionResolver<ResolversTypes['ScrollPositionSubscriptionEvent'], "scrollPositionChanged", ParentType, ContextType, RequireFields<SubscriptionScrollPositionChangedArgs, 'docId'>>; | ||
connectedDocUsersChanged?: SubscriptionResolver<ResolversTypes['ConnectedDocUsersSubscriptionEvent'], "connectedDocUsersChanged", ParentType, ContextType, RequireFields<SubscriptionConnectedDocUsersChangedArgs, 'docId'>>; | ||
snapshotChanged?: SubscriptionResolver<ResolversTypes['SnapshotChangedSubscriptionEvent'], "snapshotChanged", ParentType, ContextType, RequireFields<SubscriptionSnapshotChangedArgs, 'docId' | 'userId'>>; | ||
scrollPositionChanged?: SubscriptionResolver<ResolversTypes['ScrollPositionSubscriptionEvent'], "scrollPositionChanged", ParentType, ContextType, RequireFields<SubscriptionScrollPositionChangedArgs, 'sessionId'>>; | ||
scrollSyncSessionUpdated?: SubscriptionResolver<ResolversTypes['ScrollSyncSessionChangedEvent'], "scrollSyncSessionUpdated", ParentType, ContextType, RequireFields<SubscriptionScrollSyncSessionUpdatedArgs, 'docId'>>; | ||
}>; | ||
@@ -934,5 +1134,8 @@ export declare type AuthPayloadResolvers<ContextType = any, ParentType extends ResolversParentTypes['AuthPayload'] = ResolversParentTypes['AuthPayload']> = ResolversObject<{ | ||
ConnectResult?: ConnectResultResolvers<ContextType>; | ||
RestoreSnapshotResult?: RestoreSnapshotResultResolvers<ContextType>; | ||
Mention?: MentionResolvers<ContextType>; | ||
Snapshot?: SnapshotResolvers<ContextType>; | ||
SnapshotAsset?: SnapshotAssetResolvers<ContextType>; | ||
ScrollSyncPosition?: ScrollSyncPositionResolvers<ContextType>; | ||
ScrollSyncResult?: ScrollSyncResultResolvers<ContextType>; | ||
ScrollSyncSession?: ScrollSyncSessionResolvers<ContextType>; | ||
ConnectedDocUser?: ConnectedDocUserResolvers<ContextType>; | ||
@@ -947,2 +1150,4 @@ AuthUser?: AuthUserResolvers<ContextType>; | ||
ConnectedDocUsersSubscriptionEvent?: ConnectedDocUsersSubscriptionEventResolvers<ContextType>; | ||
SnapshotChangedSubscriptionEvent?: SnapshotChangedSubscriptionEventResolvers<ContextType>; | ||
ScrollSyncSessionChangedEvent?: ScrollSyncSessionChangedEventResolvers<ContextType>; | ||
Subscription?: SubscriptionResolvers<ContextType>; | ||
@@ -949,0 +1154,0 @@ AuthPayload?: AuthPayloadResolvers<ContextType>; |
209486
94
3997