@carbonorm/carbonnode 6.0.2 → 6.0.4

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.
Files changed (68) hide show
  1. package/dist/executors/SqlExecutor.d.ts +2 -15
  2. package/dist/index.cjs.js +78 -17
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.esm.js +78 -17
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/types/ormInterfaces.d.ts +16 -4
  7. package/package.json +2 -2
  8. package/src/__tests__/sakila-db/C6.js +1 -1
  9. package/src/__tests__/sakila-db/C6.mysqldump.json +1 -1
  10. package/src/__tests__/sakila-db/C6.mysqldump.sql +1 -1
  11. package/src/__tests__/sakila-db/C6.ts +1 -1
  12. package/src/__tests__/sakila-db/sqlResponses/C6.actor.delete.json +1 -0
  13. package/src/__tests__/sakila-db/sqlResponses/C6.actor.post.json +4 -3
  14. package/src/__tests__/sakila-db/sqlResponses/C6.actor.post.latest.json +3 -3
  15. package/src/__tests__/sakila-db/sqlResponses/C6.actor.put.json +2 -1
  16. package/src/__tests__/sakila-db/sqlResponses/C6.actor.put.lookup.json +3 -3
  17. package/src/__tests__/sakila-db/sqlResponses/C6.address.delete.json +1 -0
  18. package/src/__tests__/sakila-db/sqlResponses/C6.address.post.json +6 -5
  19. package/src/__tests__/sakila-db/sqlResponses/C6.address.post.latest.json +5 -5
  20. package/src/__tests__/sakila-db/sqlResponses/C6.address.put.json +2 -1
  21. package/src/__tests__/sakila-db/sqlResponses/C6.address.put.lookup.json +5 -5
  22. package/src/__tests__/sakila-db/sqlResponses/C6.category.delete.json +1 -0
  23. package/src/__tests__/sakila-db/sqlResponses/C6.category.post.json +3 -2
  24. package/src/__tests__/sakila-db/sqlResponses/C6.category.post.latest.json +2 -2
  25. package/src/__tests__/sakila-db/sqlResponses/C6.category.put.json +2 -1
  26. package/src/__tests__/sakila-db/sqlResponses/C6.category.put.lookup.json +2 -2
  27. package/src/__tests__/sakila-db/sqlResponses/C6.city.delete.json +1 -0
  28. package/src/__tests__/sakila-db/sqlResponses/C6.city.post.json +3 -2
  29. package/src/__tests__/sakila-db/sqlResponses/C6.city.post.latest.json +2 -2
  30. package/src/__tests__/sakila-db/sqlResponses/C6.city.put.json +2 -1
  31. package/src/__tests__/sakila-db/sqlResponses/C6.city.put.lookup.json +2 -2
  32. package/src/__tests__/sakila-db/sqlResponses/C6.country.delete.json +1 -0
  33. package/src/__tests__/sakila-db/sqlResponses/C6.country.post.json +3 -2
  34. package/src/__tests__/sakila-db/sqlResponses/C6.country.post.latest.json +2 -2
  35. package/src/__tests__/sakila-db/sqlResponses/C6.country.put.json +2 -1
  36. package/src/__tests__/sakila-db/sqlResponses/C6.country.put.lookup.json +2 -2
  37. package/src/__tests__/sakila-db/sqlResponses/C6.customer.delete.json +1 -0
  38. package/src/__tests__/sakila-db/sqlResponses/C6.customer.post.json +6 -5
  39. package/src/__tests__/sakila-db/sqlResponses/C6.customer.post.latest.json +5 -5
  40. package/src/__tests__/sakila-db/sqlResponses/C6.customer.put.json +2 -1
  41. package/src/__tests__/sakila-db/sqlResponses/C6.customer.put.lookup.json +5 -5
  42. package/src/__tests__/sakila-db/sqlResponses/C6.film.delete.json +1 -0
  43. package/src/__tests__/sakila-db/sqlResponses/C6.film.post.json +3 -2
  44. package/src/__tests__/sakila-db/sqlResponses/C6.film.post.latest.json +2 -2
  45. package/src/__tests__/sakila-db/sqlResponses/C6.film.put.json +2 -1
  46. package/src/__tests__/sakila-db/sqlResponses/C6.film.put.lookup.json +2 -2
  47. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.delete.json +1 -0
  48. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.post.json +2 -1
  49. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.post.latest.json +1 -1
  50. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.put.json +2 -1
  51. package/src/__tests__/sakila-db/sqlResponses/C6.inventory.put.lookup.json +1 -1
  52. package/src/__tests__/sakila-db/sqlResponses/C6.language.delete.json +1 -0
  53. package/src/__tests__/sakila-db/sqlResponses/C6.language.post.json +3 -2
  54. package/src/__tests__/sakila-db/sqlResponses/C6.language.post.latest.json +2 -2
  55. package/src/__tests__/sakila-db/sqlResponses/C6.language.put.json +2 -1
  56. package/src/__tests__/sakila-db/sqlResponses/C6.language.put.lookup.json +2 -2
  57. package/src/__tests__/sakila-db/sqlResponses/C6.payment.delete.json +1 -0
  58. package/src/__tests__/sakila-db/sqlResponses/C6.payment.post.json +3 -2
  59. package/src/__tests__/sakila-db/sqlResponses/C6.payment.post.latest.json +2 -2
  60. package/src/__tests__/sakila-db/sqlResponses/C6.payment.put.json +1 -0
  61. package/src/__tests__/sakila-db/sqlResponses/C6.payment.put.lookup.json +2 -2
  62. package/src/__tests__/sakila-db/sqlResponses/C6.rental.delete.json +1 -0
  63. package/src/__tests__/sakila-db/sqlResponses/C6.rental.post.json +4 -3
  64. package/src/__tests__/sakila-db/sqlResponses/C6.rental.post.latest.json +3 -3
  65. package/src/__tests__/sakila-db/sqlResponses/C6.rental.put.json +2 -1
  66. package/src/__tests__/sakila-db/sqlResponses/C6.rental.put.lookup.json +3 -3
  67. package/src/executors/SqlExecutor.ts +98 -21
  68. package/src/types/ormInterfaces.ts +16 -6
