@decaf-ts/for-couchdb 0.4.6 → 0.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/for-couchdb.cjs +1 -1
- package/dist/for-couchdb.cjs.map +1 -1
- package/dist/for-couchdb.js +1 -1
- package/dist/for-couchdb.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/repository.js +8 -8
- package/lib/esm/repository.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/repository.cjs +8 -8
- package/lib/repository.js.map +1 -1
- package/package.json +1 -1
package/dist/for-couchdb.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,r,a,s,o,n){"use strict";const i=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{get total(){throw new a.InternalError("The total pages api is not available for couchdb")}get count(){throw new a.InternalError("The record count api is not available for couchdb")}constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1){const{ctx:o}=this.adapter.logCtx([e],this.page),n=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...n,limit:void 0},!0,o)||[];if(this._recordCount=e.length,this._recordCount>0){const e=n?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/e)}}if(this.validatePage(e),1!==e){if(!this.bookMark)throw new r.PagingError("No bookmark. Did you start in the first page?");n.bookmark=this.bookMark}const i=await this.adapter.raw(n,!1,o),{docs:d,bookmark:l,warning:u}=i;if(u&&this.log.for(this.page).warn(u),!this.clazz)throw new r.PagingError("No statement target defined");const p=s.Model.pk(this.clazz),h=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,p))?.type,g=n.fields&&n.fields.length?d:d.map((e=>{const t=e._id.split(c.SEPARATOR);return t.splice(0,1),this.adapter.revert(e,this.clazz,r.Sequence.parseValue(h,t.join(c.SEPARATOR)),void 0,o)}));return this.bookMark=l,this._currentPage=e,g}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find((t=>t===e));if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce(((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e}),[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map((([e,t])=>{const r={};return r[e]=t,r}))],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach((([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r}))}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}async paginate(e){try{const t=this.build();return new p(this.adapter,t,e,this.fromSelector)}catch(e){throw new a.InternalError(e)}}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),n=await this.adapter.raw(e,!0,o),i=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,i))?.type;return this.selectSelector?n:n.map((e=>this.processRecord(e,i,c,o)))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach((e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])}))}Statement(){return new g(this)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach(((e,r)=>(f.setMetadata(e,t[r]),e))),e}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),n=s.Model.tableName(e),i={};return i[c.TABLE]=n,i[c.ID]=this.generateId(n,t),Object.assign(i,r),[e,t,i,...o]}createAllPrefix(e,t,r,...o){const n=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(o,this.createAllPrefix),d=t.map(((e,t)=>{const a={};return a[c.TABLE]=n,a[c.ID]=this.generateId(n,e),Object.assign(a,r[t]),a}));return[e,t,d,...i]}updatePrefix(e,t,o,...n){const i=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(n,this.updatePrefix),l={};l[c.TABLE]=i,l[c.ID]=this.generateId(i,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...n){const i=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(n,this.updateAllPrefix),l=t.map(((e,t)=>{const s={};s[c.TABLE]=i,s[c.ID]=this.generateId(i,e);const n=o[t][r.PersistenceKeys.METADATA];if(!n)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=n,s}));return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(i)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map(((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)})):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=!1!==r.context.get("ignoreHandlers"),n=!r.context.get("ignoreValidation"),i=e[this.pk];if(!i)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);const c=await this.read(i,...r.args);if(e=s.Model.merge(c,e,this.class),o&&await a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,c),n){const t=await Promise.resolve(e.hasErrors(c,...s.Model.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(t)throw new a.ValidationError(t.toString())}const d=f.getMetadata(c);return d&&f.setMetadata(e,d),[e,...r.args]}async updateAllPrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=!1!==r.context.get("ignoreHandlers"),n=!r.context.get("ignoreValidation"),i=e.map((e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t})),c=await this.readAll(i,...r.args);if(e=e.map(((e,t)=>{e=s.Model.merge(c[t],e,this.class);const r=f.getMetadata(c[t]);return r&&f.setMetadata(e,r),e})),o&&await Promise.all(e.map(((e,t)=>a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,c[t])))),n){const t=r.context.get("ignoredValidationProperties")||[],s=(await Promise.all(e.map(((e,r)=>Promise.resolve(e.hasErrors(c[r],e,...t)))))).reduce(((e,t,r)=>(t&&(e="string"==typeof e?e+`\n - ${r}: ${t.toString()}`:` - ${r}: ${t.toString()}`),e)),void 0);if(s)throw new a.ValidationError(s)}return e.forEach(((e,t)=>{const r=f.getMetadata(c[t]);r&&f.setMetadata(e,r)})),[e,...r.args]}}async function y(e,t,r){return e.auth(t,r)}function A(e,t,s,o,n=a.DefaultSeparator){const i=[r.PersistenceKeys.INDEX,t,e];return s&&i.push(...s),o&&i.push(o),i.join(n)}const E="##VERSION##",b="##PACKAGE##";t.Metadata.registerLibrary(b,E),e.CouchDBAdapter=f,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=p,e.CouchDBQueryLimit=250,e.CouchDBRepository=m,e.CouchDBStatement=g,e.IndexError=u,e.PACKAGE_NAME=b,e.VERSION=E,e.generateIndexDoc=(e,t,r,s,o=a.DefaultSeparator)=>{const n={};let i;if(n[c.TABLE]={},n[c.TABLE][d.EQUAL]=t,s){const t={};t[e]=s;const a=(r||[]).map((e=>{const t={};return t[e]=s,t})),o={};o[c.TABLE]=s,i=[t,...a,o]}else i=[e,...r||[],c.TABLE];const l=A(e,t,r,s,o);return{index:{fields:i},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=A,e.generateIndexes=e=>{const t=((e,t,r,s=a.DefaultSeparator)=>[...e.map((e=>e===c.TABLE?"table":e)),...r||[],...t?[t]:[],c.INDEX].join(s))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach((e=>{const t=s.Model.indexes(e);Object.entries(t).forEach((([t,n])=>{const i=Object.keys(n)[0];let{directions:l,compositions:u}=n[i];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[t,...u,c.TABLE].reduce(((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t}),[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach((e=>h(e)))}))})),Object.values(o)},e.reAuth=y,e.reservedAttributes=i,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use(t);return["insert","get","put","destroy","find"].forEach((t=>{const o=s[t];Object.defineProperty(s,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await y(e,r,a),o.call(s,...t))})})),Object.defineProperty(s,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),s}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
|
|
1
|
+
var e,t;e=this,t=function(e,t,r,a,s,o,n){"use strict";const i=/^_.*$/g,c={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},d={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},l={AND:"$and",OR:"$or"};class u extends a.BaseError{constructor(e){super(u.name,e,404)}}class p extends r.Paginator{get total(){throw new a.InternalError("The total pages api is not available for couchdb")}get count(){throw new a.InternalError("The record count api is not available for couchdb")}constructor(e,t,r,a){super(e,t,r,a)}prepare(e){const t=Object.assign({},e);return t.limit&&(this.limit=t.limit),t.limit=this.size,t}async page(e=1){const{ctx:o}=this.adapter.logCtx([e],this.page),n=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const e=await this.adapter.raw({...n,limit:void 0},!0,o)||[];if(this._recordCount=e.length,this._recordCount>0){const e=n?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/e)}}if(this.validatePage(e),1!==e){if(!this.bookMark)throw new r.PagingError("No bookmark. Did you start in the first page?");n.bookmark=this.bookMark}const i=await this.adapter.raw(n,!1,o),{docs:d,bookmark:l,warning:u}=i;if(u&&this.log.for(this.page).warn(u),!this.clazz)throw new r.PagingError("No statement target defined");const p=s.Model.pk(this.clazz),h=t.Metadata.get(this.clazz,t.Metadata.key(a.DBKeys.ID,p))?.type,g=n.fields&&n.fields.length?d:d.map((e=>{const t=e._id.split(c.SEPARATOR);return t.splice(0,1),this.adapter.revert(e,this.clazz,r.Sequence.parseValue(h,t.join(c.SEPARATOR)),void 0,o)}));return this.bookMark=l,this._currentPage=e,g}}function h(e){for(const t of[d,l]){const r=Object.keys(t).find((t=>t===e));if(r)return t[r]}throw new r.QueryError("Could not find adapter translation for operator "+e)}class g extends r.Statement{constructor(e){super(e)}build(){const e=this.log.for(this.build),t={};t[c.TABLE]={},t[c.TABLE]=s.Model.tableName(this.fromSelector);const a={selector:t};if(this.selectSelector&&(a.fields=this.selectSelector),this.whereCondition){const t=this.parseCondition(r.Condition.and(this.whereCondition,r.Condition.attribute(c.TABLE).eq(a.selector[c.TABLE]))).selector,s=Object.keys(t);if(1===s.length&&-1!==Object.values(l).indexOf(s[0]))switch(s[0]){case l.AND:t[l.AND]=[...Object.values(t[l.AND]).reduce(((e,t)=>{const r=Object.keys(t);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const a=r[0];return a===l.AND?e.push(...t[a]):e.push(t),e}),[])],a.selector=t;break;case l.OR:{const e={};e[l.AND]=[t,...Object.entries(a.selector).map((([e,t])=>{const r={};return r[e]=t,r}))],a.selector=e;break}default:throw Error("This should be impossible")}else Object.entries(t).forEach((([t,r])=>{a.selector[t]&&e.warn(`A ${t} query param is about to be overridden: ${a.selector[t]} by ${r}`),a.selector[t]=r}))}if(this.orderBySelector){a.sort=a.sort||[],a.selector=a.selector||{};const[e,t]=this.orderBySelector,r={};r[e]=t,a.sort.push(r),a.selector[e]||(a.selector[e]={},a.selector[e][d.BIGGER]=null)}return this.limitSelector?a.limit=this.limitSelector:(e.warn("No limit selector defined. Using default couchdb limit of 250"),a.limit=250),this.offsetSelector&&(a.skip=this.offsetSelector),a}async paginate(e){try{const t=this.build();return new p(this.adapter,t,e,this.fromSelector)}catch(e){throw new a.InternalError(e)}}processRecord(e,t,a,s){if(e[c.ID]){const[,...t]=e[c.ID].split(c.SEPARATOR),o=t.join("_");return this.adapter.revert(e,this.fromSelector,r.Sequence.parseValue(a,o),void 0,s)}return e}async raw(e,...r){const{ctx:o}=this.logCtx(r,this.raw),n=await this.adapter.raw(e,!0,o),i=s.Model.pk(this.fromSelector),c=t.Metadata.get(this.fromSelector,t.Metadata.key(a.DBKeys.ID,i))?.type;return this.selectSelector?n:n.map((e=>this.processRecord(e,i,c,o)))}parseCondition(e){const{attr1:t,operator:a,comparison:s}=e;let o={};if(-1===[r.GroupOperator.AND,r.GroupOperator.OR,r.Operator.NOT].indexOf(a))o[t]={},o[t][h(a)]=s;else if(a===r.Operator.NOT)o=this.parseCondition(t).selector,o[h(r.Operator.NOT)]={},o[h(r.Operator.NOT)][t.attr1]=s;else{const e=this.parseCondition(t).selector,r=this.parseCondition(s).selector;o=((e,t,r)=>{const a={selector:{}};return a.selector[e]=[t,r],a})(h(a),e,r).selector}return{selector:o}}}class f extends r.Adapter{constructor(e,t,r){super(e,t,r),[this.create,this.createAll,this.update,this.updateAll].forEach((e=>{const t=e.name;a.prefixMethod(this,e,this[t+"Prefix"])}))}Statement(){return new g(this)}async initialize(){const e=r.Adapter.models(this.flavour);return this.index(...e)}repository(){return m}assignMetadata(e,t){return t?(f.setMetadata(e,t),e):e}assignMultipleMetadata(e,t){return e.forEach(((e,r)=>(f.setMetadata(e,t[r]),e))),e}createPrefix(e,t,r,...a){const{ctxArgs:o}=this.logCtx(a,this.createPrefix),n=s.Model.tableName(e),i={};return i[c.TABLE]=n,i[c.ID]=this.generateId(n,t),Object.assign(i,r),[e,t,i,...o]}createAllPrefix(e,t,r,...o){const n=s.Model.tableName(e);if(t.length!==r.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(o,this.createAllPrefix),d=t.map(((e,t)=>{const a={};return a[c.TABLE]=n,a[c.ID]=this.generateId(n,e),Object.assign(a,r[t]),a}));return[e,t,d,...i]}updatePrefix(e,t,o,...n){const i=s.Model.tableName(e),{ctxArgs:d}=this.logCtx(n,this.updatePrefix),l={};l[c.TABLE]=i,l[c.ID]=this.generateId(i,t);const u=o[r.PersistenceKeys.METADATA];if(!u)throw new a.InternalError("No revision number found for record with id "+t);return Object.assign(l,o),l[c.REV]=u,[e,t,l,...d]}updateAllPrefix(e,t,o,...n){const i=s.Model.tableName(e);if(t.length!==o.length)throw new a.InternalError("Ids and models must have the same length");const{ctxArgs:d}=this.logCtx(n,this.updateAllPrefix),l=t.map(((e,t)=>{const s={};s[c.TABLE]=i,s[c.ID]=this.generateId(i,e);const n=o[t][r.PersistenceKeys.METADATA];if(!n)throw new a.InternalError("No revision number found for record with id "+e);return Object.assign(s,o[t]),s[c.REV]=n,s}));return[e,t,l,...d]}generateId(e,t){return[e,t].join(c.SEPARATOR)}parseError(e,t){return f.parseError(e,t)}isReserved(e){return!!e.match(i)}static parseError(e,t){if(e instanceof a.BaseError)return e;let s="";if("string"==typeof e){if(s=e,s.match(/already exist|update conflict/g))return new a.ConflictError(s);if(s.match(/missing|deleted/g))return new a.NotFoundError(s)}else e.code?(s=e.code,t=t||e.message):e.statusCode?(s=e.statusCode,t=t||e.message):s=e.message;switch(s.toString()){case"401":case"412":case"409":return new a.ConflictError(t);case"404":return new a.NotFoundError(t);case"400":return s.toString().match(/No\sindex\sexists/g)?new u(e):new a.InternalError(e);default:return s.toString().match(/ECONNREFUSED/g)?new r.ConnectionError(e):new a.InternalError(e)}}static setMetadata(e,t){Object.defineProperty(e,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:t})}static getMetadata(e){const t=Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA);return t?t.value:void 0}static removeMetadata(e){Object.getOwnPropertyDescriptor(e,r.PersistenceKeys.METADATA)&&delete e[r.PersistenceKeys.METADATA]}}o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[]),o.__metadata("design:returntype",g)],f.prototype,"Statement",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,String]),o.__metadata("design:returntype",Object)],f.prototype,"assignMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Array,Array]),o.__metadata("design:returntype",Array)],f.prototype,"assignMultipleMetadata",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",Array)],f.prototype,"createPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"createAllPrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Object,Object,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updatePrefix",null),o.__decorate([n.final(),o.__metadata("design:type",Function),o.__metadata("design:paramtypes",[Object,Array,Array,Object]),o.__metadata("design:returntype",void 0)],f.prototype,"updateAllPrefix",null);class m extends r.Repository{constructor(e,t){super(e,t)}assignMetadata(e,t){const r=(e,t)=>{const r=t??e,a=f.getMetadata(r);return a&&f.setMetadata(e,a),e};return Array.isArray(e)?e.map(((e,a)=>{const s=Array.isArray(t)?t[a]:t;return r(e,s)})):r(e,Array.isArray(t)?t?.[0]:t)}async create(e,...t){const r=await super.create(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async createAll(e,...t){const r=await super.createAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async read(e,...t){const r=await super.read(e,...t);return this.assignMetadata(r)}async readAll(e,...t){const r=await super.readAll(e,...t);return this.assignMetadata(r)}async update(e,...t){const r=await super.update(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async updateAll(e,...t){const r=await super.updateAll(e,...t);return this.assignMetadata(r),this.assignMetadata(e,r),r}async delete(e,...t){const r=await super.delete(e,...t);return this.assignMetadata(r)}async deleteAll(e,...t){const r=await super.deleteAll(e,...t);return this.assignMetadata(r)}async updatePrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context.get("ignoreHandlers"),n=r.context.get("ignoreValidation"),i=e[this.pk];if(!i)throw new a.InternalError("No value for the Id is defined under the property "+this.pk);const c=await this.read(i,...r.args);if(e=s.Model.merge(c,e,this.class),o||await a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,c),!n){const t=await Promise.resolve(e.hasErrors(c,...s.Model.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(t)throw new a.ValidationError(t.toString())}const d=f.getMetadata(c);return d&&f.setMetadata(e,d),[e,...r.args]}async updateAllPrefix(e,...t){const r=await a.Context.args(a.OperationKeys.UPDATE,this.class,t,this.adapter,this._overrides||{}),o=r.context.get("ignoreHandlers"),n=r.context.get("ignoreValidation"),i=e.map((e=>{const t=e[this.pk];if(!t)throw new a.InternalError("missing id on update operation");return t})),c=await this.readAll(i,...r.args);if(e=e.map(((e,t)=>{e=s.Model.merge(c[t],e,this.class);const r=f.getMetadata(c[t]);return r&&f.setMetadata(e,r),e})),o||await Promise.all(e.map(((e,t)=>a.enforceDBDecorators(this,r.context,e,a.OperationKeys.UPDATE,a.OperationKeys.ON,c[t])))),!n){const t=r.context.get("ignoredValidationProperties")||[],s=(await Promise.all(e.map(((e,r)=>Promise.resolve(e.hasErrors(c[r],e,...t)))))).reduce(((e,t,r)=>(t&&(e="string"==typeof e?e+`\n - ${r}: ${t.toString()}`:` - ${r}: ${t.toString()}`),e)),void 0);if(s)throw new a.ValidationError(s)}return e.forEach(((e,t)=>{const r=f.getMetadata(c[t]);r&&f.setMetadata(e,r)})),[e,...r.args]}}async function y(e,t,r){return e.auth(t,r)}function A(e,t,s,o,n=a.DefaultSeparator){const i=[r.PersistenceKeys.INDEX,t,e];return s&&i.push(...s),o&&i.push(o),i.join(n)}const E="##VERSION##",b="##PACKAGE##";t.Metadata.registerLibrary(b,E),e.CouchDBAdapter=f,e.CouchDBConst={NULL:"null"},e.CouchDBGroupOperator=l,e.CouchDBKeys=c,e.CouchDBOperator=d,e.CouchDBPaginator=p,e.CouchDBQueryLimit=250,e.CouchDBRepository=m,e.CouchDBStatement=g,e.IndexError=u,e.PACKAGE_NAME=b,e.VERSION=E,e.generateIndexDoc=(e,t,r,s,o=a.DefaultSeparator)=>{const n={};let i;if(n[c.TABLE]={},n[c.TABLE][d.EQUAL]=t,s){const t={};t[e]=s;const a=(r||[]).map((e=>{const t={};return t[e]=s,t})),o={};o[c.TABLE]=s,i=[t,...a,o]}else i=[e,...r||[],c.TABLE];const l=A(e,t,r,s,o);return{index:{fields:i},ddoc:[l,c.DDOC].join(o),name:l}},e.generateIndexName=A,e.generateIndexes=e=>{const t=((e,t,r,s=a.DefaultSeparator)=>[...e.map((e=>e===c.TABLE?"table":e)),...r||[],...t?[t]:[],c.INDEX].join(s))([c.TABLE]),o={};return o[t]={index:{fields:[c.TABLE]},name:t,ddoc:t,type:"json"},e.forEach((e=>{const t=s.Model.indexes(e);Object.entries(t).forEach((([t,n])=>{const i=Object.keys(n)[0];let{directions:l,compositions:u}=n[i];const p=s.Model.tableName(e);function h(e){const s=[p,t,...u,r.PersistenceKeys.INDEX].join(a.DefaultSeparator);if(o[s]={index:{fields:[t,...u,c.TABLE].reduce(((t,r)=>{if(e){const a={};a[r]=e,t.push(a)}else t.push(r);return t}),[])},name:s,ddoc:s,type:"json"},!e){const e={};e[c.TABLE]={},e[c.TABLE][d.EQUAL]=p,o[s].index.partial_filter_selector=e}}u=u||[],h(),l&&l.forEach((e=>h(e)))}))})),Object.values(o)},e.reAuth=y,e.reservedAttributes=i,e.testReservedAttributes=e=>e.match(/^_.*$/g),e.translateOperators=h,e.wrapDocumentScope=(e,t,r,a)=>{const s=e.use(t);return["insert","get","put","destroy","find"].forEach((t=>{const o=s[t];Object.defineProperty(s,t,{enumerable:!1,configurable:!0,value:async(...t)=>(await y(e,r,a),o.call(s,...t))})})),Object.defineProperty(s,c.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:e}),s}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/decoration"),require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("tslib"),require("@decaf-ts/logging")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/decoration","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","tslib","@decaf-ts/logging"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-couchdb"]={},e.decafTsDecoration,e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.tslib,e.decafTsLogging);
|
|
2
2
|
//# sourceMappingURL=for-couchdb.cjs.map
|
package/dist/for-couchdb.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","IndexError","BaseError","constructor","msg","super","name","CouchDBPaginator","Paginator","total","InternalError","count","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","ctx","statement","_recordCount","_totalPages","results","raw","undefined","length","Math","ceil","validatePage","bookMark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","Model","pk","type","Metadata","get","key","DBKeys","fields","map","d","originalId","_id","split","splice","revert","Sequence","parseValue","join","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","skip","paginate","e","processRecord","r","pkAttr","sequenceType","keyArgs","rawInput","args","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","ctxArgs","record","generateId","createAllPrefix","ids","records","updatePrefix","PersistenceKeys","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","shouldRunHandlers","context","shouldValidate","oldModel","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldMetadata","oldModels","all","ignoredProps","errorMessages","async","reAuth","con","user","pass","auth","generateIndexName","compositions","order","separator","DefaultSeparator","VERSION","PACKAGE_NAME","registerLibrary","NULL","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","ddoc","direction","n","indexes","ind","directions","generate","res","tableFilter","partial_filter_selector","dbName","db","use","original","call"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.cjs","sources":["../src/constants.ts","../src/query/constants.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts","../src/indexes/generator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","IndexError","BaseError","constructor","msg","super","name","CouchDBPaginator","Paginator","total","InternalError","count","adapter","query","size","clazz","prepare","rawStatement","Object","assign","limit","this","page","ctx","statement","_recordCount","_totalPages","results","raw","undefined","length","Math","ceil","validatePage","bookMark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","Model","pk","type","Metadata","get","key","DBKeys","fields","map","d","originalId","_id","split","splice","revert","Sequence","parseValue","join","_currentPage","translateOperators","operator","operators","el","keys","find","k","QueryError","CouchDBStatement","Statement","build","selectors","tableName","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","values","indexOf","reduce","accum","val","Error","push","s","entries","result","forEach","orderBySelector","sort","value","rec","limitSelector","offsetSelector","skip","paginate","e","processRecord","r","pkAttr","sequenceType","keyArgs","rawInput","args","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","m","prefixMethod","initialize","managedModels","models","index","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","ctxArgs","record","generateId","createAllPrefix","ids","records","updatePrefix","PersistenceKeys","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","ignoreHandlers","context","ignoreValidate","oldModel","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldMetadata","oldModels","all","ignoredProps","errorMessages","async","reAuth","con","user","pass","auth","generateIndexName","compositions","order","separator","DefaultSeparator","VERSION","PACKAGE_NAME","registerLibrary","NULL","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","ddoc","direction","n","indexes","ind","directions","generate","res","tableFilter","partial_filter_selector","dbName","db","use","original","call"],"mappings":"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"}
|
package/dist/for-couchdb.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Metadata as t}from"@decaf-ts/decoration";import{PersistenceKeys as e,Paginator as r,PagingError as s,Sequence as a,QueryError as i,Statement as n,Condition as o,GroupOperator as c,Operator as l,Adapter as d,ConnectionError as u,Repository as h}from"@decaf-ts/core";import{DefaultSeparator as p,BaseError as g,InternalError as f,DBKeys as A,prefixMethod as m,ConflictError as y,NotFoundError as E,Context as b,OperationKeys as w,enforceDBDecorators as O,ValidationError as x}from"@decaf-ts/db-decorators";import{Model as T}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as M}from"tslib";import{final as P}from"@decaf-ts/logging";const D=/^_.*$/g,N={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},v=250,S={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},I={AND:"$and",OR:"$or"},L={NULL:"null"};function k(t){const r=((t,e,r,s=p)=>[...t.map((t=>t===N.TABLE?"table":t)),...r||[],...e?[e]:[],N.INDEX].join(s))([N.TABLE]),s={};return s[r]={index:{fields:[N.TABLE]},name:r,ddoc:r,type:"json"},t.forEach((t=>{const r=T.indexes(t);Object.entries(r).forEach((([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=T.tableName(t);function l(t){const a=[c,r,...o,e.INDEX].join(p);if(s[a]={index:{fields:[r,...o,N.TABLE].reduce(((e,r)=>{if(t){const s={};s[r]=t,e.push(s)}else e.push(r);return e}),[])},name:a,ddoc:a,type:"json"},!t){const t={};t[N.TABLE]={},t[N.TABLE].$eq=c,s[a].index.partial_filter_selector=t}}o=o||[],l(),n&&n.forEach((t=>l(t)))}))})),Object.values(s)}class R extends g{constructor(t){super(R.name,t,404)}}class C extends r{get total(){throw new f("The total pages api is not available for couchdb")}get count(){throw new f("The record count api is not available for couchdb")}constructor(t,e,r,s){super(t,e,r,s)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1){const{ctx:r}=this.adapter.logCtx([e],this.page),i=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...i,limit:void 0},!0,r)||[];if(this._recordCount=t.length,this._recordCount>0){const t=i?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/t)}}if(this.validatePage(e),1!==e){if(!this.bookMark)throw new s("No bookmark. Did you start in the first page?");i.bookmark=this.bookMark}const n=await this.adapter.raw(i,!1,r),{docs:o,bookmark:c,warning:l}=n;if(l&&this.log.for(this.page).warn(l),!this.clazz)throw new s("No statement target defined");const d=T.pk(this.clazz),u=t.get(this.clazz,t.key(A.ID,d))?.type,h=i.fields&&i.fields.length?o:o.map((t=>{const e=t._id.split(N.SEPARATOR);return e.splice(0,1),this.adapter.revert(t,this.clazz,a.parseValue(u,e.join(N.SEPARATOR)),void 0,r)}));return this.bookMark=c,this._currentPage=e,h}}function _(t){for(const e of[S,I]){const r=Object.keys(e).find((e=>e===t));if(r)return e[r]}throw new i("Could not find adapter translation for operator "+t)}class B extends n{constructor(t){super(t)}build(){const t=this.log.for(this.build),e={};e[N.TABLE]={},e[N.TABLE]=T.tableName(this.fromSelector);const r={selector:e};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const e=this.parseCondition(o.and(this.whereCondition,o.attribute(N.TABLE).eq(r.selector[N.TABLE]))).selector,s=Object.keys(e);if(1===s.length&&-1!==Object.values(I).indexOf(s[0]))switch(s[0]){case I.AND:e[I.AND]=[...Object.values(e[I.AND]).reduce(((t,e)=>{const r=Object.keys(e);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const s=r[0];return s===I.AND?t.push(...e[s]):t.push(e),t}),[])],r.selector=e;break;case I.OR:{const t={};t[I.AND]=[e,...Object.entries(r.selector).map((([t,e])=>{const r={};return r[t]=e,r}))],r.selector=t;break}default:throw Error("This should be impossible")}else Object.entries(e).forEach((([e,s])=>{r.selector[e]&&t.warn(`A ${e} query param is about to be overridden: ${r.selector[e]} by ${s}`),r.selector[e]=s}))}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[t,e]=this.orderBySelector,s={};s[t]=e,r.sort.push(s),r.selector[t]||(r.selector[t]={},r.selector[t].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(t.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}async paginate(t){try{const e=this.build();return new C(this.adapter,e,t,this.fromSelector)}catch(t){throw new f(t)}}processRecord(t,e,r,s){if(t[N.ID]){const[,...e]=t[N.ID].split(N.SEPARATOR),i=e.join("_");return this.adapter.revert(t,this.fromSelector,a.parseValue(r,i),void 0,s)}return t}async raw(e,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(e,!0,s),i=T.pk(this.fromSelector),n=t.get(this.fromSelector,t.key(A.ID,i))?.type;return this.selectSelector?a:a.map((t=>this.processRecord(t,i,n,s)))}parseCondition(t){const{attr1:e,operator:r,comparison:s}=t;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[e]={},a[e][_(r)]=s;else if(r===l.NOT)a=this.parseCondition(e).selector,a[_(l.NOT)]={},a[_(l.NOT)][e.attr1]=s;else{const t=this.parseCondition(e).selector,i=this.parseCondition(s).selector;a=((t,e,r)=>{const s={selector:{}};return s.selector[t]=[e,r],s})(_(r),t,i).selector}return{selector:a}}}class $ extends d{constructor(t,e,r){super(t,e,r),[this.create,this.createAll,this.update,this.updateAll].forEach((t=>{const e=t.name;m(this,t,this[e+"Prefix"])}))}Statement(){return new B(this)}async initialize(){const t=d.models(this.flavour);return this.index(...t)}repository(){return V}assignMetadata(t,e){return e?($.setMetadata(t,e),t):t}assignMultipleMetadata(t,e){return t.forEach(((t,r)=>($.setMetadata(t,e[r]),t))),t}createPrefix(t,e,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=T.tableName(t),n={};return n[N.TABLE]=i,n[N.ID]=this.generateId(i,e),Object.assign(n,r),[t,e,n,...a]}createAllPrefix(t,e,r,...s){const a=T.tableName(t);if(e.length!==r.length)throw new f("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=e.map(((t,e)=>{const s={};return s[N.TABLE]=a,s[N.ID]=this.generateId(a,t),Object.assign(s,r[e]),s}));return[t,e,n,...i]}updatePrefix(t,r,s,...a){const i=T.tableName(t),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[N.TABLE]=i,o[N.ID]=this.generateId(i,r);const c=s[e.METADATA];if(!c)throw new f("No revision number found for record with id "+r);return Object.assign(o,s),o[N.REV]=c,[t,r,o,...n]}updateAllPrefix(t,r,s,...a){const i=T.tableName(t);if(r.length!==s.length)throw new f("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map(((t,r)=>{const a={};a[N.TABLE]=i,a[N.ID]=this.generateId(i,t);const n=s[r][e.METADATA];if(!n)throw new f("No revision number found for record with id "+t);return Object.assign(a,s[r]),a[N.REV]=n,a}));return[t,r,o,...n]}generateId(t,e){return[t,e].join(N.SEPARATOR)}parseError(t,e){return $.parseError(t,e)}isReserved(t){return!!t.match(D)}static parseError(t,e){if(t instanceof g)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else t.code?(r=t.code,e=e||t.message):t.statusCode?(r=t.statusCode,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new y(e);case"404":return new E(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new R(t):new f(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new f(t)}}static setMetadata(t,r){Object.defineProperty(t,e.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(t){const r=Object.getOwnPropertyDescriptor(t,e.METADATA);return r?r.value:void 0}static removeMetadata(t){Object.getOwnPropertyDescriptor(t,e.METADATA)&&delete t[e.METADATA]}}j([P(),M("design:type",Function),M("design:paramtypes",[]),M("design:returntype",B)],$.prototype,"Statement",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,String]),M("design:returntype",Object)],$.prototype,"assignMetadata",null),j([P(),M("design:type",Function),M("design:paramtypes",[Array,Array]),M("design:returntype",Array)],$.prototype,"assignMultipleMetadata",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,Object,Object,Object]),M("design:returntype",Array)],$.prototype,"createPrefix",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,Array,Array,Object]),M("design:returntype",void 0)],$.prototype,"createAllPrefix",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,Object,Object,Object]),M("design:returntype",void 0)],$.prototype,"updatePrefix",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,Array,Array,Object]),M("design:returntype",void 0)],$.prototype,"updateAllPrefix",null);class V extends h{constructor(t,e){super(t,e)}assignMetadata(t,e){const r=(t,e)=>{const r=e??t,s=$.getMetadata(r);return s&&$.setMetadata(t,s),t};return Array.isArray(t)?t.map(((t,s)=>{const a=Array.isArray(e)?e[s]:e;return r(t,a)})):r(t,Array.isArray(e)?e?.[0]:e)}async create(t,...e){const r=await super.create(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async createAll(t,...e){const r=await super.createAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async read(t,...e){const r=await super.read(t,...e);return this.assignMetadata(r)}async readAll(t,...e){const r=await super.readAll(t,...e);return this.assignMetadata(r)}async update(t,...e){const r=await super.update(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async updateAll(t,...e){const r=await super.updateAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async delete(t,...e){const r=await super.delete(t,...e);return this.assignMetadata(r)}async deleteAll(t,...e){const r=await super.deleteAll(t,...e);return this.assignMetadata(r)}async updatePrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=!1!==r.context.get("ignoreHandlers"),a=!r.context.get("ignoreValidation"),i=t[this.pk];if(!i)throw new f("No value for the Id is defined under the property "+this.pk);const n=await this.read(i,...r.args);if(t=T.merge(n,t,this.class),s&&await O(this,r.context,t,w.UPDATE,w.ON,n),a){const e=await Promise.resolve(t.hasErrors(n,...T.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(e)throw new x(e.toString())}const o=$.getMetadata(n);return o&&$.setMetadata(t,o),[t,...r.args]}async updateAllPrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=!1!==r.context.get("ignoreHandlers"),a=!r.context.get("ignoreValidation"),i=t.map((t=>{const e=t[this.pk];if(!e)throw new f("missing id on update operation");return e})),n=await this.readAll(i,...r.args);if(t=t.map(((t,e)=>{t=T.merge(n[e],t,this.class);const r=$.getMetadata(n[e]);return r&&$.setMetadata(t,r),t})),s&&await Promise.all(t.map(((t,e)=>O(this,r.context,t,w.UPDATE,w.ON,n[e])))),a){const e=r.context.get("ignoredValidationProperties")||[],s=(await Promise.all(t.map(((t,r)=>Promise.resolve(t.hasErrors(n[r],t,...e)))))).reduce(((t,e,r)=>(e&&(t="string"==typeof t?t+`\n - ${r}: ${e.toString()}`:` - ${r}: ${e.toString()}`),t)),void 0);if(s)throw new x(s)}return t.forEach(((t,e)=>{const r=$.getMetadata(n[e]);r&&$.setMetadata(t,r)})),[t,...r.args]}}async function z(t,e,r){return t.auth(e,r)}function F(t,e,r,s){const a=t.use(e);return["insert","get","put","destroy","find"].forEach((e=>{const i=a[e];Object.defineProperty(a,e,{enumerable:!1,configurable:!0,value:async(...e)=>(await z(t,r,s),i.call(a,...e))})})),Object.defineProperty(a,N.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:t}),a}function U(t){return t.match(/^_.*$/g)}function q(t,r,s,a,i=p){const n=[e.INDEX,r,t];return s&&n.push(...s),a&&n.push(a),n.join(i)}function G(t,e,r,s,a=p){const i={};let n;if(i[N.TABLE]={},i[N.TABLE].$eq=e,s){const e={};e[t]=s;const a=(r||[]).map((t=>{const e={};return e[t]=s,e})),i={};i[N.TABLE]=s,n=[e,...a,i]}else n=[t,...r||[],N.TABLE];const o=q(t,e,r,s,a);return{index:{fields:n},ddoc:[o,N.DDOC].join(a),name:o}}const X="##VERSION##",Q="##PACKAGE##";t.registerLibrary(Q,X);export{$ as CouchDBAdapter,L as CouchDBConst,I as CouchDBGroupOperator,N as CouchDBKeys,S as CouchDBOperator,C as CouchDBPaginator,v as CouchDBQueryLimit,V as CouchDBRepository,B as CouchDBStatement,R as IndexError,Q as PACKAGE_NAME,X as VERSION,G as generateIndexDoc,q as generateIndexName,k as generateIndexes,z as reAuth,D as reservedAttributes,U as testReservedAttributes,_ as translateOperators,F as wrapDocumentScope};
|
|
1
|
+
import{Metadata as t}from"@decaf-ts/decoration";import{PersistenceKeys as e,Paginator as r,PagingError as s,Sequence as a,QueryError as i,Statement as n,Condition as o,GroupOperator as c,Operator as l,Adapter as d,ConnectionError as u,Repository as h}from"@decaf-ts/core";import{DefaultSeparator as p,BaseError as g,InternalError as f,DBKeys as A,prefixMethod as m,ConflictError as y,NotFoundError as E,Context as b,OperationKeys as w,enforceDBDecorators as O,ValidationError as x}from"@decaf-ts/db-decorators";import{Model as T}from"@decaf-ts/decorator-validation";import{__decorate as j,__metadata as M}from"tslib";import{final as P}from"@decaf-ts/logging";const D=/^_.*$/g,N={SEPARATOR:"__",ID:"_id",REV:"_rev",DELETED:"_deleted",TABLE:"??table",SEQUENCE:"??sequence",DDOC:"ddoc",NATIVE:"__native",INDEX:"index"},v=250,S={EQUAL:"$eq",DIFFERENT:"$ne",BIGGER:"$gt",BIGGER_EQ:"$gte",SMALLER:"$lt",SMALLER_EQ:"$lte",NOT:"$not",IN:"$in",REGEXP:"$regex"},I={AND:"$and",OR:"$or"},L={NULL:"null"};function k(t){const r=((t,e,r,s=p)=>[...t.map((t=>t===N.TABLE?"table":t)),...r||[],...e?[e]:[],N.INDEX].join(s))([N.TABLE]),s={};return s[r]={index:{fields:[N.TABLE]},name:r,ddoc:r,type:"json"},t.forEach((t=>{const r=T.indexes(t);Object.entries(r).forEach((([r,a])=>{const i=Object.keys(a)[0];let{directions:n,compositions:o}=a[i];const c=T.tableName(t);function l(t){const a=[c,r,...o,e.INDEX].join(p);if(s[a]={index:{fields:[r,...o,N.TABLE].reduce(((e,r)=>{if(t){const s={};s[r]=t,e.push(s)}else e.push(r);return e}),[])},name:a,ddoc:a,type:"json"},!t){const t={};t[N.TABLE]={},t[N.TABLE].$eq=c,s[a].index.partial_filter_selector=t}}o=o||[],l(),n&&n.forEach((t=>l(t)))}))})),Object.values(s)}class R extends g{constructor(t){super(R.name,t,404)}}class C extends r{get total(){throw new f("The total pages api is not available for couchdb")}get count(){throw new f("The record count api is not available for couchdb")}constructor(t,e,r,s){super(t,e,r,s)}prepare(t){const e=Object.assign({},t);return e.limit&&(this.limit=e.limit),e.limit=this.size,e}async page(e=1){const{ctx:r}=this.adapter.logCtx([e],this.page),i=Object.assign({},this.statement);if(!this._recordCount||!this._totalPages){this._totalPages=this._recordCount=0;const t=await this.adapter.raw({...i,limit:void 0},!0,r)||[];if(this._recordCount=t.length,this._recordCount>0){const t=i?.limit||this.size;this._totalPages=Math.ceil(this._recordCount/t)}}if(this.validatePage(e),1!==e){if(!this.bookMark)throw new s("No bookmark. Did you start in the first page?");i.bookmark=this.bookMark}const n=await this.adapter.raw(i,!1,r),{docs:o,bookmark:c,warning:l}=n;if(l&&this.log.for(this.page).warn(l),!this.clazz)throw new s("No statement target defined");const d=T.pk(this.clazz),u=t.get(this.clazz,t.key(A.ID,d))?.type,h=i.fields&&i.fields.length?o:o.map((t=>{const e=t._id.split(N.SEPARATOR);return e.splice(0,1),this.adapter.revert(t,this.clazz,a.parseValue(u,e.join(N.SEPARATOR)),void 0,r)}));return this.bookMark=c,this._currentPage=e,h}}function _(t){for(const e of[S,I]){const r=Object.keys(e).find((e=>e===t));if(r)return e[r]}throw new i("Could not find adapter translation for operator "+t)}class B extends n{constructor(t){super(t)}build(){const t=this.log.for(this.build),e={};e[N.TABLE]={},e[N.TABLE]=T.tableName(this.fromSelector);const r={selector:e};if(this.selectSelector&&(r.fields=this.selectSelector),this.whereCondition){const e=this.parseCondition(o.and(this.whereCondition,o.attribute(N.TABLE).eq(r.selector[N.TABLE]))).selector,s=Object.keys(e);if(1===s.length&&-1!==Object.values(I).indexOf(s[0]))switch(s[0]){case I.AND:e[I.AND]=[...Object.values(e[I.AND]).reduce(((t,e)=>{const r=Object.keys(e);if(1!==r.length)throw Error("Too many keys in query selector. should be one");const s=r[0];return s===I.AND?t.push(...e[s]):t.push(e),t}),[])],r.selector=e;break;case I.OR:{const t={};t[I.AND]=[e,...Object.entries(r.selector).map((([t,e])=>{const r={};return r[t]=e,r}))],r.selector=t;break}default:throw Error("This should be impossible")}else Object.entries(e).forEach((([e,s])=>{r.selector[e]&&t.warn(`A ${e} query param is about to be overridden: ${r.selector[e]} by ${s}`),r.selector[e]=s}))}if(this.orderBySelector){r.sort=r.sort||[],r.selector=r.selector||{};const[t,e]=this.orderBySelector,s={};s[t]=e,r.sort.push(s),r.selector[t]||(r.selector[t]={},r.selector[t].$gt=null)}return this.limitSelector?r.limit=this.limitSelector:(t.warn("No limit selector defined. Using default couchdb limit of 250"),r.limit=250),this.offsetSelector&&(r.skip=this.offsetSelector),r}async paginate(t){try{const e=this.build();return new C(this.adapter,e,t,this.fromSelector)}catch(t){throw new f(t)}}processRecord(t,e,r,s){if(t[N.ID]){const[,...e]=t[N.ID].split(N.SEPARATOR),i=e.join("_");return this.adapter.revert(t,this.fromSelector,a.parseValue(r,i),void 0,s)}return t}async raw(e,...r){const{ctx:s}=this.logCtx(r,this.raw),a=await this.adapter.raw(e,!0,s),i=T.pk(this.fromSelector),n=t.get(this.fromSelector,t.key(A.ID,i))?.type;return this.selectSelector?a:a.map((t=>this.processRecord(t,i,n,s)))}parseCondition(t){const{attr1:e,operator:r,comparison:s}=t;let a={};if(-1===[c.AND,c.OR,l.NOT].indexOf(r))a[e]={},a[e][_(r)]=s;else if(r===l.NOT)a=this.parseCondition(e).selector,a[_(l.NOT)]={},a[_(l.NOT)][e.attr1]=s;else{const t=this.parseCondition(e).selector,i=this.parseCondition(s).selector;a=((t,e,r)=>{const s={selector:{}};return s.selector[t]=[e,r],s})(_(r),t,i).selector}return{selector:a}}}class $ extends d{constructor(t,e,r){super(t,e,r),[this.create,this.createAll,this.update,this.updateAll].forEach((t=>{const e=t.name;m(this,t,this[e+"Prefix"])}))}Statement(){return new B(this)}async initialize(){const t=d.models(this.flavour);return this.index(...t)}repository(){return V}assignMetadata(t,e){return e?($.setMetadata(t,e),t):t}assignMultipleMetadata(t,e){return t.forEach(((t,r)=>($.setMetadata(t,e[r]),t))),t}createPrefix(t,e,r,...s){const{ctxArgs:a}=this.logCtx(s,this.createPrefix),i=T.tableName(t),n={};return n[N.TABLE]=i,n[N.ID]=this.generateId(i,e),Object.assign(n,r),[t,e,n,...a]}createAllPrefix(t,e,r,...s){const a=T.tableName(t);if(e.length!==r.length)throw new f("Ids and models must have the same length");const{ctxArgs:i}=this.logCtx(s,this.createAllPrefix),n=e.map(((t,e)=>{const s={};return s[N.TABLE]=a,s[N.ID]=this.generateId(a,t),Object.assign(s,r[e]),s}));return[t,e,n,...i]}updatePrefix(t,r,s,...a){const i=T.tableName(t),{ctxArgs:n}=this.logCtx(a,this.updatePrefix),o={};o[N.TABLE]=i,o[N.ID]=this.generateId(i,r);const c=s[e.METADATA];if(!c)throw new f("No revision number found for record with id "+r);return Object.assign(o,s),o[N.REV]=c,[t,r,o,...n]}updateAllPrefix(t,r,s,...a){const i=T.tableName(t);if(r.length!==s.length)throw new f("Ids and models must have the same length");const{ctxArgs:n}=this.logCtx(a,this.updateAllPrefix),o=r.map(((t,r)=>{const a={};a[N.TABLE]=i,a[N.ID]=this.generateId(i,t);const n=s[r][e.METADATA];if(!n)throw new f("No revision number found for record with id "+t);return Object.assign(a,s[r]),a[N.REV]=n,a}));return[t,r,o,...n]}generateId(t,e){return[t,e].join(N.SEPARATOR)}parseError(t,e){return $.parseError(t,e)}isReserved(t){return!!t.match(D)}static parseError(t,e){if(t instanceof g)return t;let r="";if("string"==typeof t){if(r=t,r.match(/already exist|update conflict/g))return new y(r);if(r.match(/missing|deleted/g))return new E(r)}else t.code?(r=t.code,e=e||t.message):t.statusCode?(r=t.statusCode,e=e||t.message):r=t.message;switch(r.toString()){case"401":case"412":case"409":return new y(e);case"404":return new E(e);case"400":return r.toString().match(/No\sindex\sexists/g)?new R(t):new f(t);default:return r.toString().match(/ECONNREFUSED/g)?new u(t):new f(t)}}static setMetadata(t,r){Object.defineProperty(t,e.METADATA,{enumerable:!1,configurable:!0,writable:!0,value:r})}static getMetadata(t){const r=Object.getOwnPropertyDescriptor(t,e.METADATA);return r?r.value:void 0}static removeMetadata(t){Object.getOwnPropertyDescriptor(t,e.METADATA)&&delete t[e.METADATA]}}j([P(),M("design:type",Function),M("design:paramtypes",[]),M("design:returntype",B)],$.prototype,"Statement",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,String]),M("design:returntype",Object)],$.prototype,"assignMetadata",null),j([P(),M("design:type",Function),M("design:paramtypes",[Array,Array]),M("design:returntype",Array)],$.prototype,"assignMultipleMetadata",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,Object,Object,Object]),M("design:returntype",Array)],$.prototype,"createPrefix",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,Array,Array,Object]),M("design:returntype",void 0)],$.prototype,"createAllPrefix",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,Object,Object,Object]),M("design:returntype",void 0)],$.prototype,"updatePrefix",null),j([P(),M("design:type",Function),M("design:paramtypes",[Object,Array,Array,Object]),M("design:returntype",void 0)],$.prototype,"updateAllPrefix",null);class V extends h{constructor(t,e){super(t,e)}assignMetadata(t,e){const r=(t,e)=>{const r=e??t,s=$.getMetadata(r);return s&&$.setMetadata(t,s),t};return Array.isArray(t)?t.map(((t,s)=>{const a=Array.isArray(e)?e[s]:e;return r(t,a)})):r(t,Array.isArray(e)?e?.[0]:e)}async create(t,...e){const r=await super.create(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async createAll(t,...e){const r=await super.createAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async read(t,...e){const r=await super.read(t,...e);return this.assignMetadata(r)}async readAll(t,...e){const r=await super.readAll(t,...e);return this.assignMetadata(r)}async update(t,...e){const r=await super.update(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async updateAll(t,...e){const r=await super.updateAll(t,...e);return this.assignMetadata(r),this.assignMetadata(t,r),r}async delete(t,...e){const r=await super.delete(t,...e);return this.assignMetadata(r)}async deleteAll(t,...e){const r=await super.deleteAll(t,...e);return this.assignMetadata(r)}async updatePrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context.get("ignoreHandlers"),a=r.context.get("ignoreValidation"),i=t[this.pk];if(!i)throw new f("No value for the Id is defined under the property "+this.pk);const n=await this.read(i,...r.args);if(t=T.merge(n,t,this.class),s||await O(this,r.context,t,w.UPDATE,w.ON,n),!a){const e=await Promise.resolve(t.hasErrors(n,...T.relations(this.class),...r.context.get("ignoredValidationProperties")||[]));if(e)throw new x(e.toString())}const o=$.getMetadata(n);return o&&$.setMetadata(t,o),[t,...r.args]}async updateAllPrefix(t,...e){const r=await b.args(w.UPDATE,this.class,e,this.adapter,this._overrides||{}),s=r.context.get("ignoreHandlers"),a=r.context.get("ignoreValidation"),i=t.map((t=>{const e=t[this.pk];if(!e)throw new f("missing id on update operation");return e})),n=await this.readAll(i,...r.args);if(t=t.map(((t,e)=>{t=T.merge(n[e],t,this.class);const r=$.getMetadata(n[e]);return r&&$.setMetadata(t,r),t})),s||await Promise.all(t.map(((t,e)=>O(this,r.context,t,w.UPDATE,w.ON,n[e])))),!a){const e=r.context.get("ignoredValidationProperties")||[],s=(await Promise.all(t.map(((t,r)=>Promise.resolve(t.hasErrors(n[r],t,...e)))))).reduce(((t,e,r)=>(e&&(t="string"==typeof t?t+`\n - ${r}: ${e.toString()}`:` - ${r}: ${e.toString()}`),t)),void 0);if(s)throw new x(s)}return t.forEach(((t,e)=>{const r=$.getMetadata(n[e]);r&&$.setMetadata(t,r)})),[t,...r.args]}}async function z(t,e,r){return t.auth(e,r)}function F(t,e,r,s){const a=t.use(e);return["insert","get","put","destroy","find"].forEach((e=>{const i=a[e];Object.defineProperty(a,e,{enumerable:!1,configurable:!0,value:async(...e)=>(await z(t,r,s),i.call(a,...e))})})),Object.defineProperty(a,N.NATIVE,{enumerable:!1,configurable:!1,writable:!1,value:t}),a}function U(t){return t.match(/^_.*$/g)}function q(t,r,s,a,i=p){const n=[e.INDEX,r,t];return s&&n.push(...s),a&&n.push(a),n.join(i)}function G(t,e,r,s,a=p){const i={};let n;if(i[N.TABLE]={},i[N.TABLE].$eq=e,s){const e={};e[t]=s;const a=(r||[]).map((t=>{const e={};return e[t]=s,e})),i={};i[N.TABLE]=s,n=[e,...a,i]}else n=[t,...r||[],N.TABLE];const o=q(t,e,r,s,a);return{index:{fields:n},ddoc:[o,N.DDOC].join(a),name:o}}const X="##VERSION##",Q="##PACKAGE##";t.registerLibrary(Q,X);export{$ as CouchDBAdapter,L as CouchDBConst,I as CouchDBGroupOperator,N as CouchDBKeys,S as CouchDBOperator,C as CouchDBPaginator,v as CouchDBQueryLimit,V as CouchDBRepository,B as CouchDBStatement,R as IndexError,Q as PACKAGE_NAME,X as VERSION,G as generateIndexDoc,q as generateIndexName,k as generateIndexes,z as reAuth,D as reservedAttributes,U as testReservedAttributes,_ as translateOperators,F as wrapDocumentScope};
|
|
2
2
|
//# sourceMappingURL=for-couchdb.js.map
|
package/dist/for-couchdb.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","generateIndexes","models","tableName","name","direction","compositions","separator","DefaultSeparator","map","n","join","generateIndexName","indexes","index","fields","ddoc","type","forEach","m","ind","Model","Object","entries","key","value","k","keys","directions","generate","sort","PersistenceKeys","reduce","accum","el","res","push","tableFilter","partial_filter_selector","d","values","IndexError","BaseError","constructor","msg","super","CouchDBPaginator","Paginator","total","InternalError","count","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","ctx","statement","_recordCount","_totalPages","results","raw","undefined","length","Math","ceil","validatePage","bookMark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","pk","Metadata","get","DBKeys","originalId","_id","split","splice","revert","Sequence","parseValue","_currentPage","translateOperators","operator","operators","find","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","indexOf","val","Error","s","result","orderBySelector","rec","limitSelector","offsetSelector","skip","paginate","e","processRecord","r","pkAttr","sequenceType","keyArgs","rawInput","args","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","ctxArgs","record","generateId","createAllPrefix","ids","records","updatePrefix","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","shouldRunHandlers","context","shouldValidate","oldModel","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldMetadata","oldModels","all","ignoredProps","errorMessages","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"for-couchdb.js","sources":["../src/constants.ts","../src/query/constants.ts","../src/indexes/generator.ts","../src/errors.ts","../src/query/Paginator.ts","../src/query/translate.ts","../src/query/Statement.ts","../src/adapter.ts","../src/repository.ts","../src/utils.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["reservedAttributes","CouchDBKeys","SEPARATOR","ID","REV","DELETED","TABLE","SEQUENCE","DDOC","NATIVE","INDEX","CouchDBQueryLimit","CouchDBOperator","EQUAL","DIFFERENT","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","NOT","IN","REGEXP","CouchDBGroupOperator","AND","OR","CouchDBConst","NULL","generateIndexes","models","tableName","name","direction","compositions","separator","DefaultSeparator","map","n","join","generateIndexName","indexes","index","fields","ddoc","type","forEach","m","ind","Model","Object","entries","key","value","k","keys","directions","generate","sort","PersistenceKeys","reduce","accum","el","res","push","tableFilter","partial_filter_selector","d","values","IndexError","BaseError","constructor","msg","super","CouchDBPaginator","Paginator","total","InternalError","count","adapter","query","size","clazz","prepare","rawStatement","assign","limit","this","page","ctx","statement","_recordCount","_totalPages","results","raw","undefined","length","Math","ceil","validatePage","bookMark","PagingError","rawResult","docs","bookmark","warning","log","for","warn","id","pk","Metadata","get","DBKeys","originalId","_id","split","splice","revert","Sequence","parseValue","_currentPage","translateOperators","operator","operators","find","QueryError","CouchDBStatement","Statement","build","selectors","fromSelector","selector","selectSelector","whereCondition","condition","parseCondition","Condition","and","attribute","eq","selectorKeys","indexOf","val","Error","s","result","orderBySelector","rec","limitSelector","offsetSelector","skip","paginate","e","processRecord","r","pkAttr","sequenceType","keyArgs","rawInput","args","logCtx","attr1","comparison","op","GroupOperator","Operator","op1","op2","obj1","obj2","merge","CouchDBAdapter","Adapter","scope","flavour","alias","create","createAll","update","updateAll","prefixMethod","initialize","managedModels","repository","CouchDBRepository","assignMetadata","model","rev","setMetadata","assignMultipleMetadata","revs","i","createPrefix","ctxArgs","record","generateId","createAllPrefix","ids","records","updatePrefix","METADATA","updateAllPrefix","parseError","err","reason","isReserved","attr","match","code","ConflictError","NotFoundError","message","statusCode","toString","ConnectionError","metadata","defineProperty","enumerable","configurable","writable","getMetadata","descriptor","getOwnPropertyDescriptor","removeMetadata","__decorate","final","prototype","Repository","target","source","apply","instance","carrier","metadataSource","Array","isArray","read","readAll","delete","deleteAll","contextArgs","Context","OperationKeys","UPDATE","class","_overrides","ignoreHandlers","context","ignoreValidate","oldModel","enforceDBDecorators","ON","errors","Promise","resolve","hasErrors","relations","ValidationError","oldMetadata","oldModels","all","ignoredProps","errorMessages","async","reAuth","con","user","pass","auth","wrapDocumentScope","dbName","db","use","original","call","testReservedAttributes","order","generateIndexDoc","partialFilterSelector","orderProp","sortedCompositions","c","sortedTable","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from "./query";
|
|
|
16
16
|
* @summary The version string of the for-couchdb package
|
|
17
17
|
* @const VERSION
|
|
18
18
|
*/
|
|
19
|
-
export declare const VERSION = "0.4.
|
|
19
|
+
export declare const VERSION = "0.4.8";
|
|
20
20
|
/**
|
|
21
21
|
* @description Stores the current package name
|
|
22
22
|
* @summary The version string of the for-couchdb package
|
package/lib/esm/index.js
CHANGED
|
@@ -17,7 +17,7 @@ export * from "./query/index.js";
|
|
|
17
17
|
* @summary The version string of the for-couchdb package
|
|
18
18
|
* @const VERSION
|
|
19
19
|
*/
|
|
20
|
-
export const VERSION = "0.4.
|
|
20
|
+
export const VERSION = "0.4.8";
|
|
21
21
|
/**
|
|
22
22
|
* @description Stores the current package name
|
|
23
23
|
* @summary The version string of the for-couchdb package
|
package/lib/esm/repository.js
CHANGED
|
@@ -74,16 +74,16 @@ export class CouchDBRepository extends Repository {
|
|
|
74
74
|
*/
|
|
75
75
|
async updatePrefix(model, ...args) {
|
|
76
76
|
const contextArgs = await Context.args(OperationKeys.UPDATE, this.class, args, this.adapter, this._overrides || {});
|
|
77
|
-
const
|
|
78
|
-
const
|
|
77
|
+
const ignoreHandlers = contextArgs.context.get("ignoreHandlers");
|
|
78
|
+
const ignoreValidate = contextArgs.context.get("ignoreValidation");
|
|
79
79
|
const pk = model[this.pk];
|
|
80
80
|
if (!pk)
|
|
81
81
|
throw new InternalError(`No value for the Id is defined under the property ${this.pk}`);
|
|
82
82
|
const oldModel = await this.read(pk, ...contextArgs.args);
|
|
83
83
|
model = Model.merge(oldModel, model, this.class);
|
|
84
|
-
if (
|
|
84
|
+
if (!ignoreHandlers)
|
|
85
85
|
await enforceDBDecorators(this, contextArgs.context, model, OperationKeys.UPDATE, OperationKeys.ON, oldModel);
|
|
86
|
-
if (
|
|
86
|
+
if (!ignoreValidate) {
|
|
87
87
|
const errors = await Promise.resolve(model.hasErrors(oldModel, ...Model.relations(this.class), ...(contextArgs.context.get("ignoredValidationProperties") || [])));
|
|
88
88
|
if (errors)
|
|
89
89
|
throw new ValidationError(errors.toString());
|
|
@@ -104,8 +104,8 @@ export class CouchDBRepository extends Repository {
|
|
|
104
104
|
*/
|
|
105
105
|
async updateAllPrefix(models, ...args) {
|
|
106
106
|
const contextArgs = await Context.args(OperationKeys.UPDATE, this.class, args, this.adapter, this._overrides || {});
|
|
107
|
-
const
|
|
108
|
-
const
|
|
107
|
+
const ignoreHandlers = contextArgs.context.get("ignoreHandlers");
|
|
108
|
+
const ignoreValidate = contextArgs.context.get("ignoreValidation");
|
|
109
109
|
const ids = models.map((m) => {
|
|
110
110
|
const id = m[this.pk];
|
|
111
111
|
if (!id)
|
|
@@ -120,9 +120,9 @@ export class CouchDBRepository extends Repository {
|
|
|
120
120
|
CouchDBAdapter.setMetadata(m, oldMetadata);
|
|
121
121
|
return m;
|
|
122
122
|
});
|
|
123
|
-
if (
|
|
123
|
+
if (!ignoreHandlers)
|
|
124
124
|
await Promise.all(models.map((m, i) => enforceDBDecorators(this, contextArgs.context, m, OperationKeys.UPDATE, OperationKeys.ON, oldModels[i])));
|
|
125
|
-
if (
|
|
125
|
+
if (!ignoreValidate) {
|
|
126
126
|
const ignoredProps = contextArgs.context.get("ignoredValidationProperties") || [];
|
|
127
127
|
const errors = await Promise.all(models.map((m, i) => Promise.resolve(m.hasErrors(oldModels[i], m, ...ignoredProps))));
|
|
128
128
|
const errorMessages = errors.reduce((accum, e, i) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repository.ts"],"names":[],"mappings":"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"}
|
package/lib/index.cjs
CHANGED
|
@@ -34,7 +34,7 @@ __exportStar(require("./query/index.cjs"), exports);
|
|
|
34
34
|
* @summary The version string of the for-couchdb package
|
|
35
35
|
* @const VERSION
|
|
36
36
|
*/
|
|
37
|
-
exports.VERSION = "0.4.
|
|
37
|
+
exports.VERSION = "0.4.8";
|
|
38
38
|
/**
|
|
39
39
|
* @description Stores the current package name
|
|
40
40
|
* @summary The version string of the for-couchdb package
|
package/lib/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ export * from "./query";
|
|
|
16
16
|
* @summary The version string of the for-couchdb package
|
|
17
17
|
* @const VERSION
|
|
18
18
|
*/
|
|
19
|
-
export declare const VERSION = "0.4.
|
|
19
|
+
export declare const VERSION = "0.4.8";
|
|
20
20
|
/**
|
|
21
21
|
* @description Stores the current package name
|
|
22
22
|
* @summary The version string of the for-couchdb package
|
package/lib/repository.cjs
CHANGED
|
@@ -77,16 +77,16 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
77
77
|
*/
|
|
78
78
|
async updatePrefix(model, ...args) {
|
|
79
79
|
const contextArgs = await db_decorators_1.Context.args(db_decorators_1.OperationKeys.UPDATE, this.class, args, this.adapter, this._overrides || {});
|
|
80
|
-
const
|
|
81
|
-
const
|
|
80
|
+
const ignoreHandlers = contextArgs.context.get("ignoreHandlers");
|
|
81
|
+
const ignoreValidate = contextArgs.context.get("ignoreValidation");
|
|
82
82
|
const pk = model[this.pk];
|
|
83
83
|
if (!pk)
|
|
84
84
|
throw new db_decorators_1.InternalError(`No value for the Id is defined under the property ${this.pk}`);
|
|
85
85
|
const oldModel = await this.read(pk, ...contextArgs.args);
|
|
86
86
|
model = decorator_validation_1.Model.merge(oldModel, model, this.class);
|
|
87
|
-
if (
|
|
87
|
+
if (!ignoreHandlers)
|
|
88
88
|
await (0, db_decorators_1.enforceDBDecorators)(this, contextArgs.context, model, db_decorators_1.OperationKeys.UPDATE, db_decorators_1.OperationKeys.ON, oldModel);
|
|
89
|
-
if (
|
|
89
|
+
if (!ignoreValidate) {
|
|
90
90
|
const errors = await Promise.resolve(model.hasErrors(oldModel, ...decorator_validation_1.Model.relations(this.class), ...(contextArgs.context.get("ignoredValidationProperties") || [])));
|
|
91
91
|
if (errors)
|
|
92
92
|
throw new db_decorators_1.ValidationError(errors.toString());
|
|
@@ -107,8 +107,8 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
107
107
|
*/
|
|
108
108
|
async updateAllPrefix(models, ...args) {
|
|
109
109
|
const contextArgs = await db_decorators_1.Context.args(db_decorators_1.OperationKeys.UPDATE, this.class, args, this.adapter, this._overrides || {});
|
|
110
|
-
const
|
|
111
|
-
const
|
|
110
|
+
const ignoreHandlers = contextArgs.context.get("ignoreHandlers");
|
|
111
|
+
const ignoreValidate = contextArgs.context.get("ignoreValidation");
|
|
112
112
|
const ids = models.map((m) => {
|
|
113
113
|
const id = m[this.pk];
|
|
114
114
|
if (!id)
|
|
@@ -123,9 +123,9 @@ class CouchDBRepository extends core_1.Repository {
|
|
|
123
123
|
adapter_1.CouchDBAdapter.setMetadata(m, oldMetadata);
|
|
124
124
|
return m;
|
|
125
125
|
});
|
|
126
|
-
if (
|
|
126
|
+
if (!ignoreHandlers)
|
|
127
127
|
await Promise.all(models.map((m, i) => (0, db_decorators_1.enforceDBDecorators)(this, contextArgs.context, m, db_decorators_1.OperationKeys.UPDATE, db_decorators_1.OperationKeys.ON, oldModels[i])));
|
|
128
|
-
if (
|
|
128
|
+
if (!ignoreValidate) {
|
|
129
129
|
const ignoredProps = contextArgs.context.get("ignoredValidationProperties") || [];
|
|
130
130
|
const errors = await Promise.all(models.map((m, i) => Promise.resolve(m.hasErrors(oldModels[i], m, ...ignoredProps))));
|
|
131
131
|
const errorMessages = errors.reduce((accum, e, i) => {
|
package/lib/repository.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../src/repository.ts"],"names":[],"mappings":"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"}
|