@decaf-ts/for-http 0.3.11 → 0.3.12

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 (50) 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/RestRepository.cjs +25 -10
  13. package/lib/RestRepository.d.ts +9 -3
  14. package/lib/RestRepository.js.map +1 -1
  15. package/lib/RestService.cjs +5 -2
  16. package/lib/RestService.d.ts +11 -2
  17. package/lib/RestService.js.map +1 -1
  18. package/lib/adapter.cjs +17 -13
  19. package/lib/adapter.d.ts +14 -15
  20. package/lib/adapter.js.map +1 -1
  21. package/lib/axios/axios.cjs +2 -3
  22. package/lib/axios/axios.d.ts +6 -6
  23. package/lib/axios/axios.js.map +1 -1
  24. package/lib/esm/HttpPaginator.d.ts +5 -6
  25. package/lib/esm/HttpPaginator.js +6 -57
  26. package/lib/esm/HttpPaginator.js.map +1 -1
  27. package/lib/esm/HttpStatement.d.ts +8 -6
  28. package/lib/esm/HttpStatement.js +8 -98
  29. package/lib/esm/HttpStatement.js.map +1 -1
  30. package/lib/esm/RestRepository.d.ts +9 -3
  31. package/lib/esm/RestRepository.js +23 -8
  32. package/lib/esm/RestRepository.js.map +1 -1
  33. package/lib/esm/RestService.d.ts +11 -2
  34. package/lib/esm/RestService.js +5 -2
  35. package/lib/esm/RestService.js.map +1 -1
  36. package/lib/esm/adapter.d.ts +14 -15
  37. package/lib/esm/adapter.js +18 -14
  38. package/lib/esm/adapter.js.map +1 -1
  39. package/lib/esm/axios/axios.d.ts +6 -6
  40. package/lib/esm/axios/axios.js +2 -3
  41. package/lib/esm/axios/axios.js.map +1 -1
  42. package/lib/esm/index.d.ts +4 -1
  43. package/lib/esm/index.js +6 -1
  44. package/lib/esm/index.js.map +1 -1
  45. package/lib/esm/types.d.ts +2 -9
  46. package/lib/index.cjs +7 -2
  47. package/lib/index.d.ts +4 -1
  48. package/lib/index.js.map +1 -1
  49. package/lib/types.d.ts +2 -9
  50. 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: 2.7 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 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("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.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 u extends t.Adapter{constructor(e,t,r){super(e,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 u=new l(e),g=e[t.PersistenceKeys.METADATA];return g&&(o.silly(`Passing along ${this.flavour} persistence metadata for ${d.constructor.name} id ${i}: ${g}`),Object.defineProperty(u,t.PersistenceKeys.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:g})),u}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]}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 g="axios";class h extends u{constructor(e,t){super(e,g,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,...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)),n=this.toRequest(i);return a.debug(`PUTing to ${s} with ${JSON.stringify(r)} and cfg ${JSON.stringify(n)}`),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)}}h.decoration();const p="##VERSION##",f="##PACKAGE##";r.Metadata.registerLibrary(f,p),e.AxiosFlavour=g,e.AxiosHttpAdapter=h,e.HttpAdapter=u,e.HttpPaginator=l,e.HttpStatement=d,e.PACKAGE_NAME=f,e.RestRepository=o,e.RestService=c,e.VERSION=p},"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/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","this","_overrides","Object","assign","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","url","tableName","pathParams","queryParams","paginateBy","key","order","size","args","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","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","HttpAdapter","Adapter","config","flavour","alias","flags","operation","model","headers","repository","result","PersistenceKeys","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","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","STATEMENT","client","create","cfg","post","read","update","put","delete","VERSION","PACKAGE_NAME","registerLibrary"],"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,Statement as r,UnsupportedError as a,Paginator as i,Adapter as n,PersistenceKeys as o,QueryError as c,PagingError as l,MigrationError as d,ObserverError as h,AuthorizationError as u,ForbiddenError as g,ConnectionError as p,prepared as m}from"@decaf-ts/core";import{Decoration as f,apply as y,methodMetadata as w,Metadata as x}from"@decaf-ts/decoration";import{InternalError as b,NotFoundError as A,ConflictError as v,BadRequestError as $,ValidationError as E,SerializationError as q}from"@decaf-ts/db-decorators";import{Model as T}from"@decaf-ts/decorator-validation";import{toKebabCase as O}from"@decaf-ts/logging";import{Axios as C}from"axios";class S 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 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 ${T.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 ${T.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 ${T.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 ${T.tableName(this.class)} with ${e} ${r}`),await this.statement(this.findOneBy.name,e,r,{},...o)}async statement(e,...s){const r=await t.args("statement",this.class,s,this.adapter,this._overrides||{}),{log:a,ctxArgs:i,ctx:n}=this.logCtx(r.args,this.statement),o=s.pop(),c={class:this.class,args:s,method:e,params:o},l=this.adapter.toRequest(c,n);return a.verbose("Executing prepared statement "+e),this.request(l,...i)}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 N extends S{constructor(e,t){super(e,t),this._overrides=Object.assign({},super._overrides,{ignoreValidation:!0,ignoreHandlers:!0,allowRawStatements:!1,forcePrepareSimpleQueries:!0,forcePrepareComplexQueries:!0})}toString(){return T.tableName(this.class)+" REST service"}}class R extends r{constructor(e,t){super(e,t)}build(){throw new a("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 a("This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required")}}class P extends i{constructor(e,t,s,r){super(e,t,s,r)}prepare(e){throw new a("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 B extends n{constructor(e,t,s){super(e,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 N}prepare(e,...t){const{log:s}=this.logCtx(t,this.prepare),r=Object.assign({},e);return e[o.METADATA]&&(s.silly("Passing along persistence metadata for "+e[o.METADATA]),Object.defineProperty(r,o.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[o.METADATA]})),{record:e,id:e[T.pk(e.constructor)]}}revert(e,t,s,...r){const{log:a}=this.logCtx(r,this.revert),i={},n="string"==typeof t?T.build(i,t):new t(i);a.silly(`Rebuilding model ${n.constructor.name} id ${s}`);const c="string"==typeof t?T.get(t):t;if(!c)throw new b("Failed to retrieve model constructor for "+t);const l=new c(e),d=e[o.METADATA];return d&&(a.silly(`Passing along ${this.flavour} persistence metadata for ${n.constructor.name} id ${s}: ${d}`),Object.defineProperty(l,o.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:d})),l}toTableName(e){return"string"==typeof e?e:O(T.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=T.composed(e,T.pk(e));return r?s.split(r.separator):[s]}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 a("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(e){return new R(this,e)}Paginator(e,t,s){return new P(this,e,t,s)}parseCondition(e){throw new a("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(A.name)||s.includes("404")?new A(e):s.includes(v.name)||s.includes("409")?new v(e):s.includes($.name)||s.includes("400")?new $(e):s.includes(E.name)||s.includes("422")?new E(e):s.includes(c.name)?new c(e):s.includes(l.name)?new l(e):s.includes(a.name)?new a(e):s.includes(d.name)?new d(e):s.includes(h.name)?new h(e):s.includes(u.name)?new u(e):s.includes(g.name)?new g(e):s.includes(p.name)?new p(e):s.includes(q.name)?new q(e):new b(e)}static decoration(){super.decoration(),f.for(o.QUERY).define({decorator:e=>(s,r,a)=>y(w(x.key(o.QUERY,r),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,r,a)}).apply()}}B.decoration();const _="axios";class I extends B{constructor(e,t){super(e,_,t)}getClient(){return new C({baseURL:`${this.config.protocol}://${this.config.host}`})}toRequest(e,s){let r,a;e instanceof t?(a=e,r=void 0):(r=e,a=s);const i={};if(a)try{i.headers=a.get("headers")||{}}catch(e){}return r&&(i.method="GET",i.url=this.url(r.class,[o.STATEMENT,r.method,...r.args||[]],r.params)),i}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.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.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.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.client.delete(s)}catch(e){throw this.parseError(e)}}parseError(e,...t){return B.parseError(e,...t)}}I.decoration();const j="##VERSION##",D="##PACKAGE##";x.registerLibrary(D,j);export{_ as AxiosFlavour,I as AxiosHttpAdapter,B as HttpAdapter,P as HttpPaginator,R as HttpStatement,D as PACKAGE_NAME,S as RestRepository,N as RestService,j 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/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","this","_overrides","Object","assign","allowRawStatements","forcePrepareSimpleQueries","forcePrepareComplexQueries","url","tableName","pathParams","queryParams","paginateBy","key","order","size","args","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","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","HttpAdapter","Adapter","config","flavour","alias","flags","operation","model","headers","repository","result","PersistenceKeys","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","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","STATEMENT","client","create","cfg","post","read","update","put","delete","VERSION","PACKAGE_NAME","registerLibrary"],"mappings":"qsBA0CM,MAAOA,UAIHC,EAOR,WAAAC,CAAYC,EAAYC,GACtBC,MAAMF,EAASC,GAPEE,KAAUC,WAAGC,OAAOC,OAAO,CAAA,EAAIJ,MAAkB,WAAG,CACrEK,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAK7B,CAWD,GAAAC,CACEC,EACAC,EACAC,GAEA,OAAOV,KAAKH,QAAQU,IAAIC,EAAWC,EAAmBC,EACvD,CAEQ,gBAAMC,CACbC,EACAC,EACAC,KACGC,GAEH,MAAMC,QAAoBC,EAAQF,KAChCG,EAAsBC,QACtBnB,KAAKoB,MACLL,EACAf,KAAKH,QACLG,KAAKC,YAAc,CAAE,IAEjBoB,IAAEA,EAAGC,QAAEA,GAAYtB,KAAKuB,OAAOP,EAAYD,KAAMf,KAAKW,YAI5D,OAHAU,EAAIG,QACF,cAAcC,EAAMjB,UAAUR,KAAKoB,yBAAyBN,KAEvDd,KAAK0B,SACTC,QAAQ,CAACf,EAAKC,IACde,SAASd,KAASQ,EACtB,CAEQ,YAAMO,CACbjB,EACAC,KACGE,GAEH,MAAMC,QAAoBC,EAAQF,KAChC,OACAf,KAAKoB,MACLL,EACAf,KAAKH,QACLG,KAAKC,YAAc,CAAE,IAEjBoB,IAAEA,EAAGC,QAAEA,GAAYtB,KAAKuB,OAAOP,EAAYD,KAAMf,KAAK6B,QAI5D,OAHAR,EAAIG,QACF,WAAWC,EAAMjB,UAAUR,KAAKoB,aAAaR,KAAiBC,WAElDb,KAAK8B,UACjB9B,KAAK6B,OAAOE,KACZnB,EACA,CAAEoB,UAAWnB,MACVS,EAEN,CAEQ,YAAMW,CACbrB,EACAsB,KACGnB,GAEH,MAAMC,QAAoBC,EAAQF,KAChCG,EAAsBiB,QACtBnC,KAAKoB,MACLL,EACAf,KAAKH,QACLG,KAAKC,YAAc,CAAE,IAEjBoB,IAAEA,EAAGC,QAAEA,GAAYtB,KAAKuB,OAAOP,EAAYD,KAAMf,KAAKiC,QAI5D,OAHAZ,EAAIG,QACF,eAAeC,EAAMjB,UAAUR,KAAKoB,eAAeR,KAAiBsB,WAExDlC,KAAK8B,UACjB9B,KAAKiC,OAAOF,KACZnB,EACAsB,EACA,MACGZ,EAEN,CAEQ,eAAMc,CACbxB,EACAsB,KACGnB,GAEH,MAAMC,QAAoBC,EAAQF,KAChCG,EAAsBmB,YACtBrC,KAAKoB,MACLL,EACAf,KAAKH,QACLG,KAAKC,YAAc,CAAE,IAEjBoB,IAAEA,EAAGC,QAAEA,GAAYtB,KAAKuB,OAAOP,EAAYD,KAAMf,KAAKoC,WAI5D,OAHAf,EAAIG,QACF,eAAeC,EAAMjB,UAAUR,KAAKoB,eAAeR,KAAiBsB,WAExDlC,KAAK8B,UACjB9B,KAAKoC,UAAUL,KACfnB,EACAsB,EACA,MACGZ,EAEN,CAEQ,eAAMQ,CACbC,KACGhB,GAEH,MAAMC,QAAoBC,EAAQF,KAChC,YACAf,KAAKoB,MACLL,EACAf,KAAKH,QACLG,KAAKC,YAAc,CAAE,IAEjBoB,IAAEA,EAAGC,QAAEA,EAAOgB,IAAEA,GAAQtC,KAAKuB,OAAOP,EAAYD,KAAMf,KAAK8B,WAC3DS,EAASxB,EAAKyB,MACdC,EAAgC,CACpCrB,MAAOpB,KAAKoB,MACZL,KAAMA,EACN2B,OAAQX,EACRQ,OAAQA,GAEJI,EAAM3C,KAAKH,QAAQ+C,UAAUH,EAAOH,GAE1C,OADAjB,EAAIG,QAAQ,gCAAgCO,GACrC/B,KAAK6C,QAAQF,KAAQrB,EAC7B,CAED,aAAMuB,CACJC,KACG/B,GAEH,MAAMC,QAAoBC,EAAQF,KAChC,UACAf,KAAKoB,MACLL,EACAf,KAAKH,QACLG,KAAKC,YAAc,CAAE,IAEjBqB,QAAEA,GAAYtB,KAAKuB,OAAOP,EAAYD,KAAMf,KAAK6C,SACvD,OAAO7C,KAAKH,QAAQgD,QAAWC,KAAYxB,EAC5C,EC1JG,MAAOyB,UAIHrD,EAgBR,WAAAE,CAAYC,EAAYC,GACtBC,MAAMF,EAASC,GAhBEE,KAAUC,WAAGC,OAAOC,OAAO,CAAA,EAAIJ,MAAkB,WAAG,CACrEiD,kBAAkB,EAClBC,gBAAgB,EAChB7C,oBAAoB,EACpBC,2BAA2B,EAC3BC,4BAA4B,GAY7B,CAEQ,QAAA4C,GACP,OAAUzB,EAAMjB,UAAUR,KAAKoB,OAAxB,eACR,ECvEG,MAAO+B,UAIHC,EACR,WAAAxD,CAAYC,EAAYwD,GACtBtD,MAAMF,EAASwD,EAChB,CAEkB,KAAAC,GACjB,MAAM,IAAIC,EACR,4IAEH,CAEkB,cAAAC,CAEjBC,KAEG1C,GAEH,MAAM,IAAIwC,EACR,4IAEH,ECtBG,MAAOG,UAIHC,EACR,WAAA/D,CAAYC,EAAY4C,EAAU3B,EAAchB,GAC9CC,MAAMF,EAAS4C,EAAO3B,EAAMhB,EAC7B,CAGS,OAAA8D,CAAQC,GAChB,MAAM,IAAIN,EACR,sGAEH,CAEQ,IAAAO,CACPA,EAAe,KACZ/C,GAEH,OAAOhB,MAAM+D,KAAKA,KAAS/C,EAC5B,ECoDG,MAAgBgD,UAMZC,EACR,WAAApE,CAAsBqE,EAAcC,EAAiBC,GACnDpE,MAAMkE,EAAQC,EAASC,EACxB,CAYkB,WAAMC,CACvBC,EACAC,EACAjB,KACGtC,GAEH,MAAMqD,QAAcrE,MAAMqE,MAAMC,EAAWC,EAAOjB,KAActC,GAChE,OAAOb,OAAOC,OAAO,CAAE,EAAEiE,EAAO,CAC9BG,QAASH,EAAMG,SAAW,CAAE,GAE/B,CASQ,UAAAC,GAGP,OAAOzB,CACR,CAYQ,OAAAa,CACPU,KACGvD,GAEH,MAAMM,IAAEA,GAAQrB,KAAKuB,OAAOR,EAAMf,KAAK4D,SACjCa,EAASvE,OAAOC,OAAO,CAAE,EAAEmE,GAajC,OAZKA,EAAcI,EAAgBC,YACjCtD,EAAIuD,MACF,0CAA2CN,EAAcI,EAAgBC,WAE3EzE,OAAO2E,eAAeJ,EAAQC,EAAgBC,SAAU,CACtDG,YAAY,EACZC,UAAU,EACVC,cAAc,EACd9C,MAAQoC,EAAcI,EAAgBC,aAInC,CACLM,OAAQX,EACRY,GAAIZ,EAAM7C,EAAM0D,GAAGb,EAAM1E,cAE5B,CAaQ,MAAAwF,CACPC,EACAvF,EACAoF,KACGnE,GAEH,MAAMM,IAAEA,GAAQrB,KAAKuB,OAAOR,EAAMf,KAAKoF,QACjCE,EAA0B,CAAA,EAC1BC,EACa,iBAAVzF,EAAqB2B,EAAM6B,MAAMgC,EAAIxF,GAAS,IAAIA,EAAMwF,GAEjEjE,EAAIuD,MAAM,oBAAoBW,EAAE3F,YAAYmC,WAAWmD,KACvD,MAAMM,EAA0B,iBAAV1F,EAAqB2B,EAAMgE,IAAI3F,GAASA,EAC9D,IAAK0F,EACH,MAAM,IAAIE,EACR,4CAA4C5F,GAEhD,MAAM2E,EAAS,IAAKe,EAA0BH,GACxCM,EAAWN,EAAIX,EAAgBC,UAarC,OAZIgB,IACFtE,EAAIuD,MACF,iBAAiB5E,KAAKkE,oCAAoCqB,EAAE3F,YAAYmC,WAAWmD,MAAOS,KAE5FzF,OAAO2E,eAAeJ,EAAQC,EAAgBC,SAAU,CACtDG,YAAY,EACZE,cAAc,EACdD,UAAU,EACV7C,MAAOyD,KAIJlB,CACR,CAES,WAAAmB,CAA6BC,GACrC,MAAoB,iBAANA,EAAiBA,EAAIC,EAAYrE,EAAMjB,UAAUqF,GAChE,CAgDD,GAAAtF,CACEC,EACAC,EACAC,GAEKA,GACCD,IAAesF,MAAMC,QAAQvF,KAC/BC,EAAcD,EACdA,EAAa,IAIjBD,EAAYR,KAAK4F,YAAYpF,GAC7B,MAAMD,EAAM,IAAI0F,IACd,GAAGjG,KAAKiE,OAAOiC,cAAclG,KAAKiE,OAAOkC,QAAQ3F,IAAYC,GAAcA,EAAW2F,OAAS,IAAK3F,EAAwB4F,KAAK,KAAS,MAQ5I,OANI3F,GACFR,OAAOoG,QAAQ5F,GAAa6F,QAAQ,EAAE3F,EAAKsB,KACzC3B,EAAIiG,aAAaC,OAAO7F,EAAKsB,EAAMgB,aAIhCwD,UAAUnG,EAAI2C,YAAYyD,QAAQ,MAAO,MACjD,CAiBS,aAAAC,CACRtC,EACAY,GAEA,MAAM2B,EAAQ3B,EAAGhC,WACjB,GAAqB,iBAAVoB,EAAoB,MAAO,CAACuC,GACvC,MAAMC,EAAWrF,EAAMqF,SAASxC,EAAO7C,EAAM0D,GAAGb,IAChD,OAAKwC,EACED,EAAME,MAAMD,EAASE,WADN,CAACH,EAExB,CA8ED,GAAAI,CAAOC,KAAgBnG,GACrB,MAAMO,QAAEA,EAAOgB,IAAEA,GAAQtC,KAAKuB,OAAOR,EAAMf,KAAKiH,KAC1CtE,EAAM3C,KAAK4C,UAAUsE,EAAU5E,GACrC,OAAOtC,KAAK6C,QAAQF,KAAQrB,EAC7B,CAYQ,QAAA6F,CAASC,GAChB,OAAOC,QAAQC,OACb,IAAI/D,EACF,0FAGL,CAYQ,SAAAH,CACPC,GAEA,OAAO,IAAIF,EAAcnD,KAAMqD,EAChC,CAEQ,SAAAM,CACPlB,EACA3B,EACAhB,GAEA,OAAO,IAAI4D,EACT1D,KACAyC,EACA3B,EACAhB,EAEH,CAYD,cAAA0D,CAAeC,GACb,MAAM,IAAIF,EACR,yFAEH,CAED,iBAAOgE,CACLC,KAEGzG,GAEH,MAAM0G,EAAqB,iBAARD,EAAmBA,EAAMA,EAAIE,QAChD,OAAID,EAAIE,SAASC,EAAc7F,OAAS0F,EAAIE,SAAS,OAC5C,IAAIC,EAAcJ,GACvBC,EAAIE,SAASE,EAAc9F,OAAS0F,EAAIE,SAAS,OAC5C,IAAIE,EAAcL,GACvBC,EAAIE,SAASG,EAAgB/F,OAAS0F,EAAIE,SAAS,OAC9C,IAAIG,EAAgBN,GACzBC,EAAIE,SAASI,EAAgBhG,OAAS0F,EAAIE,SAAS,OAC9C,IAAII,EAAgBP,GACzBC,EAAIE,SAASK,EAAWjG,MAAc,IAAIiG,EAAWR,GACrDC,EAAIE,SAASM,EAAYlG,MAAc,IAAIkG,EAAYT,GACvDC,EAAIE,SAASpE,EAAiBxB,MACzB,IAAIwB,EAAiBiE,GAC1BC,EAAIE,SAASO,EAAenG,MAAc,IAAImG,EAAeV,GAC7DC,EAAIE,SAASQ,EAAcpG,MAAc,IAAIoG,EAAcX,GAC3DC,EAAIE,SAASS,EAAmBrG,MAC3B,IAAIqG,EAAmBZ,GAC5BC,EAAIE,SAASU,EAAetG,MAAc,IAAIsG,EAAeb,GAC7DC,EAAIE,SAASW,EAAgBvG,MACxB,IAAIuG,EAAgBd,GACzBC,EAAIE,SAASY,EAAmBxG,MAC3B,IAAIwG,EAAmBf,GACzB,IAAI9B,EAAc8B,EAC1B,CAED,iBAAgBgB,GACdzI,MAAMyI,aAmDNC,EAAWC,IAAIhE,EAAgBiE,OAC5BC,OAAO,CACNC,UApDWzB,GACN,CAAe/B,EAAayD,EAAYC,IAyCtCC,EACLC,EAAeC,EAAStI,IAAI8D,EAAgBiE,MAAOG,GAAO1B,GAC1D+B,IAxCO,CACL9D,EACA+D,EACAL,KAECA,EAA4C7G,MAAQ,IAAImH,MACtDN,EAA4C7G,MAC7C,CACE,WAAM8G,CACJM,EACAC,EACAxI,GAEA,MAAMyI,EAAOD,EAEPvI,QAAoBC,EAAQF,KAChCqI,EACAI,EAAKpI,MACLL,EACAyI,EAAc,QACdA,EAAiB,YAAK,CAAE,IAEpBnI,IAAEA,EAAGC,QAAEA,GAAYkI,EAAa,OACpCxI,EAAYD,KACZuI,GAIF,OAFAjI,EAAIG,QAAQ,8BAA8B8H,EAAOvH,MACjDV,EAAIoI,MAAM,cAAcC,KAAKC,UAAU5I,EAAM,KAAM,IAC3CwI,EAAiCzH,UACvCwH,EAAOvH,QACJT,EAEN,GAGP,EAGK0H,CAIL3D,EAAKyD,EAAMC,KAQdC,OACJ,EAGHjF,EAAYyE,aC1hBL,MAAMoB,EAAe,QCyDtB,MAAOC,UAAyB9F,EAOpC,WAAAnE,CAAYqE,EAAoBE,GAC9BpE,MAAMkE,EAAQ2F,EAAczF,EAC7B,CAEkB,SAAA2F,GACjB,OAAO,IAAIC,EAAM,CACfC,QAAS,GAAGhK,KAAKiE,OAAOiC,cAAclG,KAAKiE,OAAOkC,QAErD,CAQQ,SAAAvD,CACPqH,EACA3H,GAEA,IAAIG,EACAyH,EAEAD,aAAsBhJ,GACxBiJ,EAAUD,EACVxH,OAAQ0H,IAER1H,EAAQwH,EACRC,EAAU5H,GAGZ,MAAMK,EAA0B,CAAA,EAChC,GAAIuH,EACF,IACEvH,EAAI4B,QAAU2F,EAAQzE,IAAI,YAAc,CAAA,CAEzC,CAAC,MAAO2E,GAER,CAUH,OARI3H,IACFE,EAAID,OAAS,MACbC,EAAIpC,IAAMP,KAAKO,IACbkC,EAAMrB,MACN,CAACsD,EAAgB2F,UAAW5H,EAAMC,UAAYD,EAAM1B,MAAQ,IAC5D0B,EAAMF,SAGHI,CACR,CAUQ,aAAME,CACbC,KACG/B,GAEH,IAAIsC,EAAY,CAAA,EAChB,IACE,MAAMf,IAAEA,GAAQtC,KAAKuB,OAAOR,EAAMf,KAAK6C,SACvCQ,EAAYrD,KAAK4C,UAAUN,EAE5B,CAAC,MAAO8H,GAER,CACD,OAAOpK,KAAKsK,OAAOzH,QAAQ3C,OAAOC,OAAO,GAAI2C,EAASO,GACvD,CAWQ,YAAMkH,CACb/J,EACA0E,EACAZ,KACGvD,GAEH,MAAMM,IAAEA,EAAGiB,IAAEA,GAAQtC,KAAKuB,OAAOR,EAAMf,KAAKuK,QAC5C,IACE,MAAMhK,EAAMP,KAAKO,IAAIC,GACfgK,EAAMxK,KAAK4C,UAAUN,GAI3B,OAHAjB,EAAIoI,MACF,cAAclJ,UAAYmJ,KAAKC,UAAUrF,cAAkBoF,KAAKC,UAAUa,MAErExK,KAAKsK,OAAOG,KAAKlK,EAAK+D,EAAOkG,EACrC,CAAC,MAAOJ,GACP,MAAMpK,KAAKuH,WAAW6C,EACvB,CACF,CASQ,UAAMM,CACblK,EACA0E,KACGnE,GAEH,MAAMM,IAAEA,EAAGiB,IAAEA,GAAQtC,KAAKuB,OAAOR,EAAMf,KAAK0K,MAC5C,IACE,MAAMnK,EAAMP,KAAKO,IACfC,EACAR,KAAK4G,cAAcpG,EAAW0E,IAE1BsF,EAAMxK,KAAK4C,UAAUN,GAE3B,OADAjB,EAAIoI,MAAM,eAAelJ,aAAemJ,KAAKC,UAAUa,MAChDxK,KAAKsK,OAAO7E,IAAIlF,EACxB,CAAC,MAAO6J,GACP,MAAMpK,KAAKuH,WAAW6C,EACvB,CACF,CAWQ,YAAMO,CACbnK,EACA0E,EACAZ,KACGvD,GAEH,MAAMM,IAAEA,EAAGiB,IAAEA,GAAQtC,KAAKuB,OAAOR,EAAMf,KAAK2K,QAC5C,IACE,MAAMpK,EAAMP,KAAKO,IACfC,EACAR,KAAK4G,cAAcpG,EAAW0E,IAE1BsF,EAAMxK,KAAK4C,UAAUN,GAI3B,OAHAjB,EAAIoI,MACF,aAAalJ,UAAYmJ,KAAKC,UAAUrF,cAAkBoF,KAAKC,UAAUa,MAEpExK,KAAKsK,OAAOM,IAAIrK,EAAK+D,EAC7B,CAAC,MAAO8F,GACP,MAAMpK,KAAKuH,WAAW6C,EACvB,CACF,CAUQ,YAAM,CACb5J,EACA0E,KACGnE,GAEH,MAAMM,IAAEA,EAAGiB,IAAEA,GAAQtC,KAAKuB,OAAOR,EAAMf,KAAK6K,QAC5C,IACE,MAAMtK,EAAMP,KAAKO,IACfC,EACAR,KAAK4G,cAAcpG,EAAW0E,IAE1BsF,EAAMxK,KAAK4C,UAAUN,GAE3B,OADAjB,EAAIoI,MAAM,kBAAkBlJ,aAAemJ,KAAKC,UAAUa,MACnDxK,KAAKsK,OAAOO,OAAOtK,EAC3B,CAAC,MAAO6J,GACP,MAAMpK,KAAKuH,WAAW6C,EACvB,CACF,CAEQ,UAAA7C,CAAgCC,KAAezG,GACtD,OAAOgD,EAAYwD,WAAWC,KAAQzG,EACvC,ECtPH8I,EAAiBrB,aCYV,MAAMsC,EAAU,cAEVC,EAAe,cAE5B7B,EAAS8B,gBAAgBD,EAAcD"}
@@ -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":";;;AAAA,yCAAwE;AAKxE,2DAAiE;AACjE,+CAA8D;AAE9D,MAAa,aAGX,SAAQ,gBAA0B;IAClC,YACE,OAAU,EACV,KAAgB,EAChB,IAAY,EACZ,KAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAe,CAAC,EAAE,GAAG,IAAW;QACzC,MAAM,WAAW,GAAG,MAAM,uBAAO,CAAC,IAAI,CACpC,6BAAa,CAAC,IAAI,EAClB,IAAI,CAAC,KAAK,EACV,IAAI,EACJ,IAAI,CAAC,OAAO,CACb,CAAC;QAEF,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,SAAS,EAAE;YAChD,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAC9B,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC3C,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAQ,CAAC;QAC7C,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,OAAO,GAAU,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAC3C,SAAS,EACT,GAAG,WAAW,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,OAAO,CAAC,YAAuB;QACvC,4DAA4D;QAC5D,IAAI,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CACnC,IAAI,MAAM,CACR,IAAI,CAAC,kBAAW,CAAC,OAAO,EAAE,kBAAW,CAAC,MAAM,EAAE,kBAAW,CAAC,QAAQ,EAAE,kBAAW,CAAC,QAAQ,EAAE,kBAAW,CAAC,GAAG,EAAE,kBAAW,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EACvI,GAAG,CACJ,CACF,CAAC;QAEF,KAAK,GAAG,KAAK;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;aACf,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC;YACC,kBAAW,CAAC,OAAO;YACnB,kBAAW,CAAC,MAAM;YAClB,kBAAW,CAAC,QAAQ;YACpB,kBAAW,CAAC,QAAQ;YACpB,IAAA,sBAAY,EAAC,qBAAc,CAAC,GAAG,CAAC;YAChC,IAAA,sBAAY,EAAC,qBAAc,CAAC,GAAG,CAAC;SACjC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC;QAEJ,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAW,CAAC,QAAQ,CAAC,CAAC;QACpE,IAAI,OAAY,CAAC;QACjB,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC;iBACrB,KAAK,CACJ,IAAI,MAAM,CACR,GAAG,CAAC,IAAA,sBAAY,EAAC,qBAAc,CAAC,GAAG,CAAC,EAAE,IAAA,sBAAY,EAAC,qBAAc,CAAC,GAAG,CAAC,EAAE,kBAAW,CAAC,QAAQ,GAAG,IAAI,EAAE,kBAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACrI,GAAG,CACJ,CACF;iBACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,CAAC;YACnB,OAAO,GAAG;gBACR,OAAO,CAAC,CAAC,CAAQ;gBACjB,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAA,sBAAY,EAAC,qBAAc,CAAC,GAAG,CAAC,CAAC;oBACvD,CAAC,CAAC,qBAAc,CAAC,GAAG;oBACpB,CAAC,CAAC,qBAAc,CAAC,GAAG;aACvB,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;gBACrC,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,CAAC,IAAA,qBAAW,EAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;aACjD,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE;gBACrC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAClE,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA/FD,sCA+FC"}
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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RestRepository = void 0;
4
4
  const core_1 = require("@decaf-ts/core");
5
5
  const decorator_validation_1 = require("@decaf-ts/decorator-validation");
6
- const db_decorators_1 = require("@decaf-ts/db-decorators");
6
+ const core_2 = require("@decaf-ts/core");
7
7
  /**
8
8
  * @description Repository for REST API interactions
9
9
  * @summary A specialized repository implementation for interacting with REST APIs.
@@ -36,42 +36,57 @@ const db_decorators_1 = require("@decaf-ts/db-decorators");
36
36
  class RestRepository extends core_1.Repository {
37
37
  constructor(adapter, clazz) {
38
38
  super(adapter, clazz);
39
+ this._overrides = Object.assign({}, super["_overrides"], {
40
+ allowRawStatements: false,
41
+ forcePrepareSimpleQueries: true,
42
+ forcePrepareComplexQueries: true,
43
+ });
39
44
  }
40
45
  url(tableName, pathParams, queryParams) {
41
46
  return this.adapter.url(tableName, pathParams, queryParams);
42
47
  }
43
48
  async paginateBy(key, order, size, ...args) {
44
- const contextArgs = await db_decorators_1.Context.args("paginateBy", this.class, args, this.adapter, this._overrides || {});
49
+ const contextArgs = await core_1.Context.args(core_2.PreparedStatementKeys.PAGE_BY, this.class, args, this.adapter, this._overrides || {});
45
50
  const { log, ctxArgs } = this.logCtx(contextArgs.args, this.paginateBy);
46
51
  log.verbose(`paginating ${decorator_validation_1.Model.tableName(this.class)} with page size ${size}`);
47
- return (await this.statement(this.paginateBy.name, key, order, size, ...ctxArgs));
52
+ return this.select()
53
+ .orderBy([key, order])
54
+ .paginate(size, ...ctxArgs);
48
55
  }
49
56
  async listBy(key, order, ...args) {
50
- const contextArgs = await db_decorators_1.Context.args("list", this.class, args, this.adapter, this._overrides || {});
57
+ const contextArgs = await core_1.Context.args("list", this.class, args, this.adapter, this._overrides || {});
51
58
  const { log, ctxArgs } = this.logCtx(contextArgs.args, this.listBy);
52
59
  log.verbose(`listing ${decorator_validation_1.Model.tableName(this.class)} by ${key} ${order}`);
53
- return (await this.statement(this.listBy.name, key, order, ...ctxArgs));
60
+ return (await this.statement(this.listBy.name, key, { direction: order }, ...ctxArgs));
61
+ }
62
+ async findBy(key, value, ...args) {
63
+ const contextArgs = await core_1.Context.args(core_2.PreparedStatementKeys.FIND_BY, this.class, args, this.adapter, this._overrides || {});
64
+ const { log, ctxArgs } = this.logCtx(contextArgs.args, this.findBy);
65
+ log.verbose(`finding all ${decorator_validation_1.Model.tableName(this.class)} with ${key} ${value}`);
66
+ return (await this.statement(this.findBy.name, key, value, {}, ...ctxArgs));
54
67
  }
55
68
  async findOneBy(key, value, ...args) {
56
- const contextArgs = await db_decorators_1.Context.args("findOneBy", this.class, args, this.adapter, this._overrides || {});
69
+ const contextArgs = await core_1.Context.args(core_2.PreparedStatementKeys.FIND_ONE_BY, this.class, args, this.adapter, this._overrides || {});
57
70
  const { log, ctxArgs } = this.logCtx(contextArgs.args, this.findOneBy);
58
- log.verbose(`finding ${decorator_validation_1.Model.tableName(this.class)} with ${key} ${value}`);
59
- return (await this.statement(this.findOneBy.name, key, value, ...ctxArgs));
71
+ log.verbose(`finding One ${decorator_validation_1.Model.tableName(this.class)} with ${key} ${value}`);
72
+ return (await this.statement(this.findOneBy.name, key, value, {}, ...ctxArgs));
60
73
  }
61
74
  async statement(name, ...args) {
62
- const contextArgs = await db_decorators_1.Context.args("statement", this.class, args, this.adapter, this._overrides || {});
75
+ const contextArgs = await core_1.Context.args("statement", this.class, args, this.adapter, this._overrides || {});
63
76
  const { log, ctxArgs, ctx } = this.logCtx(contextArgs.args, this.statement);
77
+ const params = args.pop();
64
78
  const query = {
65
79
  class: this.class,
66
80
  args: args,
67
81
  method: name,
82
+ params: params,
68
83
  };
69
84
  const req = this.adapter.toRequest(query, ctx);
70
85
  log.verbose(`Executing prepared statement ${name}`);
71
86
  return this.request(req, ...ctxArgs);
72
87
  }
73
88
  async request(details, ...args) {
74
- const contextArgs = await db_decorators_1.Context.args("request", this.class, args, this.adapter, this._overrides || {});
89
+ const contextArgs = await core_1.Context.args("request", this.class, args, this.adapter, this._overrides || {});
75
90
  const { ctxArgs } = this.logCtx(contextArgs.args, this.request);
76
91
  return this.adapter.request(details, ...ctxArgs);
77
92
  }