@decaf-ts/for-http 0.3.11 → 0.3.13

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.
Files changed (56) hide show
  1. package/README.md +1 -1
  2. package/dist/for-http.cjs +1 -1
  3. package/dist/for-http.cjs.map +1 -1
  4. package/dist/for-http.js +1 -1
  5. package/dist/for-http.js.map +1 -1
  6. package/lib/HttpPaginator.cjs +5 -56
  7. package/lib/HttpPaginator.d.ts +5 -6
  8. package/lib/HttpPaginator.js.map +1 -1
  9. package/lib/HttpStatement.cjs +7 -97
  10. package/lib/HttpStatement.d.ts +8 -6
  11. package/lib/HttpStatement.js.map +1 -1
  12. package/lib/ResponseParser.cjs +37 -0
  13. package/lib/ResponseParser.d.ts +14 -0
  14. package/lib/ResponseParser.js.map +1 -0
  15. package/lib/RestRepository.cjs +38 -10
  16. package/lib/RestRepository.d.ts +14 -3
  17. package/lib/RestRepository.js.map +1 -1
  18. package/lib/RestService.cjs +5 -2
  19. package/lib/RestService.d.ts +11 -2
  20. package/lib/RestService.js.map +1 -1
  21. package/lib/adapter.cjs +26 -14
  22. package/lib/adapter.d.ts +15 -15
  23. package/lib/adapter.js.map +1 -1
  24. package/lib/axios/axios.cjs +6 -6
  25. package/lib/axios/axios.d.ts +6 -6
  26. package/lib/axios/axios.js.map +1 -1
  27. package/lib/esm/HttpPaginator.d.ts +5 -6
  28. package/lib/esm/HttpPaginator.js +6 -57
  29. package/lib/esm/HttpPaginator.js.map +1 -1
  30. package/lib/esm/HttpStatement.d.ts +8 -6
  31. package/lib/esm/HttpStatement.js +8 -98
  32. package/lib/esm/HttpStatement.js.map +1 -1
  33. package/lib/esm/ResponseParser.d.ts +14 -0
  34. package/lib/esm/ResponseParser.js +32 -0
  35. package/lib/esm/ResponseParser.js.map +1 -0
  36. package/lib/esm/RestRepository.d.ts +14 -3
  37. package/lib/esm/RestRepository.js +38 -10
  38. package/lib/esm/RestRepository.js.map +1 -1
  39. package/lib/esm/RestService.d.ts +11 -2
  40. package/lib/esm/RestService.js +5 -2
  41. package/lib/esm/RestService.js.map +1 -1
  42. package/lib/esm/adapter.d.ts +15 -15
  43. package/lib/esm/adapter.js +27 -15
  44. package/lib/esm/adapter.js.map +1 -1
  45. package/lib/esm/axios/axios.d.ts +6 -6
  46. package/lib/esm/axios/axios.js +7 -7
  47. package/lib/esm/axios/axios.js.map +1 -1
  48. package/lib/esm/index.d.ts +5 -1
  49. package/lib/esm/index.js +7 -1
  50. package/lib/esm/index.js.map +1 -1
  51. package/lib/esm/types.d.ts +4 -9
  52. package/lib/index.cjs +8 -2
  53. package/lib/index.d.ts +5 -1
  54. package/lib/index.js.map +1 -1
  55. package/lib/types.d.ts +4 -9
  56. package/package.json +1 -1
package/README.md CHANGED
@@ -29,7 +29,7 @@ A lightweight HTTP adapter layer for decaf-ts that enables CRUD-style repositori
29
29
 
