@dascompany/product 4.5.17 → 4.5.19

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 (219) hide show
  1. package/dist/DatabaseConnection.d.ts +57 -0
  2. package/dist/DatabaseConnection.js +165 -0
  3. package/dist/SQL.json +153 -0
  4. package/dist/lib/errors/CilentAccountExistWithThisEmail.d.ts +3 -0
  5. package/dist/lib/errors/CilentAccountExistWithThisEmail.js +5 -0
  6. package/dist/mappers/AddressMapper.d.ts +9 -0
  7. package/dist/mappers/AddressMapper.js +22 -0
  8. package/dist/mappers/AdminMapper.d.ts +9 -0
  9. package/dist/mappers/AdminMapper.js +24 -0
  10. package/dist/mappers/ClientMapper.d.ts +9 -0
  11. package/dist/mappers/ClientMapper.js +24 -0
  12. package/dist/mappers/CompanyDataMapper.d.ts +9 -0
  13. package/dist/mappers/CompanyDataMapper.js +17 -0
  14. package/dist/mappers/CompanyDetailsMapper.d.ts +9 -0
  15. package/dist/mappers/CompanyDetailsMapper.js +27 -0
  16. package/dist/mappers/DeliveryDetailsMapper.d.ts +9 -0
  17. package/dist/mappers/DeliveryDetailsMapper.js +30 -0
  18. package/dist/mappers/DeliveryMethodsMapper.d.ts +9 -0
  19. package/dist/mappers/DeliveryMethodsMapper.js +17 -0
  20. package/dist/mappers/DeliveryStatusMapper.d.ts +9 -0
  21. package/dist/mappers/DeliveryStatusMapper.js +15 -0
  22. package/dist/mappers/FileConnectionMapper.d.ts +9 -0
  23. package/dist/mappers/FileConnectionMapper.js +18 -0
  24. package/dist/mappers/FileMapper.d.ts +9 -0
  25. package/dist/mappers/FileMapper.js +17 -0
  26. package/dist/mappers/OrderMapper.d.ts +9 -0
  27. package/dist/mappers/OrderMapper.js +19 -0
  28. package/dist/mappers/OrderProductMapper.d.ts +9 -0
  29. package/dist/mappers/OrderProductMapper.js +19 -0
  30. package/dist/mappers/PaymentDetailsMapper.d.ts +9 -0
  31. package/dist/mappers/PaymentDetailsMapper.js +17 -0
  32. package/dist/mappers/PaymentMethodsMapper.d.ts +9 -0
  33. package/dist/mappers/PaymentMethodsMapper.js +17 -0
  34. package/dist/mappers/PaymentStatusMapper.d.ts +9 -0
  35. package/dist/mappers/PaymentStatusMapper.js +15 -0
  36. package/dist/mappers/PersonalDataMapper.d.ts +9 -0
  37. package/dist/mappers/PersonalDataMapper.js +22 -0
  38. package/dist/mappers/ProductMapper.d.ts +9 -0
  39. package/dist/mappers/ProductMapper.js +20 -0
  40. package/dist/mappers/StatusMapper.d.ts +9 -0
  41. package/dist/mappers/StatusMapper.js +15 -0
  42. package/dist/reader/AccountCartReader.d.ts +6 -0
  43. package/dist/reader/AccountCartReader.js +25 -0
  44. package/dist/reader/AccountCompanyDetailsReader.d.ts +5 -0
  45. package/dist/reader/AccountCompanyDetailsReader.js +17 -0
  46. package/dist/reader/AccountDeliveryDetailsReader.d.ts +5 -0
  47. package/dist/reader/AccountDeliveryDetailsReader.js +17 -0
  48. package/dist/reader/AddressesReader.d.ts +6 -0
  49. package/dist/reader/AddressesReader.js +18 -0
  50. package/dist/reader/AdminReader.d.ts +10 -0
  51. package/dist/reader/AdminReader.js +37 -0
  52. package/dist/reader/ClientAccountReader.d.ts +10 -0
  53. package/dist/reader/ClientAccountReader.js +39 -0
  54. package/dist/reader/CompanyDataReader.d.ts +4 -0
  55. package/dist/reader/CompanyDataReader.js +39 -0
  56. package/dist/reader/CompanyDetailsReader.d.ts +5 -0
  57. package/dist/reader/CompanyDetailsReader.js +18 -0
  58. package/dist/reader/DeliveryDetailsReader.d.ts +5 -0
  59. package/dist/reader/DeliveryDetailsReader.js +26 -0
  60. package/dist/reader/DeliveryMethodReader.d.ts +6 -0
  61. package/dist/reader/DeliveryMethodReader.js +11 -0
  62. package/dist/reader/DeliveryStatusReader.d.ts +6 -0
  63. package/dist/reader/DeliveryStatusReader.js +29 -0
  64. package/dist/reader/FileConnectionsReader.d.ts +7 -0
  65. package/dist/reader/FileConnectionsReader.js +24 -0
  66. package/dist/reader/FilesReader.d.ts +11 -0
  67. package/dist/reader/FilesReader.js +43 -0
  68. package/dist/reader/MarketPlacesReader.d.ts +8 -0
  69. package/dist/reader/MarketPlacesReader.js +28 -0
  70. package/dist/reader/OrderProductsReader.d.ts +7 -0
  71. package/dist/reader/OrderProductsReader.js +40 -0
  72. package/dist/reader/OrderReader.d.ts +10 -0
  73. package/dist/reader/OrderReader.js +57 -0
  74. package/dist/reader/OrderStatusReader.d.ts +6 -0
  75. package/dist/reader/OrderStatusReader.js +29 -0
  76. package/dist/reader/PersonalDataReader.d.ts +6 -0
  77. package/dist/reader/PersonalDataReader.js +19 -0
  78. package/dist/reader/ProductReader.d.ts +11 -0
  79. package/dist/reader/ProductReader.js +64 -0
  80. package/dist/reader/StatusTypesReader.d.ts +8 -0
  81. package/dist/reader/StatusTypesReader.js +11 -0
  82. package/dist/reader/payment/PaymentDetailsReader.d.ts +5 -0
  83. package/dist/reader/payment/PaymentDetailsReader.js +29 -0
  84. package/dist/reader/payment/PaymentMethodReader.d.ts +6 -0
  85. package/dist/reader/payment/PaymentMethodReader.js +11 -0
  86. package/dist/reader/payment/PaymentStatusesReader.d.ts +6 -0
  87. package/dist/reader/payment/PaymentStatusesReader.js +28 -0
  88. package/dist/repo/AddressesRepo.d.ts +6 -0
  89. package/dist/repo/AddressesRepo.js +13 -0
  90. package/dist/repo/AdminRepo.d.ts +8 -0
  91. package/dist/repo/AdminRepo.js +20 -0
  92. package/dist/repo/ClientAccountRepo.d.ts +6 -0
  93. package/dist/repo/ClientAccountRepo.js +13 -0
  94. package/dist/repo/CompanyDataRepo.d.ts +4 -0
  95. package/dist/repo/CompanyDataRepo.js +10 -0
  96. package/dist/repo/CompanyDetailsRepo.d.ts +6 -0
  97. package/dist/repo/CompanyDetailsRepo.js +13 -0
  98. package/dist/repo/DeliveryDetailsRepo.d.ts +6 -0
  99. package/dist/repo/DeliveryDetailsRepo.js +13 -0
  100. package/dist/repo/DeliveryMethodRepo.d.ts +5 -0
  101. package/dist/repo/DeliveryMethodRepo.js +10 -0
  102. package/dist/repo/FileConnectionsRepo.d.ts +8 -0
  103. package/dist/repo/FileConnectionsRepo.js +23 -0
  104. package/dist/repo/FilesRepo.d.ts +7 -0
  105. package/dist/repo/FilesRepo.js +24 -0
  106. package/dist/repo/OrderProductsRepo.d.ts +7 -0
  107. package/dist/repo/OrderProductsRepo.js +21 -0
  108. package/dist/repo/OrderRepo.d.ts +6 -0
  109. package/dist/repo/OrderRepo.js +13 -0
  110. package/dist/repo/PaymentDetailsRepo.d.ts +6 -0
  111. package/dist/repo/PaymentDetailsRepo.js +13 -0
  112. package/dist/repo/PaymentMethodRepo.d.ts +5 -0
  113. package/dist/repo/PaymentMethodRepo.js +10 -0
  114. package/dist/repo/PersonalDataRepo.d.ts +6 -0
  115. package/dist/repo/PersonalDataRepo.js +15 -0
  116. package/dist/repo/ProductRepo.d.ts +6 -0
  117. package/dist/repo/ProductRepo.js +14 -0
  118. package/dist/stockObjects/AccountCartItem.ts.d.ts +21 -0
  119. package/dist/stockObjects/AccountCartItem.ts.js +44 -0
  120. package/dist/stockObjects/Address.d.ts +32 -0
  121. package/dist/stockObjects/Address.js +69 -0
  122. package/dist/stockObjects/Admin.d.ts +24 -0
  123. package/dist/stockObjects/Admin.js +57 -0
  124. package/dist/stockObjects/Client.d.ts +27 -0
  125. package/dist/stockObjects/Client.js +93 -0
  126. package/dist/stockObjects/CompanyData.d.ts +35 -0
  127. package/dist/stockObjects/CompanyData.js +90 -0
  128. package/dist/stockObjects/CompanyDetails.d.ts +14 -0
  129. package/dist/stockObjects/CompanyDetails.js +34 -0
  130. package/dist/stockObjects/DeliveryDetails.d.ts +15 -0
  131. package/dist/stockObjects/DeliveryDetails.js +37 -0
  132. package/dist/stockObjects/DeliveryMethods.d.ts +11 -0
  133. package/dist/stockObjects/DeliveryMethods.js +26 -0
  134. package/dist/stockObjects/DeliveryStatus.d.ts +17 -0
  135. package/dist/stockObjects/DeliveryStatus.js +42 -0
  136. package/dist/stockObjects/File.d.ts +24 -0
  137. package/dist/stockObjects/File.js +60 -0
  138. package/dist/stockObjects/FileConnection.d.ts +17 -0
  139. package/dist/stockObjects/FileConnection.js +42 -0
  140. package/dist/stockObjects/Order.d.ts +42 -0
  141. package/dist/stockObjects/Order.js +109 -0
  142. package/dist/stockObjects/OrderProduct.d.ts +16 -0
  143. package/dist/stockObjects/OrderProduct.js +38 -0
  144. package/dist/stockObjects/PaymentDetails.d.ts +11 -0
  145. package/dist/stockObjects/PaymentDetails.js +26 -0
  146. package/dist/stockObjects/PaymentMethods.d.ts +11 -0
  147. package/dist/stockObjects/PaymentMethods.js +26 -0
  148. package/dist/stockObjects/PaymentStatus.d.ts +12 -0
  149. package/dist/stockObjects/PaymentStatus.js +26 -0
  150. package/dist/stockObjects/PersonalData.d.ts +24 -0
  151. package/dist/stockObjects/PersonalData.js +53 -0
  152. package/dist/stockObjects/Product.d.ts +81 -0
  153. package/dist/stockObjects/Product.js +200 -0
  154. package/dist/stockObjects/Status.d.ts +17 -0
  155. package/dist/stockObjects/Status.js +42 -0
  156. package/dist/tables/TableNames.d.ts +28 -0
  157. package/dist/tables/TableNames.js +29 -0
  158. package/dist/tables/clients/AccountCartTable.d.ts +11 -0
  159. package/dist/tables/clients/AccountCartTable.js +35 -0
  160. package/dist/tables/clients/AccountCompanyDetailsTable.d.ts +7 -0
  161. package/dist/tables/clients/AccountCompanyDetailsTable.js +22 -0
  162. package/dist/tables/clients/AccountDeliveryDetailsTable.d.ts +7 -0
  163. package/dist/tables/clients/AccountDeliveryDetailsTable.js +22 -0
  164. package/dist/tables/clients/ClientAccountsTable.d.ts +14 -0
  165. package/dist/tables/clients/ClientAccountsTable.js +65 -0
  166. package/dist/tables/files/FileConnectionsTable.d.ts +9 -0
  167. package/dist/tables/files/FileConnectionsTable.js +25 -0
  168. package/dist/tables/files/FilesTable.d.ts +15 -0
  169. package/dist/tables/files/FilesTable.js +65 -0
  170. package/dist/tables/orders/OrdersProductsTable.d.ts +10 -0
  171. package/dist/tables/orders/OrdersProductsTable.js +36 -0
  172. package/dist/tables/orders/OrdersTable.d.ts +13 -0
  173. package/dist/tables/orders/OrdersTable.js +54 -0
  174. package/dist/tables/orders/PaymentDetailsTable.d.ts +10 -0
  175. package/dist/tables/orders/PaymentDetailsTable.js +33 -0
  176. package/dist/tables/orders/PaymentStatusTypesTable.d.ts +7 -0
  177. package/dist/tables/orders/PaymentStatusTypesTable.js +9 -0
  178. package/dist/tables/orders/PaymentStatusesTable.d.ts +9 -0
  179. package/dist/tables/orders/PaymentStatusesTable.js +28 -0
  180. package/dist/tables/orders/StatusTypesTable.d.ts +8 -0
  181. package/dist/tables/orders/StatusTypesTable.js +14 -0
  182. package/dist/tables/orders/StatusesTable.d.ts +10 -0
  183. package/dist/tables/orders/StatusesTable.js +32 -0
  184. package/dist/tables/personalInformation/AddressesTable.d.ts +11 -0
  185. package/dist/tables/personalInformation/AddressesTable.js +41 -0
  186. package/dist/tables/personalInformation/CompanyDetailsTable.d.ts +11 -0
  187. package/dist/tables/personalInformation/CompanyDetailsTable.js +38 -0
  188. package/dist/tables/personalInformation/DeliveryDetailsTable.d.ts +11 -0
  189. package/dist/tables/personalInformation/DeliveryDetailsTable.js +39 -0
  190. package/dist/tables/personalInformation/DeliveryStatusTypesTable.d.ts +7 -0
  191. package/dist/tables/personalInformation/DeliveryStatusTypesTable.js +9 -0
  192. package/dist/tables/personalInformation/DeliveryStatusesTable.d.ts +9 -0
  193. package/dist/tables/personalInformation/DeliveryStatusesTable.js +29 -0
  194. package/dist/tables/personalInformation/PersonalDataTable.d.ts +11 -0
  195. package/dist/tables/personalInformation/PersonalDataTable.js +40 -0
  196. package/dist/tables/public/AdminAccountsTable.d.ts +14 -0
  197. package/dist/tables/public/AdminAccountsTable.js +66 -0
  198. package/dist/tables/public/ProductsTable.d.ts +15 -0
  199. package/dist/tables/public/ProductsTable.js +83 -0
  200. package/dist/tables/settings/CompanyDataTable.d.ts +10 -0
  201. package/dist/tables/settings/CompanyDataTable.js +42 -0
  202. package/dist/tables/settings/DeliveryMethodsTable.d.ts +11 -0
  203. package/dist/tables/settings/DeliveryMethodsTable.js +39 -0
  204. package/dist/tables/settings/MarketPlacesTable.d.ts +5 -0
  205. package/dist/tables/settings/MarketPlacesTable.js +9 -0
  206. package/dist/tables/settings/PaymentMethodsTable.d.ts +11 -0
  207. package/dist/tables/settings/PaymentMethodsTable.js +39 -0
  208. package/dist/types/PaymentMethodE.d.ts +5 -0
  209. package/dist/types/PaymentMethodE.js +6 -0
  210. package/dist/types/rows/OrderProductRow.d.ts +2 -0
  211. package/dist/utils/AccountCart.d.ts +6 -0
  212. package/dist/utils/AccountCart.js +20 -0
  213. package/dist/utils/PriceConverter.d.ts +5 -0
  214. package/dist/utils/PriceConverter.js +14 -0
  215. package/dist/utils/correctPhoneNumber.d.ts +1 -0
  216. package/dist/utils/correctPhoneNumber.js +14 -0
  217. package/dist/utils/createQueryOptionsForId.d.ts +2 -0
  218. package/dist/utils/createQueryOptionsForId.js +6 -0
  219. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ import StatusTypesTable from './tables/orders/StatusTypesTable';
