@dascompany/database 0.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 (279) hide show
  1. package/README.md +1 -0
  2. package/dist/Connection.d.ts +11 -0
  3. package/dist/Connection.js +22 -0
  4. package/dist/Database.d.ts +4 -0
  5. package/dist/Database.js +14 -0
  6. package/dist/DatabaseConfig.d.ts +7 -0
  7. package/dist/DatabaseConfig.js +1 -0
  8. package/dist/DatabaseConnection.d.ts +11 -0
  9. package/dist/DatabaseConnection.js +28 -0
  10. package/dist/SQL.json +123 -0
  11. package/dist/Table.d.ts +8 -0
  12. package/dist/Table.js +18 -0
  13. package/dist/TableConnection.d.ts +68 -0
  14. package/dist/TableConnection.js +132 -0
  15. package/dist/index.d.ts +42 -0
  16. package/dist/index.js +42 -0
  17. package/dist/mappers/AddressMapper.d.ts +9 -0
  18. package/dist/mappers/AddressMapper.js +17 -0
  19. package/dist/mappers/AdminMapper.d.ts +9 -0
  20. package/dist/mappers/AdminMapper.js +24 -0
  21. package/dist/mappers/ClientMapper.d.ts +9 -0
  22. package/dist/mappers/ClientMapper.js +24 -0
  23. package/dist/mappers/CompanyDetailsMapper.d.ts +9 -0
  24. package/dist/mappers/CompanyDetailsMapper.js +22 -0
  25. package/dist/mappers/ContactDetailsMapper.d.ts +9 -0
  26. package/dist/mappers/ContactDetailsMapper.js +18 -0
  27. package/dist/mappers/DeliveryDetailsMapper.d.ts +9 -0
  28. package/dist/mappers/DeliveryDetailsMapper.js +17 -0
  29. package/dist/mappers/DeliveryStatusMapper.d.ts +9 -0
  30. package/dist/mappers/DeliveryStatusMapper.js +15 -0
  31. package/dist/mappers/InvoiceDetailsMapper.d.ts +9 -0
  32. package/dist/mappers/InvoiceDetailsMapper.js +17 -0
  33. package/dist/mappers/OrderMapper.d.ts +9 -0
  34. package/dist/mappers/OrderMapper.js +19 -0
  35. package/dist/mappers/OrderProductMapper.d.ts +9 -0
  36. package/dist/mappers/OrderProductMapper.js +15 -0
  37. package/dist/mappers/PaymentDetailsMapper.d.ts +9 -0
  38. package/dist/mappers/PaymentDetailsMapper.js +17 -0
  39. package/dist/mappers/PaymentStatusMapper.d.ts +9 -0
  40. package/dist/mappers/PaymentStatusMapper.js +15 -0
  41. package/dist/mappers/PersonalDataMapper.d.ts +9 -0
  42. package/dist/mappers/PersonalDataMapper.js +17 -0
  43. package/dist/mappers/StatusMapper.d.ts +9 -0
  44. package/dist/mappers/StatusMapper.js +15 -0
  45. package/dist/query/BindParams.d.ts +9 -0
  46. package/dist/query/BindParams.js +56 -0
  47. package/dist/query/Parameters.d.ts +11 -0
  48. package/dist/query/Parameters.js +54 -0
  49. package/dist/query/Query.d.ts +11 -0
  50. package/dist/query/Query.js +42 -0
  51. package/dist/query/QueryParamCreator.d.ts +10 -0
  52. package/dist/query/QueryParamCreator.js +67 -0
  53. package/dist/query/QueryParams.d.ts +20 -0
  54. package/dist/query/QueryParams.js +113 -0
  55. package/dist/query/Result.d.ts +11 -0
  56. package/dist/query/Result.js +43 -0
  57. package/dist/query/ResultsCorrector.d.ts +4 -0
  58. package/dist/query/ResultsCorrector.js +14 -0
  59. package/dist/reader/AddressesReader.d.ts +6 -0
  60. package/dist/reader/AddressesReader.js +24 -0
  61. package/dist/reader/ClientAccountReader.d.ts +7 -0
  62. package/dist/reader/ClientAccountReader.js +30 -0
  63. package/dist/reader/CompanyDetailsReader.d.ts +4 -0
  64. package/dist/reader/CompanyDetailsReader.js +15 -0
  65. package/dist/reader/ContactDetailsReader.d.ts +4 -0
  66. package/dist/reader/ContactDetailsReader.js +16 -0
  67. package/dist/reader/DeliveryDetailsReader.d.ts +4 -0
  68. package/dist/reader/DeliveryDetailsReader.js +31 -0
  69. package/dist/reader/DeliveryMethodReader.d.ts +5 -0
  70. package/dist/reader/DeliveryMethodReader.js +13 -0
  71. package/dist/reader/DeliveryStatusReader.d.ts +5 -0
  72. package/dist/reader/DeliveryStatusReader.js +31 -0
  73. package/dist/reader/FilesReader.d.ts +7 -0
  74. package/dist/reader/FilesReader.js +26 -0
  75. package/dist/reader/InvoiceDetailsReader.d.ts +4 -0
  76. package/dist/reader/InvoiceDetailsReader.js +21 -0
  77. package/dist/reader/OrderProductsReader.d.ts +6 -0
  78. package/dist/reader/OrderProductsReader.js +50 -0
  79. package/dist/reader/OrderReader.d.ts +6 -0
  80. package/dist/reader/OrderReader.js +37 -0
  81. package/dist/reader/OrderStatusReader.d.ts +6 -0
  82. package/dist/reader/OrderStatusReader.js +28 -0
  83. package/dist/reader/PersonalDataReader.d.ts +5 -0
  84. package/dist/reader/PersonalDataReader.js +27 -0
  85. package/dist/reader/ProductReader.d.ts +10 -0
  86. package/dist/reader/ProductReader.js +52 -0
  87. package/dist/reader/payment/PaymentDetailsReader.d.ts +5 -0
  88. package/dist/reader/payment/PaymentDetailsReader.js +27 -0
  89. package/dist/reader/payment/PaymentMethodReader.d.ts +5 -0
  90. package/dist/reader/payment/PaymentMethodReader.js +13 -0
  91. package/dist/reader/payment/PaymentStatusesReader.d.ts +5 -0
  92. package/dist/reader/payment/PaymentStatusesReader.js +30 -0
  93. package/dist/repo/AddressesRepo.d.ts +5 -0
  94. package/dist/repo/AddressesRepo.js +14 -0
  95. package/dist/repo/ClientAccountRepo.d.ts +5 -0
  96. package/dist/repo/ClientAccountRepo.js +14 -0
  97. package/dist/repo/CompanyDetailsRepo.d.ts +5 -0
  98. package/dist/repo/CompanyDetailsRepo.js +14 -0
  99. package/dist/repo/ContactDetailsRepo.d.ts +5 -0
  100. package/dist/repo/ContactDetailsRepo.js +14 -0
  101. package/dist/repo/DeliveryDetailsRepo.d.ts +5 -0
  102. package/dist/repo/DeliveryDetailsRepo.js +14 -0
  103. package/dist/repo/InvoiceDetailsRepo.d.ts +5 -0
  104. package/dist/repo/InvoiceDetailsRepo.js +14 -0
  105. package/dist/repo/OrderRepo.d.ts +5 -0
  106. package/dist/repo/OrderRepo.js +14 -0
  107. package/dist/repo/PaymentDetailsRepo.d.ts +5 -0
  108. package/dist/repo/PaymentDetailsRepo.js +14 -0
  109. package/dist/repo/PersonalDataRepo.d.ts +5 -0
  110. package/dist/repo/PersonalDataRepo.js +16 -0
  111. package/dist/repo/ProductRepo.d.ts +5 -0
  112. package/dist/repo/ProductRepo.js +15 -0
  113. package/dist/stockObjects/Address.d.ts +33 -0
  114. package/dist/stockObjects/Address.js +69 -0
  115. package/dist/stockObjects/Admin.d.ts +25 -0
  116. package/dist/stockObjects/Admin.js +57 -0
  117. package/dist/stockObjects/Client.d.ts +24 -0
  118. package/dist/stockObjects/Client.js +57 -0
  119. package/dist/stockObjects/CompanyDetails.d.ts +17 -0
  120. package/dist/stockObjects/CompanyDetails.js +34 -0
  121. package/dist/stockObjects/ContactDetails.d.ts +12 -0
  122. package/dist/stockObjects/ContactDetails.js +26 -0
  123. package/dist/stockObjects/DeliveryDetails.d.ts +15 -0
  124. package/dist/stockObjects/DeliveryDetails.js +34 -0
  125. package/dist/stockObjects/DeliveryStatus.d.ts +18 -0
  126. package/dist/stockObjects/DeliveryStatus.js +42 -0
  127. package/dist/stockObjects/InvoiceDetails.d.ts +12 -0
  128. package/dist/stockObjects/InvoiceDetails.js +26 -0
  129. package/dist/stockObjects/Order.d.ts +40 -0
  130. package/dist/stockObjects/Order.js +88 -0
  131. package/dist/stockObjects/OrderProduct.d.ts +15 -0
  132. package/dist/stockObjects/OrderProduct.js +33 -0
  133. package/dist/stockObjects/PaymentDetails.d.ts +12 -0
  134. package/dist/stockObjects/PaymentDetails.js +26 -0
  135. package/dist/stockObjects/PaymentStatus.d.ts +13 -0
  136. package/dist/stockObjects/PaymentStatus.js +26 -0
  137. package/dist/stockObjects/PersonalData.d.ts +42 -0
  138. package/dist/stockObjects/PersonalData.js +81 -0
  139. package/dist/stockObjects/Product.d.ts +40 -0
  140. package/dist/stockObjects/Product.js +101 -0
  141. package/dist/stockObjects/Status.d.ts +15 -0
  142. package/dist/stockObjects/Status.js +34 -0
  143. package/dist/tables/AdminAccountsTable.d.ts +15 -0
  144. package/dist/tables/AdminAccountsTable.js +64 -0
  145. package/dist/tables/ClientAccountsTable.d.ts +14 -0
  146. package/dist/tables/ClientAccountsTable.js +62 -0
  147. package/dist/tables/DeliveryStatusTypesTable.d.ts +7 -0
  148. package/dist/tables/DeliveryStatusTypesTable.js +10 -0
  149. package/dist/tables/DeliveryStatusesTable.d.ts +9 -0
  150. package/dist/tables/DeliveryStatusesTable.js +31 -0
  151. package/dist/tables/ProductsTable.d.ts +9 -0
  152. package/dist/tables/ProductsTable.js +26 -0
  153. package/dist/tables/StatusTypesTable.d.ts +4 -0
  154. package/dist/tables/StatusTypesTable.js +9 -0
  155. package/dist/tables/files/FilesTable.d.ts +7 -0
  156. package/dist/tables/files/FilesTable.js +17 -0
  157. package/dist/tables/orders/OrdersProductsTable.d.ts +8 -0
  158. package/dist/tables/orders/OrdersProductsTable.js +25 -0
  159. package/dist/tables/orders/OrdersTable.d.ts +12 -0
  160. package/dist/tables/orders/OrdersTable.js +50 -0
  161. package/dist/tables/orders/PaymentDetailsTable.d.ts +10 -0
  162. package/dist/tables/orders/PaymentDetailsTable.js +34 -0
  163. package/dist/tables/orders/PaymentStatusTypesTable.d.ts +7 -0
  164. package/dist/tables/orders/PaymentStatusTypesTable.js +10 -0
  165. package/dist/tables/orders/PaymentStatusesTable.d.ts +9 -0
  166. package/dist/tables/orders/PaymentStatusesTable.js +30 -0
  167. package/dist/tables/orders/StatusTypesTable.d.ts +4 -0
  168. package/dist/tables/orders/StatusTypesTable.js +9 -0
  169. package/dist/tables/orders/StatusesTable.d.ts +10 -0
  170. package/dist/tables/orders/StatusesTable.js +34 -0
  171. package/dist/tables/personalInformation/AddressesTable.d.ts +10 -0
  172. package/dist/tables/personalInformation/AddressesTable.js +37 -0
  173. package/dist/tables/personalInformation/CompanyDetailsTable.d.ts +11 -0
  174. package/dist/tables/personalInformation/CompanyDetailsTable.js +38 -0
  175. package/dist/tables/personalInformation/ContactDetailsTable.d.ts +10 -0
  176. package/dist/tables/personalInformation/ContactDetailsTable.js +34 -0
  177. package/dist/tables/personalInformation/DeliveryDetailsTable.d.ts +10 -0
  178. package/dist/tables/personalInformation/DeliveryDetailsTable.js +35 -0
  179. package/dist/tables/personalInformation/InvoiceDetailsTable.d.ts +10 -0
  180. package/dist/tables/personalInformation/InvoiceDetailsTable.js +34 -0
  181. package/dist/tables/personalInformation/PersonalDataTable.d.ts +10 -0
  182. package/dist/tables/personalInformation/PersonalDataTable.js +37 -0
  183. package/dist/tables/store-settings/DeliveryMethodsTable.d.ts +6 -0
  184. package/dist/tables/store-settings/DeliveryMethodsTable.js +15 -0
  185. package/dist/tables/store-settings/PaymentMethodsTable.d.ts +6 -0
  186. package/dist/tables/store-settings/PaymentMethodsTable.js +15 -0
  187. package/dist/types/AddressI.d.ts +9 -0
  188. package/dist/types/AddressI.js +1 -0
  189. package/dist/types/ClaimI.d.ts +4 -0
  190. package/dist/types/ClaimI.js +1 -0
  191. package/dist/types/ClientAccountI.d.ts +10 -0
  192. package/dist/types/ClientAccountI.js +1 -0
  193. package/dist/types/CompanyDetailsI.d.ts +5 -0
  194. package/dist/types/CompanyDetailsI.js +1 -0
  195. package/dist/types/ConnectorE.d.ts +5 -0
  196. package/dist/types/ConnectorE.js +6 -0
  197. package/dist/types/ContactDetailsI.d.ts +7 -0
  198. package/dist/types/ContactDetailsI.js +1 -0
  199. package/dist/types/DeliveryDetailsI.d.ts +8 -0
  200. package/dist/types/DeliveryDetailsI.js +1 -0
  201. package/dist/types/DeliveryMethodI.d.ts +5 -0
  202. package/dist/types/DeliveryMethodI.js +1 -0
  203. package/dist/types/FileConnectionE.d.ts +4 -0
  204. package/dist/types/FileConnectionE.js +5 -0
  205. package/dist/types/FileI.d.ts +6 -0
  206. package/dist/types/FileI.js +1 -0
  207. package/dist/types/InvoiceDetailsI.d.ts +7 -0
  208. package/dist/types/InvoiceDetailsI.js +1 -0
  209. package/dist/types/OrderI.d.ts +12 -0
  210. package/dist/types/OrderI.js +1 -0
  211. package/dist/types/OrderProductI.d.ts +9 -0
  212. package/dist/types/OrderProductI.js +1 -0
  213. package/dist/types/OrderStatusI.d.ts +7 -0
  214. package/dist/types/OrderStatusI.js +1 -0
  215. package/dist/types/ParameterI.d.ts +6 -0
  216. package/dist/types/ParameterI.js +1 -0
  217. package/dist/types/PaymentDetailsI.d.ts +6 -0
  218. package/dist/types/PaymentDetailsI.js +1 -0
  219. package/dist/types/PaymentMethodE.d.ts +5 -0
  220. package/dist/types/PaymentMethodE.js +6 -0
  221. package/dist/types/PaymentMethodI.d.ts +5 -0
  222. package/dist/types/PaymentMethodI.js +1 -0
  223. package/dist/types/PaymentStatusE.d.ts +6 -0
  224. package/dist/types/PaymentStatusE.js +7 -0
  225. package/dist/types/PersonalDataI.d.ts +10 -0
  226. package/dist/types/PersonalDataI.js +1 -0
  227. package/dist/types/ProductI.d.ts +21 -0
  228. package/dist/types/ProductI.js +1 -0
  229. package/dist/types/QueryOptionsI.d.ts +9 -0
  230. package/dist/types/QueryOptionsI.js +1 -0
  231. package/dist/types/ResultLimitationI.d.ts +4 -0
  232. package/dist/types/ResultLimitationI.js +1 -0
  233. package/dist/types/StockObject.d.ts +9 -0
  234. package/dist/types/StockObject.js +15 -0
  235. package/dist/types/StockObjectMapper.d.ts +4 -0
  236. package/dist/types/StockObjectMapper.js +1 -0
  237. package/dist/types/WhereOptionI.d.ts +6 -0
  238. package/dist/types/WhereOptionI.js +1 -0
  239. package/dist/types/parameters/ParameterFilter.d.ts +6 -0
  240. package/dist/types/parameters/ParameterFilter.js +1 -0
  241. package/dist/types/parameters/ParameterType.d.ts +13 -0
  242. package/dist/types/parameters/ParameterType.js +14 -0
  243. package/dist/types/rows/AddressRow.d.ts +9 -0
  244. package/dist/types/rows/AddressRow.js +1 -0
  245. package/dist/types/rows/AdminRow.d.ts +9 -0
  246. package/dist/types/rows/AdminRow.js +1 -0
  247. package/dist/types/rows/ClientAccountRow.d.ts +10 -0
  248. package/dist/types/rows/ClientAccountRow.js +1 -0
  249. package/dist/types/rows/CompanyDetailsRow.d.ts +5 -0
  250. package/dist/types/rows/CompanyDetailsRow.js +1 -0
  251. package/dist/types/rows/ContactDetailsRow.d.ts +5 -0
  252. package/dist/types/rows/ContactDetailsRow.js +1 -0
  253. package/dist/types/rows/DeliveryDetailsRow.d.ts +6 -0
  254. package/dist/types/rows/DeliveryDetailsRow.js +1 -0
  255. package/dist/types/rows/DeliveryStatusRow.d.ts +7 -0
  256. package/dist/types/rows/DeliveryStatusRow.js +1 -0
  257. package/dist/types/rows/FileRow.d.ts +9 -0
  258. package/dist/types/rows/FileRow.js +1 -0
  259. package/dist/types/rows/InvoiceDetailsRow.d.ts +5 -0
  260. package/dist/types/rows/InvoiceDetailsRow.js +1 -0
  261. package/dist/types/rows/OrderProductRow.d.ts +6 -0
  262. package/dist/types/rows/OrderProductRow.js +1 -0
  263. package/dist/types/rows/OrderRow.d.ts +12 -0
  264. package/dist/types/rows/OrderRow.js +1 -0
  265. package/dist/types/rows/PaymentDetailsRow.d.ts +6 -0
  266. package/dist/types/rows/PaymentDetailsRow.js +1 -0
  267. package/dist/types/rows/PaymentStatusRow.d.ts +6 -0
  268. package/dist/types/rows/PaymentStatusRow.js +1 -0
  269. package/dist/types/rows/PersonalDataRow.d.ts +8 -0
  270. package/dist/types/rows/PersonalDataRow.js +1 -0
  271. package/dist/types/rows/ProductRow.d.ts +17 -0
  272. package/dist/types/rows/ProductRow.js +1 -0
  273. package/dist/types/rows/StatusRow.d.ts +7 -0
  274. package/dist/types/rows/StatusRow.js +1 -0
  275. package/dist/utils/calculateNetToGrossPrice.d.ts +1 -0
  276. package/dist/utils/calculateNetToGrossPrice.js +7 -0
  277. package/dist/utils/correctPhoneNumber.d.ts +1 -0
  278. package/dist/utils/correctPhoneNumber.js +14 -0
  279. package/package.json +27 -0
