@decaf-ts/db-decorators 0.1.2 → 0.1.3

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Repository=void 0;const decorator_validation_1=require("@decaf-ts/decorator-validation"),utils_1=require("./utils.cjs"),constants_1=require("../operations/constants.cjs"),errors_1=require("./errors.cjs"),BaseRepository_1=require("./BaseRepository.cjs"),identity_1=require("../identity/index.cjs");class Repository extends BaseRepository_1.BaseRepository{constructor(){super()}async create(r){throw new Error("Child classes must implement this.")}async createPrefix(e,...t){e=new this.class(e),await(0,utils_1.enforceDBDecorators)(this,e,constants_1.OperationKeys.CREATE,constants_1.OperationKeys.ON);var r=e.hasErrors();if(r)throw new errors_1.ValidationError(r.toString());let s;try{if(!(s=(0,identity_1.findModelId)(e,!0)))return[e,...t];s&&await this.read(s.toString())}catch(r){if(r instanceof errors_1.NotFoundError)return[e,...t];throw r}throw new errors_1.ConflictError((0,decorator_validation_1.sf)("Model with id {0} already exists",s))}async delete(r){throw new Error("Child classes must implement this.")}async deletePrefix(r,...e){var t=new this.class;return await(0,utils_1.enforceDBDecorators)(this,t,constants_1.OperationKeys.DELETE,constants_1.OperationKeys.ON),await this.read(r),[r,...e]}async read(r){throw new Error("Child classes must implement this.")}async update(r){throw new Error("Child classes must implement this.")}async updatePrefix(r,...e){r=new this.class(r);var t=(0,identity_1.findModelId)(r),t=await this.read(t),t=(await(0,utils_1.enforceDBDecorators)(this,r,constants_1.OperationKeys.UPDATE,constants_1.OperationKeys.ON,t),r.hasErrors(t));if(t)throw new errors_1.ValidationError(t.toString());return[r,...e]}}exports.Repository=Repository;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Repository=void 0;const decorator_validation_1=require("@decaf-ts/decorator-validation"),utils_1=require("./utils.cjs"),constants_1=require("../operations/constants.cjs"),errors_1=require("./errors.cjs"),BaseRepository_1=require("./BaseRepository.cjs"),identity_1=require("../identity/index.cjs");class Repository extends BaseRepository_1.BaseRepository{constructor(r){super(r)}async create(r){throw new Error("Child classes must implement this.")}async createPrefix(e,...t){e=new this.class(e),await(0,utils_1.enforceDBDecorators)(this,e,constants_1.OperationKeys.CREATE,constants_1.OperationKeys.ON);var r=e.hasErrors();if(r)throw new errors_1.ValidationError(r.toString());let s;try{if(!(s=(0,identity_1.findModelId)(e,!0)))return[e,...t];s&&await this.read(s.toString())}catch(r){if(r instanceof errors_1.NotFoundError)return[e,...t];throw r}throw new errors_1.ConflictError((0,decorator_validation_1.sf)("Model with id {0} already exists",s))}async delete(r){throw new Error("Child classes must implement this.")}async deletePrefix(r,...e){var t=new this.class;return await(0,utils_1.enforceDBDecorators)(this,t,constants_1.OperationKeys.DELETE,constants_1.OperationKeys.ON),await this.read(r),[r,...e]}async read(r){throw new Error("Child classes must implement this.")}async update(r){throw new Error("Child classes must implement this.")}async updatePrefix(r,...e){r=new this.class(r);var t=(0,identity_1.findModelId)(r),t=await this.read(t),t=(await(0,utils_1.enforceDBDecorators)(this,r,constants_1.OperationKeys.UPDATE,constants_1.OperationKeys.ON,t),r.hasErrors(t));if(t)throw new errors_1.ValidationError(t.toString());return[r,...e]}}exports.Repository=Repository;
@@ -1,7 +1,8 @@
1
1
  import { DBModel } from "../model/DBModel";
2
2
  import { BaseRepository } from "./BaseRepository";
