pg-manipulator 1.0.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.
Files changed (248) hide show
  1. package/README.md +2 -0
  2. package/bin/dump/index.cjs +8 -0
  3. package/bin/update/index.cjs +9 -0
  4. package/dist/@types/bettings/betting_ball_scores_fields.d.ts +6 -0
  5. package/dist/@types/bettings/betting_ball_scores_fields.js +2 -0
  6. package/dist/@types/bettings/betting_ball_scores_order.d.ts +6 -0
  7. package/dist/@types/bettings/betting_ball_scores_order.js +2 -0
  8. package/dist/@types/bettings/betting_ball_scores_select.d.ts +10 -0
  9. package/dist/@types/bettings/betting_ball_scores_select.js +2 -0
  10. package/dist/@types/bettings/betting_ball_scores_update.d.ts +8 -0
  11. package/dist/@types/bettings/betting_ball_scores_update.js +2 -0
  12. package/dist/@types/bettings/betting_ball_scores_where.d.ts +7 -0
  13. package/dist/@types/bettings/betting_ball_scores_where.js +2 -0
  14. package/dist/@types/bettings/betting_balls_fields.d.ts +8 -0
  15. package/dist/@types/bettings/betting_balls_fields.js +2 -0
  16. package/dist/@types/bettings/betting_balls_order.d.ts +8 -0
  17. package/dist/@types/bettings/betting_balls_order.js +2 -0
  18. package/dist/@types/bettings/betting_balls_select.d.ts +12 -0
  19. package/dist/@types/bettings/betting_balls_select.js +2 -0
  20. package/dist/@types/bettings/betting_balls_update.d.ts +10 -0
  21. package/dist/@types/bettings/betting_balls_update.js +2 -0
  22. package/dist/@types/bettings/betting_balls_where.d.ts +9 -0
  23. package/dist/@types/bettings/betting_balls_where.js +2 -0
  24. package/dist/@types/bettings/betting_cards_fields.d.ts +7 -0
  25. package/dist/@types/bettings/betting_cards_fields.js +2 -0
  26. package/dist/@types/bettings/betting_cards_order.d.ts +7 -0
  27. package/dist/@types/bettings/betting_cards_order.js +2 -0
  28. package/dist/@types/bettings/betting_cards_select.d.ts +11 -0
  29. package/dist/@types/bettings/betting_cards_select.js +2 -0
  30. package/dist/@types/bettings/betting_cards_update.d.ts +9 -0
  31. package/dist/@types/bettings/betting_cards_update.js +2 -0
  32. package/dist/@types/bettings/betting_cards_where.d.ts +8 -0
  33. package/dist/@types/bettings/betting_cards_where.js +2 -0
  34. package/dist/@types/bettings/card_options_fields.d.ts +11 -0
  35. package/dist/@types/bettings/card_options_fields.js +2 -0
  36. package/dist/@types/bettings/card_options_order.d.ts +11 -0
  37. package/dist/@types/bettings/card_options_order.js +2 -0
  38. package/dist/@types/bettings/card_options_select.d.ts +15 -0
  39. package/dist/@types/bettings/card_options_select.js +2 -0
  40. package/dist/@types/bettings/card_options_update.d.ts +13 -0
  41. package/dist/@types/bettings/card_options_update.js +2 -0
  42. package/dist/@types/bettings/card_options_where.d.ts +12 -0
  43. package/dist/@types/bettings/card_options_where.js +2 -0
  44. package/dist/@types/bettings/cards_fields.d.ts +7 -0
  45. package/dist/@types/bettings/cards_fields.js +2 -0
  46. package/dist/@types/bettings/cards_order.d.ts +7 -0
  47. package/dist/@types/bettings/cards_order.js +2 -0
  48. package/dist/@types/bettings/cards_select.d.ts +11 -0
  49. package/dist/@types/bettings/cards_select.js +2 -0
  50. package/dist/@types/bettings/cards_update.d.ts +9 -0
  51. package/dist/@types/bettings/cards_update.js +2 -0
  52. package/dist/@types/bettings/cards_where.d.ts +8 -0
  53. package/dist/@types/bettings/cards_where.js +2 -0
  54. package/dist/@types/bettings/championship_teams_fields.d.ts +7 -0
  55. package/dist/@types/bettings/championship_teams_fields.js +2 -0
  56. package/dist/@types/bettings/championship_teams_order.d.ts +7 -0
  57. package/dist/@types/bettings/championship_teams_order.js +2 -0
  58. package/dist/@types/bettings/championship_teams_select.d.ts +11 -0
  59. package/dist/@types/bettings/championship_teams_select.js +2 -0
  60. package/dist/@types/bettings/championship_teams_update.d.ts +9 -0
  61. package/dist/@types/bettings/championship_teams_update.js +2 -0
  62. package/dist/@types/bettings/championship_teams_where.d.ts +8 -0
  63. package/dist/@types/bettings/championship_teams_where.js +2 -0
  64. package/dist/@types/bettings/championships_fields.d.ts +9 -0
  65. package/dist/@types/bettings/championships_fields.js +2 -0
  66. package/dist/@types/bettings/championships_order.d.ts +9 -0
  67. package/dist/@types/bettings/championships_order.js +2 -0
  68. package/dist/@types/bettings/championships_select.d.ts +13 -0
  69. package/dist/@types/bettings/championships_select.js +2 -0
  70. package/dist/@types/bettings/championships_update.d.ts +11 -0
  71. package/dist/@types/bettings/championships_update.js +2 -0
  72. package/dist/@types/bettings/championships_where.d.ts +10 -0
  73. package/dist/@types/bettings/championships_where.js +2 -0
  74. package/dist/@types/bettings/match_teams_fields.d.ts +5 -0
  75. package/dist/@types/bettings/match_teams_fields.js +2 -0
  76. package/dist/@types/bettings/match_teams_order.d.ts +5 -0
  77. package/dist/@types/bettings/match_teams_order.js +2 -0
  78. package/dist/@types/bettings/match_teams_select.d.ts +9 -0
  79. package/dist/@types/bettings/match_teams_select.js +2 -0
  80. package/dist/@types/bettings/match_teams_update.d.ts +7 -0
  81. package/dist/@types/bettings/match_teams_update.js +2 -0
  82. package/dist/@types/bettings/match_teams_where.d.ts +6 -0
  83. package/dist/@types/bettings/match_teams_where.js +2 -0
  84. package/dist/@types/bettings/matches_fields.d.ts +5 -0
  85. package/dist/@types/bettings/matches_fields.js +2 -0
  86. package/dist/@types/bettings/matches_order.d.ts +5 -0
  87. package/dist/@types/bettings/matches_order.js +2 -0
  88. package/dist/@types/bettings/matches_select.d.ts +9 -0
  89. package/dist/@types/bettings/matches_select.js +2 -0
  90. package/dist/@types/bettings/matches_update.d.ts +7 -0
  91. package/dist/@types/bettings/matches_update.js +2 -0
  92. package/dist/@types/bettings/matches_where.d.ts +6 -0
  93. package/dist/@types/bettings/matches_where.js +2 -0
  94. package/dist/@types/bettings/teams_fields.d.ts +7 -0
  95. package/dist/@types/bettings/teams_fields.js +2 -0
  96. package/dist/@types/bettings/teams_order.d.ts +7 -0
  97. package/dist/@types/bettings/teams_order.js +2 -0
  98. package/dist/@types/bettings/teams_select.d.ts +11 -0
  99. package/dist/@types/bettings/teams_select.js +2 -0
  100. package/dist/@types/bettings/teams_update.d.ts +9 -0
  101. package/dist/@types/bettings/teams_update.js +2 -0
  102. package/dist/@types/bettings/teams_where.d.ts +8 -0
  103. package/dist/@types/bettings/teams_where.js +2 -0
  104. package/dist/@types/index.d.ts +40 -0
  105. package/dist/@types/index.js +2 -0
  106. package/dist/@types/users/transaction_historics_fields.d.ts +6 -0
  107. package/dist/@types/users/transaction_historics_fields.js +2 -0
  108. package/dist/@types/users/transaction_historics_order.d.ts +6 -0
  109. package/dist/@types/users/transaction_historics_order.js +2 -0
  110. package/dist/@types/users/transaction_historics_select.d.ts +10 -0
  111. package/dist/@types/users/transaction_historics_select.js +2 -0
  112. package/dist/@types/users/transaction_historics_update.d.ts +8 -0
  113. package/dist/@types/users/transaction_historics_update.js +2 -0
  114. package/dist/@types/users/transaction_historics_where.d.ts +7 -0
  115. package/dist/@types/users/transaction_historics_where.js +2 -0
  116. package/dist/@types/users/transactions_fields.d.ts +11 -0
  117. package/dist/@types/users/transactions_fields.js +2 -0
  118. package/dist/@types/users/transactions_order.d.ts +11 -0
  119. package/dist/@types/users/transactions_order.js +2 -0
  120. package/dist/@types/users/transactions_select.d.ts +15 -0
  121. package/dist/@types/users/transactions_select.js +2 -0
  122. package/dist/@types/users/transactions_update.d.ts +13 -0
  123. package/dist/@types/users/transactions_update.js +2 -0
  124. package/dist/@types/users/transactions_where.d.ts +12 -0
  125. package/dist/@types/users/transactions_where.js +2 -0
  126. package/dist/@types/users/users_fields.d.ts +8 -0
  127. package/dist/@types/users/users_fields.js +2 -0
  128. package/dist/@types/users/users_order.d.ts +8 -0
  129. package/dist/@types/users/users_order.js +2 -0
  130. package/dist/@types/users/users_select.d.ts +12 -0
  131. package/dist/@types/users/users_select.js +2 -0
  132. package/dist/@types/users/users_update.d.ts +10 -0
  133. package/dist/@types/users/users_update.js +2 -0
  134. package/dist/@types/users/users_where.d.ts +9 -0
  135. package/dist/@types/users/users_where.js +2 -0
  136. package/dist/base/index.d.ts +8 -0
  137. package/dist/base/index.js +50 -0
  138. package/dist/class/bettings/betting_ball_scores.d.ts +13 -0
  139. package/dist/class/bettings/betting_ball_scores.js +58 -0
  140. package/dist/class/bettings/betting_balls.d.ts +13 -0
  141. package/dist/class/bettings/betting_balls.js +58 -0
  142. package/dist/class/bettings/betting_cards.d.ts +13 -0
  143. package/dist/class/bettings/betting_cards.js +58 -0
  144. package/dist/class/bettings/card_options.d.ts +13 -0
  145. package/dist/class/bettings/card_options.js +58 -0
  146. package/dist/class/bettings/cards.d.ts +13 -0
  147. package/dist/class/bettings/cards.js +58 -0
  148. package/dist/class/bettings/championship_teams.d.ts +13 -0
  149. package/dist/class/bettings/championship_teams.js +58 -0
  150. package/dist/class/bettings/championships.d.ts +13 -0
  151. package/dist/class/bettings/championships.js +58 -0
  152. package/dist/class/bettings/index.d.ts +27 -0
  153. package/dist/class/bettings/index.js +47 -0
  154. package/dist/class/bettings/match_teams.d.ts +13 -0
  155. package/dist/class/bettings/match_teams.js +58 -0
  156. package/dist/class/bettings/matches.d.ts +13 -0
  157. package/dist/class/bettings/matches.js +58 -0
  158. package/dist/class/bettings/teams.d.ts +13 -0
  159. package/dist/class/bettings/teams.js +58 -0
  160. package/dist/class/users/index.d.ts +13 -0
  161. package/dist/class/users/index.js +33 -0
  162. package/dist/class/users/transaction_historics.d.ts +13 -0
  163. package/dist/class/users/transaction_historics.js +58 -0
  164. package/dist/class/users/transactions.d.ts +13 -0
  165. package/dist/class/users/transactions.js +58 -0
  166. package/dist/class/users/users.d.ts +13 -0
  167. package/dist/class/users/users.js +58 -0
  168. package/dist/database/client/index.d.ts +9 -0
  169. package/dist/database/client/index.js +61 -0
  170. package/dist/database/index.d.ts +10 -0
  171. package/dist/database/index.js +80 -0
  172. package/dist/generator/index.d.ts +4 -0
  173. package/dist/generator/index.js +144 -0
  174. package/dist/generator/model/database.d.ts +7 -0
  175. package/dist/generator/model/database.js +71 -0
  176. package/dist/generator/model/table.d.ts +11 -0
  177. package/dist/generator/model/table.js +32 -0
  178. package/dist/generator/template/base.d.ts +6 -0
  179. package/dist/generator/template/base.js +16 -0
  180. package/dist/generator/template/database_store.d.ts +9 -0
  181. package/dist/generator/template/database_store.js +24 -0
  182. package/dist/generator/template/entity.d.ts +7 -0
  183. package/dist/generator/template/entity.js +43 -0
  184. package/dist/generator/template/entity_store.d.ts +10 -0
  185. package/dist/generator/template/entity_store.js +32 -0
  186. package/dist/generator/template/fields.d.ts +7 -0
  187. package/dist/generator/template/fields.js +21 -0
  188. package/dist/generator/template/order.d.ts +7 -0
  189. package/dist/generator/template/order.js +20 -0
  190. package/dist/generator/template/schema.d.ts +7 -0
  191. package/dist/generator/template/schema.js +16 -0
  192. package/dist/generator/template/schema_store.d.ts +10 -0
  193. package/dist/generator/template/schema_store.js +25 -0
  194. package/dist/generator/template/select.d.ts +8 -0
  195. package/dist/generator/template/select.js +40 -0
  196. package/dist/generator/template/update.d.ts +8 -0
  197. package/dist/generator/template/update.js +38 -0
  198. package/dist/generator/template/where.d.ts +8 -0
  199. package/dist/generator/template/where.js +37 -0
  200. package/dist/index.d.ts +4 -0
  201. package/dist/index.js +12 -0
  202. package/dist/mapping/bettings/betting_ball_scores.d.ts +27 -0
  203. package/dist/mapping/bettings/betting_ball_scores.js +53 -0
  204. package/dist/mapping/bettings/betting_balls.d.ts +37 -0
  205. package/dist/mapping/bettings/betting_balls.js +75 -0
  206. package/dist/mapping/bettings/betting_cards.d.ts +27 -0
  207. package/dist/mapping/bettings/betting_cards.js +64 -0
  208. package/dist/mapping/bettings/card_options.d.ts +37 -0
  209. package/dist/mapping/bettings/card_options.js +108 -0
  210. package/dist/mapping/bettings/cards.d.ts +37 -0
  211. package/dist/mapping/bettings/cards.js +64 -0
  212. package/dist/mapping/bettings/championship_teams.d.ts +37 -0
  213. package/dist/mapping/bettings/championship_teams.js +64 -0
  214. package/dist/mapping/bettings/championships.d.ts +37 -0
  215. package/dist/mapping/bettings/championships.js +86 -0
  216. package/dist/mapping/bettings/index.d.ts +323 -0
  217. package/dist/mapping/bettings/index.js +27 -0
  218. package/dist/mapping/bettings/match_teams.d.ts +27 -0
  219. package/dist/mapping/bettings/match_teams.js +42 -0
  220. package/dist/mapping/bettings/matches.d.ts +27 -0
  221. package/dist/mapping/bettings/matches.js +42 -0
  222. package/dist/mapping/bettings/teams.d.ts +37 -0
  223. package/dist/mapping/bettings/teams.js +64 -0
  224. package/dist/mapping/users/index.d.ts +111 -0
  225. package/dist/mapping/users/index.js +13 -0
  226. package/dist/mapping/users/transaction_historics.d.ts +37 -0
  227. package/dist/mapping/users/transaction_historics.js +53 -0
  228. package/dist/mapping/users/transactions.d.ts +37 -0
  229. package/dist/mapping/users/transactions.js +108 -0
  230. package/dist/mapping/users/users.d.ts +37 -0
  231. package/dist/mapping/users/users.js +75 -0
  232. package/dist/middleware/create/index.d.ts +11 -0
  233. package/dist/middleware/create/index.js +96 -0
  234. package/dist/middleware/delete/index.d.ts +10 -0
  235. package/dist/middleware/delete/index.js +35 -0
  236. package/dist/middleware/index.d.ts +10 -0
  237. package/dist/middleware/index.js +50 -0
  238. package/dist/middleware/select/index.d.ts +11 -0
  239. package/dist/middleware/select/index.js +84 -0
  240. package/dist/middleware/update/index.d.ts +10 -0
  241. package/dist/middleware/update/index.js +97 -0
  242. package/dist/middleware/where/index.d.ts +1 -0
  243. package/dist/middleware/where/index.js +216 -0
  244. package/dist/scripts/index.d.ts +4 -0
  245. package/dist/scripts/index.js +68 -0
  246. package/dist/utils/index.d.ts +7 -0
  247. package/dist/utils/index.js +58 -0
  248. package/package.json +40 -0