2
+ import FilesTable from './tables/files/FilesTable';
3
+ import OrdersTable from './tables/orders/OrdersTable';
4
+ import ProductsTable from './tables/public/ProductsTable';
5
+ import StatusesTable from './tables/orders/StatusesTable';
6
+ import AddressesTable from './tables/personalInformation/AddressesTable';
7
+ import ClientAccountsTable from './tables/clients/ClientAccountsTable';
8
+ import PersonalDataTable from './tables/personalInformation/PersonalDataTable';
9
+ import OrdersProductsTable from './tables/orders/OrdersProductsTable';
10
+ import CompanyDetailsTable from './tables/personalInformation/CompanyDetailsTable';
11
+ import DeliveryDetailsTable from './tables/personalInformation/DeliveryDetailsTable';
12
+ import DeliveryMethodsTable from './tables/settings/DeliveryMethodsTable';
13
+ import PaymentMethodsTable from './tables/settings/PaymentMethodsTable';
14
+ import PaymentStatusTypesTable from './tables/orders/PaymentStatusTypesTable';
15
+ import DeliveryStatusTypesTable from './tables/personalInformation/DeliveryStatusTypesTable';
16
+ import DeliveryStatusesTable from './tables/personalInformation/DeliveryStatusesTable';
17
+ import PaymentDetailsTable from './tables/orders/PaymentDetailsTable';
18
+ import PaymentStatusesTable from './tables/orders/PaymentStatusesTable';
19
+ import CompanyDataTable from './tables/settings/CompanyDataTable';
20
+ import FileConnectionsTable from './tables/files/FileConnectionsTable';
21
+ import AdminAccountsTable from './tables/public/AdminAccountsTable';
22
+ import AccountCompanyDetailsTable from './tables/clients/AccountCompanyDetailsTable';
23
+ import AccountDeliveryDetailsTable from './tables/clients/AccountDeliveryDetailsTable';
24
+ import AccountCartTable from './tables/clients/AccountCartTable';
25
+ import MarketPlacesTable from './tables/settings/MarketPlacesTable';
26
+ export default class DatabaseConnection {
27
+ static instance: DatabaseConnection;
28
+ private tables;
29
+ private connection;
30
+ private constructor();
31
+ static getInstance(): DatabaseConnection;
32
+ get statusTypes(): StatusTypesTable;
33
+ get files(): FilesTable;
34
+ get orders(): OrdersTable;
35
+ get products(): ProductsTable;
36
+ get statuses(): StatusesTable;
37
+ get addresses(): AddressesTable;
38
+ get clientAccounts(): ClientAccountsTable;
39
+ get accountCompanyDetails(): AccountCompanyDetailsTable;
40
+ get accountCart(): AccountCartTable;
41
+ get accountDeliveryDetails(): AccountDeliveryDetailsTable;
42
+ get adminAccounts(): AdminAccountsTable;
43
+ get companyDetails(): CompanyDetailsTable;
44
+ get personalData(): PersonalDataTable;
45
+ get ordersProducts(): OrdersProductsTable;
46
+ get deliveryDetails(): DeliveryDetailsTable;
47
+ get deliveryMethods(): DeliveryMethodsTable;
48
+ get paymentMethods(): PaymentMethodsTable;
49
+ get paymentStatusTypes(): PaymentStatusTypesTable;
50
+ get deliveryStatusTypes(): DeliveryStatusTypesTable;
51
+ get deliveryStatuses(): DeliveryStatusesTable;
52
+ get paymentDetails(): PaymentDetailsTable;
53
+ get paymentStatuses(): PaymentStatusesTable;
54
+ get companyData(): CompanyDataTable;
55
+ get marketPlaces(): MarketPlacesTable;
56
+ get fileConnections(): FileConnectionsTable;
57
+ }
@@ -0,0 +1,165 @@
1
+ import { ConnectionFactory } from '@dascompany/database';
2
+ import StatusTypesTable from './tables/orders/StatusTypesTable';
3
+ import TableNames from './tables/TableNames';
4
+ import FilesTable from './tables/files/FilesTable';
5
+ import OrdersTable from './tables/orders/OrdersTable';
6
+ import ProductsTable from './tables/public/ProductsTable';
7
+ import StatusesTable from './tables/orders/StatusesTable';
8
+ import AddressesTable from './tables/personalInformation/AddressesTable';
9
+ import ClientAccountsTable from './tables/clients/ClientAccountsTable';
10
+ import PersonalDataTable from './tables/personalInformation/PersonalDataTable';
11
+ import OrdersProductsTable from './tables/orders/OrdersProductsTable';
12
+ import CompanyDetailsTable from './tables/personalInformation/CompanyDetailsTable';
13
+ import DeliveryDetailsTable from './tables/personalInformation/DeliveryDetailsTable';
14
+ import DeliveryMethodsTable from './tables/settings/DeliveryMethodsTable';
15
+ import PaymentMethodsTable from './tables/settings/PaymentMethodsTable';
16
+ import PaymentStatusTypesTable from './tables/orders/PaymentStatusTypesTable';
17
+ import DeliveryStatusTypesTable from './tables/personalInformation/DeliveryStatusTypesTable';
18
+ import DeliveryStatusesTable from './tables/personalInformation/DeliveryStatusesTable';
19
+ import PaymentDetailsTable from './tables/orders/PaymentDetailsTable';
20
+ import PaymentStatusesTable from './tables/orders/PaymentStatusesTable';
21
+ import CompanyDataTable from './tables/settings/CompanyDataTable';
22
+ import FileConnectionsTable from './tables/files/FileConnectionsTable';
23
+ import AdminAccountsTable from './tables/public/AdminAccountsTable';
24
+ import AccountCompanyDetailsTable from './tables/clients/AccountCompanyDetailsTable';
25
+ import AccountDeliveryDetailsTable from './tables/clients/AccountDeliveryDetailsTable';
26
+ import AccountCartTable from './tables/clients/AccountCartTable';
27
+ import MarketPlacesTable from './tables/settings/MarketPlacesTable';
28
+ export default class DatabaseConnection {
29
+ static instance;
30
+ tables = new Map();
31
+ connection;
32
+ constructor(connection) {
33
+ this.connection = connection;
34
+ }
35
+ static getInstance() {
36
+ (!this.instance);
37
+ this.instance = new DatabaseConnection(ConnectionFactory.get());
38
+ return this.instance;
39
+ }
40
+ get statusTypes() {
41
+ if (!this.tables.get(TableNames.statusTypes))
42
+ this.tables.set(TableNames.statusTypes, new StatusTypesTable(this.connection));
43
+ return this.tables.get(TableNames.statusTypes);
44
+ }
45
+ get files() {
46
+ if (!this.tables.get(TableNames.files))
47
+ this.tables.set(TableNames.files, new FilesTable(this.connection));
48
+ return this.tables.get(TableNames.files);
49
+ }
50
+ get orders() {
51
+ if (!this.tables.get(TableNames.orders))
52
+ this.tables.set(TableNames.orders, new OrdersTable(this.connection));
53
+ return this.tables.get(TableNames.orders);
54
+ }
55
+ get products() {
56
+ if (!this.tables.get(TableNames.products))
57
+ this.tables.set(TableNames.products, new ProductsTable(this.connection));
58
+ return this.tables.get(TableNames.products);
59
+ }
60
+ get statuses() {
61
+ if (!this.tables.get(TableNames.statuses))
62
+ this.tables.set(TableNames.statuses, new StatusesTable(this.connection));
63
+ return this.tables.get(TableNames.statuses);
64
+ }
65
+ get addresses() {
66
+ if (!this.tables.get(TableNames.addresses))
67
+ this.tables.set(TableNames.addresses, new AddressesTable(this.connection));
68
+ return this.tables.get(TableNames.addresses);
69
+ }
70
+ get clientAccounts() {
71
+ if (!this.tables.get(TableNames.clientAccounts))
72
+ this.tables.set(TableNames.clientAccounts, new ClientAccountsTable(this.connection));
73
+ return this.tables.get(TableNames.clientAccounts);
74
+ }
75
+ get accountCompanyDetails() {
76
+ if (!this.tables.get(TableNames.accountCompanyDetails))
77
+ this.tables.set(TableNames.accountCompanyDetails, new AccountCompanyDetailsTable(this.connection));
78
+ return this.tables.get(TableNames.accountCompanyDetails);
79
+ }
80
+ get accountCart() {
81
+ if (!this.tables.get(TableNames.accountCart))
82
+ this.tables.set(TableNames.accountCart, new AccountCartTable(this.connection));
83
+ return this.tables.get(TableNames.accountCart);
84
+ }
85
+ get accountDeliveryDetails() {
86
+ if (!this.tables.get(TableNames.accountDeliveryDetails))
87
+ this.tables.set(TableNames.accountDeliveryDetails, new AccountDeliveryDetailsTable(this.connection));
88
+ return this.tables.get(TableNames.accountDeliveryDetails);
89
+ }
90
+ get adminAccounts() {
91
+ if (!this.tables.get(TableNames.adminAccounts))
92
+ this.tables.set(TableNames.adminAccounts, new AdminAccountsTable(this.connection));
93
+ return this.tables.get(TableNames.adminAccounts);
94
+ }
95
+ get companyDetails() {
96
+ if (!this.tables.get(TableNames.companyDetails))
97
+ this.tables.set(TableNames.companyDetails, new CompanyDetailsTable(this.connection));
98
+ return this.tables.get(TableNames.companyDetails);
99
+ }
100
+ get personalData() {
101
+ if (!this.tables.get(TableNames.personalData))
102
+ this.tables.set(TableNames.personalData, new PersonalDataTable(this.connection));
103
+ return this.tables.get(TableNames.personalData);
104
+ }
105
+ get ordersProducts() {
106
+ if (!this.tables.get(TableNames.ordersProducts))
107
+ this.tables.set(TableNames.ordersProducts, new OrdersProductsTable(this.connection));
108
+ return this.tables.get(TableNames.ordersProducts);
109
+ }
110
+ get deliveryDetails() {
111
+ if (!this.tables.get(TableNames.deliveryDetails))
112
+ this.tables.set(TableNames.deliveryDetails, new DeliveryDetailsTable(this.connection));
113
+ return this.tables.get(TableNames.deliveryDetails);
114
+ }
115
+ get deliveryMethods() {
116
+ if (!this.tables.get(TableNames.deliveryMethods))
117
+ this.tables.set(TableNames.deliveryMethods, new DeliveryMethodsTable(this.connection));
118
+ return this.tables.get(TableNames.deliveryMethods);
119
+ }
120
+ get paymentMethods() {
121
+ if (!this.tables.get(TableNames.paymentMethods))
122
+ this.tables.set(TableNames.paymentMethods, new PaymentMethodsTable(this.connection));
123
+ return this.tables.get(TableNames.paymentMethods);
124
+ }
125
+ get paymentStatusTypes() {
126
+ if (!this.tables.get(TableNames.paymentStatusTypes))
127
+ this.tables.set(TableNames.paymentStatusTypes, new PaymentStatusTypesTable(this.connection));
128
+ return this.tables.get(TableNames.paymentStatusTypes);
129
+ }
130
+ get deliveryStatusTypes() {
131
+ if (!this.tables.get(TableNames.deliveryStatusTypes))
132
+ this.tables.set(TableNames.deliveryStatusTypes, new DeliveryStatusTypesTable(this.connection));
133
+ return this.tables.get(TableNames.deliveryStatusTypes);
134
+ }
135
+ get deliveryStatuses() {
136
+ if (!this.tables.get(TableNames.deliveryStatuses))
137
+ this.tables.set(TableNames.deliveryStatuses, new DeliveryStatusesTable(this.connection));
138
+ return this.tables.get(TableNames.deliveryStatuses);
139
+ }
140
+ get paymentDetails() {
141
+ if (!this.tables.get(TableNames.paymentDetails))
142
+ this.tables.set(TableNames.paymentDetails, new PaymentDetailsTable(this.connection));
143
+ return this.tables.get(TableNames.paymentDetails);
144
+ }
145
+ get paymentStatuses() {
146
+ if (!this.tables.get(TableNames.paymentStatuses))
147
+ this.tables.set(TableNames.paymentStatuses, new PaymentStatusesTable(this.connection));
148
+ return this.tables.get(TableNames.paymentStatuses);
149
+ }
150
+ get companyData() {
151
+ if (!this.tables.get(TableNames.companyData))
152
+ this.tables.set(TableNames.companyData, new CompanyDataTable(this.connection));
153
+ return this.tables.get(TableNames.companyData);
154
+ }
155
+ get marketPlaces() {
156
+ if (!this.tables.get(TableNames.marketPlaces))
157
+ this.tables.set(TableNames.marketPlaces, new MarketPlacesTable(this.connection));
158
+ return this.tables.get(TableNames.marketPlaces);
159
+ }
160
+ get fileConnections() {
161
+ if (!this.tables.get(TableNames.fileConnections))
162
+ this.tables.set(TableNames.fileConnections, new FileConnectionsTable(this.connection));
163
+ return this.tables.get(TableNames.fileConnections);
164
+ }
165
+ }
package/dist/SQL.json ADDED
@@ -0,0 +1,153 @@
1
+ {
2
+ "adminAccounts": {
3
+ "select": "SELECT * FROM admin_accounts",
4
+ "selectId": "SELECT id FROM admin_accounts",
5
+ "insert": "INSERT INTO admin_accounts( id, first_name, last_name, email, activated) VALUES ($id::BIGINT, $first_name::TEXT, $last_name::TEXT, LOWER($email::TEXT), $activated::BOOL)",
6
+ "update": "UPDATE admin_accounts SET first_name = $first_name::TEXT, last_name = $last_name::TEXT , email = LOWER($email::TEXT), activated = $activated::BOOL, deleted = $deleted::BOOL WHERE id = $id::BIGINT",
7
+ "delete": "UPDATE admin_accounts SET deleted = true, activated = false WHERE id = $id::BIGINT",
8
+ "count": "SELECT COUNT(*) AS total_rows FROM admin_accounts",
9
+ "selectNextId": "SELECT nextval('admin_account_id'::regclass)"
10
+ },
11
+ "accounts": {
12
+ "select": "SELECT * FROM clients.accounts",
13
+ "selectId": "SELECT id FROM clients.accounts ",
14
+ "insert": "INSERT INTO clients.accounts( id, email, activated, personal_data_id) VALUES ($id::BIGINT, LOWER($email::TEXT), $activated::BOOL, $personal_data_id::BIGINT)",
15
+ "update": "UPDATE clients.accounts SET activated = $activated::BOOL, deleted = $deleted::BOOL, personal_data_id = $personal_data_id::BIGINT, delivery_details_id = $delivery_details_id::BIGINT, company_details_id = $company_details_id::BIGINT WHERE id = $id::BIGINT",
16
+ "delete": "DELETE FROM clients.accounts WHERE id = $account_id::BIGINT",
17
+ "count": "SELECT COUNT(*) AS total_rows FROM clients.accounts",
18
+ "selectNextId": "SELECT nextval('clients.accounts_id'::regclass)"
19
+ },
20
+ "accountCart": {
21
+ "select": "SELECT * FROM clients.account_cart ",
22
+ "insert": "INSERT INTO clients.account_cart(account_id, product_id, installation, quantity) VALUES ($account_id::BIGINT, $product_id::BIGINT, $installation::BOOL, $quantity::INT)",
23
+ "update": "UPDATE clients.account_cart SET installation = $installation::BOOL, quantity = $quantity::INT WHERE account_id = $account_id::BIGINT AND product_id = $product_id::BIGINT AND (installation != $installation::BOOL OR quantity != $quantity::INT)",
24
+ "delete": "DELETE FROM clients.account_cart "
25
+ },
26
+ "accountDeliveryDetails": {
27
+ "select": "SELECT * FROM clients.account_delivery_details WHERE account_id = $account_id::BIGINT",
28
+ "insert": "INSERT INTO clients.account_delivery_details(account_id, delivery_details_id) VALUES ($account_id::BIGINT, $delivery_details_id::BIGINT)",
29
+ "delete": "DELETE FROM clients.account_delivery_details WHERE delivery_details_id = $delivery_details_id::BIGINT"
30
+ },
31
+ "accountCompanyDetails": {
32
+ "select": "SELECT * FROM clients.account_company_details WHERE account_id = $account_id::BIGINT",
33
+ "insert": "INSERT INTO clients.account_company_details(account_id, company_details_id) VALUES ($account_id::BIGINT, $company_details_id::BIGINT)",
34
+ "delete": "DELETE FROM clients.account_company_details WHERE company_details_id = $company_details_id::BIGINT"
35
+ },
36
+ "deliveryDetails": {
37
+ "select": "SELECT * FROM personal_information.delivery_details",
38
+ "insert": "INSERT INTO personal_information.delivery_details(id, personal_data_id, address_id, delivery_method_id) VALUES ($id::BIGINT, $personal_data_id::BIGINT, $address_id::BIGINT, $delivery_method_id::BIGINT)",
39
+ "update": "UPDATE personal_information.delivery_details SET personal_data_id = $personal_data_id::BIGINT, address_id = $address_id::BIGINT, delivery_method_id = $delivery_method_id::BIGINT WHERE id = $id::BIGINT",
40
+ "delete": "DELETE FROM personal_information.delivery_details WHERE id = $id::BIGINT",
41
+ "selectNextId": "SELECT nextval('personal_information.delivery_details_id'::regclass)"
42
+ },
43
+ "addresses": {
44
+ "select": "SELECT * FROM personal_information.addresses",
45
+ "insert": "INSERT INTO personal_information.addresses( id, country, city, postal_code, street, house_number, apartment_number) VALUES( $id::BIGINT, $country::TEXT, $city::TEXT, $postal_code::TEXT, $street::TEXT, $house_number::TEXT, $apartment_number::TEXT) ",
46
+ "update": "UPDATE personal_information.addresses SET country = $country::TEXT, city = $city::TEXT, postal_code = $postal_code::TEXT , street = $street::TEXT , house_number = $house_number::TEXT , apartment_number = $apartment_number::TEXT WHERE id = $id::BIGINT",
47
+ "selectNextId": "SELECT nextval('personal_information.addresses_id'::regclass)",
48
+ "delete": "DELETE FROM personal_information.addresses WHERE id = $id::BIGINT"
49
+ },
50
+ "personalData": {
51
+ "select": "SELECT * FROM personal_information.personal_data",
52
+ "insert": "INSERT INTO personal_information.personal_data (id, first_name, last_name, email, phone_number) VALUES ($id::BIGINT, $first_name::TEXT, $last_name::TEXT, $email::TEXT, $phone_number::TEXT)",
53
+ "update": "UPDATE personal_information.personal_data SET email = $email::TEXT, first_name = $first_name::TEXT, last_name= $last_name::TEXT, phone_number = $phone_number::TEXT WHERE id = $id::BIGINT",
54
+ "selectNextId": "SELECT nextval('personal_information.personal_data_id'::regclass)",
55
+ "delete": "DELETE FROM personal_information.personal_data WHERE id = $id::BIGINT"
56
+ },
57
+ "companyDetails": {
58
+ "select": "SELECT * FROM personal_information.company_details",
59
+ "insert": "INSERT INTO personal_information.company_details( id, name, tax_number, address_id ) VALUES ($id::BIGINT, $name::TEXT, $tax_number::TEXT, $address_id::BIGINT )",
60
+ "update": "UPDATE personal_information.company_details SET name = $name::TEXT, tax_number = $tax_number::TEXT, address_id = $address_id::BIGINT WHERE id = $id::BIGINT",
61
+ "delete": "DELETE FROM personal_information.company_details WHERE id = $id::BIGINT",
62
+ "selectNextId": "SELECT nextval('personal_information.company_details_id'::regclass)"
63
+ },
64
+ "products": {
65
+ "select": "SELECT * FROM products",
66
+ "selectId": "SELECT id FROM products",
67
+ "insert": "INSERT INTO products( id, sku, article_number, url, title, subtitle, description, net_price, promotional_net_price, vat, color, quantity, width, length, height, file_id, json_data, deleted) VALUES ($id::BIGINT, $sku::TEXT, $article_number::TEXT, $url::TEXT, $title::TEXT, $subtitle::TEXT ,$description::TEXT, $net_price::DOUBLE PRECISION, $promotional_net_price::DOUBLE PRECISION, $vat::INT, $color::TEXT, $quantity::INT, $width::INT, $length::INT, $height::DOUBLE PRECISION,$file_id::BIGINT , $json_data::JSON, false::BOOL)",
68
+ "update": "UPDATE products SET url = $url::TEXT, article_number = $article_number::TEXT, title = $title::TEXT, subtitle = $subtitle::text, description = $description::TEXT , net_price = $net_price::DOUBLE PRECISION, promotional_net_price = $promotional_net_price::DOUBLE PRECISION, vat = $vat::INT, color = $color::TEXT, quantity = $quantity::INT, width = $width::INT, length = $length::INT, height = $height::DOUBLE PRECISION, file_id = $file_id::BIGINT, json_data = $json_data::JSON WHERE id = $id::BIGINT",
69
+ "delete": "UPDATE products SET deleted = true WHERE id = $id::BIGINT",
70
+ "maxPrice": "SELECT MAX(net_price) FROM products",
71
+ "count": "SELECT COUNT(*) AS total_rows FROM products",
72
+ "selectNextId": "SELECT nextval('product_id'::regclass)"
73
+ },
74
+ "orders": {
75
+ "select": "SELECT * FROM orders.orders",
76
+ "insert": "INSERT INTO orders.orders( id, email, net_price, client_id, delivery_details_id, company_details_id, payment_details_id, invoice, vat ) VALUES ($order_id::BIGINT, $email::TEXT, $net_price::DOUBLE PRECISION, $client_id::BIGINT, $delivery_details_id::BIGINT , $company_details_id::BIGINT, $payment_details_id::BIGINT, $invoice::BOOL, $vat::BIGINT )",
77
+ "update": "UPDATE orders.orders SET net_price = $net_price::DOUBLE PRECISION, delivery_details_id = $delivery_details_id::BIGINT, company_details_id = $company_details_id::BIGINT, payment_details_id = $payment_details_id::BIGINT, zsi_id = $zsi_id::BIGINT, invoice = $invoice::BOOL, vat = $vat::BIGINT WHERE id = $id::BIGINT",
78
+ "count": "SELECT COUNT (*) AS TOTAL_ROWS FROM orders.orders",
79
+ "selectNextId": "SELECT nextval('orders.orders_id'::regclass)"
80
+ },
81
+ "ordersProducts": {
82
+ "selectAll": "SELECT op.id, order_id, product_id, title, sku, vat, p.file_id, op.net_price, op.installation_price FROM orders.orders_products as op JOIN products as p ON op.product_id = p.id",
83
+ "insert": "INSERT INTO orders.orders_products( id, order_id, product_id, net_price, installation_price ) VALUES ( $id::BIGINT , $order_id::BIGINT, $product_id::BIGINT, $net_price::DOUBLE PRECISION, $installation_price::DOUBLE PRECISION)",
84
+ "selectNextId": "SELECT nextval('orders.orders_products_id'::regclass)",
85
+ "delete": "UPDATE orders.orders_products SET in_order = false WHERE id = $id::BIGINT"
86
+ },
87
+ "statuses": {
88
+ "select": "SELECT * FROM orders.statuses",
89
+ "insert": "INSERT INTO orders.statuses( id, type, order_id, user_id ) VALUES ($id::BIGINT, $type::BIGINT, $order_id::BIGINT, $user_id::BIGINT)",
90
+ "selectNextId": "SELECT nextval('orders.statuses_id'::regclass)"
91
+ },
92
+ "paymentDetails": {
93
+ "select": "SELECT * FROM orders.payment_details",
94
+ "insert": "INSERT INTO orders.payment_details(id, payment_method_id, payment_order_id) VALUES ($id::BIGINT, $payment_method_id::BIGINT, $payment_order_id::TEXT)",
95
+ "update": "UPDATE orders.payment_details SET payment_method_id = $payment_method_id::BIGINT, payment_order_id = $payment_order_id::TEXT WHERE id = $id::BIGINT",
96
+ "selectNextId": "SELECT nextval('orders.payment_details_id'::regclass)"
97
+ },
98
+ "files": {
99
+ "select": "SELECT * FROM files.files",
100
+ "selectId": "SELECT id FROM files.files ",
101
+ "selectForConnection": "SELECT id, name, catalog, type, sequence, alt, title FROM files.files JOIN files.file_connections ON file_id = id",
102
+ "insert": "INSERT INTO files.files( id, name, orginal_name, catalog, size_kb, type, alt, title, created_at ) VALUES ( $id::BIGINT, $name::TEXT, $orginal_name::TEXT, $catalog::TEXT, $size_kb::BIGINT, $type::TEXT, $alt::TEXT, $title::TEXT, now() )",
103
+ "update": "UPDATE files.files SET name = $name::TEXT, orginal_name = $orginal_name::TEXT, catalog = $catalog::TEXT, size_kb = $size_kb::BIGINT, type = $type::TEXT, alt = $alt::TEXT, title = $title::TEXT WHERE id = $id::BIGINT ",
104
+ "count": "SELECT COUNT(*) AS total_rows FROM files.files",
105
+ "delete": "DELETE FROM files.files WHERE id = $id::BIGINT ",
106
+ "selectNextId": "SELECT nextval('files.files_id'::regclass)"
107
+ },
108
+ "fileConnections": {
109
+ "select": "SELECT * FROM files.file_connections ",
110
+ "insert": "INSERT INTO files.file_connections( file_id, connection_type, connection_id, sequence) VALUES ($file_id::BIGINT, $connection_type::TEXT, $connection_id::BIGINT, $sequence::BIGINT)",
111
+ "delete": "DELETE FROM files.file_connections"
112
+ },
113
+ "paymentMethods": {
114
+ "select": "SELECT * FROM settings.payment_methods",
115
+ "insert": "INSERT INTO settings.payment_methods(id, key, active) VALUES ( $id::BIGINT, $key::TEXT, $active::BOOL)",
116
+ "update": "UPDATE settings.payment_methods SET id = $id::BIGINT, key = $key::TEXT, active = $active::BOOL WHERE id = $id::BIGINT",
117
+ "selectNextId": "SELECT nextval('settings.payment_methods_id'::regclass)"
118
+ },
119
+ "deliveryMethods": {
120
+ "select": "SELECT * FROM settings.delivery_methods",
121
+ "insert": "INSERT INTO settings.delivery_methods(id, key, active) VALUES ( $id::BIGINT, $key::TEXT, $active::BOOL)",
122
+ "update": "UPDATE settings.delivery_methods SET id = $id::BIGINT, key = $key::TEXT, active = $active::BOOL WHERE id = $id::BIGINT",
123
+ "selectNextId": "SELECT nextval('settings.delivery_methods_id'::regclass)"
124
+ },
125
+ "paymentStatusTypes": {
126
+ "select": "SELECT * FROM orders.payment_status_types"
127
+ },
128
+ "deliveryStatusTypes": {
129
+ "select": "SELECT * FROM personal_information.delivery_status_types"
130
+ },
131
+ "deliveryStatuses": {
132
+ "select": "SELECT * FROM personal_information.delivery_statuses",
133
+ "insert": "INSERT INTO personal_information.delivery_statuses( id, delivery_details_id, delivery_status_type_id, user_id ) VALUES ($id::BIGINT, $delivery_details_id::BIGINT, $delivery_status_type_id::BIGINT, $user_id::BIGINT)",
134
+ "selectNextId": "SELECT nextval('personal_information.delivery_statuses_id'::regclass)"
135
+ },
136
+ "paymentStatuses": {
137
+ "select": "SELECT * FROM orders.payment_statuses",
138
+ "insert": "INSERT INTO orders.payment_statuses( id, payment_details_id, payment_status_type_id ) VALUES ($id::BIGINT, $payment_details_id::BIGINT, $payment_status_type_id::BIGINT)",
139
+ "selectNextId": "SELECT nextval('orders.payment_statuses_id'::regclass)"
140
+ },
141
+ "statusTypes": {
142
+ "select": "SELECT * FROM orders.status_types"
143
+ },
144
+ "companyData": {
145
+ "select": "SELECT * FROM settings.company_data",
146
+ "insert": "INSERT INTO settings.company_data(id, name, email, phone_number, registration_number, tax_number, swift_number, regon_number, bank_account_number, bank_name, address_id) VALUES ( $id::BIGINT, $name::TEXT, $email::TEXT, $phone_number::TEXT, $registartion_number::TEXT, $tax_number::TEXT, $swift_number::TEXT, $regon_number::TEXT, $bank_account_number::TEXT, $bank_name::TEXT, $address_id::BIGINT )",
147
+ "update": "UPDATE settings.company_data SET id = $id::BIGINT, name = $name::TEXT , email = LOWER($email::TEXT), phone_number = $phone_number::TEXT, registration_number = $registration_number::TEXT,tax_number = $tax_number::TEXT, regon_number = $regon_number::TEXT, bank_account_number = $bank_account_number::TEXT, bank_name = $bank_name::TEXT WHERE id = $id::BIGINT",
148
+ "selectNextId": "SELECT nextval('settings.company_data_id'::regclass)"
149
+ },
150
+ "marketPlaces": {
151
+ "select": "SELECT * FROM settings.market_places"
152
+ }
153
+ }
@@ -0,0 +1,3 @@
1
+ export default class CilentAccountExistWithThisEmail extends Error {
2
+ constructor(email: string);
3
+ }
@@ -0,0 +1,5 @@
1
+ export default class CilentAccountExistWithThisEmail extends Error {
2
+ constructor(email) {
3
+ super(`Client account with email: ${email} already exist!`);
4
+ }
5
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import Address from "../stockObjects/Address";
3
+ export default class AddressMapper implements StockObjectMapper {
4
+ private address;
5
+ private addressesTable;
6
+ constructor(address: Address);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,22 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ export default class AddressMapper {
3
+ address;
4
+ addressesTable;
5
+ constructor(address) {
6
+ this.addressesTable = DatabaseConnection.getInstance().addresses;
7
+ this.address = address;
8
+ }
9
+ async save() {
10
+ if (this.address.getId())
11
+ await this.addressesTable.update(this.address);
12
+ else
13
+ await this.addressesTable.insert(this.address);
14
+ }
15
+ async delete() {
16
+ const id = this.address.getId();
17
+ if (id)
18
+ await this.addressesTable.delete(id);
19
+ else
20
+ throw Error('Uncreated personalData cannot be deleted');
21
+ }
22
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from '@dascompany/database';
2
+ import Admin from '../stockObjects/Admin';
3
+ export default class AdminMapper implements StockObjectMapper {
4
+ private admin;
5
+ private adminAccountsTable;
6
+ constructor(admin: Admin);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,24 @@
1
+ import DatabaseConnection from '../DatabaseConnection';
2
+ export default class AdminMapper {
3
+ admin;
4
+ adminAccountsTable;
5
+ constructor(admin) {
6
+ this.adminAccountsTable = DatabaseConnection.getInstance().adminAccounts;
7
+ this.admin = admin;
8
+ }
9
+ async save() {
10
+ if (!this.admin.getDeleted()) {
11
+ if (this.admin.getId())
12
+ await this.adminAccountsTable.update(this.admin);
13
+ else
14
+ await this.adminAccountsTable.insert(this.admin);
15
+ }
16
+ else
17
+ throw new Error(`Admin account ${this.admin.getId()} is deleted. Restore before updating.`);
18
+ }
19
+ async delete() {
20
+ const id = this.admin.getId();
21
+ if (id)
22
+ await this.adminAccountsTable.delete(id);
23
+ }
24
+ }
@@ -0,0 +1,9 @@
1
+ import Client from "../stockObjects/Client";
2
+ import { StockObjectMapper } from "@dascompany/database";
3
+ export default class ClientMapper implements StockObjectMapper {
4
+ private client;
5
+ private clientAccountsTable;
6
+ constructor(client: Client);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,24 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ export default class ClientMapper {
3
+ client;
4
+ clientAccountsTable;
5
+ constructor(client) {
6
+ this.clientAccountsTable = DatabaseConnection.getInstance().clientAccounts;
7
+ this.client = client;
8
+ }
9
+ async save() {
10
+ if (!this.client.getDeleted()) {
11
+ if (this.client.getId())
12
+ await this.clientAccountsTable.update(this.client);
13
+ else
14
+ await this.clientAccountsTable.insert(this.client);
15
+ }
16
+ else
17
+ throw new Error(`Client account ${this.client.getId()} is deleted. Restore before updating.`);
18
+ }
19
+ async delete() {
20
+ const id = this.client.getId();
21
+ if (id)
22
+ await this.clientAccountsTable.delete(id);
23
+ }
24
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import CompanyData from "../stockObjects/CompanyData";
3
+ export default class CompanyDataMapper implements StockObjectMapper {
4
+ private companyData;
5
+ private companyDataTable;
6
+ constructor(companyData: CompanyData);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ export default class CompanyDataMapper {
3
+ companyData;
4
+ companyDataTable;
5
+ constructor(companyData) {
6
+ this.companyDataTable = DatabaseConnection.getInstance().companyData;
7
+ this.companyData = companyData;
8
+ }
9
+ async save() {
10
+ if (this.companyData.getId())
11
+ await this.companyDataTable.update(this.companyData);
12
+ else
13
+ await this.companyDataTable.insert(this.companyData);
14
+ }
15
+ async delete() {
16
+ }
17
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import CompanyDetails from "../stockObjects/CompanyDetails";
3
+ export default class CompanyDetailsMapper implements StockObjectMapper {
4
+ private companyDetails;
5
+ private companyDetailsTable;
6
+ constructor(companyDetails: CompanyDetails);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,27 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import AddressesRepo from "../repo/AddressesRepo";
3
+ import createQueryOptionsForId from "../utils/createQueryOptionsForId";
4
+ export default class CompanyDetailsMapper {
5
+ companyDetails;
6
+ companyDetailsTable;
7
+ constructor(companyDetails) {
8
+ this.companyDetailsTable = DatabaseConnection.getInstance().companyDetails;
9
+ this.companyDetails = companyDetails;
10
+ }
11
+ async save() {
12
+ if (this.companyDetails.getId())
13
+ await this.companyDetailsTable.update(this.companyDetails);
14
+ else
15
+ await this.companyDetailsTable.insert(this.companyDetails);
16
+ }
17
+ async delete() {
18
+ const id = this.companyDetails.getId();
19
+ if (id) {
20
+ const address = await AddressesRepo.get(createQueryOptionsForId(this.companyDetails.getAddressId()));
21
+ address.delete();
22
+ await this.companyDetailsTable.delete(id);
23
+ }
24
+ else
25
+ throw Error('Uncreated companyDetails cannot be deleted');
26
+ }
27
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import DeliveryDetails from "../stockObjects/DeliveryDetails";
3
+ export default class DeliveryDetailsMapper implements StockObjectMapper {
4
+ private deliveryDetails;
5
+ private deliveryDetailsTable;
6
+ constructor(deliveryDetails: DeliveryDetails);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,30 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import PersonalDataRepo from "../repo/PersonalDataRepo";
3
+ import AddressesRepo from "../repo/AddressesRepo";
4
+ import createQueryOptionsForId from "../utils/createQueryOptionsForId";
5
+ export default class DeliveryDetailsMapper {
6
+ deliveryDetails;
7
+ deliveryDetailsTable;
8
+ constructor(deliveryDetails) {
9
+ this.deliveryDetailsTable = DatabaseConnection.getInstance().deliveryDetails;
10
+ this.deliveryDetails = deliveryDetails;
11
+ }
12
+ async save() {
13
+ if (this.deliveryDetails.getId())
14
+ await this.deliveryDetailsTable.update(this.deliveryDetails);
15
+ else
16
+ await this.deliveryDetailsTable.insert(this.deliveryDetails);
17
+ }
18
+ async delete() {
19
+ const id = this.deliveryDetails.getId();
20
+ if (id) {
21
+ const personalData = await PersonalDataRepo.get(createQueryOptionsForId(this.deliveryDetails.getPersonalDataId()));
22
+ personalData.delete();
23
+ const address = await AddressesRepo.get(createQueryOptionsForId(this.deliveryDetails.getAddressId()));
24
+ address.delete();
25
+ await this.deliveryDetailsTable.delete(id);
26
+ }
27
+ else
28
+ throw Error('Uncreated companyDetails cannot be deleted');
29
+ }
30
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import DeliveryMethods from "../stockObjects/DeliveryMethods";
3
+ export default class DeliveryMethodsMapper implements StockObjectMapper {
4
+ private deliveryMethods;
5
+ private deliveryMethodsTable;
6
+ constructor(deliveryMethods: DeliveryMethods);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ export default class DeliveryMethodsMapper {
3
+ deliveryMethods;
4
+ deliveryMethodsTable;
5
+ constructor(deliveryMethods) {
6
+ this.deliveryMethodsTable = DatabaseConnection.getInstance().deliveryMethods;
7
+ this.deliveryMethods = deliveryMethods;
8
+ }
9
+ async save() {
10
+ if (this.deliveryMethods.getId())
11
+ await this.deliveryMethodsTable.update(this.deliveryMethods);
12
+ else
13
+ await this.deliveryMethodsTable.insert(this.deliveryMethods);
14
+ }
15
+ async delete() {
16
+ }
17
+ }