@iamkirbki/database-handler-core 4.0.2 → 4.0.5

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.
@@ -139,7 +139,7 @@ export default class Model {
139
139
  return instance.all();
140
140
  }
141
141
  all() {
142
- return this.repository.all(this);
142
+ return this.repository.all(this, this.queryScopes, this.queryOptions);
143
143
  }
144
144
  static set(attributes) {
145
145
  const instance = new this();
@@ -3,13 +3,25 @@ export default abstract class SchemaTableBuilder {
3
3
  protected columns: ColumnDefinition[];
4
4
  protected addColumn(data: ColumnDefinition): this;
5
5
  abstract build(): string;
6
- abstract increments(name: string): this;
7
- abstract primaryKey(name: string): this;
8
- abstract foreignKey(name: string, referenceTable: string, referenceColumn: string): this;
6
+ abstract increments(): this;
7
+ abstract primaryKey(): this;
8
+ abstract nullable(): this;
9
+ abstract unique(): this;
10
+ abstract defaultTo(value: unknown): this;
11
+ abstract foreignKey(referenceTable: string, referenceColumn: string): this;
9
12
  abstract uuid(name: string): this;
13
+ abstract enum(name: string, values: string[]): this;
14
+ abstract json(name: string): this;
15
+ abstract boolean(name: string): this;
16
+ abstract text(name: string): this;
10
17
  abstract string(name: string, length?: number): this;
11
18
  abstract integer(name: string): this;
12
- abstract boolean(name: string): this;
19
+ abstract decimal(name: string, precision?: number, scale?: number): this;
20
+ abstract float(name: string): this;
21
+ abstract time(name: string): this;
22
+ abstract timestamp(name: string): this;
13
23
  abstract timestamps(): this;
24
+ abstract softDeletes(): this;
25
+ abstract morphs(name: string): this;
14
26
  }
15
27
  //# sourceMappingURL=SchemaTableBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaTableBuilder.d.ts","sourceRoot":"","sources":["../../src/abstract/SchemaTableBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kBAAkB;IAC5C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAM;IAE3C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAoBjD,QAAQ,CAAC,KAAK,IAAI,MAAM;IAExB,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACvC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAExF,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACjC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IACpD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACpC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACpC,QAAQ,CAAC,UAAU,IAAI,IAAI;CAC9B"}
1
+ {"version":3,"file":"SchemaTableBuilder.d.ts","sourceRoot":"","sources":["../../src/abstract/SchemaTableBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kBAAkB;IAC5C,SAAS,CAAC,OAAO,EAAE,gBAAgB,EAAE,CAAM;IAE3C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI;IA2BjD,QAAQ,CAAC,KAAK,IAAI,MAAM;IAExB,QAAQ,CAAC,UAAU,IAAI,IAAI;IAC3B,QAAQ,CAAC,UAAU,IAAI,IAAI;IAC3B,QAAQ,CAAC,QAAQ,IAAI,IAAI;IACzB,QAAQ,CAAC,MAAM,IAAI,IAAI;IACvB,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IACxC,QAAQ,CAAC,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAE1E,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IACnD,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACjC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAEpC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACjC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAEpD,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACpC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IACxE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAElC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACjC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IACtC,QAAQ,CAAC,UAAU,IAAI,IAAI;IAE3B,QAAQ,CAAC,WAAW,IAAI,IAAI;IAC5B,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CACtC"}
@@ -3,18 +3,23 @@ export default class SchemaTableBuilder {
3
3
  this.columns = [];
4
4
  }
5
5
  addColumn(data) {
6
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
6
7
  if (data.name) {
7
- this.columns.push(Object.assign({}, data));
8
+ this.columns.push(Object.assign(Object.assign({}, data), { constraints: ['NOT NULL', ...((_a = data.constraints) !== null && _a !== void 0 ? _a : [])] }));
8
9
  }
9
10
  else {
11
+ const lastColumn = this.columns[this.columns.length - 1];
12
+ if ((_b = data.constraints) === null || _b === void 0 ? void 0 : _b.includes("NULLABLE")) {
13
+ lastColumn.constraints = (_d = (_c = lastColumn.constraints) === null || _c === void 0 ? void 0 : _c.filter(constraint => constraint !== "NOT NULL")) !== null && _d !== void 0 ? _d : [];
14
+ }
10
15
  this.columns[this.columns.length - 1] = {
11
- name: this.columns[this.columns.length - 1].name,
12
- datatype: this.columns[this.columns.length - 1].datatype ? this.columns[this.columns.length - 1].datatype : data.datatype,
16
+ name: lastColumn.name,
17
+ datatype: (_e = lastColumn.datatype) !== null && _e !== void 0 ? _e : data.datatype,
13
18
  constraints: [
14
- ...((this.columns[this.columns.length - 1].constraints) || []),
15
- ...(data.constraints || [])
19
+ ...((_f = lastColumn.constraints) !== null && _f !== void 0 ? _f : []),
20
+ ...((_g = data.constraints) !== null && _g !== void 0 ? _g : [])
16
21
  ],
17
- autoincrement: this.columns[this.columns.length - 1].autoincrement ? this.columns[this.columns.length - 1].autoincrement : data.autoincrement || false,
22
+ autoincrement: (_j = (_h = lastColumn.autoincrement) !== null && _h !== void 0 ? _h : data.autoincrement) !== null && _j !== void 0 ? _j : false,
18
23
  };
19
24
  }
20
25
  return this;
@@ -11,7 +11,7 @@ export default class Repository<Type extends columnType, ModelType extends Model
11
11
  save(attributes: Type): Promise<void>;
12
12
  first(conditions: QueryCondition, Model: Model<Type>): Promise<Type | null>;
13
13
  get(conditions: QueryCondition, queryOptions: QueryOptions, Model: Model<Type>): Promise<Type[]>;
14
- all(Model: Model<Type>): Promise<Type[]>;
14
+ all(Model: Model<Type>, queryscopes?: QueryCondition, queryOptions?: QueryOptions): Promise<Type[]>;
15
15
  update(attributes: Partial<Type>): Promise<this>;
16
16
  private join;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/runtime/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAE,YAAY,EAAY,MAAM,mBAAmB,CAAC;AAE7F,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,IAAI,SAAS,UAAU,EAAE,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqE;IAC9F,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,KAAK,CAAO;gBAER,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;WAMtC,WAAW,CAAC,SAAS,SAAS,UAAU,EAClD,UAAU,EAAE,UAAU,KAAK,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,MAAM,GAClB,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAWnC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI3B,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAW3E,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQhG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQxC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAe/C,IAAI;CAoBrB"}
1
+ {"version":3,"file":"Repository.d.ts","sourceRoot":"","sources":["../../src/runtime/Repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAQ,cAAc,EAAE,YAAY,EAAY,MAAM,mBAAmB,CAAC;AAE7F,MAAM,CAAC,OAAO,OAAO,UAAU,CAAC,IAAI,SAAS,UAAU,EAAE,SAAS,SAAS,KAAK,CAAC,IAAI,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqE;IAC9F,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,KAAK,CAAO;gBAER,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS;WAMtC,WAAW,CAAC,SAAS,SAAS,UAAU,EAClD,UAAU,EAAE,UAAU,KAAK,CAAC,SAAS,CAAC,EACtC,SAAS,EAAE,MAAM,GAClB,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAWnC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKjC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;IAI3B,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAW3E,GAAG,CAAC,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQhG,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQnG,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;YAe/C,IAAI;CAoBrB"}
@@ -60,13 +60,13 @@ class Repository {
60
60
  }
61
61
  });
62
62
  }
63
- all(Model) {
63
+ all(Model, queryscopes, queryOptions) {
64
64
  return __awaiter(this, void 0, void 0, function* () {
65
65
  if (Model.JoinedEntities.length > 0) {
66
66
  return yield this.join(Model);
67
67
  }
68
68
  else {
69
- return yield this.Table.Records().then(records => records.map(record => record.values));
69
+ return yield this.Table.Records(Object.assign({ where: queryscopes }, queryOptions)).then(records => records.map(record => record.values));
70
70
  }
71
71
  });
72
72
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iamkirbki/database-handler-core",
3
- "version": "4.0.2",
3
+ "version": "4.0.5",
4
4
  "author": "iamkirbki",
5
5
  "description": "Core database abstractions and interfaces",
6
6
  "license": "ISC",
@@ -26,6 +26,7 @@
26
26
  "build": "tsc --build && tsc-alias"
27
27
  },
28
28
  "devDependencies": {
29
+ "@types/node": "^24.10.1",
29
30
  "typescript": "^5.9.3",
30
31
  "tsc-alias": "^1.8.16"
31
32
  }