@@ -3,7 +3,7 @@ import type { Pool } from "mysql2/promise";
3
3
  import { eFetchDependencies } from "./dynamicFetching";
4
4
  import { Modify } from "./modifyTypes";
5
5
  import { JoinType, OrderDirection, SQLComparisonOperator, SQLFunction } from "./mysqlTypes";
6
- import type { CarbonReact } from "@carbonorm/carbonreact";
6
+ import type { CarbonReact, iStateAdapter } from "@carbonorm/carbonreact";
7
7
  import type { OrmGenerics } from "./ormGenerics";
8
8
  import { restOrm } from "../api/restOrm";
9
9
  type RestOrmFactory = typeof restOrm<OrmGenerics<any>>;
@@ -69,6 +69,12 @@ export type RequestGetPutDeleteBody<T extends {
69
69
  JOIN?: Join<T>;
70
70
  PAGINATION?: Pagination<T>;
71
71
  };
72
+ export type RequestPostBody<T extends {
73
+ [key: string]: any;
74
+ } = any> = T | {
75
+ INSERT?: Partial<T>;
76
+ REPLACE?: Partial<T>;
77
+ };
72
78
  export type iAPI<T extends {
73
79
  [key: string]: any;
74
80
  }> = T & {
@@ -85,7 +91,7 @@ export type RequestQueryBody<Method extends iRestMethods, T extends {
85
91
  [key: string]: any;
86
92
  } = {}, Overrides extends {
87
93
  [key: string]: any;
88
- } = {}> = Method extends 'GET' | 'PUT' | 'DELETE' ? iAPI<RequestGetPutDeleteBody<Modify<T, Overrides> & Custom>> : iAPI<Modify<T, Overrides> & Custom>;
94
+ } = {}> = Method extends 'GET' | 'PUT' | 'DELETE' ? iAPI<RequestGetPutDeleteBody<Modify<T, Overrides> & Custom>> : iAPI<RequestPostBody<Modify<T, Overrides> & Custom>>;
89
95
  export interface iCacheAPI<ResponseDataType = any> {
90
96
  requestArgumentsSerialized: string;
91
97
  request: AxiosPromise<ResponseDataType>;
@@ -104,12 +110,15 @@ export interface iChangeC6Data {
104
110
  export type C6RestResponse<Method extends iRestMethods, RestData extends {
105
111
  [key: string]: any;
106
112
  }, Overrides = {}> = {
107
- rest: Method extends 'GET' ? Modify<RestData, Overrides>[] : Modify<RestData, Overrides>;
113
+ rest: Method extends 'GET' ? Modify<RestData, Overrides>[] : never;
108
114
  session?: any;
109
115
  sql?: any;
110
116
  } & (Method extends 'GET' ? {
111
117
  next?: () => Promise<DetermineResponseDataType<'GET', RestData, Overrides>>;
112
- } : {});
118
+ } : {
119
+ affected: number;
120
+ insertId?: number | string;
121
+ });
113
122
  export interface iC6RestResponse<RestData> {
114
123
  rest: RestData;
115
124
  session?: any;
@@ -144,6 +153,8 @@ export type iRestWebsocketPayload = {
144
153
  METHOD: iRestMethods;
145
154
  REQUEST: Record<string, any>;
146
155
  REQUEST_PRIMARY_KEY: Record<string, any> | null;
156
+ RESPONSE?: Record<string, any> | Record<string, any>[];
157
+ RESPONSE_PRIMARY_KEY?: Record<string, any> | null;
147
158
  };
148
159
  };
149
160
  export type tWebsocketBroadcast = (payload: iRestWebsocketPayload) => void | Promise<void>;
@@ -155,6 +166,7 @@ export interface iRest<RestShortTableName extends string = any, RestTableInterfa
155
166
  withCredentials?: boolean;
156
167
  restModel: C6RestfulModel<RestShortTableName, RestTableInterface, PrimaryKey>;
157
168
  reactBootstrap?: CarbonReact<any, any>;
169
+ stateAdapter?: iStateAdapter<any>;
158
170
  requestMethod: iRestMethods;
159
171
  clearCache?: () => void;
160
172
  skipPrimaryCheck?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carbonorm/carbonnode",
3
- "version": "6.0.2",
3
+ "version": "6.0.4",
4
4
  "browser": "dist/index.umd.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,7 +19,7 @@
19
19
  "hooksPath": ".githooks"
20
20
  },
21
21
  "dependencies": {
22
- "@carbonorm/carbonreact": "^4.0.25",
22
+ "@carbonorm/carbonreact": "^6.0.3",
23
23
  "buffer": "^6.0.3",
24
24
  "geojson": "^0.5.0",
25
25
  "handlebars": "^4.7.8",
@@ -1342,7 +1342,7 @@ export const TABLES = {
1342
1342
  };
1343
1343
  export const C6 = {
1344
1344
  ...C6Constants,
1345
- C6VERSION: '6.0.2',
1345
+ C6VERSION: '6.0.4',
1346
1346
  IMPORT: async (tableName) => {
1347
1347
  tableName = tableName.toLowerCase();
1348
1348
  // if tableName is not a key in the TABLES object then throw an error