bradb 2.0.0 → 2.1.1
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/LICENSE +0 -0
- package/README.md +0 -0
- package/dist/bin/brad.d.ts +0 -0
- package/dist/bin/brad.js +0 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -0
- package/dist/src/commands.d.ts +0 -0
- package/dist/src/commands.js +0 -0
- package/dist/src/controller.d.ts +0 -0
- package/dist/src/controller.js +0 -0
- package/dist/src/errors.d.ts +0 -0
- package/dist/src/errors.js +0 -0
- package/dist/src/filters.d.ts +0 -0
- package/dist/src/filters.js +0 -0
- package/dist/src/relational.d.ts +0 -0
- package/dist/src/relational.js +0 -0
- package/dist/src/service.d.ts +3 -3
- package/dist/src/service.js +5 -4
- package/dist/src/types.d.ts +0 -0
- package/dist/src/types.js +0 -0
- package/package.json +1 -1
package/LICENSE
CHANGED
|
File without changes
|
package/README.md
CHANGED
|
File without changes
|
package/dist/bin/brad.d.ts
CHANGED
|
File without changes
|
package/dist/bin/brad.js
CHANGED
|
File without changes
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
File without changes
|
package/dist/src/commands.d.ts
CHANGED
|
File without changes
|
package/dist/src/commands.js
CHANGED
|
File without changes
|
package/dist/src/controller.d.ts
CHANGED
|
File without changes
|
package/dist/src/controller.js
CHANGED
|
File without changes
|
package/dist/src/errors.d.ts
CHANGED
|
File without changes
|
package/dist/src/errors.js
CHANGED
|
File without changes
|
package/dist/src/filters.d.ts
CHANGED
|
File without changes
|
package/dist/src/filters.js
CHANGED
|
File without changes
|
package/dist/src/relational.d.ts
CHANGED
|
File without changes
|
package/dist/src/relational.js
CHANGED
|
File without changes
|
package/dist/src/service.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Filter, FilterMap,
|
|
1
|
+
import { Filter, FilterMap, PrimaryKeyType, Table } from "./types";
|
|
2
2
|
import { PgSelect, PgTransaction } from "drizzle-orm/pg-core";
|
|
3
3
|
import { NodePgDatabase } from "drizzle-orm/node-postgres";
|
|
4
4
|
import { InferInsertModel, SQL } from "drizzle-orm";
|
|
@@ -13,10 +13,10 @@ export declare class ServiceBuilder<T extends Table, TSchema extends Record<stri
|
|
|
13
13
|
readonly findOneConditions: (id: PrimaryKeyType<T>) => SQL | undefined;
|
|
14
14
|
readonly tableName: string;
|
|
15
15
|
constructor(db: NodePgDatabase<TSchema>, table: T, map: FilterMap<FSchema>);
|
|
16
|
-
findOne<S extends PgSelect>(select: S): (
|
|
16
|
+
findOne<S extends PgSelect>(select: S): (id: PrimaryKeyType<T>) => Promise<Awaited<ReturnType<S["execute"]>>[number]>;
|
|
17
17
|
findAll<S extends PgSelect>(select: S, paginated?: boolean): (filters?: Filter<FSchema>, page?: number, pageSize?: number) => Promise<Awaited<ReturnType<S["execute"]>>[number][]>;
|
|
18
18
|
count(): (filters?: Filter<FSchema>) => Promise<number>;
|
|
19
|
-
create(pre?: (data:
|
|
19
|
+
create<S extends any>(pre?: (data: S extends Object ? S : InferInsertModel<T>, tx?: PgTransaction<any, TSchema, any>) => Promise<InferInsertModel<T>>): (data: S extends Object ? S : InferInsertModel<T>, tx?: PgTransaction<any, TSchema, any>) => Promise<{ [Key in keyof T["_"]["columns"] & string as Key]: T["_"]["columns"][Key]["_"]["notNull"] extends true ? T["_"]["columns"][Key]["_"]["data"] : T["_"]["columns"][Key]["_"]["data"] | null; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never>;
|
|
20
20
|
update(): (id: PrimaryKeyType<T>, data: Partial<InferInsertModel<T>>, tx?: PgTransaction<any, TSchema, any>) => Promise<{ [Key in keyof T["_"]["columns"] & string as Key]: T["_"]["columns"][Key]["_"]["notNull"] extends true ? T["_"]["columns"][Key]["_"]["data"] : T["_"]["columns"][Key]["_"]["data"] | null; } extends infer T_1 ? { [K in keyof T_1]: T_1[K]; } : never>;
|
|
21
21
|
delete(): (id: PrimaryKeyType<T>, tx?: PgTransaction<any, TSchema, any>) => Promise<void>;
|
|
22
22
|
softDelete(): (id: PrimaryKeyType<T>, tx?: PgTransaction<any, TSchema, any>) => Promise<void>;
|
package/dist/src/service.js
CHANGED
|
@@ -25,10 +25,10 @@ class ServiceBuilder {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
findOne(select) {
|
|
28
|
-
return async (pkFilter) => {
|
|
29
|
-
const result = await select.where(this.findOneConditions(
|
|
28
|
+
return async (id /* pkFilter: PrimaryKeyData<T> */) => {
|
|
29
|
+
const result = await select.where(this.findOneConditions(id));
|
|
30
30
|
if (result.length == 0)
|
|
31
|
-
throw notFoundWithId(this.tableName,
|
|
31
|
+
throw notFoundWithId(this.tableName, { id: id });
|
|
32
32
|
return result[0];
|
|
33
33
|
};
|
|
34
34
|
}
|
|
@@ -59,8 +59,9 @@ class ServiceBuilder {
|
|
|
59
59
|
}
|
|
60
60
|
create(pre) {
|
|
61
61
|
return async (data, tx) => {
|
|
62
|
+
// If pre exists data is going to be InferInsertModel<T>
|
|
62
63
|
if (pre) {
|
|
63
|
-
data = await pre(data);
|
|
64
|
+
data = await pre(data, tx);
|
|
64
65
|
}
|
|
65
66
|
const executor = tx || this.db;
|
|
66
67
|
const [result] = await executor
|
package/dist/src/types.d.ts
CHANGED
|
File without changes
|
package/dist/src/types.js
CHANGED
|
File without changes
|