@@ -0,0 +1,10 @@
1
+ export default class update_factory {
2
+ fields: any;
3
+ database: string;
4
+ table: string;
5
+ query: string;
6
+ index: number;
7
+ params: Array<any>;
8
+ constructor(database: string, table: string, fields: any);
9
+ prepare(): Promise<(string | any[])[]>;
10
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ const where_1 = require("../where");
36
+ const utils_1 = require("../../utils");
37
+ class update_factory {
38
+ constructor(database, table, fields) {
39
+ this.query = '';
40
+ this.index = 1;
41
+ this.params = [];
42
+ this.fields = fields;
43
+ this.database = database;
44
+ this.table = table;
45
+ }
46
+ prepare() {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const schema = (yield Promise.resolve(`${`../../../mapping/${this.database}/${this.table}.ts`}`).then(s => __importStar(require(s)))).default;
49
+ if (!this.fields.where) {
50
+ throw 'Where field not provided';
51
+ }
52
+ this.query = 'UPDATE ' + schema.name + ' SET ';
53
+ for (let colum of schema.columns) {
54
+ if (['undefined', 'function'].indexOf(typeof this.fields[colum.name]) > -1) {
55
+ continue;
56
+ }
57
+ if (this.fields[colum.name] !== null) {
58
+ if (utils_1.texts.indexOf(colum.value.type) > -1) {
59
+ this.query += ` ${this.index > 1 ? ',' : ''} ${colum.name} = $${this.index}`;
60
+ this.index++;
61
+ this.params.push(this.fields[colum.name].toString());
62
+ }
63
+ if (utils_1.bools.indexOf(colum.value.type) > -1) {
64
+ this.query += ` ${this.index > 1 ? ',' : ''} ${colum.name} = $${this.index}`;
65
+ this.index++;
66
+ this.params.push(this.fields[colum.name]);
67
+ }
68
+ if (utils_1.dates.indexOf(colum.value.type) > -1) {
69
+ this.query += ` ${this.index > 1 ? ',' : ''} ${colum.name} = $${this.index}`;
70
+ this.index++;
71
+ this.params.push(new Date(this.fields[colum.name]));
72
+ }
73
+ if (utils_1.numbers.indexOf(colum.value.type) > -1) {
74
+ this.query += ` ${this.index > 1 ? ',' : ''} ${colum.name} = $${this.index}`;
75
+ this.index++;
76
+ this.params.push(parseFloat(this.fields[colum.name]));
77
+ }
78
+ if (utils_1.jsons.indexOf(colum.value.type) > -1) {
79
+ this.query += ` ${this.index > 1 ? ',' : ''} ${colum.name} = $${this.index}`;
80
+ this.index++;
81
+ this.params.push(JSON.stringify(this.fields[colum.name]));
82
+ }
83
+ }
84
+ else {
85
+ this.query += ` ${this.index > 1 ? ',' : ''} ${colum.name} = NULL `;
86
+ }
87
+ }
88
+ yield (0, where_1.where)(this.database, this.table, this.fields.where, this.index, (query) => {
89
+ this.query += query;
90
+ }, (param) => {
91
+ this.params.push(param);
92
+ });
93
+ return [this.query, this.params];
94
+ });
95
+ }
96
+ }
97
+ exports.default = update_factory;
@@ -0,0 +1 @@
1
+ export declare function where(database: string, table: string, fields: any, index: number, addQuery: Function, addParam: Function, initialized_clausule?: string): Promise<void>;
@@ -0,0 +1,216 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.where = where;
36
+ const utils_1 = require("../../utils");
37
+ let position;
38
+ let initialized;
39
+ function where(database_1, table_1, fields_1, index_1, addQuery_1, addParam_1) {
40
+ return __awaiter(this, arguments, void 0, function* (database, table, fields, index, addQuery, addParam, initialized_clausule = ' WHERE ') {
41
+ initialized = initialized_clausule === ' WHERE ' ? false : true;
42
+ position = index;
43
+ const schema = (yield Promise.resolve(`${`../../../mapping/${database}/${table}.ts`}`).then(s => __importStar(require(s)))).default;
44
+ addQuery(initialized_clausule);
45
+ for (let colum of schema.columns) {
46
+ if (!fields || ['undefined', 'function'].indexOf(typeof fields[colum.name]) > -1) {
47
+ continue;
48
+ }
49
+ if (typeof fields[colum.name] === 'object' && fields[colum.name] !== null) {
50
+ if (utils_1.texts.indexOf(colum.value.type) > -1) {
51
+ if (fields[colum.name].like) {
52
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} LIKE $${position}`);
53
+ addParam(`%${fields[colum.name].like}%`);
54
+ next();
55
+ continue;
56
+ }
57
+ if (fields[colum.name].ilike) {
58
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} ILIKE $${position}`);
59
+ addParam(`%${fields[colum.name].ilike}%`);
60
+ next();
61
+ continue;
62
+ }
63
+ if (fields[colum.name].in) {
64
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} IN (${fields[colum.name].in.map((value, index) => {
65
+ addParam(value);
66
+ next();
67
+ return `${index > 0 ? ',' : ''} $${index - 1}`;
68
+ })})`);
69
+ continue;
70
+ }
71
+ if (fields[colum.name].not_in) {
72
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} NOT IN (${fields[colum.name].not_in.map((value, index) => {
73
+ addParam(value);
74
+ next();
75
+ return `${index > 0 ? ',' : ''} $${index - 1}`;
76
+ })})`);
77
+ continue;
78
+ }
79
+ }
80
+ if (utils_1.dates.indexOf(colum.value.type) > -1) {
81
+ if (fields[colum.name].in) {
82
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} IN (${fields[colum.name].in.map((value, index) => {
83
+ addParam(new Date(value));
84
+ next();
85
+ return `${index > 0 ? ',' : ''} $${index - 1}`;
86
+ })})`);
87
+ continue;
88
+ }
89
+ if (fields[colum.name].not_in) {
90
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} NOT IN (${fields[colum.name].not_in.map((value, index) => {
91
+ addParam(new Date(value));
92
+ next();
93
+ return `${index > 0 ? ',' : ''} $${index - 1}`;
94
+ })})`);
95
+ continue;
96
+ }
97
+ if (fields[colum.name]['gt']) {
98
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} > $${position}`);
99
+ addParam(new Date(fields[colum.name]['gt']));
100
+ next();
101
+ continue;
102
+ }
103
+ if (fields[colum.name]['lt']) {
104
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} < $${position}`);
105
+ addParam(new Date(fields[colum.name]['lt']));
106
+ next();
107
+ continue;
108
+ }
109
+ if (fields[colum.name]['gte']) {
110
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} >= $${position}`);
111
+ addParam(new Date(fields[colum.name]['gte']));
112
+ next();
113
+ continue;
114
+ }
115
+ if (fields[colum.name]['lte']) {
116
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} <= $${position}`);
117
+ addParam(new Date(fields[colum.name]['lte']));
118
+ next();
119
+ continue;
120
+ }
121
+ }
122
+ if (utils_1.numbers.indexOf(colum.value.type) > -1) {
123
+ if (fields[colum.name].in) {
124
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} IN (${fields[colum.name].in.map((value, index) => {
125
+ addParam(parseFloat(value));
126
+ next();
127
+ return `${index > 0 ? ',' : ''} $${index - 1}`;
128
+ })})`);
129
+ continue;
130
+ }
131
+ if (fields[colum.name].not_in) {
132
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} NOT IN (${fields[colum.name].not_in.map((value, index) => {
133
+ addParam(parseFloat(value));
134
+ next();
135
+ return `${index > 0 ? ',' : ''} $${index - 1}`;
136
+ })})`);
137
+ continue;
138
+ }
139
+ if (fields[colum.name]['gt']) {
140
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} > $${position}`);
141
+ addParam(parseFloat(fields[colum.name]['gt']));
142
+ next();
143
+ continue;
144
+ }
145
+ if (fields[colum.name]['lt']) {
146
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} < $${position}`);
147
+ addParam(parseFloat(fields[colum.name]['lt']));
148
+ next();
149
+ continue;
150
+ }
151
+ if (fields[colum.name]['gte']) {
152
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} >= $${position}`);
153
+ addParam(parseFloat(fields[colum.name]['gte']));
154
+ next();
155
+ continue;
156
+ }
157
+ if (fields[colum.name]['lte']) {
158
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} <= $${position}`);
159
+ addParam(parseFloat(fields[colum.name]['lte']));
160
+ next();
161
+ continue;
162
+ }
163
+ }
164
+ if (utils_1.jsons.indexOf(colum.value.type) > -1) {
165
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name}::VARCHAR = $${position}`);
166
+ addParam(JSON.stringify(fields[colum.name]));
167
+ next();
168
+ continue;
169
+ }
170
+ }
171
+ else if (fields[colum.name] !== null) {
172
+ if (utils_1.texts.indexOf(colum.value.type) > -1) {
173
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} = $${position}`);
174
+ addParam(fields[colum.name]);
175
+ next();
176
+ continue;
177
+ }
178
+ if (utils_1.bools.indexOf(colum.value.type) > -1) {
179
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} = $${position}`);
180
+ addParam(fields[colum.name]);
181
+ next();
182
+ continue;
183
+ }
184
+ if (utils_1.dates.indexOf(colum.value.type) > -1) {
185
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} = $${position}`);
186
+ addParam(new Date(fields[colum.name]));
187
+ next();
188
+ continue;
189
+ }
190
+ if (utils_1.numbers.indexOf(colum.value.type) > -1) {
191
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} = $${position}`);
192
+ addParam(parseFloat(fields[colum.name]));
193
+ next();
194
+ continue;
195
+ }
196
+ if (utils_1.jsons.indexOf(colum.value.type) > -1) {
197
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} = $${position}`);
198
+ addParam(JSON.stringify(fields[colum.name]));
199
+ next();
200
+ continue;
201
+ }
202
+ }
203
+ else {
204
+ addQuery(` ${initialized ? 'AND' : ''} ${table}.${colum.name} IS NULL `);
205
+ next(false);
206
+ continue;
207
+ }
208
+ }
209
+ });
210
+ }
211
+ function next(add = true) {
212
+ if (add) {
213
+ position++;
214
+ }
215
+ initialized = true;
216
+ }
@@ -0,0 +1,4 @@
1
+ export declare const schema_query = "\n SELECT\n schema.is_identity,\n schema.table_name,\n schema.column_name,\n schema.ordinal_position,\n schema.character_maximum_length,\n schema.column_default,\n schema.is_nullable,\n schema.data_type,\n schema.character_maximum_length,\n fks.foreign_table_name,\n fks.foreign_column_name,\n fks.constraint_type\n FROM\n information_schema.columns AS schema\n LEFT JOIN (\n SELECT\n table_constraints.table_name,\n key_column_usage.column_name,\n constraint_column_usage.table_name AS foreign_table_name,\n constraint_column_usage.column_name AS foreign_column_name,\n table_constraints.constraint_type AS constraint_type\n FROM\n information_schema.table_constraints AS table_constraints\n JOIN information_schema.key_column_usage AS key_column_usage ON table_constraints.constraint_name = key_column_usage.constraint_name\n JOIN information_schema.constraint_column_usage AS constraint_column_usage ON constraint_column_usage.constraint_name = table_constraints.constraint_name\n WHERE\n constraint_type = 'FOREIGN KEY' OR constraint_type = 'PRIMARY KEY'\n ) AS fks ON fks.table_name = schema.table_name\n AND fks.column_name = schema.column_name\n WHERE\n schema.table_name IN (\n SELECT\n table_name\n FROM\n information_schema.tables\n WHERE\n table_schema = 'public'\n )\n ORDER BY\n schema.ordinal_position ASC\n";
2
+ export declare const all_comans_query = "\n SELECT\n id,\n comand,\n date\n FROM scripts\n ORDER BY date ASC\n LIMIT ALL\n";
3
+ export declare const create_scripts_table = "\n CREATE TABLE scripts(\n id uuid NOT NULL PRIMARY KEY,\n comand text NOT NULL,\n date TIMESTAMP DEFAULT(CURRENT_TIMESTAMP),\n success boolean NOT NULL DEFAULT(TRUE),\n error text NULL\n )\n";
4
+ export declare const save_script_query = "\n INSERT INTO scripts (id, comand, date, success, error) \n VALUES($1, $2, $3, $4, $5) RETURNING id, comand, date\n";
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.save_script_query = exports.create_scripts_table = exports.all_comans_query = exports.schema_query = void 0;
4
+ exports.schema_query = `
5
+ SELECT
6
+ schema.is_identity,
7
+ schema.table_name,
8
+ schema.column_name,
9
+ schema.ordinal_position,
10
+ schema.character_maximum_length,
11
+ schema.column_default,
12
+ schema.is_nullable,
13
+ schema.data_type,
14
+ schema.character_maximum_length,
15
+ fks.foreign_table_name,
16
+ fks.foreign_column_name,
17
+ fks.constraint_type
18
+ FROM
19
+ information_schema.columns AS schema
20
+ LEFT JOIN (
21
+ SELECT
22
+ table_constraints.table_name,
23
+ key_column_usage.column_name,
24
+ constraint_column_usage.table_name AS foreign_table_name,
25
+ constraint_column_usage.column_name AS foreign_column_name,
26
+ table_constraints.constraint_type AS constraint_type
27
+ FROM
28
+ information_schema.table_constraints AS table_constraints
29
+ JOIN information_schema.key_column_usage AS key_column_usage ON table_constraints.constraint_name = key_column_usage.constraint_name
30
+ JOIN information_schema.constraint_column_usage AS constraint_column_usage ON constraint_column_usage.constraint_name = table_constraints.constraint_name
31
+ WHERE
32
+ constraint_type = 'FOREIGN KEY' OR constraint_type = 'PRIMARY KEY'
33
+ ) AS fks ON fks.table_name = schema.table_name
34
+ AND fks.column_name = schema.column_name
35
+ WHERE
36
+ schema.table_name IN (
37
+ SELECT
38
+ table_name
39
+ FROM
40
+ information_schema.tables
41
+ WHERE
42
+ table_schema = 'public'
43
+ )
44
+ ORDER BY
45
+ schema.ordinal_position ASC
46
+ `;
47
+ exports.all_comans_query = `
48
+ SELECT
49
+ id,
50
+ comand,
51
+ date
52
+ FROM scripts
53
+ ORDER BY date ASC
54
+ LIMIT ALL
55
+ `;
56
+ exports.create_scripts_table = `
57
+ CREATE TABLE scripts(
58
+ id uuid NOT NULL PRIMARY KEY,
59
+ comand text NOT NULL,
60
+ date TIMESTAMP DEFAULT(CURRENT_TIMESTAMP),
61
+ success boolean NOT NULL DEFAULT(TRUE),
62
+ error text NULL
63
+ )
64
+ `;
65
+ exports.save_script_query = `
66
+ INSERT INTO scripts (id, comand, date, success, error)
67
+ VALUES($1, $2, $3, $4, $5) RETURNING id, comand, date
68
+ `;
@@ -0,0 +1,7 @@
1
+ export declare const numbers: string[];
2
+ export declare const texts: string[];
3
+ export declare const dates: string[];
4
+ export declare const jsons: string[];
5
+ export declare const bools: string[];
6
+ export declare const nulls: string[];
7
+ export declare function get_type(type: string): "string" | "boolean" | "null" | "number" | "Date" | "any" | "any | undefined";
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nulls = exports.bools = exports.jsons = exports.dates = exports.texts = exports.numbers = void 0;
4
+ exports.get_type = get_type;
5
+ exports.numbers = [
6
+ 'integer',
7
+ 'numeric',
8
+ 'bigint',
9
+ 'bigserial',
10
+ 'bit',
11
+ 'bit varying',
12
+ 'bytea',
13
+ 'double precision',
14
+ 'money',
15
+ 'real',
16
+ 'smallint',
17
+ 'smallserial',
18
+ 'serial',
19
+ ];
20
+ exports.texts = [
21
+ 'character varying',
22
+ 'uuid',
23
+ 'character',
24
+ 'cidr',
25
+ 'inet',
26
+ 'path',
27
+ 'text',
28
+ 'tsquery',
29
+ 'tsvector',
30
+ 'txid_snapshot',
31
+ 'xml',
32
+ ];
33
+ exports.dates = [
34
+ 'timestamp without time zone',
35
+ 'timestamp with time zone',
36
+ 'date',
37
+ 'interval',
38
+ 'time with time zone',
39
+ 'time without time zone',
40
+ ];
41
+ exports.jsons = ['json', 'jsonb'];
42
+ exports.bools = ['boolean'];
43
+ exports.nulls = ['null'];
44
+ function get_type(type) {
45
+ if (exports.numbers.indexOf(type) > -1)
46
+ return 'number';
47
+ if (exports.texts.indexOf(type) > -1)
48
+ return 'string';
49
+ if (exports.dates.indexOf(type) > -1)
50
+ return 'Date';
51
+ if (exports.jsons.indexOf(type) > -1)
52
+ return 'any';
53
+ if (exports.bools.indexOf(type) > -1)
54
+ return 'boolean';
55
+ if (exports.nulls.indexOf(type) > -1)
56
+ return 'null';
57
+ return 'any | undefined';
58
+ }
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "pg-manipulator",
3
+ "version": "1.0.1",
4
+ "description": "postgresql database handler",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "commonjs",
8
+ "scripts": {
9
+ "tsc": "npx tsc",
10
+ "dump": "node bin/dump/index.cjs",
11
+ "updater": "node bin/update/index.cjs"
12
+ },
13
+ "files": [
14
+ "bin",
15
+ "dist",
16
+ "package.json",
17
+ "package-lock.json"
18
+ ],
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/natatremarin/pg-manipulator.git"
22
+ },
23
+ "author": "nataniel_tremarin",
24
+ "license": "ISC",
25
+ "bugs": {
26
+ "url": "https://github.com/natatremarin/pg-manipulator/issues"
27
+ },
28
+ "homepage": "https://github.com/natatremarin/pg-manipulator#readme",
29
+ "devDependencies": {
30
+ "@types/node": "^20.14.9",
31
+ "@types/pg": "^8.11.6",
32
+ "@types/uuid": "^10.0.0",
33
+ "typescript": "^5.5.2"
34
+ },
35
+ "dependencies": {
36
+ "pg": "^8.12.0",
37
+ "save-dev": "^0.0.1-security",
38
+ "uuid": "^10.0.0"
39
+ }
40
+ }