3
+ import { Constructor } from "@decaf-ts/decorator-validation";
3
4
  export declare abstract class Repository<T extends DBModel> extends BaseRepository<T> {
4
- protected constructor();
5
+ protected constructor(clazz?: Constructor<T>);
5
6
  create(model: T): Promise<T>;
6
7
  protected createPrefix(model: T, ...args: any[]): Promise<[T, ...any[]]>;
7
8
  delete(key: string | number): Promise<T>;
@@ -1 +1 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var i=Object.getOwnPropertyDescriptor(r,t);i&&("get"in i?r.__esModule:!i.writable&&!i.configurable)||(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,i)}:function(e,r,t,o){e[o=void 0===o?t:o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./BaseRepository.cjs"),exports),__exportStar(require("./DataCache.cjs"),exports),__exportStar(require("./decorators.cjs"),exports),__exportStar(require("./errors.cjs"),exports),__exportStar(require("./Repository.cjs"),exports),__exportStar(require("./utils.cjs"),exports),__exportStar(require("./wrappers.cjs"),exports);
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,r,t,o){void 0===o&&(o=t);var i=Object.getOwnPropertyDescriptor(r,t);i&&("get"in i?r.__esModule:!i.writable&&!i.configurable)||(i={enumerable:!0,get:function(){return r[t]}}),Object.defineProperty(e,o,i)}:function(e,r,t,o){e[o=void 0===o?t:o]=r[t]}),__exportStar=this&&this.__exportStar||function(e,r){for(var t in e)"default"===t||Object.prototype.hasOwnProperty.call(r,t)||__createBinding(r,e,t)};Object.defineProperty(exports,"__esModule",{value:!0}),__exportStar(require("./BaseRepository.cjs"),exports),__exportStar(require("./DataCache.cjs"),exports),__exportStar(require("./errors.cjs"),exports),__exportStar(require("./Repository.cjs"),exports),__exportStar(require("./utils.cjs"),exports),__exportStar(require("./wrappers.cjs"),exports);
@@ -1,6 +1,5 @@
1
1
  export * from "./BaseRepository";
2
2
  export * from "./DataCache";
3
- export * from "./decorators";
4
3
  export * from "./errors";
5
4
  export * from "./Repository";
6
5
  export * from "./utils";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@decaf-ts/db-decorators",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Agnostic database decorators and repository",
5
5
  "type": "module",
6
6
  "exports": {
@@ -1,3 +0,0 @@
1
- import { Constructor } from "@decaf-ts/decorator-validation";
2
- import { DBModel } from "../model/DBModel";
3
- export declare function repository<T extends DBModel>(model: Constructor<T>, nameOverride?: string): (original: any, propertyKey?: string) => any;
@@ -1 +0,0 @@
1
- import{inject,injectable}from"@decaf-ts/injectable-decorators";import{metadata}from"@decaf-ts/reflection";import{getDBKey}from"../model/decorators";import{DBKeys}from"../model/constants";import{InternalError}from"./errors";function repository(o,a){return(e,r)=>{if(r){var t=Reflect.getMetadata(getDBKey(DBKeys.REPOSITORY),o);if(t)return inject(t)(e,r);throw new InternalError("Could not find repository for "+o.name)}return metadata(getDBKey(DBKeys.REPOSITORY),a||e.name)(o),injectable(a,!0,e=>{Object.defineProperty(e,DBKeys.CLASS,{enumerable:!1,configurable:!1,writable:!1,value:o})})(e)}}export{repository};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.repository=void 0;const injectable_decorators_1=require("@decaf-ts/injectable-decorators"),reflection_1=require("@decaf-ts/reflection"),decorators_1=require("../model/decorators.cjs"),constants_1=require("../model/constants.cjs"),errors_1=require("./errors.cjs");function repository(o,s){return(e,r)=>{if(r){var t=Reflect.getMetadata((0,decorators_1.getDBKey)(constants_1.DBKeys.REPOSITORY),o);if(t)return(0,injectable_decorators_1.inject)(t)(e,r);throw new errors_1.InternalError("Could not find repository for "+o.name)}return(0,reflection_1.metadata)((0,decorators_1.getDBKey)(constants_1.DBKeys.REPOSITORY),s||e.name)(o),(0,injectable_decorators_1.injectable)(s,!0,e=>{Object.defineProperty(e,constants_1.DBKeys.CLASS,{enumerable:!1,configurable:!1,writable:!1,value:o})})(e)}}exports.repository=repository;
@@ -1,3 +0,0 @@
1
- import { Constructor } from "@decaf-ts/decorator-validation";
2
- import { DBModel } from "../model/DBModel";
3
- export declare function repository<T extends DBModel>(model: Constructor<T>, nameOverride?: string): (original: any, propertyKey?: string) => any;