@carbonorm/carbonnode 3.4.0 → 3.4.2

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.
@@ -6,12 +6,10 @@ export class SelectQueryBuilder<G extends OrmGenerics> extends PaginationBuilder
6
6
 
7
7
  build(
8
8
  table: string,
9
- args: any,
10
- primary?: string,
11
9
  isSubSelect: boolean = false
12
10
  ): SqlBuilderResult {
11
+ const args = this.request;
13
12
  const params = this.useNamedParams ? {} : [];
14
-
15
13
  const selectList = args.SELECT ?? ['*'];
16
14
  const selectFields = selectList
17
15
  .map((f: any) => this.buildAggregateField(f))
@@ -41,7 +39,7 @@ export class SelectQueryBuilder<G extends OrmGenerics> extends PaginationBuilder
41
39
  if (args.PAGINATION) {
42
40
  sql += this.buildPaginationClause(args.PAGINATION);
43
41
  } else if (!isSubSelect) {
44
- sql += primary ? ` ORDER BY ${primary} ASC LIMIT 1` : ` LIMIT 100`;
42
+ sql += ` LIMIT 100`;
45
43
  }
46
44
 
47
45
  return { sql, params };
@@ -1,3 +1,4 @@
1
+ import {C6C} from "../../C6Constants";
1
2
  import {OrmGenerics} from "../../types/ormGenerics";
2
3
  import { PaginationBuilder } from '../builders/PaginationBuilder';
3
4
  import {SqlBuilderResult} from "../utils/sqlUtils";
@@ -6,9 +7,8 @@ export class UpdateQueryBuilder<G extends OrmGenerics> extends PaginationBuilder
6
7
 
7
8
  build(
8
9
  table: string,
9
- data: Record<string, any>,
10
- args: any = {}
11
10
  ): SqlBuilderResult {
11
+ const args = this.request;
12
12
  const params = this.useNamedParams ? {} : [];
13
13
  let sql = `UPDATE \`${table}\``;
14
14
 
@@ -16,16 +16,11 @@ export class UpdateQueryBuilder<G extends OrmGenerics> extends PaginationBuilder
16
16
  sql += this.buildJoinClauses(args.JOIN, params);
17
17
  }
18
18
 
19
- const setClauses = Object.entries(data).map(([col, val]) => {
20
- if (Array.isArray(params)) {
21
- params.push(val);
22
- return `\`${col}\` = ?`;
23
- } else {
24
- const key = `param${Object.keys(params).length}`;
25
- params[key] = val;
26
- return `\`${col}\` = :${key}`;
27
- }
28
- });
19
+ if (!(C6C.UPDATE in this.request)) {
20
+ throw new Error("No update data provided in the request.");
21
+ }
22
+
23
+ const setClauses = Object.entries(this.request[C6C.UPDATE]).map(([col, val]) => this.addParam(params, col, val));
29
24
 
30
25
  sql += ` SET ${setClauses.join(', ')}`;
31
26
 
@@ -90,7 +90,9 @@ export type RequestQueryBody<
90
90
  Overrides extends { [key: string]: any } = {}
91
91
  > = Method extends 'GET' | 'PUT' | 'DELETE'
92
92
  ? iAPI<RequestGetPutDeleteBody<Modify<T, Overrides> & Custom>>
93
- : iAPI<Modify<T, Overrides> & Custom>;
93
+ : Method extends 'POST'
94
+ ? iAPI<RequestGetPutDeleteBody<Modify<T, Overrides> & Custom> & Modify<T, Overrides> & Custom>
95
+ : iAPI<Modify<T, Overrides> & Custom>;
94
96
 
95
97
  export interface iCacheAPI<ResponseDataType = any> {
96
98
  requestArgumentsSerialized: string;
package/src/index.ts CHANGED
@@ -22,6 +22,7 @@ export * from "./api/orm/builders/ConditionBuilder";
22
22
  export * from "./api/orm/builders/JoinBuilder";
23
23
  export * from "./api/orm/builders/PaginationBuilder";
24
24
  export * from "./api/orm/queries/DeleteQueryBuilder";
25
+ export * from "./api/orm/queries/PostQueryBuilder";
25
26
  export * from "./api/orm/queries/SelectQueryBuilder";
26
27
  export * from "./api/orm/queries/UpdateQueryBuilder";
27
28
  export * from "./api/orm/utils/sqlUtils";