@decaf-ts/for-http 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/for-http.cjs +1 -1
- package/dist/for-http.cjs.map +1 -1
- package/dist/for-http.js +1 -1
- package/dist/for-http.js.map +1 -1
- package/lib/HttpPaginator.cjs +69 -0
- package/lib/HttpPaginator.d.ts +10 -0
- package/lib/HttpPaginator.js.map +1 -0
- package/lib/HttpStatement.cjs +111 -0
- package/lib/HttpStatement.d.ts +9 -0
- package/lib/HttpStatement.js.map +1 -0
- package/lib/RestRepository.cjs +38 -4
- package/lib/RestRepository.d.ts +10 -4
- package/lib/RestRepository.js.map +1 -1
- package/lib/RestService.d.ts +1 -1
- package/lib/adapter.cjs +50 -9
- package/lib/adapter.d.ts +33 -10
- package/lib/adapter.js.map +1 -1
- package/lib/axios/axios.cjs +57 -15
- package/lib/axios/axios.d.ts +10 -7
- package/lib/axios/axios.js.map +1 -1
- package/lib/esm/HttpPaginator.d.ts +10 -0
- package/lib/esm/HttpPaginator.js +65 -0
- package/lib/esm/HttpPaginator.js.map +1 -0
- package/lib/esm/HttpStatement.d.ts +9 -0
- package/lib/esm/HttpStatement.js +107 -0
- package/lib/esm/HttpStatement.js.map +1 -0
- package/lib/esm/RestRepository.d.ts +10 -4
- package/lib/esm/RestRepository.js +39 -5
- package/lib/esm/RestRepository.js.map +1 -1
- package/lib/esm/RestService.d.ts +1 -1
- package/lib/esm/adapter.d.ts +33 -10
- package/lib/esm/adapter.js +51 -10
- package/lib/esm/adapter.js.map +1 -1
- package/lib/esm/axios/axios.d.ts +10 -7
- package/lib/esm/axios/axios.js +57 -15
- package/lib/esm/axios/axios.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/types.d.ts +7 -0
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/types.d.ts +7 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
A lightweight HTTP adapter layer for decaf-ts that enables CRUD-style repositories and services over REST APIs. It defines a generic HttpAdapter with concrete implementations (e.g., Axios), a RestService for simple model-centric operations, and a RestRepository when you need repository decoration logic before submitting to the backend. Includes minimal types for configuration and request flags.
|
|
6
6
|
|
|
7
|
+
> Release docs refreshed on 2025-11-26. See [workdocs/reports/RELEASE_NOTES.md](./workdocs/reports/RELEASE_NOTES.md) for ticket summaries.
|
|
8
|
+
|
|
7
9
|

|
|
8
10
|

|
|
9
11
|