30
30
  Documentation available [here](https://decaf-ts.github.io/for-http/)
31
31
 
32
- Minimal size: 3.3 KB kb gzipped
32
+ Minimal size: 3 KB kb gzipped
33
33
 
34
34
 
35
35
  # decaf-ts/for-http — Detailed Description
package/dist/for-http.cjs CHANGED
@@ -1,2 +1,2 @@
1
- var e,t;e=this,t=function(e,t,r,s,a,i,o){"use strict";class n extends t.Repository{constructor(e,t){super(e,t)}url(e,t,r){return this.adapter.url(e,t,r)}async paginateBy(e,t,a,...i){const o=await r.Context.args("paginateBy",this.class,i,this.adapter,this._overrides||{}),{log:n,ctxArgs:c}=this.logCtx(o.args,this.paginateBy);return n.verbose(`paginating ${s.Model.tableName(this.class)} with page size ${a}`),await this.statement(this.paginateBy.name,e,t,a,...c)}async listBy(e,t,...a){const i=await r.Context.args("list",this.class,a,this.adapter,this._overrides||{}),{log:o,ctxArgs:n}=this.logCtx(i.args,this.listBy);return o.verbose(`listing ${s.Model.tableName(this.class)} by ${e} ${t}`),await this.statement(this.listBy.name,e,t,...n)}async findOneBy(e,t,...a){const i=await r.Context.args("findOneBy",this.class,a,this.adapter,this._overrides||{}),{log:o,ctxArgs:n}=this.logCtx(i.args,this.findOneBy);return o.verbose(`finding ${s.Model.tableName(this.class)} with ${e} ${t}`),await this.statement(this.findOneBy.name,e,t,...n)}async statement(e,...t){const s=await r.Context.args("statement",this.class,t,this.adapter,this._overrides||{}),{log:a,ctxArgs:i,ctx:o}=this.logCtx(s.args,this.statement),n={class:this.class,args:t,method:e},c=this.adapter.toRequest(n,o);return a.verbose("Executing prepared statement "+e),this.request(c,...i)}async request(e,...t){const s=await r.Context.args("request",this.class,t,this.adapter,this._overrides||{}),{ctxArgs:a}=this.logCtx(s.args,this.request);return this.adapter.request(e,...a)}}class c extends n{constructor(e,t){super(e,t),this._overrides={ignoreValidation:!0,ignoreHandlers:!0}}toString(){return s.Model.tableName(this.class)+" REST service"}}class l extends t.Paginator{constructor(e,t,r,s){super(e,t,r,s)}async page(e=1,...t){const s=await r.Context.args(r.OperationKeys.READ,this.clazz,t,this.adapter);let a=Object.assign({},this.statement,{args:[...this.statement.args],params:{...this.statement.params}});this.statement.method.includes("pageBy")||(a=this.prepare(a)),a.args.push(e),e=this.validatePage(e);const i=await this.adapter.raw(a,...s.args);return this._currentPage=e,i}prepare(e){let r=e.method.split(RegExp(`(${[t.QueryClause.FIND_BY,t.QueryClause.SELECT,t.QueryClause.ORDER_BY,t.QueryClause.GROUP_BY,t.QueryClause.AND,t.QueryClause.OR].join("|")})`,"i"));r=r.map((e=>e.trim())).filter(Boolean).filter((e=>![t.QueryClause.FIND_BY,t.QueryClause.SELECT,t.QueryClause.ORDER_BY,t.QueryClause.GROUP_BY,i.toPascalCase(t.OrderDirection.ASC),i.toPascalCase(t.OrderDirection.DSC)].find((t=>e.includes(t)))));const s=e.method.split(t.QueryClause.ORDER_BY);let a;if(s.length&&(a=s[1].split(RegExp(""+[i.toPascalCase(t.OrderDirection.ASC),i.toPascalCase(t.OrderDirection.DSC),t.QueryClause.GROUP_BY+".*",t.QueryClause.THEN_BY].join("|"),"i")).map((e=>e.trim())).filter(Boolean),a=[a[0],s[1].includes(i.toPascalCase(t.OrderDirection.ASC))?t.OrderDirection.ASC:t.OrderDirection.DSC]),1===r.length&&r[0]===a[0]){const t=r[0];return Object.assign({},e,{method:"pageBy",args:[i.toCamelCase(t),a[1],this.size]})}return Object.assign({},e,{method:e.method.replace(t.QueryClause.FIND_BY,"pageBy"),args:[...e.args,this.size]})}}class d extends t.Statement{constructor(e){super(e)}build(){const e=[t.QueryClause.FIND_BY],r=[],s={};if(this.whereCondition){const t=this.parseCondition(this.whereCondition);e.push(t.method),t.args&&t.args.length&&r.push(...t.args)}return this.selectSelector&&e.push(t.QueryClause.SELECT,this.selectSelector.join(` ${t.QueryClause.AND.toLowerCase()} `)),this.orderBySelector&&e.push(t.QueryClause.ORDER_BY,...this.orderBySelector),this.groupBySelector&&e.push(t.QueryClause.GROUP_BY,this.groupBySelector),this.limitSelector&&(s.limit=this.limitSelector),this.offsetSelector&&(s.skip=this.offsetSelector),{class:this.fromSelector,method:i.toCamelCase(e.join(" ")),args:r,params:Object.keys(s).length?s:void 0}}async paginate(e=10,...t){try{const t=this.build();return new l(this.adapter,t,e,this.fromSelector)}catch(e){throw new r.InternalError(e)}}parseCondition(e){let{attr1:r,operator:s,comparison:a}=e;const i={};switch(s){case t.GroupOperator.AND:case t.GroupOperator.OR:{let e=r,o=a;if("string"!=typeof r){const t=this.parseCondition(r);e=t.method,i.args=[...i.args||[],...t.args||[]]}if(a instanceof t.Condition){const e=this.parseCondition(a);o=e.method,i.args=[...i.args||[],...e.args||[]]}i.method=`${e} ${s.toLowerCase()} ${o}`;break}case t.Operator.EQUAL:i.method=r,i.args=[...i.args||[],a];break;case t.Operator.DIFFERENT:i.method=r+" diff",i.args=[...i.args||[],a];break;case t.Operator.REGEXP:i.method=r+" matches",i.args=[...i.args||[],a];break;case t.Operator.BIGGER:i.method=r+" bigger",i.args=[...i.args||[],a];break;case t.Operator.BIGGER_EQ:i.method=r+" bigger than equal";break;case t.Operator.SMALLER:i.method=r+" less",i.args=[...i.args||[],a];break;case t.Operator.SMALLER_EQ:i.method=r+" less than equal",i.args=[...i.args||[],a];break;case t.Operator.IN:i.method=r+" in",i.args=[...i.args||[],a];break;default:throw new t.QueryError("Unsupported operator "+s)}return i}}class u extends t.Adapter{constructor(e,t,r){super(e,t,r)}async flags(e,t,r){return Object.assign(await super.flags(e,t,r),{headers:{}})}repository(){return c}prepare(e,...r){const{log:a}=this.logCtx(r,this.prepare),i=Object.assign({},e);return e[t.PersistenceKeys.METADATA]&&(a.silly("Passing along persistence metadata for "+e[t.PersistenceKeys.METADATA]),Object.defineProperty(i,t.PersistenceKeys.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[t.PersistenceKeys.METADATA]})),{record:e,id:e[s.Model.pk(e.constructor)]}}revert(e,a,i,...o){const{log:n}=this.logCtx(o,this.revert),c={},l="string"==typeof a?s.Model.build(c,a):new a(c);n.silly(`Rebuilding model ${l.constructor.name} id ${i}`);const d="string"==typeof a?s.Model.get(a):a;if(!d)throw new r.InternalError("Failed to retrieve model constructor for "+a);const u=new d(e),h=e[t.PersistenceKeys.METADATA];return h&&(n.silly(`Passing along ${this.flavour} persistence metadata for ${l.constructor.name} id ${i}: ${h}`),Object.defineProperty(u,t.PersistenceKeys.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:h})),u}toTableName(e){return"string"==typeof e?e:i.toKebabCase(s.Model.tableName(e))}url(e,t,r){r||t&&!Array.isArray(t)&&(r=t,t=[]),e=this.toTableName(e);const s=new URL(`${this.config.protocol}://${this.config.host}/${e}${t&&t.length?"/"+t.join("/"):""}`);return r&&Object.entries(r).forEach((([e,t])=>s.searchParams.append(e,t.toString()))),encodeURI(s.toString()).replace(/\+/g,"%20")}extractIdArgs(e,t){const r=t.toString();if("string"==typeof e)return[r];const a=s.Model.composed(e,s.Model.pk(e));return a?r.split(a.separator):[r]}raw(e,...t){const{ctxArgs:r,ctx:s}=this.logCtx(t,this.raw),a=this.toRequest(e,s);return this.request(a,...r)}Sequence(e){return Promise.reject(new t.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(){return new d(this)}parseCondition(e){throw new t.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(e,...s){const a="string"==typeof e?e:e.message;return a.includes(r.NotFoundError.name)||a.includes("404")?new r.NotFoundError(e):a.includes(r.ConflictError.name)||a.includes("409")?new r.ConflictError(e):a.includes(r.BadRequestError.name)||a.includes("400")?new r.BadRequestError(e):a.includes(r.ValidationError.name)||a.includes("422")?new r.ValidationError(e):a.includes(t.QueryError.name)?new t.QueryError(e):a.includes(t.PagingError.name)?new t.PagingError(e):a.includes(t.UnsupportedError.name)?new t.UnsupportedError(e):a.includes(t.MigrationError.name)?new t.MigrationError(e):a.includes(t.ObserverError.name)?new t.ObserverError(e):a.includes(t.AuthorizationError.name)?new t.AuthorizationError(e):a.includes(t.ForbiddenError.name)?new t.ForbiddenError(e):a.includes(t.ConnectionError.name)?new t.ConnectionError(e):a.includes(r.SerializationError.name)?new r.SerializationError(e):new r.InternalError(e)}static decoration(){super.decoration(),a.Decoration.for(t.PersistenceKeys.QUERY).define({decorator:e=>(s,i,o)=>a.apply(a.methodMetadata(a.Metadata.key(t.PersistenceKeys.QUERY,i),e),t.prepared(),((e,t,s)=>{s.value=new Proxy(s.value,{async apply(e,s,a){const i=s,o=await r.Context.args(t,i.class,a,i.adapter,i._overrides||{}),{log:n,ctxArgs:c}=i.logCtx(o.args,e);return n.verbose("Running prepared statement "+e.name),n.debug("With args: "+JSON.stringify(a,null,2)),s.statement(e.name,...c)}})}))(s,i,o)}).apply()}}u.decoration();const h="axios";class g extends u{constructor(e,t){super(e,h,t)}getClient(){return new o.Axios({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(e,s){let a,i;e instanceof r.Context?(i=e,a=void 0):(a=e,i=s);const o={};if(i)try{o.headers=i.get("headers")||{}}catch(e){}return a&&(o.method="GET",o.url=this.url(a.class,[t.PersistenceKeys.STATEMENT,a.method,...a.args],a.params)),o}async request(e,...t){let r={};try{const{ctx:e}=this.logCtx(t,this.request);r=this.toRequest(e)}catch(e){}return this.client.request(Object.assign({},e,r))}async create(e,t,r,...s){const{log:a,ctx:i}=this.logCtx(s,this.create);try{const t=this.url(e),s=this.toRequest(i);return a.debug(`POSTing to ${t} with ${JSON.stringify(r)} and cfg ${JSON.stringify(s)}`),this.client.post(t,r,s)}catch(e){throw this.parseError(e)}}async read(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.read);try{const r=this.url(e,this.extractIdArgs(e,t)),i=this.toRequest(a);return s.debug(`GETing from ${r} and cfg ${JSON.stringify(i)}`),this.client.get(r)}catch(e){throw this.parseError(e)}}async update(e,t,r,...s){const{log:a,ctx:i}=this.logCtx(s,this.update);try{const s=this.url(e,this.extractIdArgs(e,t)),o=this.toRequest(i);return a.debug(`PUTing to ${s} with ${JSON.stringify(r)} and cfg ${JSON.stringify(o)}`),this.client.put(s,r)}catch(e){throw this.parseError(e)}}async delete(e,t,...r){const{log:s,ctx:a}=this.logCtx(r,this.delete);try{const r=this.url(e,this.extractIdArgs(e,t)),i=this.toRequest(a);return s.debug(`DELETEing from ${r} and cfg ${JSON.stringify(i)}`),this.client.delete(r)}catch(e){throw this.parseError(e)}}parseError(e,...t){return u.parseError(e,...t)}}g.decoration(),e.AxiosFlavour=h,e.AxiosHttpAdapter=g,e.HttpAdapter=u,e.RestRepository=n,e.RestService=c,e.VERSION="##VERSION##"},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("@decaf-ts/decoration"),require("@decaf-ts/logging"),require("axios")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","@decaf-ts/decoration","@decaf-ts/logging","axios"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-http"]={},e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.decafTsDecoration,e.decafTsLogging,e.axios);
1
+ var e,t;e=this,t=function(e,t,r,s,a,i,n){"use strict";class o extends t.Repository{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}url(e,t,r){return this.adapter.url(e,t,r)}async createAll(e,...t){return this.adapter.parseResponse(s.BulkCrudOperationKeys.CREATE_ALL,await super.createAll(e,...t))}async readAll(e,...t){return this.adapter.parseResponse(s.BulkCrudOperationKeys.READ_ALL,await super.readAll(e,...t))}async updateAll(e,...t){return this.adapter.parseResponse(s.BulkCrudOperationKeys.UPDATE_ALL,await super.updateAll(e,...t))}async deleteAll(e,...t){return this.adapter.parseResponse(s.BulkCrudOperationKeys.DELETE_ALL,await super.deleteAll(e,...t))}async paginateBy(e,r,s,...i){const n=await t.Context.args(t.PreparedStatementKeys.PAGE_BY,this.class,i,this.adapter,this._overrides||{}),{log:o,ctxArgs:c}=this.logCtx(n.args,this.paginateBy);return o.verbose(`paginating ${a.Model.tableName(this.class)} with page size ${s}`),this.select().orderBy([e,r]).paginate(s,...c)}async listBy(e,r,...s){const i=await t.Context.args("list",this.class,s,this.adapter,this._overrides||{}),{log:n,ctxArgs:o}=this.logCtx(i.args,this.listBy);return n.verbose(`listing ${a.Model.tableName(this.class)} by ${e} ${r}`),await this.statement(this.listBy.name,e,{direction:r},...o)}async findBy(e,r,...s){const i=await t.Context.args(t.PreparedStatementKeys.FIND_BY,this.class,s,this.adapter,this._overrides||{}),{log:n,ctxArgs:o}=this.logCtx(i.args,this.findBy);return n.verbose(`finding all ${a.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findBy.name,e,r,{},...o)}async findOneBy(e,r,...s){const i=await t.Context.args(t.PreparedStatementKeys.FIND_ONE_BY,this.class,s,this.adapter,this._overrides||{}),{log:n,ctxArgs:o}=this.logCtx(i.args,this.findOneBy);return n.verbose(`finding One ${a.Model.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findOneBy.name,e,r,{},...o)}async statement(e,...r){const s=await t.Context.args(t.PersistenceKeys.STATEMENT,this.class,r,this.adapter,this._overrides||{}),{log:a,ctxArgs:i,ctx:n}=this.logCtx(s.args,this.statement),o=r.pop(),c={class:this.class,args:r,method:e,params:o},d=this.adapter.toRequest(c,n);return a.verbose("Executing prepared statement "+e),this.adapter.parseResponse(e,await this.request(d,...i))}async request(e,...r){const s=await t.Context.args("request",this.class,r,this.adapter,this._overrides||{}),{ctxArgs:a}=this.logCtx(s.args,this.request);return this.adapter.request(e,...a)}}class c extends o{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return a.Model.tableName(this.class)+" REST service"}}class d extends t.Statement{constructor(e,t){super(e,t)}build(){throw new t.UnsupportedError("This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required")}parseCondition(e,...r){throw new t.UnsupportedError("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class l extends t.Paginator{constructor(e,t,r,s){super(e,t,r,s)}prepare(e){throw new t.UnsupportedError("Raw query access must be implemented by a subclass. only prepared statements are natively available")}page(e=1,...t){return super.page(e,...t)}}class p{parse(e,t){return t}}class u extends t.Adapter{constructor(e,t,r){super(Object.assign({},e,{responseParser:e.responseParser||new p}),t,r)}async flags(e,t,r,...s){const a=await super.flags(e,t,r,...s);return Object.assign({},a,{headers:a.headers??{}})}repository(){return c}prepare(e,...r){const{log:s}=this.logCtx(r,this.prepare),i=Object.assign({},e);return e[t.PersistenceKeys.METADATA]&&(s.silly("Passing along persistence metadata for "+e[t.PersistenceKeys.METADATA]),Object.defineProperty(i,t.PersistenceKeys.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[t.PersistenceKeys.METADATA]})),{record:e,id:e[a.Model.pk(e.constructor)]}}revert(e,r,i,...n){const{log:o}=this.logCtx(n,this.revert),c={},d="string"==typeof r?a.Model.build(c,r):new r(c);o.silly(`Rebuilding model ${d.constructor.name} id ${i}`);const l="string"==typeof r?a.Model.get(r):r;if(!l)throw new s.InternalError("Failed to retrieve model constructor for "+r);const p=new l(e),u=e[t.PersistenceKeys.METADATA];return u&&(o.silly(`Passing along ${this.flavour} persistence metadata for ${d.constructor.name} id ${i}: ${u}`),Object.defineProperty(p,t.PersistenceKeys.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:u})),p}toTableName(e){return"string"==typeof e?e:i.toKebabCase(a.Model.tableName(e))}url(e,t,r){r||t&&!Array.isArray(t)&&(r=t,t=[]),e=this.toTableName(e);const s=new URL(`${this.config.protocol}://${this.config.host}/${e}${t&&t.length?"/"+t.join("/"):""}`);return r&&Object.entries(r).forEach(([e,t])=>s.searchParams.append(e,t.toString())),encodeURI(s.toString()).replace(/\+/g,"%20")}extractIdArgs(e,t){const r=t.toString();if("string"==typeof e)return[r];const s=a.Model.composed(e,a.Model.pk(e));return s?r.split(s.separator):[r]}parseResponse(e,t){if(!this.config.responseParser)throw new s.InternalError("No response parser configured");return this.config.responseParser.parse(e,t)}raw(e,...t){const{ctxArgs:r,ctx:s}=this.logCtx(t,this.raw),a=this.toRequest(e,s);return this.request(a,...r)}Sequence(e){return Promise.reject(new t.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(e){return new d(this,e)}Paginator(e,t,r){return new l(this,e,t,r)}parseCondition(e){throw new t.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(e,...r){const a="string"==typeof e?e:e.message;return a.includes(s.NotFoundError.name)||a.includes("404")?new s.NotFoundError(e):a.includes(s.ConflictError.name)||a.includes("409")?new s.ConflictError(e):a.includes(s.BadRequestError.name)||a.includes("400")?new s.BadRequestError(e):a.includes(s.ValidationError.name)||a.includes("422")?new s.ValidationError(e):a.includes(t.QueryError.name)?new t.QueryError(e):a.includes(t.PagingError.name)?new t.PagingError(e):a.includes(t.UnsupportedError.name)?new t.UnsupportedError(e):a.includes(t.MigrationError.name)?new t.MigrationError(e):a.includes(t.ObserverError.name)?new t.ObserverError(e):a.includes(t.AuthorizationError.name)?new t.AuthorizationError(e):a.includes(t.ForbiddenError.name)?new t.ForbiddenError(e):a.includes(t.ConnectionError.name)?new t.ConnectionError(e):a.includes(s.SerializationError.name)?new s.SerializationError(e):new s.InternalError(e)}static decoration(){super.decoration(),r.Decoration.for(t.PersistenceKeys.QUERY).define({decorator:e=>(s,a,i)=>r.apply(r.methodMetadata(r.Metadata.key(t.PersistenceKeys.QUERY,a),e),t.prepared(),(e,r,s)=>{s.value=new Proxy(s.value,{async apply(e,s,a){const i=s,n=await t.Context.args(r,i.class,a,i.adapter,i._overrides||{}),{log:o,ctxArgs:c}=i.logCtx(n.args,e);return o.verbose("Running prepared statement "+e.name),o.debug("With args: "+JSON.stringify(a,null,2)),s.statement(e.name,...c)}})})(s,a,i)}).apply()}}u.decoration();const h="axios";class g extends u{constructor(e,t){super(e,h,t)}getClient(){return new n.Axios({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(e,r){let s,a;e instanceof t.Context?(a=e,s=void 0):(s=e,a=r);const i={};if(a)try{i.headers=a.get("headers")||{}}catch(e){}return s&&(i.method="GET",i.url=this.url(s.class,[t.PersistenceKeys.STATEMENT,s.method,...s.args||[]],s.params)),i}async request(e,...t){let r={};try{const{ctx:e}=this.logCtx(t,this.request);r=this.toRequest(e)}catch(e){}return this.client.request(Object.assign({},e,r))}async create(e,t,r,...a){const{log:i,ctx:n}=this.logCtx(a,this.create);try{const t=this.url(e),a=this.toRequest(n);return i.debug(`POSTing to ${t} with ${JSON.stringify(r)} and cfg ${JSON.stringify(a)}`),this.parseResponse(s.OperationKeys.CREATE,await this.client.post(t,r,a))}catch(e){throw this.parseError(e)}}async read(e,t,...r){const{log:a,ctx:i}=this.logCtx(r,this.read);try{const r=this.url(e,this.extractIdArgs(e,t)),n=this.toRequest(i);return a.debug(`GETing from ${r} and cfg ${JSON.stringify(n)}`),this.parseResponse(s.OperationKeys.READ,await this.client.get(r))}catch(e){throw this.parseError(e)}}async update(e,t,r,...a){const{log:i,ctx:n}=this.logCtx(a,this.update);try{const a=this.url(e,this.extractIdArgs(e,t)),o=this.toRequest(n);return i.debug(`PUTing to ${a} with ${JSON.stringify(r)} and cfg ${JSON.stringify(o)}`),this.parseResponse(s.OperationKeys.UPDATE,await this.client.put(a,r))}catch(e){throw this.parseError(e)}}async delete(e,t,...r){const{log:a,ctx:i}=this.logCtx(r,this.delete);try{const r=this.url(e,this.extractIdArgs(e,t)),n=this.toRequest(i);return a.debug(`DELETEing from ${r} and cfg ${JSON.stringify(n)}`),this.parseResponse(s.OperationKeys.DELETE,await this.client.delete(r))}catch(e){throw this.parseError(e)}}parseError(e,...t){return u.parseError(e,...t)}}g.decoration();const y="##VERSION##",E="##PACKAGE##";r.Metadata.registerLibrary(E,y),e.AxiosFlavour=h,e.AxiosHttpAdapter=g,e.HttpAdapter=u,e.HttpPaginator=l,e.HttpStatement=d,e.NestJSResponseParser=class extends p{parse(e,r){if(200>r.status||r.status>=300)throw u.parseError(r.status.toString());switch(e){case s.OperationKeys.CREATE:case s.OperationKeys.READ:case s.OperationKeys.UPDATE:case s.OperationKeys.DELETE:case s.BulkCrudOperationKeys.CREATE_ALL:case s.BulkCrudOperationKeys.READ_ALL:case s.BulkCrudOperationKeys.UPDATE_ALL:case s.BulkCrudOperationKeys.DELETE_ALL:case t.PreparedStatementKeys.FIND_BY:case t.PreparedStatementKeys.FIND_ONE_BY:case t.PreparedStatementKeys.LIST_BY:case t.PreparedStatementKeys.PAGE_BY:}return r.data}},e.PACKAGE_NAME=E,e.ResponseParser=p,e.RestRepository=o,e.RestService=c,e.VERSION=y},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@decaf-ts/core"),require("@decaf-ts/decoration"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("@decaf-ts/logging"),require("axios")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/core","@decaf-ts/decoration","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","@decaf-ts/logging","axios"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["for-http"]={},e.decafTsCore,e.decafTsDecoration,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.decafTsLogging,e.axios);
2
2
  //# sourceMappingURL=for-http.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-http.cjs","sources":["../src/RestRepository.ts","../src/RestService.ts","../src/HttpPaginator.ts","../src/HttpStatement.ts","../src/adapter.ts","../src/axios/constants.ts","../src/axios/axios.ts","../src/axios/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["RestRepository","Repository","constructor","adapter","clazz","super","url","tableName","pathParams","queryParams","this","paginateBy","key","order","size","args","contextArgs","Context","class","_overrides","log","ctxArgs","logCtx","verbose","Model","statement","name","listBy","findOneBy","value","ctx","query","method","req","toRequest","request","details","RestService","ignoreValidation","ignoreHandlers","toString","HttpPaginator","Paginator","page","OperationKeys","READ","Object","assign","params","includes","prepare","push","validatePage","results","raw","_currentPage","rawStatement","attrs","split","RegExp","QueryClause","FIND_BY","SELECT","ORDER_BY","GROUP_BY","AND","OR","join","map","s","trim","filter","Boolean","toPascalCase","OrderDirection","ASC","DSC","find","c","fullOrderBy","orderBy","length","THEN_BY","attr","toCamelCase","replace","HttpStatement","Statement","build","whereCondition","parsed","parseCondition","selectSelector","toLowerCase","orderBySelector","groupBySelector","limitSelector","limit","offsetSelector","skip","fromSelector","keys","undefined","paginate","e","InternalError","condition","attr1","operator","comparison","result","GroupOperator","side1","side2","condition1","Condition","condition2","Operator","EQUAL","DIFFERENT","REGEXP","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","IN","QueryError","HttpAdapter","Adapter","config","flavour","alias","flags","operation","model","overrides","headers","repository","PersistenceKeys","METADATA","silly","defineProperty","enumerable","writable","configurable","record","id","pk","revert","obj","ob","m","constr","get","metadata","toTableName","t","toKebabCase","Array","isArray","URL","protocol","host","entries","forEach","searchParams","append","encodeURI","extractIdArgs","idStr","composed","separator","rawInput","Sequence","options","Promise","reject","UnsupportedError","parseError","err","msg","message","NotFoundError","ConflictError","BadRequestError","ValidationError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","decoration","Decoration","for","QUERY","define","decorator","prop","descriptor","apply","methodMetadata","Metadata","prepared","propertyKey","Proxy","target","thisArg","repo","debug","JSON","stringify","AxiosFlavour","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","STATEMENT","client","create","cfg","post","read","update","put","delete"],"mappings":"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"}
1
+ {"version":3,"file":"for-http.cjs","sources":["../src/RestRepository.ts","../src/RestService.ts","../src/HttpStatement.ts","../src/HttpPaginator.ts","../src/ResponseParser.ts","../src/adapter.ts","../src/axios/constants.ts","../src/axios/axios.ts","../src/axios/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["RestRepository","Repository","constructor","adapter","clazz","super","this","_overrides","Object","assign","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","url","tableName","pathParams","queryParams","createAll","models","args","parseResponse","BulkCrudOperationKeys","CREATE_ALL","readAll","keys","READ_ALL","updateAll","UPDATE_ALL","deleteAll","DELETE_ALL","paginateBy","key","order","size","contextArgs","Context","PreparedStatementKeys","PAGE_BY","class","log","ctxArgs","logCtx","verbose","Model","select","orderBy","paginate","listBy","statement","name","direction","findBy","value","FIND_BY","findOneBy","FIND_ONE_BY","PersistenceKeys","STATEMENT","ctx","params","pop","query","method","req","toRequest","request","details","RestService","ignoreValidation","ignoreHandlers","toString","HttpStatement","Statement","overrides","build","UnsupportedError","parseCondition","condition","HttpPaginator","Paginator","prepare","rawStatement","page","ResponseParser","parse","response","HttpAdapter","Adapter","config","flavour","alias","responseParser","flags","operation","model","headers","repository","result","METADATA","silly","defineProperty","enumerable","writable","configurable","record","id","pk","revert","obj","ob","m","constr","get","InternalError","metadata","toTableName","t","toKebabCase","Array","isArray","URL","protocol","host","length","join","entries","forEach","searchParams","append","encodeURI","replace","extractIdArgs","idStr","composed","split","separator","res","raw","rawInput","Sequence","options","Promise","reject","parseError","err","msg","message","includes","NotFoundError","ConflictError","BadRequestError","ValidationError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","decoration","Decoration","for","QUERY","define","decorator","prop","descriptor","apply","methodMetadata","Metadata","prepared","propertyKey","Proxy","target","thisArg","repo","debug","JSON","stringify","AxiosFlavour","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","undefined","e","client","create","cfg","OperationKeys","CREATE","post","read","READ","update","UPDATE","put","delete","DELETE","VERSION","PACKAGE_NAME","registerLibrary","status","LIST_BY","data"],"mappings":"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"}
package/dist/for-http.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Repository as t,Paginator as e,QueryClause as s,OrderDirection as r,Statement as a,QueryError as i,Operator as n,GroupOperator as o,Condition as c,Adapter as l,PersistenceKeys as h,UnsupportedError as g,PagingError as d,MigrationError as u,ObserverError as p,AuthorizationError as m,ForbiddenError as f,ConnectionError as y,prepared as w}from"@decaf-ts/core";import{Context as b,OperationKeys as E,InternalError as x,NotFoundError as A,ConflictError as S,BadRequestError as R,ValidationError as B,SerializationError as $}from"@decaf-ts/db-decorators";import{Model as C}from"@decaf-ts/decorator-validation";import{Decoration as O,apply as v,methodMetadata as T,Metadata as N}from"@decaf-ts/decoration";import{toPascalCase as D,toCamelCase as _,toKebabCase as q}from"@decaf-ts/logging";import{Axios as j}from"axios";class I extends t{constructor(t,e){super(t,e)}url(t,e,s){return this.adapter.url(t,e,s)}async paginateBy(t,e,s,...r){const a=await b.args("paginateBy",this.class,r,this.adapter,this._overrides||{}),{log:i,ctxArgs:n}=this.logCtx(a.args,this.paginateBy);return i.verbose(`paginating ${C.tableName(this.class)} with page size ${s}`),await this.statement(this.paginateBy.name,t,e,s,...n)}async listBy(t,e,...s){const r=await b.args("list",this.class,s,this.adapter,this._overrides||{}),{log:a,ctxArgs:i}=this.logCtx(r.args,this.listBy);return a.verbose(`listing ${C.tableName(this.class)} by ${t} ${e}`),await this.statement(this.listBy.name,t,e,...i)}async findOneBy(t,e,...s){const r=await b.args("findOneBy",this.class,s,this.adapter,this._overrides||{}),{log:a,ctxArgs:i}=this.logCtx(r.args,this.findOneBy);return a.verbose(`finding ${C.tableName(this.class)} with ${t} ${e}`),await this.statement(this.findOneBy.name,t,e,...i)}async statement(t,...e){const s=await b.args("statement",this.class,e,this.adapter,this._overrides||{}),{log:r,ctxArgs:a,ctx:i}=this.logCtx(s.args,this.statement),n={class:this.class,args:e,method:t},o=this.adapter.toRequest(n,i);return r.verbose("Executing prepared statement "+t),this.request(o,...a)}async request(t,...e){const s=await b.args("request",this.class,e,this.adapter,this._overrides||{}),{ctxArgs:r}=this.logCtx(s.args,this.request);return this.adapter.request(t,...r)}}class P extends I{constructor(t,e){super(t,e),this._overrides={ignoreValidation:!0,ignoreHandlers:!0}}toString(){return C.tableName(this.class)+" REST service"}}class Y extends e{constructor(t,e,s,r){super(t,e,s,r)}async page(t=1,...e){const s=await b.args(E.READ,this.clazz,e,this.adapter);let r=Object.assign({},this.statement,{args:[...this.statement.args],params:{...this.statement.params}});this.statement.method.includes("pageBy")||(r=this.prepare(r)),r.args.push(t),t=this.validatePage(t);const a=await this.adapter.raw(r,...s.args);return this._currentPage=t,a}prepare(t){let e=t.method.split(RegExp(`(${[s.FIND_BY,s.SELECT,s.ORDER_BY,s.GROUP_BY,s.AND,s.OR].join("|")})`,"i"));e=e.map((t=>t.trim())).filter(Boolean).filter((t=>![s.FIND_BY,s.SELECT,s.ORDER_BY,s.GROUP_BY,D(r.ASC),D(r.DSC)].find((e=>t.includes(e)))));const a=t.method.split(s.ORDER_BY);let i;if(a.length&&(i=a[1].split(RegExp(""+[D(r.ASC),D(r.DSC),s.GROUP_BY+".*",s.THEN_BY].join("|"),"i")).map((t=>t.trim())).filter(Boolean),i=[i[0],a[1].includes(D(r.ASC))?r.ASC:r.DSC]),1===e.length&&e[0]===i[0]){const s=e[0];return Object.assign({},t,{method:"pageBy",args:[_(s),i[1],this.size]})}return Object.assign({},t,{method:t.method.replace(s.FIND_BY,"pageBy"),args:[...t.args,this.size]})}}class k extends a{constructor(t){super(t)}build(){const t=[s.FIND_BY],e=[],r={};if(this.whereCondition){const s=this.parseCondition(this.whereCondition);t.push(s.method),s.args&&s.args.length&&e.push(...s.args)}return this.selectSelector&&t.push(s.SELECT,this.selectSelector.join(` ${s.AND.toLowerCase()} `)),this.orderBySelector&&t.push(s.ORDER_BY,...this.orderBySelector),this.groupBySelector&&t.push(s.GROUP_BY,this.groupBySelector),this.limitSelector&&(r.limit=this.limitSelector),this.offsetSelector&&(r.skip=this.offsetSelector),{class:this.fromSelector,method:_(t.join(" ")),args:e,params:Object.keys(r).length?r:void 0}}async paginate(t=10,...e){try{const e=this.build();return new Y(this.adapter,e,t,this.fromSelector)}catch(t){throw new x(t)}}parseCondition(t){let{attr1:e,operator:s,comparison:r}=t;const a={};switch(s){case o.AND:case o.OR:{let t=e,i=r;if("string"!=typeof e){const s=this.parseCondition(e);t=s.method,a.args=[...a.args||[],...s.args||[]]}if(r instanceof c){const t=this.parseCondition(r);i=t.method,a.args=[...a.args||[],...t.args||[]]}a.method=`${t} ${s.toLowerCase()} ${i}`;break}case n.EQUAL:a.method=e,a.args=[...a.args||[],r];break;case n.DIFFERENT:a.method=e+" diff",a.args=[...a.args||[],r];break;case n.REGEXP:a.method=e+" matches",a.args=[...a.args||[],r];break;case n.BIGGER:a.method=e+" bigger",a.args=[...a.args||[],r];break;case n.BIGGER_EQ:a.method=e+" bigger than equal";break;case n.SMALLER:a.method=e+" less",a.args=[...a.args||[],r];break;case n.SMALLER_EQ:a.method=e+" less than equal",a.args=[...a.args||[],r];break;case n.IN:a.method=e+" in",a.args=[...a.args||[],r];break;default:throw new i("Unsupported operator "+s)}return a}}class L extends l{constructor(t,e,s){super(t,e,s)}async flags(t,e,s){return Object.assign(await super.flags(t,e,s),{headers:{}})}repository(){return P}prepare(t,...e){const{log:s}=this.logCtx(e,this.prepare),r=Object.assign({},t);return t[h.METADATA]&&(s.silly("Passing along persistence metadata for "+t[h.METADATA]),Object.defineProperty(r,h.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:t[h.METADATA]})),{record:t,id:t[C.pk(t.constructor)]}}revert(t,e,s,...r){const{log:a}=this.logCtx(r,this.revert),i={},n="string"==typeof e?C.build(i,e):new e(i);a.silly(`Rebuilding model ${n.constructor.name} id ${s}`);const o="string"==typeof e?C.get(e):e;if(!o)throw new x("Failed to retrieve model constructor for "+e);const c=new o(t),l=t[h.METADATA];return l&&(a.silly(`Passing along ${this.flavour} persistence metadata for ${n.constructor.name} id ${s}: ${l}`),Object.defineProperty(c,h.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:l})),c}toTableName(t){return"string"==typeof t?t:q(C.tableName(t))}url(t,e,s){s||e&&!Array.isArray(e)&&(s=e,e=[]),t=this.toTableName(t);const r=new URL(`${this.config.protocol}://${this.config.host}/${t}${e&&e.length?"/"+e.join("/"):""}`);return s&&Object.entries(s).forEach((([t,e])=>r.searchParams.append(t,e.toString()))),encodeURI(r.toString()).replace(/\+/g,"%20")}extractIdArgs(t,e){const s=e.toString();if("string"==typeof t)return[s];const r=C.composed(t,C.pk(t));return r?s.split(r.separator):[s]}raw(t,...e){const{ctxArgs:s,ctx:r}=this.logCtx(e,this.raw),a=this.toRequest(t,r);return this.request(a,...s)}Sequence(t){return Promise.reject(new g("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(){return new k(this)}parseCondition(t){throw new g("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(t,...e){const s="string"==typeof t?t:t.message;return s.includes(A.name)||s.includes("404")?new A(t):s.includes(S.name)||s.includes("409")?new S(t):s.includes(R.name)||s.includes("400")?new R(t):s.includes(B.name)||s.includes("422")?new B(t):s.includes(i.name)?new i(t):s.includes(d.name)?new d(t):s.includes(g.name)?new g(t):s.includes(u.name)?new u(t):s.includes(p.name)?new p(t):s.includes(m.name)?new m(t):s.includes(f.name)?new f(t):s.includes(y.name)?new y(t):s.includes($.name)?new $(t):new x(t)}static decoration(){super.decoration(),O.for(h.QUERY).define({decorator:t=>(e,s,r)=>v(T(N.key(h.QUERY,s),t),w(),((t,e,s)=>{s.value=new Proxy(s.value,{async apply(t,s,r){const a=s,i=await b.args(e,a.class,r,a.adapter,a._overrides||{}),{log:n,ctxArgs:o}=a.logCtx(i.args,t);return n.verbose("Running prepared statement "+t.name),n.debug("With args: "+JSON.stringify(r,null,2)),s.statement(t.name,...o)}})}))(e,s,r)}).apply()}}L.decoration();const U="axios";class G extends L{constructor(t,e){super(t,U,e)}getClient(){return new j({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(t,e){let s,r;t instanceof b?(r=t,s=void 0):(s=t,r=e);const a={};if(r)try{a.headers=r.get("headers")||{}}catch(t){}return s&&(a.method="GET",a.url=this.url(s.class,[h.STATEMENT,s.method,...s.args],s.params)),a}async request(t,...e){let s={};try{const{ctx:t}=this.logCtx(e,this.request);s=this.toRequest(t)}catch(t){}return this.client.request(Object.assign({},t,s))}async create(t,e,s,...r){const{log:a,ctx:i}=this.logCtx(r,this.create);try{const e=this.url(t),r=this.toRequest(i);return a.debug(`POSTing to ${e} with ${JSON.stringify(s)} and cfg ${JSON.stringify(r)}`),this.client.post(e,s,r)}catch(t){throw this.parseError(t)}}async read(t,e,...s){const{log:r,ctx:a}=this.logCtx(s,this.read);try{const s=this.url(t,this.extractIdArgs(t,e)),i=this.toRequest(a);return r.debug(`GETing from ${s} and cfg ${JSON.stringify(i)}`),this.client.get(s)}catch(t){throw this.parseError(t)}}async update(t,e,s,...r){const{log:a,ctx:i}=this.logCtx(r,this.update);try{const r=this.url(t,this.extractIdArgs(t,e)),n=this.toRequest(i);return a.debug(`PUTing to ${r} with ${JSON.stringify(s)} and cfg ${JSON.stringify(n)}`),this.client.put(r,s)}catch(t){throw this.parseError(t)}}async delete(t,e,...s){const{log:r,ctx:a}=this.logCtx(s,this.delete);try{const s=this.url(t,this.extractIdArgs(t,e)),i=this.toRequest(a);return r.debug(`DELETEing from ${s} and cfg ${JSON.stringify(i)}`),this.client.delete(s)}catch(t){throw this.parseError(t)}}parseError(t,...e){return L.parseError(t,...e)}}G.decoration();const M="##VERSION##";export{U as AxiosFlavour,G as AxiosHttpAdapter,L as HttpAdapter,I as RestRepository,P as RestService,M as VERSION};
1
+ import{Repository as e,Context as t,PreparedStatementKeys as s,PersistenceKeys as r,Statement as a,UnsupportedError as i,Paginator as n,Adapter as o,QueryError as c,PagingError as l,MigrationError as d,ObserverError as u,AuthorizationError as h,ForbiddenError as p,ConnectionError as g,prepared as m}from"@decaf-ts/core";import{Decoration as w,apply as f,methodMetadata as A,Metadata as y}from"@decaf-ts/decoration";import{BulkCrudOperationKeys as E,OperationKeys as x,InternalError as b,NotFoundError as T,ConflictError as R,BadRequestError as v,ValidationError as $,SerializationError as _}from"@decaf-ts/db-decorators";import{Model as q}from"@decaf-ts/decorator-validation";import{toKebabCase as C}from"@decaf-ts/logging";import{Axios as L}from"axios";class N extends e{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}url(e,t,s){return this.adapter.url(e,t,s)}async createAll(e,...t){return this.adapter.parseResponse(E.CREATE_ALL,await super.createAll(e,...t))}async readAll(e,...t){return this.adapter.parseResponse(E.READ_ALL,await super.readAll(e,...t))}async updateAll(e,...t){return this.adapter.parseResponse(E.UPDATE_ALL,await super.updateAll(e,...t))}async deleteAll(e,...t){return this.adapter.parseResponse(E.DELETE_ALL,await super.deleteAll(e,...t))}async paginateBy(e,r,a,...i){const n=await t.args(s.PAGE_BY,this.class,i,this.adapter,this._overrides||{}),{log:o,ctxArgs:c}=this.logCtx(n.args,this.paginateBy);return o.verbose(`paginating ${q.tableName(this.class)} with page size ${a}`),this.select().orderBy([e,r]).paginate(a,...c)}async listBy(e,s,...r){const a=await t.args("list",this.class,r,this.adapter,this._overrides||{}),{log:i,ctxArgs:n}=this.logCtx(a.args,this.listBy);return i.verbose(`listing ${q.tableName(this.class)} by ${e} ${s}`),await this.statement(this.listBy.name,e,{direction:s},...n)}async findBy(e,r,...a){const i=await t.args(s.FIND_BY,this.class,a,this.adapter,this._overrides||{}),{log:n,ctxArgs:o}=this.logCtx(i.args,this.findBy);return n.verbose(`finding all ${q.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findBy.name,e,r,{},...o)}async findOneBy(e,r,...a){const i=await t.args(s.FIND_ONE_BY,this.class,a,this.adapter,this._overrides||{}),{log:n,ctxArgs:o}=this.logCtx(i.args,this.findOneBy);return n.verbose(`finding One ${q.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findOneBy.name,e,r,{},...o)}async statement(e,...s){const a=await t.args(r.STATEMENT,this.class,s,this.adapter,this._overrides||{}),{log:i,ctxArgs:n,ctx:o}=this.logCtx(a.args,this.statement),c=s.pop(),l={class:this.class,args:s,method:e,params:c},d=this.adapter.toRequest(l,o);return i.verbose("Executing prepared statement "+e),this.adapter.parseResponse(e,await this.request(d,...n))}async request(e,...s){const r=await t.args("request",this.class,s,this.adapter,this._overrides||{}),{ctxArgs:a}=this.logCtx(r.args,this.request);return this.adapter.request(e,...a)}}class P extends N{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return q.tableName(this.class)+" REST service"}}class O extends a{constructor(e,t){super(e,t)}build(){throw new i("This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required")}parseCondition(e,...t){throw new i("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class S extends n{constructor(e,t,s,r){super(e,t,s,r)}prepare(e){throw new i("Raw query access must be implemented by a subclass. only prepared statements are natively available")}page(e=1,...t){return super.page(e,...t)}}class D{parse(e,t){return t}}class B extends D{parse(e,t){if(200>t.status||t.status>=300)throw I.parseError(t.status.toString());switch(e){case x.CREATE:case x.READ:case x.UPDATE:case x.DELETE:case E.CREATE_ALL:case E.READ_ALL:case E.UPDATE_ALL:case E.DELETE_ALL:case s.FIND_BY:case s.FIND_ONE_BY:case s.LIST_BY:case s.PAGE_BY:}return t.data}}class I extends o{constructor(e,t,s){super(Object.assign({},e,{responseParser:e.responseParser||new D}),t,s)}async flags(e,t,s,...r){const a=await super.flags(e,t,s,...r);return Object.assign({},a,{headers:a.headers??{}})}repository(){return P}prepare(e,...t){const{log:s}=this.logCtx(t,this.prepare),a=Object.assign({},e);return e[r.METADATA]&&(s.silly("Passing along persistence metadata for "+e[r.METADATA]),Object.defineProperty(a,r.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[r.METADATA]})),{record:e,id:e[q.pk(e.constructor)]}}revert(e,t,s,...a){const{log:i}=this.logCtx(a,this.revert),n={},o="string"==typeof t?q.build(n,t):new t(n);i.silly(`Rebuilding model ${o.constructor.name} id ${s}`);const c="string"==typeof t?q.get(t):t;if(!c)throw new b("Failed to retrieve model constructor for "+t);const l=new c(e),d=e[r.METADATA];return d&&(i.silly(`Passing along ${this.flavour} persistence metadata for ${o.constructor.name} id ${s}: ${d}`),Object.defineProperty(l,r.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:d})),l}toTableName(e){return"string"==typeof e?e:C(q.tableName(e))}url(e,t,s){s||t&&!Array.isArray(t)&&(s=t,t=[]),e=this.toTableName(e);const r=new URL(`${this.config.protocol}://${this.config.host}/${e}${t&&t.length?"/"+t.join("/"):""}`);return s&&Object.entries(s).forEach(([e,t])=>r.searchParams.append(e,t.toString())),encodeURI(r.toString()).replace(/\+/g,"%20")}extractIdArgs(e,t){const s=t.toString();if("string"==typeof e)return[s];const r=q.composed(e,q.pk(e));return r?s.split(r.separator):[s]}parseResponse(e,t){if(!this.config.responseParser)throw new b("No response parser configured");return this.config.responseParser.parse(e,t)}raw(e,...t){const{ctxArgs:s,ctx:r}=this.logCtx(t,this.raw),a=this.toRequest(e,r);return this.request(a,...s)}Sequence(e){return Promise.reject(new i("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(e){return new O(this,e)}Paginator(e,t,s){return new S(this,e,t,s)}parseCondition(e){throw new i("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(e,...t){const s="string"==typeof e?e:e.message;return s.includes(T.name)||s.includes("404")?new T(e):s.includes(R.name)||s.includes("409")?new R(e):s.includes(v.name)||s.includes("400")?new v(e):s.includes($.name)||s.includes("422")?new $(e):s.includes(c.name)?new c(e):s.includes(l.name)?new l(e):s.includes(i.name)?new i(e):s.includes(d.name)?new d(e):s.includes(u.name)?new u(e):s.includes(h.name)?new h(e):s.includes(p.name)?new p(e):s.includes(g.name)?new g(e):s.includes(_.name)?new _(e):new b(e)}static decoration(){super.decoration(),w.for(r.QUERY).define({decorator:e=>(s,a,i)=>f(A(y.key(r.QUERY,a),e),m(),(e,s,r)=>{r.value=new Proxy(r.value,{async apply(e,r,a){const i=r,n=await t.args(s,i.class,a,i.adapter,i._overrides||{}),{log:o,ctxArgs:c}=i.logCtx(n.args,e);return o.verbose("Running prepared statement "+e.name),o.debug("With args: "+JSON.stringify(a,null,2)),r.statement(e.name,...c)}})})(s,a,i)}).apply()}}I.decoration();const j="axios";class U extends I{constructor(e,t){super(e,j,t)}getClient(){return new L({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(e,s){let a,i;e instanceof t?(i=e,a=void 0):(a=e,i=s);const n={};if(i)try{n.headers=i.get("headers")||{}}catch(e){}return a&&(n.method="GET",n.url=this.url(a.class,[r.STATEMENT,a.method,...a.args||[]],a.params)),n}async request(e,...t){let s={};try{const{ctx:e}=this.logCtx(t,this.request);s=this.toRequest(e)}catch(e){}return this.client.request(Object.assign({},e,s))}async create(e,t,s,...r){const{log:a,ctx:i}=this.logCtx(r,this.create);try{const t=this.url(e),r=this.toRequest(i);return a.debug(`POSTing to ${t} with ${JSON.stringify(s)} and cfg ${JSON.stringify(r)}`),this.parseResponse(x.CREATE,await this.client.post(t,s,r))}catch(e){throw this.parseError(e)}}async read(e,t,...s){const{log:r,ctx:a}=this.logCtx(s,this.read);try{const s=this.url(e,this.extractIdArgs(e,t)),i=this.toRequest(a);return r.debug(`GETing from ${s} and cfg ${JSON.stringify(i)}`),this.parseResponse(x.READ,await this.client.get(s))}catch(e){throw this.parseError(e)}}async update(e,t,s,...r){const{log:a,ctx:i}=this.logCtx(r,this.update);try{const r=this.url(e,this.extractIdArgs(e,t)),n=this.toRequest(i);return a.debug(`PUTing to ${r} with ${JSON.stringify(s)} and cfg ${JSON.stringify(n)}`),this.parseResponse(x.UPDATE,await this.client.put(r,s))}catch(e){throw this.parseError(e)}}async delete(e,t,...s){const{log:r,ctx:a}=this.logCtx(s,this.delete);try{const s=this.url(e,this.extractIdArgs(e,t)),i=this.toRequest(a);return r.debug(`DELETEing from ${s} and cfg ${JSON.stringify(i)}`),this.parseResponse(x.DELETE,await this.client.delete(s))}catch(e){throw this.parseError(e)}}parseError(e,...t){return I.parseError(e,...t)}}U.decoration();const Y="##VERSION##",M="##PACKAGE##";y.registerLibrary(M,Y);export{j as AxiosFlavour,U as AxiosHttpAdapter,I as HttpAdapter,S as HttpPaginator,O as HttpStatement,B as NestJSResponseParser,M as PACKAGE_NAME,D as ResponseParser,N as RestRepository,P as RestService,Y as VERSION};
2
2
  //# sourceMappingURL=for-http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"for-http.js","sources":["../src/RestRepository.ts","../src/RestService.ts","../src/HttpPaginator.ts","../src/HttpStatement.ts","../src/adapter.ts","../src/axios/constants.ts","../src/axios/axios.ts","../src/axios/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null],"names":["RestRepository","Repository","constructor","adapter","clazz","super","url","tableName","pathParams","queryParams","this","paginateBy","key","order","size","args","contextArgs","Context","class","_overrides","log","ctxArgs","logCtx","verbose","Model","statement","name","listBy","findOneBy","value","ctx","query","method","req","toRequest","request","details","RestService","ignoreValidation","ignoreHandlers","toString","HttpPaginator","Paginator","page","OperationKeys","READ","Object","assign","params","includes","prepare","push","validatePage","results","raw","_currentPage","rawStatement","attrs","split","RegExp","QueryClause","FIND_BY","SELECT","ORDER_BY","GROUP_BY","AND","OR","join","map","s","trim","filter","Boolean","toPascalCase","OrderDirection","ASC","DSC","find","c","fullOrderBy","orderBy","length","THEN_BY","attr","toCamelCase","replace","HttpStatement","Statement","build","whereCondition","parsed","parseCondition","selectSelector","toLowerCase","orderBySelector","groupBySelector","limitSelector","limit","offsetSelector","skip","fromSelector","keys","undefined","paginate","e","InternalError","condition","attr1","operator","comparison","result","GroupOperator","side1","side2","condition1","Condition","condition2","Operator","EQUAL","DIFFERENT","REGEXP","BIGGER","BIGGER_EQ","SMALLER","SMALLER_EQ","IN","QueryError","HttpAdapter","Adapter","config","flavour","alias","flags","operation","model","overrides","headers","repository","PersistenceKeys","METADATA","silly","defineProperty","enumerable","writable","configurable","record","id","pk","revert","obj","ob","m","constr","get","metadata","toTableName","t","toKebabCase","Array","isArray","URL","protocol","host","entries","forEach","searchParams","append","encodeURI","extractIdArgs","idStr","composed","separator","rawInput","Sequence","options","Promise","reject","UnsupportedError","parseError","err","msg","message","NotFoundError","ConflictError","BadRequestError","ValidationError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","decoration","Decoration","for","QUERY","define","decorator","prop","descriptor","apply","methodMetadata","Metadata","prepared","propertyKey","Proxy","target","thisArg","repo","debug","JSON","stringify","AxiosFlavour","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","STATEMENT","client","create","cfg","post","read","update","put","delete","VERSION"],"mappings":"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"}
1
+ {"version":3,"file":"for-http.js","sources":["../src/RestRepository.ts","../src/RestService.ts","../src/HttpStatement.ts","../src/HttpPaginator.ts","../src/ResponseParser.ts","../src/adapter.ts","../src/axios/constants.ts","../src/axios/axios.ts","../src/axios/index.ts","../src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null],"names":["RestRepository","Repository","constructor","adapter","clazz","super","this","_overrides","Object","assign","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","url","tableName","pathParams","queryParams","createAll","models","args","parseResponse","BulkCrudOperationKeys","CREATE_ALL","readAll","keys","READ_ALL","updateAll","UPDATE_ALL","deleteAll","DELETE_ALL","paginateBy","key","order","size","contextArgs","Context","PreparedStatementKeys","PAGE_BY","class","log","ctxArgs","logCtx","verbose","Model","select","orderBy","paginate","listBy","statement","name","direction","findBy","value","FIND_BY","findOneBy","FIND_ONE_BY","PersistenceKeys","STATEMENT","ctx","params","pop","query","method","req","toRequest","request","details","RestService","ignoreValidation","ignoreHandlers","toString","HttpStatement","Statement","overrides","build","UnsupportedError","parseCondition","condition","HttpPaginator","Paginator","prepare","rawStatement","page","ResponseParser","parse","response","NestJSResponseParser","status","HttpAdapter","parseError","OperationKeys","CREATE","READ","UPDATE","DELETE","LIST_BY","data","Adapter","config","flavour","alias","responseParser","flags","operation","model","headers","repository","result","METADATA","silly","defineProperty","enumerable","writable","configurable","record","id","pk","revert","obj","ob","m","constr","get","InternalError","metadata","toTableName","t","toKebabCase","Array","isArray","URL","protocol","host","length","join","entries","forEach","searchParams","append","encodeURI","replace","extractIdArgs","idStr","composed","split","separator","res","raw","rawInput","Sequence","options","Promise","reject","err","msg","message","includes","NotFoundError","ConflictError","BadRequestError","ValidationError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","decoration","Decoration","for","QUERY","define","decorator","prop","descriptor","apply","methodMetadata","Metadata","prepared","propertyKey","Proxy","target","thisArg","repo","debug","JSON","stringify","AxiosFlavour","AxiosHttpAdapter","getClient","Axios","baseURL","ctxOrQuery","context","undefined","e","client","create","cfg","post","read","update","put","delete","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"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"}
@@ -2,67 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpPaginator = void 0;
4
4
  const core_1 = require("@decaf-ts/core");
5
- const db_decorators_1 = require("@decaf-ts/db-decorators");
6
- const logging_1 = require("@decaf-ts/logging");
7
5
  class HttpPaginator extends core_1.Paginator {
8
6
  constructor(adapter, query, size, clazz) {
9
7
  super(adapter, query, size, clazz);
10
8
  }
11
- async page(page = 1, ...args) {
12
- const contextArgs = await db_decorators_1.Context.args(db_decorators_1.OperationKeys.READ, this.clazz, args, this.adapter);
13
- let statement = Object.assign({}, this.statement, {
14
- args: [...this.statement.args],
15
- params: { ...this.statement.params },
16
- });
17
- if (!this.statement.method.includes("pageBy"))
18
- statement = this.prepare(statement);
19
- statement.args.push(page);
20
- page = this.validatePage(page);
21
- const results = await this.adapter.raw(statement, ...contextArgs.args);
22
- this._currentPage = page;
23
- return results;
24
- }
9
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
25
10
  prepare(rawStatement) {
26
- // only support main attr for now before implementing pageBy
27
- let attrs = rawStatement.method.split(new RegExp(`(${[core_1.QueryClause.FIND_BY, core_1.QueryClause.SELECT, core_1.QueryClause.ORDER_BY, core_1.QueryClause.GROUP_BY, core_1.QueryClause.AND, core_1.QueryClause.OR].join("|")})`, "i"));
28
- attrs = attrs
29
- .map((s) => s.trim())
30
- .filter(Boolean)
31
- .filter((s) => ![
32
- core_1.QueryClause.FIND_BY,
33
- core_1.QueryClause.SELECT,
34
- core_1.QueryClause.ORDER_BY,
35
- core_1.QueryClause.GROUP_BY,
36
- (0, logging_1.toPascalCase)(core_1.OrderDirection.ASC),
37
- (0, logging_1.toPascalCase)(core_1.OrderDirection.DSC),
38
- ].find((c) => s.includes(c)));
39
- const fullOrderBy = rawStatement.method.split(core_1.QueryClause.ORDER_BY);
40
- let orderBy;
41
- if (fullOrderBy.length) {
42
- orderBy = fullOrderBy[1]
43
- .split(new RegExp(`${[(0, logging_1.toPascalCase)(core_1.OrderDirection.ASC), (0, logging_1.toPascalCase)(core_1.OrderDirection.DSC), core_1.QueryClause.GROUP_BY + ".*", core_1.QueryClause.THEN_BY].join("|")}`, "i"))
44
- .map((s) => s.trim())
45
- .filter(Boolean);
46
- orderBy = [
47
- orderBy[0],
48
- fullOrderBy[1].includes((0, logging_1.toPascalCase)(core_1.OrderDirection.ASC))
49
- ? core_1.OrderDirection.ASC
50
- : core_1.OrderDirection.DSC,
51
- ];
52
- }
53
- if (attrs.length === 1 && attrs[0] === orderBy[0]) {
54
- const attr = attrs[0];
55
- return Object.assign({}, rawStatement, {
56
- method: "pageBy",
57
- args: [(0, logging_1.toCamelCase)(attr), orderBy[1], this.size],
58
- });
59
- }
60
- else {
61
- return Object.assign({}, rawStatement, {
62
- method: rawStatement.method.replace(core_1.QueryClause.FIND_BY, "pageBy"),
63
- args: [...rawStatement.args, this.size],
64
- });
65
- }
11
+ throw new core_1.UnsupportedError(`Raw query access must be implemented by a subclass. only prepared statements are natively available`);
12
+ }
13
+ page(page = 1, ...args) {
14
+ return super.page(page, ...args); // this will fail for non-prepared statements
66
15
  }
67
16
  }
68
17
  exports.HttpPaginator = HttpPaginator;
@@ -1,10 +1,9 @@
1
- import { Paginator } from "@decaf-ts/core";
1
+ import { MaybeContextualArg, Paginator, PreparedStatement } from "@decaf-ts/core";
2
2
  import { Model } from "@decaf-ts/decorator-validation";
3
- import { HttpQuery } from "./types";
4
3
  import { Constructor } from "@decaf-ts/decoration";
5
4
  import { HttpAdapter } from "./adapter";
6
- export declare class HttpPaginator<M extends Model, A extends HttpAdapter<any, any, any, HttpQuery, any>> extends Paginator<M, M, HttpQuery> {
7
- constructor(adapter: A, query: HttpQuery, size: number, clazz: Constructor<M>);
8
- page(page?: number, ...args: any[]): Promise<M[]>;
9
- protected prepare(rawStatement: HttpQuery): HttpQuery;
5
+ export declare class HttpPaginator<M extends Model, Q extends PreparedStatement<M>, A extends HttpAdapter<any, any, any, Q, any>> extends Paginator<M, M, Q> {
6
+ constructor(adapter: A, query: Q, size: number, clazz: Constructor<M>);
7
+ protected prepare(rawStatement: Q): Q;
8
+ page(page?: number, ...args: MaybeContextualArg<any>): Promise<M[]>;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpPaginator.js","sourceRoot":"","sources":["../src/HttpPaginator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpPaginator.js","sourceRoot":"","sources":["../src/HttpPaginator.ts"],"names":[],"mappings":";;;AAAA,yCAKwB;AAKxB,MAAa,aAIX,SAAQ,gBAAkB;IAC1B,YAAY,OAAU,EAAE,KAAQ,EAAE,IAAY,EAAE,KAAqB;QACnE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,6DAA6D;IACnD,OAAO,CAAC,YAAe;QAC/B,MAAM,IAAI,uBAAgB,CACxB,qGAAqG,CACtG,CAAC;IACJ,CAAC;IAEQ,IAAI,CACX,OAAe,CAAC,EAChB,GAAG,IAA6B;QAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,6CAA6C;IACjF,CAAC;CACF;AAtBD,sCAsBC"}
@@ -2,109 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpStatement = void 0;
4
4
  const core_1 = require("@decaf-ts/core");
5
- const logging_1 = require("@decaf-ts/logging");
6
- const HttpPaginator_1 = require("./HttpPaginator.cjs");
7
- const db_decorators_1 = require("@decaf-ts/db-decorators");
8
5
  class HttpStatement extends core_1.Statement {
9
- constructor(adapter) {
10
- super(adapter);
6
+ constructor(adapter, overrides) {
7
+ super(adapter, overrides);
11
8
  }
12
9
  build() {
13
- const method = [core_1.QueryClause.FIND_BY];
14
- const args = [];
15
- const params = {};
16
- if (this.whereCondition) {
17
- const parsed = this.parseCondition(this.whereCondition);
18
- method.push(parsed.method);
19
- if (parsed.args && parsed.args.length)
20
- args.push(...parsed.args);
21
- }
22
- if (this.selectSelector)
23
- method.push(core_1.QueryClause.SELECT, this.selectSelector.join(` ${core_1.QueryClause.AND.toLowerCase()} `));
24
- if (this.orderBySelector)
25
- method.push(core_1.QueryClause.ORDER_BY, ...this.orderBySelector);
26
- if (this.groupBySelector)
27
- method.push(core_1.QueryClause.GROUP_BY, this.groupBySelector);
28
- if (this.limitSelector)
29
- params.limit = this.limitSelector;
30
- if (this.offsetSelector) {
31
- params.skip = this.offsetSelector;
32
- }
33
- return {
34
- class: this.fromSelector,
35
- method: (0, logging_1.toCamelCase)(method.join(" ")),
36
- args: args,
37
- params: Object.keys(params).length ? params : undefined,
38
- };
10
+ throw new core_1.UnsupportedError(`This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required`);
39
11
  }
40
- async paginate(size = 10,
12
+ parseCondition(
13
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
+ condition,
41
15
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
16
  ...args) {
43
- try {
44
- const query = this.build();
45
- return new HttpPaginator_1.HttpPaginator(this.adapter, query, size, this.fromSelector);
46
- }
47
- catch (e) {
48
- throw new db_decorators_1.InternalError(e);
49
- }
50
- }
51
- parseCondition(condition) {
52
- // @ts-expect-error accessing protected properties
53
- // eslint-disable-next-line prefer-const
54
- let { attr1, operator, comparison } = condition;
55
- const result = {};
56
- switch (operator) {
57
- case core_1.GroupOperator.AND:
58
- case core_1.GroupOperator.OR: {
59
- let side1 = attr1, side2 = comparison;
60
- if (typeof attr1 !== "string") {
61
- const condition1 = this.parseCondition(attr1);
62
- side1 = condition1.method;
63
- result.args = [...(result.args || []), ...(condition1.args || [])];
64
- }
65
- if (comparison instanceof core_1.Condition) {
66
- const condition2 = this.parseCondition(comparison);
67
- side2 = condition2.method;
68
- result.args = [...(result.args || []), ...(condition2.args || [])];
69
- }
70
- result.method = `${side1} ${operator.toLowerCase()} ${side2}`;
71
- break;
72
- }
73
- case core_1.Operator.EQUAL:
74
- result.method = attr1;
75
- result.args = [...(result.args || []), comparison];
76
- break;
77
- case core_1.Operator.DIFFERENT:
78
- result.method = `${attr1} diff`;
79
- result.args = [...(result.args || []), comparison];
80
- break;
81
- case core_1.Operator.REGEXP:
82
- result.method = `${attr1} matches`;
83
- result.args = [...(result.args || []), comparison];
84
- break;
85
- case core_1.Operator.BIGGER:
86
- result.method = `${attr1} bigger`;
87
- result.args = [...(result.args || []), comparison];
88
- break;
89
- case core_1.Operator.BIGGER_EQ:
90
- result.method = `${attr1} bigger than equal`;
91
- break;
92
- case core_1.Operator.SMALLER:
93
- result.method = `${attr1} less`;
94
- result.args = [...(result.args || []), comparison];
95
- break;
96
- case core_1.Operator.SMALLER_EQ:
97
- result.method = `${attr1} less than equal`;
98
- result.args = [...(result.args || []), comparison];
99
- break;
100
- case core_1.Operator.IN:
101
- result.method = `${attr1} in`;
102
- result.args = [...(result.args || []), comparison];
103
- break;
104
- default:
105
- throw new core_1.QueryError(`Unsupported operator ${operator}`);
106
- }
107
- return result;
17
+ throw new core_1.UnsupportedError(`This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required`);
108
18
  }
109
19
  }
110
20
  exports.HttpStatement = HttpStatement;
@@ -1,9 +1,11 @@
1
- import { Condition, ContextOf, MaybeContextualArg, Paginator, Statement } from "@decaf-ts/core";
1
+ import { Condition, Statement } from "@decaf-ts/core";
2
2
  import { Model } from "@decaf-ts/decorator-validation";
3
3
  import { HttpAdapter } from "./adapter";
4
- export declare class HttpStatement<M extends Model, A extends HttpAdapter<any, any, any, any, any>, R> extends Statement<M, A, R, A extends HttpAdapter<any, any, any, infer Q, any> ? Q : never> {
5
- constructor(adapter: A);
6
- protected build(): A extends HttpAdapter<any, any, any, infer Q, any> ? Q : never;
7
- paginate(size?: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<Paginator<M, R, A extends HttpAdapter<any, any, any, infer Q, any> ? Q : never>>;
8
- protected parseCondition(condition: Condition<M>): A extends HttpAdapter<any, any, any, infer Q, any> ? Q : never;
4
+ import type { AdapterFlags } from "@decaf-ts/core";
5
+ type HttpAdapterQuery<T extends HttpAdapter<any, any, any, any, any>> = T extends HttpAdapter<any, any, any, infer Q, any> ? Q : never;
6
+ export declare class HttpStatement<M extends Model, A extends HttpAdapter<any, any, any, any, any>, R> extends Statement<M, A, R, HttpAdapterQuery<A>> {
7
+ constructor(adapter: A, overrides?: Partial<AdapterFlags>);
8
+ protected build(): HttpAdapterQuery<A>;
9
+ protected parseCondition(condition: Condition<M>, ...args: any[]): HttpAdapterQuery<A>;
9
10
  }
11
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"HttpStatement.js","sourceRoot":"","sources":["../src/HttpStatement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpStatement.js","sourceRoot":"","sources":["../src/HttpStatement.ts"],"names":[],"mappings":";;;AAAA,yCAAwE;AAQxE,MAAa,aAIX,SAAQ,gBAAuC;IAC/C,YAAY,OAAU,EAAE,SAAiC;QACvD,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IAEkB,KAAK;QACtB,MAAM,IAAI,uBAAgB,CACxB,2IAA2I,CAC5I,CAAC;IACJ,CAAC;IAEkB,cAAc;IAC/B,6DAA6D;IAC7D,SAAuB;IACvB,6DAA6D;IAC7D,GAAG,IAAW;QAEd,MAAM,IAAI,uBAAgB,CACxB,2IAA2I,CAC5I,CAAC;IACJ,CAAC;CACF;AAzBD,sCAyBC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NestJSResponseParser = exports.ResponseParser = void 0;
4
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
5
+ const core_1 = require("@decaf-ts/core");
6
+ const adapter_1 = require("./adapter.cjs");
7
+ class ResponseParser {
8
+ parse(method, response) {
9
+ return response;
10
+ }
11
+ }
12
+ exports.ResponseParser = ResponseParser;
13
+ class NestJSResponseParser extends ResponseParser {
14
+ parse(method, response) {
15
+ if (!(response.status >= 200 && response.status < 300))
16
+ throw adapter_1.HttpAdapter.parseError(response.status.toString());
17
+ switch (method) {
18
+ case db_decorators_1.OperationKeys.CREATE:
19
+ case db_decorators_1.OperationKeys.READ:
20
+ case db_decorators_1.OperationKeys.UPDATE:
21
+ case db_decorators_1.OperationKeys.DELETE:
22
+ case db_decorators_1.BulkCrudOperationKeys.CREATE_ALL:
23
+ case db_decorators_1.BulkCrudOperationKeys.READ_ALL:
24
+ case db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL:
25
+ case db_decorators_1.BulkCrudOperationKeys.DELETE_ALL:
26
+ case core_1.PreparedStatementKeys.FIND_BY:
27
+ case core_1.PreparedStatementKeys.FIND_ONE_BY:
28
+ case core_1.PreparedStatementKeys.LIST_BY:
29
+ case core_1.PreparedStatementKeys.PAGE_BY:
30
+ case "statement":
31
+ default:
32
+ return response.data;
33
+ }
34
+ }
35
+ }
36
+ exports.NestJSResponseParser = NestJSResponseParser;
37
+ //# sourceMappingURL=ResponseParser.js.map
@@ -0,0 +1,14 @@
1
+ export declare class ResponseParser<RESPONSE = any> {
2
+ parse(method: string, response: RESPONSE): any;
3
+ }
4
+ export declare class NestJSResponseParser extends ResponseParser<{
5
+ status: number;
6
+ raw: any;
7
+ data: any;
8
+ }> {
9
+ parse(method: string, response: {
10
+ status: number;
11
+ raw: any;
12
+ data: any;
13
+ }): any;
14
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseParser.js","sourceRoot":"","sources":["../src/ResponseParser.ts"],"names":[],"mappings":";;;AAAA,2DAA+E;AAC/E,yCAAuD;AACvD,2CAAwC;AAExC,MAAa,cAAc;IACzB,KAAK,CAAC,MAAc,EAAE,QAAkB;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAJD,wCAIC;AAED,MAAa,oBAAqB,SAAQ,cAIxC;IACS,KAAK,CACZ,MAAc,EACd,QAIC;QAED,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC;YACpD,MAAM,qBAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,6BAAa,CAAC,MAAM,CAAC;YAC1B,KAAK,6BAAa,CAAC,IAAI,CAAC;YACxB,KAAK,6BAAa,CAAC,MAAM,CAAC;YAC1B,KAAK,6BAAa,CAAC,MAAM,CAAC;YAC1B,KAAK,qCAAqB,CAAC,UAAU,CAAC;YACtC,KAAK,qCAAqB,CAAC,QAAQ,CAAC;YACpC,KAAK,qCAAqB,CAAC,UAAU,CAAC;YACtC,KAAK,qCAAqB,CAAC,UAAU,CAAC;YACtC,KAAK,4BAAqB,CAAC,OAAO,CAAC;YACnC,KAAK,4BAAqB,CAAC,WAAW,CAAC;YACvC,KAAK,4BAAqB,CAAC,OAAO,CAAC;YACnC,KAAK,4BAAqB,CAAC,OAAO,CAAC;YACnC,KAAK,WAAW,CAAC;YACjB;gBACE,OAAO,QAAQ,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;CACF;AAlCD,oDAkCC"}