@@ -0,0 +1,52 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import calculateNetToGrossPrice from "../utils/calculateNetToGrossPrice";
3
+ export default class ProductReader {
4
+ static async get(productId) {
5
+ const connection = DatabaseConnection.get();
6
+ const product = await connection.products.select(productId);
7
+ return this.correctProduct(product);
8
+ }
9
+ static async getForUrl(productUrl) {
10
+ const connection = DatabaseConnection.get();
11
+ const product = await connection.products.selectForUrl(productUrl);
12
+ return this.correctProduct(product);
13
+ }
14
+ static async getAll(queryOptions) {
15
+ const connection = DatabaseConnection.get();
16
+ const products = await connection.products.selectAll(queryOptions);
17
+ return this.correctProducts(products);
18
+ }
19
+ static async getQuantity(queryOptions) {
20
+ const connection = DatabaseConnection.get();
21
+ const quantity = await connection.products.count(queryOptions);
22
+ return quantity;
23
+ }
24
+ static correctProducts(products) {
25
+ const correctProducts = [];
26
+ for (let i = 0; i < products.length; i++) {
27
+ const correctProduct = this.correctProduct(products[i]);
28
+ correctProducts.push(correctProduct);
29
+ }
30
+ return correctProducts;
31
+ }
32
+ static correctProduct(product) {
33
+ return {
34
+ id: product.id,
35
+ sku: product.sku,
36
+ url: product.url,
37
+ title: product.title,
38
+ description: product.description,
39
+ netPrice: product.net_price,
40
+ vat: product.vat,
41
+ color: product.color,
42
+ quantity: product.quantity,
43
+ width: product.width,
44
+ height: product.height,
45
+ length: product.length,
46
+ fileId: product.file_id,
47
+ createdAt: product.created_at,
48
+ deleted: product.deleted,
49
+ grossPrice: calculateNetToGrossPrice(product.net_price, product.vat)
50
+ };
51
+ }
52
+ }
@@ -0,0 +1,5 @@
1
+ export default class PaymentDetailsReader {
2
+ static get(paymentDetailsId: number): Promise<any>;
3
+ static getPaymentOrderId(paymentDetailsId: number): Promise<any>;
4
+ private static correctPaymentDetails;
5
+ }
@@ -0,0 +1,27 @@
1
+ import DatabaseConnection from "../../DatabaseConnection";
2
+ import PaymentMethodReader from "./PaymentMethodReader";
3
+ import PaymentStatusesReader from "./PaymentStatusesReader";
4
+ export default class PaymentDetailsReader {
5
+ static async get(paymentDetailsId) {
6
+ const connection = DatabaseConnection.get();
7
+ const paymentDetails = await connection.paymentDetails.select(paymentDetailsId);
8
+ return await this.correctPaymentDetails(paymentDetails);
9
+ }
10
+ static async getPaymentOrderId(paymentDetailsId) {
11
+ const connection = DatabaseConnection.get();
12
+ const paymentDetails = await connection.paymentDetails.select(paymentDetailsId);
13
+ return paymentDetails.payment_order_id;
14
+ }
15
+ static async correctPaymentDetails(paymentDetails) {
16
+ const id = paymentDetails.id;
17
+ const [paymentMethod, statuses] = await Promise.all([
18
+ PaymentMethodReader.get(paymentDetails.payment_method_id),
19
+ PaymentStatusesReader.getAll(paymentDetails.id)
20
+ ]);
21
+ return {
22
+ id,
23
+ paymentMethod,
24
+ statuses,
25
+ };
26
+ }
27
+ }
@@ -0,0 +1,5 @@
1
+ import PaymentMethodI from "../../types/PaymentMethodI";
2
+ export default class PaymentMethodReader {
3
+ static get(paymentMethodId: number): Promise<PaymentMethodI>;
4
+ static getAll(): Promise<PaymentMethodI[]>;
5
+ }
@@ -0,0 +1,13 @@
1
+ import DatabaseConnection from "../../DatabaseConnection";
2
+ export default class PaymentMethodReader {
3
+ static async get(paymentMethodId) {
4
+ const connection = DatabaseConnection.get();
5
+ const paymentMethod = await connection.paymentMethods.select(paymentMethodId);
6
+ return paymentMethod;
7
+ }
8
+ static async getAll() {
9
+ const connection = DatabaseConnection.get();
10
+ const paymentMethods = await connection.paymentMethods.selectAll();
11
+ return paymentMethods;
12
+ }
13
+ }
@@ -0,0 +1,5 @@
1
+ export default class PaymentStatusesReader {
2
+ static get(paymentDetailsId: number): Promise<any>;
3
+ static getAll(paymentDetailsId: number): Promise<any[]>;
4
+ private static correctPaymentStatus;
5
+ }
@@ -0,0 +1,30 @@
1
+ import DatabaseConnection from "../../DatabaseConnection";
2
+ export default class PaymentStatusesReader {
3
+ static async get(paymentDetailsId) {
4
+ const connection = DatabaseConnection.get();
5
+ const paymentStatus = await connection.paymentStatuses.select(paymentDetailsId);
6
+ if (paymentStatus)
7
+ return await this.correctPaymentStatus(paymentStatus);
8
+ else
9
+ return {};
10
+ }
11
+ static async getAll(paymentDetailsId) {
12
+ const connection = DatabaseConnection.get();
13
+ const paymentStatusesData = await connection.paymentStatuses.selectAll(paymentDetailsId);
14
+ const paymentStatuses = [];
15
+ for (let i = 0; i < paymentStatusesData.length; i++) {
16
+ const paymentStatus = await this.correctPaymentStatus(paymentStatusesData[i]);
17
+ paymentStatuses.push(paymentStatus);
18
+ }
19
+ return paymentStatuses;
20
+ }
21
+ static async correctPaymentStatus(paymentStatus) {
22
+ const connection = DatabaseConnection.get();
23
+ const paymentStatusType = await connection.paymentStatusTypes.select(paymentStatus.payment_status_type_id);
24
+ return {
25
+ id: paymentStatus.id,
26
+ type: paymentStatusType,
27
+ createdAt: paymentStatus.created_at
28
+ };
29
+ }
30
+ }
@@ -0,0 +1,5 @@
1
+ import Address from "../stockObjects/Address";
2
+ export default class AddressesRepo {
3
+ static get(addressId: number): Promise<Address>;
4
+ private static createAddressFromRow;
5
+ }
@@ -0,0 +1,14 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import Address from "../stockObjects/Address";
3
+ export default class AddressesRepo {
4
+ static async get(addressId) {
5
+ const connection = DatabaseConnection.get();
6
+ const address = await connection.addresses.select(addressId);
7
+ return this.createAddressFromRow(address);
8
+ }
9
+ static createAddressFromRow(dataRow) {
10
+ const address = new Address(dataRow.country, dataRow.city, dataRow.street, dataRow.postal_code, dataRow.house_number, dataRow.apartment_number);
11
+ address.setId(dataRow.id);
12
+ return address;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import Client from "../stockObjects/Client";
2
+ export default class ClientAccountRepo {
3
+ static get(accountId: number): Promise<Client>;
4
+ private static createCilentAccountFromRow;
5
+ }
@@ -0,0 +1,14 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import Client from "../stockObjects/Client";
3
+ export default class ClientAccountRepo {
4
+ static async get(accountId) {
5
+ const connection = DatabaseConnection.get();
6
+ const accountData = await connection.accounts.select(accountId);
7
+ return this.createCilentAccountFromRow(accountData);
8
+ }
9
+ static createCilentAccountFromRow(accountData) {
10
+ const client = new Client(accountData.email, accountData.activated, accountData.deleted, accountData.contact_details_id, accountData.delivery_details_id, accountData.invoice_details_id, accountData.created_at);
11
+ client.setId(accountData.id);
12
+ return client;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import CompanyDetails from "../stockObjects/CompanyDetails";
2
+ export default class CompanyDetailsRepo {
3
+ static get(id: number): Promise<CompanyDetails>;
4
+ private static createCompanyDetailsFromRow;
5
+ }
@@ -0,0 +1,14 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import CompanyDetails from "../stockObjects/CompanyDetails";
3
+ export default class CompanyDetailsRepo {
4
+ static async get(id) {
5
+ const connection = DatabaseConnection.get();
6
+ const companyDetailsRow = await connection.companyDetails.select(id);
7
+ return this.createCompanyDetailsFromRow(companyDetailsRow);
8
+ }
9
+ static createCompanyDetailsFromRow(companyDetailsRow) {
10
+ const companyDetails = new CompanyDetails(companyDetailsRow.name, companyDetailsRow.tax_number);
11
+ companyDetails.setId(companyDetailsRow.id);
12
+ return companyDetails;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import ContactDetails from "../stockObjects/ContactDetails";
2
+ export default class ContactDetailsRepo {
3
+ static get(contactDetailsId: number): Promise<ContactDetails>;
4
+ private static createContactDetailsFromRow;
5
+ }
@@ -0,0 +1,14 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import ContactDetails from "../stockObjects/ContactDetails";
3
+ export default class ContactDetailsRepo {
4
+ static async get(contactDetailsId) {
5
+ const connection = DatabaseConnection.get();
6
+ const contactDetailsRow = await connection.contactDetails.select(contactDetailsId);
7
+ return this.createContactDetailsFromRow(contactDetailsRow);
8
+ }
9
+ static createContactDetailsFromRow(contactDetailsRow) {
10
+ const invoiceDetails = new ContactDetails(contactDetailsRow.personal_data_id, contactDetailsRow.address_id);
11
+ invoiceDetails.setId(contactDetailsRow.id);
12
+ return invoiceDetails;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import DeliveryDetails from "../stockObjects/DeliveryDetails";
2
+ export default class DeliveryDetailsRepo {
3
+ static get(deliveryDetailsId: number): Promise<DeliveryDetails>;
4
+ private static createDeliveryDetailsFromRow;
5
+ }
@@ -0,0 +1,14 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import DeliveryDetails from "../stockObjects/DeliveryDetails";
3
+ export default class DeliveryDetailsRepo {
4
+ static async get(deliveryDetailsId) {
5
+ const connection = DatabaseConnection.get();
6
+ const deliveryDetailsRow = await connection.deliveryDetails.select(deliveryDetailsId);
7
+ return this.createDeliveryDetailsFromRow(deliveryDetailsRow);
8
+ }
9
+ static createDeliveryDetailsFromRow(deliveryDetailsRow) {
10
+ const deliveryDetails = new DeliveryDetails(deliveryDetailsRow.personal_data_id, deliveryDetailsRow.address_id, deliveryDetailsRow.delivery_method_id);
11
+ deliveryDetails.setId(deliveryDetailsRow.id);
12
+ return deliveryDetails;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import InvoiceDetails from "../stockObjects/InvoiceDetails";
2
+ export default class InvoiceDetailsRepo {
3
+ static get(invoiceDetailsId: number): Promise<InvoiceDetails>;
4
+ private static createInvoiceDetailsFromRow;
5
+ }
@@ -0,0 +1,14 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import InvoiceDetails from "../stockObjects/InvoiceDetails";
3
+ export default class InvoiceDetailsRepo {
4
+ static async get(invoiceDetailsId) {
5
+ const connection = DatabaseConnection.get();
6
+ const invoiceDetailsRow = await connection.invoiceDetails.select(invoiceDetailsId);
7
+ return this.createInvoiceDetailsFromRow(invoiceDetailsRow);
8
+ }
9
+ static createInvoiceDetailsFromRow(invoiceDetailsRow) {
10
+ const invoiceDetails = new InvoiceDetails(invoiceDetailsRow.personal_data_id, invoiceDetailsRow.address_id);
11
+ invoiceDetails.setId(invoiceDetailsRow.id);
12
+ return invoiceDetails;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import Order from "../stockObjects/Order";
2
+ export default class OrderRepo {
3
+ static get(orderId: number): Promise<Order>;
4
+ private static createOrderFromRow;
5
+ }
@@ -0,0 +1,14 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import Order from "../stockObjects/Order";
3
+ export default class OrderRepo {
4
+ static async get(orderId) {
5
+ const connection = DatabaseConnection.get();
6
+ const orderData = await connection.orders.select(orderId);
7
+ return this.createOrderFromRow(orderData);
8
+ }
9
+ static createOrderFromRow(orderData) {
10
+ const order = new Order(orderData.email, orderData.price, orderData.client_id, orderData.contact_details_id, orderData.delivery_details_id, orderData.invoice_details_id, orderData.payment_details_id);
11
+ order.setId(orderData.id);
12
+ return order;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import PaymentDetails from "../stockObjects/PaymentDetails";
2
+ export default class PaymentDetailsRepo {
3
+ static get(paymentDetailsId: number): Promise<PaymentDetails>;
4
+ private static createPaymentDetailsFromRow;
5
+ }
@@ -0,0 +1,14 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import PaymentDetails from "../stockObjects/PaymentDetails";
3
+ export default class PaymentDetailsRepo {
4
+ static async get(paymentDetailsId) {
5
+ const connection = DatabaseConnection.get();
6
+ const paymentDetailsRow = await connection.paymentDetails.select(paymentDetailsId);
7
+ return this.createPaymentDetailsFromRow(paymentDetailsRow);
8
+ }
9
+ static createPaymentDetailsFromRow(paymentDetailsRow) {
10
+ const paymentDetails = new PaymentDetails(paymentDetailsRow.payment_method_id, String(paymentDetailsRow.payment_order_id));
11
+ paymentDetails.setId(paymentDetailsRow.id);
12
+ return paymentDetails;
13
+ }
14
+ }
@@ -0,0 +1,5 @@
1
+ import PersonalData from "../stockObjects/PersonalData";
2
+ export default class PersonalDataRepo {
3
+ static get(personalDataId: number): Promise<PersonalData>;
4
+ private static createPersonalDataFromRow;
5
+ }
@@ -0,0 +1,16 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import PersonalData from "../stockObjects/PersonalData";
3
+ import correctPhoneNumber from "../utils/correctPhoneNumber";
4
+ export default class PersonalDataRepo {
5
+ static async get(personalDataId) {
6
+ const connection = DatabaseConnection.get();
7
+ const personalData = await connection.personalData.select(personalDataId);
8
+ return this.createPersonalDataFromRow(personalData);
9
+ }
10
+ static createPersonalDataFromRow(dataRow) {
11
+ const phoneNumber = correctPhoneNumber(dataRow.phone_number);
12
+ const personalData = new PersonalData(dataRow.email, dataRow.first_name, dataRow.last_name, phoneNumber, dataRow.company_details_id);
13
+ personalData.setId(dataRow.id);
14
+ return personalData;
15
+ }
16
+ }
@@ -0,0 +1,5 @@
1
+ import Product from "../stockObjects/Product";
2
+ export default class ProductRepo {
3
+ static get(productId: number): Promise<Product>;
4
+ private static createProductFromRow;
5
+ }
@@ -0,0 +1,15 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import Product from "../stockObjects/Product";
3
+ export default class ProductRepo {
4
+ static async get(productId) {
5
+ const connection = DatabaseConnection.get();
6
+ const product = await connection.products.select(productId);
7
+ return this.createProductFromRow(product);
8
+ }
9
+ static createProductFromRow(productRow) {
10
+ const product = new Product(productRow.sku, productRow.url, productRow.title, productRow.description, productRow.net_price, productRow.vat, productRow.color, productRow.quantity, productRow.width, productRow.length, productRow.height, productRow.file_id, productRow.deleted);
11
+ product.setId(productRow.id);
12
+ product.setCreatedAt(productRow.created_at);
13
+ return product;
14
+ }
15
+ }
@@ -0,0 +1,33 @@
1
+ import StockObject from "../types/StockObject";
2
+ import StockObjectMapper from "../types/StockObjectMapper";
3
+ export default class Address extends StockObject {
4
+ private country;
5
+ private city;
6
+ private street;
7
+ private postalCode;
8
+ private houseNumber;
9
+ private apartmentNumber;
10
+ constructor(country: string, city: string, street: string, postalCode: string, houseNumber: string, apartmentNumber?: string | null);
11
+ getData(): {
12
+ id: number | null;
13
+ country: string;
14
+ city: string;
15
+ street: string;
16
+ postalCode: string;
17
+ houseNumber: string;
18
+ apartmentNumber: string | null;
19
+ };
20
+ getCountry(): string;
21
+ getCity(): string;
22
+ getStreet(): string;
23
+ getPostalCode(): string;
24
+ getHouseNumber(): string;
25
+ getApartmentNumber(): string | null;
26
+ setCountry(country: string): void;
27
+ setCity(city: string): void;
28
+ setStreet(street: string): void;
29
+ setPostalCode(postalCode: string): void;
30
+ setHouseNumber(houseNumber: string): void;
31
+ setApartmentNumber(apartmentNumber: string): void;
32
+ protected getMapper(): StockObjectMapper;
33
+ }
@@ -0,0 +1,69 @@
1
+ import AddressMapper from "../mappers/AddressMapper";
2
+ import StockObject from "../types/StockObject";
3
+ export default class Address extends StockObject {
4
+ country;
5
+ city;
6
+ street;
7
+ postalCode;
8
+ houseNumber;
9
+ apartmentNumber;
10
+ constructor(country, city, street, postalCode, houseNumber, apartmentNumber = null) {
11
+ super();
12
+ this.country = country;
13
+ this.city = city;
14
+ this.street = street;
15
+ this.postalCode = postalCode;
16
+ this.houseNumber = houseNumber;
17
+ this.apartmentNumber = apartmentNumber;
18
+ }
19
+ getData() {
20
+ return {
21
+ id: this.getId(),
22
+ country: this.country,
23
+ city: this.city,
24
+ street: this.street,
25
+ postalCode: this.postalCode,
26
+ houseNumber: this.houseNumber,
27
+ apartmentNumber: this.apartmentNumber,
28
+ };
29
+ }
30
+ getCountry() {
31
+ return this.country;
32
+ }
33
+ getCity() {
34
+ return this.city;
35
+ }
36
+ getStreet() {
37
+ return this.street;
38
+ }
39
+ getPostalCode() {
40
+ return this.postalCode;
41
+ }
42
+ getHouseNumber() {
43
+ return this.houseNumber;
44
+ }
45
+ getApartmentNumber() {
46
+ return this.apartmentNumber;
47
+ }
48
+ setCountry(country) {
49
+ this.country = country;
50
+ }
51
+ setCity(city) {
52
+ this.city = city;
53
+ }
54
+ setStreet(street) {
55
+ this.street = street;
56
+ }
57
+ setPostalCode(postalCode) {
58
+ this.postalCode = postalCode;
59
+ }
60
+ setHouseNumber(houseNumber) {
61
+ this.houseNumber = houseNumber;
62
+ }
63
+ setApartmentNumber(apartmentNumber) {
64
+ this.apartmentNumber = apartmentNumber;
65
+ }
66
+ getMapper() {
67
+ return new AddressMapper(this);
68
+ }
69
+ }
@@ -0,0 +1,25 @@
1
+ import ClaimI from "../types/ClaimI";
2
+ import StockObject from "../types/StockObject";
3
+ import StockObjectMapper from "../types/StockObjectMapper";
4
+ export default class Admin extends StockObject {
5
+ private email;
6
+ private activated;
7
+ private deleted;
8
+ private firstName;
9
+ private lastName;
10
+ private createdAt;
11
+ private claims;
12
+ constructor(email: string, firstName: string, lastName: string, activated: boolean, deleted?: boolean, createdAt?: string | null);
13
+ getEmail(): string;
14
+ getActivated(): boolean;
15
+ getDeleted(): boolean;
16
+ getCreatedAt(): string | null;
17
+ getFirstName(): string;
18
+ getLastName(): string;
19
+ setActivated(activated: boolean): void;
20
+ setDeleted(deleted: boolean): void;
21
+ setFirstName(firstName: string): void;
22
+ setLastName(lastName: string): void;
23
+ setClaims(claims: ClaimI[]): void;
24
+ protected getMapper(): StockObjectMapper;
25
+ }
@@ -0,0 +1,57 @@
1
+ import AdminMapper from "../mappers/AdminMapper";
2
+ import StockObject from "../types/StockObject";
3
+ export default class Admin extends StockObject {
4
+ email;
5
+ activated;
6
+ deleted;
7
+ firstName;
8
+ lastName;
9
+ createdAt;
10
+ claims;
11
+ constructor(email, firstName, lastName, activated, deleted = false, createdAt = null) {
12
+ super();
13
+ this.email = email;
14
+ this.activated = activated;
15
+ this.deleted = deleted;
16
+ this.firstName = firstName;
17
+ this.lastName = lastName;
18
+ this.createdAt = createdAt;
19
+ this.claims = null;
20
+ }
21
+ getEmail() {
22
+ return this.email;
23
+ }
24
+ getActivated() {
25
+ return this.activated;
26
+ }
27
+ getDeleted() {
28
+ return this.deleted;
29
+ }
30
+ getCreatedAt() {
31
+ return this.createdAt;
32
+ }
33
+ getFirstName() {
34
+ return this.firstName;
35
+ }
36
+ getLastName() {
37
+ return this.lastName;
38
+ }
39
+ setActivated(activated) {
40
+ this.activated = activated;
41
+ }
42
+ setDeleted(deleted) {
43
+ this.deleted = deleted;
44
+ }
45
+ setFirstName(firstName) {
46
+ this.firstName = firstName;
47
+ }
48
+ setLastName(lastName) {
49
+ this.lastName = lastName;
50
+ }
51
+ setClaims(claims) {
52
+ this.claims = claims;
53
+ }
54
+ getMapper() {
55
+ return new AdminMapper(this);
56
+ }
57
+ }
@@ -0,0 +1,24 @@
1
+ import StockObject from "../types/StockObject";
2
+ import StockObjectMapper from "../types/StockObjectMapper";
3
+ export default class Client extends StockObject {
4
+ private email;
5
+ private activated;
6
+ private deleted;
7
+ private contactDetailsId;
8
+ private deliveryDetailsId;
9
+ private invoiceDetailsId;
10
+ private createdAt;
11
+ constructor(email: string, activated: boolean, deleted: boolean, contactDetailsId: number, deliveryDetailsId?: number | null, invoiceDetailsId?: number | null, createdAt?: string | null);
12
+ getEmail(): string;
13
+ getActivated(): boolean;
14
+ getDeleted(): boolean;
15
+ getContactDetailsId(): number | null;
16
+ getDeliveryDetailsId(): number | null;
17
+ getInvoiceDetailsId(): number | null;
18
+ setActivated(activated: boolean): void;
19
+ setDeleted(deleted: boolean): void;
20
+ setContactDetailsId(contactDetailsId: number): void;
21
+ setDeliveryDetailsId(deliveryDetailsId: number): void;
22
+ setInvoiceDetailsId(invoiceDetailsId: number): void;
23
+ protected getMapper(): StockObjectMapper;
24
+ }
@@ -0,0 +1,57 @@
1
+ import ClientMapper from "../mappers/ClientMapper";
2
+ import StockObject from "../types/StockObject";
3
+ export default class Client extends StockObject {
4
+ email;
5
+ activated;
6
+ deleted;
7
+ contactDetailsId;
8
+ deliveryDetailsId;
9
+ invoiceDetailsId;
10
+ createdAt;
11
+ constructor(email, activated, deleted, contactDetailsId, deliveryDetailsId = null, invoiceDetailsId = null, createdAt = null) {
12
+ super();
13
+ this.email = email;
14
+ this.activated = activated;
15
+ this.deleted = deleted;
16
+ this.contactDetailsId = contactDetailsId;
17
+ this.deliveryDetailsId = deliveryDetailsId;
18
+ this.invoiceDetailsId = invoiceDetailsId;
19
+ this.createdAt = createdAt;
20
+ }
21
+ getEmail() {
22
+ return this.email;
23
+ }
24
+ getActivated() {
25
+ return this.activated;
26
+ }
27
+ getDeleted() {
28
+ return this.deleted;
29
+ }
30
+ getContactDetailsId() {
31
+ return this.contactDetailsId;
32
+ }
33
+ getDeliveryDetailsId() {
34
+ return this.deliveryDetailsId;
35
+ }
36
+ getInvoiceDetailsId() {
37
+ return this.invoiceDetailsId;
38
+ }
39
+ setActivated(activated) {
40
+ this.activated = activated;
41
+ }
42
+ setDeleted(deleted) {
43
+ this.deleted = deleted;
44
+ }
45
+ setContactDetailsId(contactDetailsId) {
46
+ this.contactDetailsId = contactDetailsId;
47
+ }
48
+ setDeliveryDetailsId(deliveryDetailsId) {
49
+ this.deliveryDetailsId = deliveryDetailsId;
50
+ }
51
+ setInvoiceDetailsId(invoiceDetailsId) {
52
+ this.invoiceDetailsId = invoiceDetailsId;
53
+ }
54
+ getMapper() {
55
+ return new ClientMapper(this);
56
+ }
57
+ }