|
|
@@ -27,7 +29,7 @@ A lightweight HTTP adapter layer for decaf-ts that enables CRUD-style repositori
|
|
|
27
29
|
|
|
28
30
|
Documentation available [here](https://decaf-ts.github.io/for-http/)
|
|
29
31
|
|
|
30
|
-
Minimal size: 1
|
|
32
|
+
Minimal size: 3.1 KB kb gzipped
|
|
31
33
|
|
|
32
34
|
|
|
33
35
|
# decaf-ts/for-http — Detailed Description
|
|
@@ -324,6 +326,9 @@ const f: AxiosFlags = { headers: { "X-Trace": "1" } };
|
|
|
324
326
|
- builder;
|
|
325
327
|
- etc;
|
|
326
328
|
|
|
329
|
+
## Release Documentation Hooks
|
|
330
|
+
Stay aligned with the automated release pipeline by reviewing [Release Notes](./workdocs/reports/RELEASE_NOTES.md) and [Dependencies](./workdocs/reports/DEPENDENCIES.md) after trying these recipes (updated on 2025-11-26).
|
|
331
|
+
|
|
327
332
|
|
|
328
333
|
### Related
|
|
329
334
|
|
package/dist/for-http.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e,r;e=this,r=function(e,r,t,s,o){"use strict";class n extends r.Repository{constructor(e,r){super(e,r)}url(e,r){return this.adapter.url(e,r)}async request(e){return this.adapter.request(e)}}class i extends n{constructor(e,r){super(e,r),this._overrides={ignoreValidation:!0,ignoreHandlers:!0}}toString(){return s.Model.tableName(this.class)+" REST service"}}class a extends r.Adapter{constructor(e,r,t){super(e,r,t)}flags(e,r,t){return Object.assign(super.flags(e,r,t),{headers:{}})}repository(){return i}prepare(e,...t){const{log:o}=this.logCtx(t,this.prepare),n=Object.assign({},e);return e[r.PersistenceKeys.METADATA]&&(o.silly("Passing along persistence metadata for "+e[r.PersistenceKeys.METADATA]),Object.defineProperty(n,r.PersistenceKeys.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:e[r.PersistenceKeys.METADATA]})),{record:e,id:e[s.Model.pk(e.constructor)]}}revert(e,o,n,...i){const{log:a}=this.logCtx(i,this.revert),c={},l="string"==typeof o?s.Model.build(c,o):new o(c);a.silly(`Rebuilding model ${l.constructor.name} id ${n}`);const d="string"==typeof o?s.Model.get(o):o;if(!d)throw new t.InternalError("Failed to retrieve model constructor for "+o);const u=new d(e),p=e[r.PersistenceKeys.METADATA];return p&&(a.silly(`Passing along ${this.flavour} persistence metadata for ${l.constructor.name} id ${n}: ${p}`),Object.defineProperty(u,r.PersistenceKeys.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:p})),u}toTableName(e){return"string"==typeof e?e:s.Model.tableName(e)}url(e,r){e=this.toTableName(e);const t=new URL(`${this.config.protocol}://${this.config.host}/${e}`);return r&&Object.entries(r).forEach(([e,r])=>t.searchParams.append(e,r.toString())),encodeURI(t.toString()).replace(/\+/g,"%20")}raw(e,...t){return Promise.reject(new r.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class"))}Sequence(e){return Promise.reject(new r.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class"))}Statement(){throw new r.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class")}parseCondition(e){throw new r.UnsupportedError("Api is not natively available for HttpAdapters. If required, please extends this class")}static parseError(e,...s){const o="string"==typeof e?e:e.message;return o.includes(t.NotFoundError.name)?new t.NotFoundError(e):o.includes(t.ConflictError.name)?new t.ConflictError(e):o.includes(t.BadRequestError.name)?new t.BadRequestError(e):o.includes(r.QueryError.name)?new r.QueryError(e):o.includes(r.PagingError.name)?new r.PagingError(e):o.includes(r.UnsupportedError.name)?new r.UnsupportedError(e):o.includes(r.MigrationError.name)?new r.MigrationError(e):o.includes(r.ObserverError.name)?new r.ObserverError(e):o.includes(r.AuthorizationError.name)?new r.AuthorizationError(e):o.includes(r.ForbiddenError.name)?new r.ForbiddenError(e):o.includes(r.ConnectionError.name)?new r.ConnectionError(e):o.includes(t.SerializationError.name)?new t.SerializationError(e):new t.InternalError(e)}}const c="axios";class l extends a{constructor(e,r){super(e,c,r)}getClient(){return new o.Axios({baseURL:`${this.config.protocol}://${this.config.host}`})}async request(e){return this.client.request(e)}async create(e,r,t,...s){try{const r=this.url(e);return this.client.post(r,t)}catch(e){throw this.parseError(e)}}async read(e,r,...t){try{const t=this.url(e,{id:r});return this.client.get(t)}catch(e){throw this.parseError(e)}}async update(e,r,t,...s){try{const r=this.url(e);return this.client.put(r,t)}catch(e){throw this.parseError(e)}}async delete(e,r,...t){try{const t=this.url(e,{id:r});return this.client.delete(t)}catch(e){throw this.parseError(e)}}parseError(e,...r){return a.parseError(e,...r)}}l.decoration(),e.AxiosFlavour=c,e.AxiosHttpAdapter=l,e.HttpAdapter=a,e.RestRepository=n,e.RestService=i,e.VERSION="##VERSION##"},"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@decaf-ts/core"),require("@decaf-ts/db-decorators"),require("@decaf-ts/decorator-validation"),require("axios")):"function"==typeof define&&define.amd?define(["exports","@decaf-ts/core","@decaf-ts/db-decorators","@decaf-ts/decorator-validation","axios"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self)["for-http"]={},e.decafTsCore,e.decafTsDbDecorators,e.decafTsDecoratorValidation,e.axios);
|
|
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")}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)?new r.NotFoundError(e):a.includes(r.ConflictError.name)?new r.ConflictError(e):a.includes(r.BadRequestError.name)?new r.BadRequestError(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,{id: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 t=this.url(e),s=this.toRequest(i);return a.debug(`PUTing to ${t} with ${JSON.stringify(r)} and cfg ${JSON.stringify(s)}`),this.client.put(t,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,{id: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);
|
|
2
2
|
//# sourceMappingURL=for-http.cjs.map
|
package/dist/for-http.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-http.cjs","sources":["../src/RestRepository.ts","../src/RestService.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],"names":["RestRepository","Repository","constructor","adapter","clazz","super","url","path","queryParams","this","request","details","RestService","_overrides","ignoreValidation","ignoreHandlers","toString","Model","tableName","class","HttpAdapter","Adapter","config","flavour","alias","flags","operation","model","overrides","Object","assign","headers","repository","prepare","args","log","logCtx","result","PersistenceKeys","METADATA","silly","defineProperty","enumerable","writable","configurable","value","record","id","pk","revert","obj","ob","m","build","name","constr","get","InternalError","metadata","toTableName","t","URL","protocol","host","entries","forEach","key","searchParams","append","encodeURI","replace","raw","rawInput","Promise","reject","UnsupportedError","Sequence","options","Statement","parseCondition","condition","parseError","err","msg","message","includes","NotFoundError","ConflictError","BadRequestError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","AxiosFlavour","AxiosHttpAdapter","getClient","Axios","baseURL","client","create","_args","post","e","read","update","put","delete","decoration"],"mappings":"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"}
|
|
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","rawInput","Sequence","options","Promise","reject","UnsupportedError","parseError","err","msg","message","NotFoundError","ConflictError","BadRequestError","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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"}
|
package/dist/for-http.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Repository as e,
|
|
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 h,PersistenceKeys as l,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 R,BadRequestError as S,SerializationError as B}from"@decaf-ts/db-decorators";import{Model as $}from"@decaf-ts/decorator-validation";import{Decoration as C,apply as O,methodMetadata as v,Metadata as T}from"@decaf-ts/decoration";import{toPascalCase as N,toCamelCase as D,toKebabCase as _}from"@decaf-ts/logging";import{Axios as q}from"axios";class j 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 ${$.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 ${$.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 ${$.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 j{constructor(t,e){super(t,e),this._overrides={ignoreValidation:!0,ignoreHandlers:!0}}toString(){return $.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,N(r.ASC),N(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(""+[N(r.ASC),N(r.DSC),s.GROUP_BY+".*",s.THEN_BY].join("|"),"i")).map((t=>t.trim())).filter(Boolean),i=[i[0],a[1].includes(N(r.ASC))?r.ASC:r.DSC]),1===e.length&&e[0]===i[0]){const s=e[0];return Object.assign({},t,{method:"pageBy",args:[D(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:D(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 h{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[l.METADATA]&&(s.silly("Passing along persistence metadata for "+t[l.METADATA]),Object.defineProperty(r,l.METADATA,{enumerable:!1,writable:!1,configurable:!0,value:t[l.METADATA]})),{record:t,id:t[$.pk(t.constructor)]}}revert(t,e,s,...r){const{log:a}=this.logCtx(r,this.revert),i={},n="string"==typeof e?$.build(i,e):new e(i);a.silly(`Rebuilding model ${n.constructor.name} id ${s}`);const o="string"==typeof e?$.get(e):e;if(!o)throw new x("Failed to retrieve model constructor for "+e);const c=new o(t),h=t[l.METADATA];return h&&(a.silly(`Passing along ${this.flavour} persistence metadata for ${n.constructor.name} id ${s}: ${h}`),Object.defineProperty(c,l.METADATA,{enumerable:!1,configurable:!1,writable:!1,value:h})),c}toTableName(t){return"string"==typeof t?t:_($.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")}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)?new A(t):s.includes(R.name)?new R(t):s.includes(S.name)?new S(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(B.name)?new B(t):new x(t)}static decoration(){super.decoration(),C.for(l.QUERY).define({decorator:t=>(e,s,r)=>O(v(T.key(l.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 I="axios";class U extends L{constructor(t,e){super(t,I,e)}getClient(){return new q({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,[l.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,{id: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 e=this.url(t),r=this.toRequest(i);return a.debug(`PUTing to ${e} with ${JSON.stringify(s)} and cfg ${JSON.stringify(r)}`),this.client.put(e,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,{id: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)}}U.decoration();const G="##VERSION##";export{I as AxiosFlavour,U as AxiosHttpAdapter,L as HttpAdapter,j as RestRepository,P as RestService,G as VERSION};
|
|
2
2
|
//# sourceMappingURL=for-http.js.map
|
package/dist/for-http.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"for-http.js","sources":["../src/RestRepository.ts","../src/RestService.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],"names":["RestRepository","Repository","constructor","adapter","clazz","super","url","path","queryParams","this","request","details","RestService","_overrides","ignoreValidation","ignoreHandlers","toString","Model","tableName","class","HttpAdapter","Adapter","config","flavour","alias","flags","operation","model","overrides","Object","assign","headers","repository","prepare","args","log","logCtx","result","PersistenceKeys","METADATA","silly","defineProperty","enumerable","writable","configurable","value","record","id","pk","revert","obj","ob","m","build","name","constr","get","InternalError","metadata","toTableName","t","URL","protocol","host","entries","forEach","key","searchParams","append","encodeURI","replace","raw","rawInput","Promise","reject","UnsupportedError","Sequence","options","Statement","parseCondition","condition","parseError","err","msg","message","includes","NotFoundError","ConflictError","BadRequestError","QueryError","PagingError","MigrationError","ObserverError","AuthorizationError","ForbiddenError","ConnectionError","SerializationError","AxiosFlavour","AxiosHttpAdapter","getClient","Axios","baseURL","client","create","_args","post","e","read","update","put","delete","decoration","VERSION"],"mappings":"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"}
|
|
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","rawInput","Sequence","options","Promise","reject","UnsupportedError","parseError","err","msg","message","NotFoundError","ConflictError","BadRequestError","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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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpPaginator = void 0;
|
|
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
|
+
class HttpPaginator extends core_1.Paginator {
|
|
8
|
+
constructor(adapter, query, size, clazz) {
|
|
9
|
+
super(adapter, query, size, clazz);
|
|
10
|
+
}
|
|
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
|
+
}
|
|
25
|
+
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
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.HttpPaginator = HttpPaginator;
|
|
69
|
+
//# sourceMappingURL=HttpPaginator.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Paginator } from "@decaf-ts/core";
|
|
2
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
+
import { HttpQuery } from "./types";
|
|
4
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
5
|
+
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;
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpPaginator.js","sourceRoot":"","sources":["../src/HttpPaginator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpStatement = void 0;
|
|
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
|
+
class HttpStatement extends core_1.Statement {
|
|
9
|
+
constructor(adapter) {
|
|
10
|
+
super(adapter);
|
|
11
|
+
}
|
|
12
|
+
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
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async paginate(size = 10,
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
42
|
+
...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;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
exports.HttpStatement = HttpStatement;
|
|
111
|
+
//# sourceMappingURL=HttpStatement.js.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Condition, ContextOf, MaybeContextualArg, Paginator, Statement } from "@decaf-ts/core";
|
|
2
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
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;
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpStatement.js","sourceRoot":"","sources":["../src/HttpStatement.ts"],"names":[],"mappings":"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"}
|
package/lib/RestRepository.cjs
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RestRepository = void 0;
|
|
4
4
|
const core_1 = require("@decaf-ts/core");
|
|
5
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
6
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
5
7
|
/**
|
|
6
8
|
* @description Repository for REST API interactions
|
|
7
9
|
* @summary A specialized repository implementation for interacting with REST APIs.
|
|
@@ -35,11 +37,43 @@ class RestRepository extends core_1.Repository {
|
|
|
35
37
|
constructor(adapter, clazz) {
|
|
36
38
|
super(adapter, clazz);
|
|
37
39
|
}
|
|
38
|
-
url(
|
|
39
|
-
return this.adapter.url(
|
|
40
|
+
url(tableName, pathParams, queryParams) {
|
|
41
|
+
return this.adapter.url(tableName, pathParams, queryParams);
|
|
40
42
|
}
|
|
41
|
-
async
|
|
42
|
-
|
|
43
|
+
async paginateBy(key, order, size, ...args) {
|
|
44
|
+
const contextArgs = await db_decorators_1.Context.args("paginateBy", this.class, args, this.adapter, this._overrides || {});
|
|
45
|
+
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.paginateBy);
|
|
46
|
+
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));
|
|
48
|
+
}
|
|
49
|
+
async listBy(key, order, ...args) {
|
|
50
|
+
const contextArgs = await db_decorators_1.Context.args("list", this.class, args, this.adapter, this._overrides || {});
|
|
51
|
+
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.listBy);
|
|
52
|
+
log.verbose(`listing ${decorator_validation_1.Model.tableName(this.class)} by ${key} ${order}`);
|
|
53
|
+
return (await this.statement(this.listBy.name, key, order, ...ctxArgs));
|
|
54
|
+
}
|
|
55
|
+
async findOneBy(key, value, ...args) {
|
|
56
|
+
const contextArgs = await db_decorators_1.Context.args("findOneBy", this.class, args, this.adapter, this._overrides || {});
|
|
57
|
+
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));
|
|
60
|
+
}
|
|
61
|
+
async statement(name, ...args) {
|
|
62
|
+
const contextArgs = await db_decorators_1.Context.args("statement", this.class, args, this.adapter, this._overrides || {});
|
|
63
|
+
const { log, ctxArgs, ctx } = this.logCtx(contextArgs.args, this.statement);
|
|
64
|
+
const query = {
|
|
65
|
+
class: this.class,
|
|
66
|
+
args: args,
|
|
67
|
+
method: name,
|
|
68
|
+
};
|
|
69
|
+
const req = this.adapter.toRequest(query, ctx);
|
|
70
|
+
log.verbose(`Executing prepared statement ${name}`);
|
|
71
|
+
return this.request(req, ...ctxArgs);
|
|
72
|
+
}
|
|
73
|
+
async request(details, ...args) {
|
|
74
|
+
const contextArgs = await db_decorators_1.Context.args("request", this.class, args, this.adapter, this._overrides || {});
|
|
75
|
+
const { ctxArgs } = this.logCtx(contextArgs.args, this.request);
|
|
76
|
+
return this.adapter.request(details, ...ctxArgs);
|
|
43
77
|
}
|
|
44
78
|
}
|
|
45
79
|
exports.RestRepository = RestRepository;
|
package/lib/RestRepository.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Repository } from "@decaf-ts/core";
|
|
1
|
+
import { ContextOf, MaybeContextualArg, OrderDirection, Paginator, Repository } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
4
4
|
import { HttpAdapter } from "./adapter";
|
|
@@ -31,8 +31,14 @@ import { HttpAdapter } from "./adapter";
|
|
|
31
31
|
* ```
|
|
32
32
|
* @see {@link RestService}
|
|
33
33
|
*/
|
|
34
|
-
export declare class RestRepository<M extends Model, A extends HttpAdapter<any, any, any, any>, Q = A extends HttpAdapter<any, any, infer Q, any> ? Q : never> extends Repository<M, A> {
|
|
34
|
+
export declare class RestRepository<M extends Model, A extends HttpAdapter<any, any, any, any, any>, Q = A extends HttpAdapter<any, any, any, infer Q, any> ? Q : never> extends Repository<M, A> {
|
|
35
35
|
constructor(adapter: A, clazz?: Constructor<M>);
|
|
36
|
-
url(
|
|
37
|
-
|
|
36
|
+
url<M extends Model>(tableName: string | Constructor<M>): string;
|
|
37
|
+
url<M extends Model>(tableName: string | Constructor<M>, pathParams: string[]): string;
|
|
38
|
+
url<M extends Model>(tableName: string | Constructor<M>, queryParams: Record<string, string | number> | undefined): string;
|
|
39
|
+
paginateBy(key: keyof M, order: OrderDirection, size: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<Paginator<M, M[], any>>;
|
|
40
|
+
listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
41
|
+
findOneBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
42
|
+
statement(name: string, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
43
|
+
request<R>(details: Q, ...args: MaybeContextualArg<ContextOf<A>>): Promise<R>;
|
|
38
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RestRepository.js","sourceRoot":"","sources":["../src/RestRepository.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"RestRepository.js","sourceRoot":"","sources":["../src/RestRepository.ts"],"names":[],"mappings":"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"}
|
package/lib/RestService.d.ts
CHANGED
|
@@ -51,7 +51,7 @@ import { RestRepository } from "./RestRepository";
|
|
|
51
51
|
* Adapter-->>Service: record
|
|
52
52
|
* Service-->>Client: revert(record)
|
|
53
53
|
*/
|
|
54
|
-
export declare class RestService<M extends Model, A extends HttpAdapter<any, any, any, any>, Q = A extends HttpAdapter<any, any, infer Q, any> ? Q : never> extends RestRepository<M, A, Q> {
|
|
54
|
+
export declare class RestService<M extends Model, A extends HttpAdapter<any, any, any, any, any>, Q = A extends HttpAdapter<any, any, any, infer Q, any> ? Q : never> extends RestRepository<M, A, Q> {
|
|
55
55
|
protected _overrides: Partial<FlagsOf<A>>;
|
|
56
56
|
/**
|
|
57
57
|
* @description Initializes a new RestService instance
|