@dascompany/product 1.0.0

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 (307) hide show
  1. package/README.md +0 -0
  2. package/dist/ProductConnectionFactory.d.ts +6 -0
  3. package/dist/ProductConnectionFactory.js +11 -0
  4. package/dist/ProductServiceConnection.d.ts +9 -0
  5. package/dist/ProductServiceConnection.js +16 -0
  6. package/dist/ProductsSchema.d.ts +52 -0
  7. package/dist/ProductsSchema.js +146 -0
  8. package/dist/SQL.json +162 -0
  9. package/dist/index.d.ts +77 -0
  10. package/dist/index.js +63 -0
  11. package/dist/mappers/AddressMapper.d.ts +9 -0
  12. package/dist/mappers/AddressMapper.js +17 -0
  13. package/dist/mappers/AdminMapper.d.ts +9 -0
  14. package/dist/mappers/AdminMapper.js +24 -0
  15. package/dist/mappers/ClientMapper.d.ts +9 -0
  16. package/dist/mappers/ClientMapper.js +24 -0
  17. package/dist/mappers/CompanyDataMapper.d.ts +9 -0
  18. package/dist/mappers/CompanyDataMapper.js +17 -0
  19. package/dist/mappers/CompanyDetailsMapper.d.ts +9 -0
  20. package/dist/mappers/CompanyDetailsMapper.js +22 -0
  21. package/dist/mappers/ContactDetailsMapper.d.ts +9 -0
  22. package/dist/mappers/ContactDetailsMapper.js +18 -0
  23. package/dist/mappers/DeliveryDetailsMapper.d.ts +9 -0
  24. package/dist/mappers/DeliveryDetailsMapper.js +17 -0
  25. package/dist/mappers/DeliveryMethodsMapper.d.ts +9 -0
  26. package/dist/mappers/DeliveryMethodsMapper.js +17 -0
  27. package/dist/mappers/DeliveryStatusMapper.d.ts +9 -0
  28. package/dist/mappers/DeliveryStatusMapper.js +15 -0
  29. package/dist/mappers/FileConnectionMapper.d.ts +9 -0
  30. package/dist/mappers/FileConnectionMapper.js +17 -0
  31. package/dist/mappers/FileMapper.d.ts +9 -0
  32. package/dist/mappers/FileMapper.js +17 -0
  33. package/dist/mappers/InvoiceDetailsMapper.d.ts +9 -0
  34. package/dist/mappers/InvoiceDetailsMapper.js +17 -0
  35. package/dist/mappers/OrderMapper.d.ts +9 -0
  36. package/dist/mappers/OrderMapper.js +19 -0
  37. package/dist/mappers/OrderProductMapper.d.ts +9 -0
  38. package/dist/mappers/OrderProductMapper.js +15 -0
  39. package/dist/mappers/PaymentDetailsMapper.d.ts +9 -0
  40. package/dist/mappers/PaymentDetailsMapper.js +17 -0
  41. package/dist/mappers/PaymentMethodsMapper.d.ts +9 -0
  42. package/dist/mappers/PaymentMethodsMapper.js +17 -0
  43. package/dist/mappers/PaymentStatusMapper.d.ts +9 -0
  44. package/dist/mappers/PaymentStatusMapper.js +15 -0
  45. package/dist/mappers/PersonalDataMapper.d.ts +9 -0
  46. package/dist/mappers/PersonalDataMapper.js +17 -0
  47. package/dist/mappers/ProductMapper.d.ts +9 -0
  48. package/dist/mappers/ProductMapper.js +20 -0
  49. package/dist/mappers/StatusMapper.d.ts +9 -0
  50. package/dist/mappers/StatusMapper.js +15 -0
  51. package/dist/reader/AddressesReader.d.ts +6 -0
  52. package/dist/reader/AddressesReader.js +24 -0
  53. package/dist/reader/AdminReader.d.ts +12 -0
  54. package/dist/reader/AdminReader.js +40 -0
  55. package/dist/reader/ClientAccountReader.d.ts +13 -0
  56. package/dist/reader/ClientAccountReader.js +47 -0
  57. package/dist/reader/CompanyDataReader.d.ts +4 -0
  58. package/dist/reader/CompanyDataReader.js +27 -0
  59. package/dist/reader/CompanyDetailsReader.d.ts +4 -0
  60. package/dist/reader/CompanyDetailsReader.js +15 -0
  61. package/dist/reader/ContactDetailsReader.d.ts +4 -0
  62. package/dist/reader/ContactDetailsReader.js +16 -0
  63. package/dist/reader/DeliveryDetailsReader.d.ts +4 -0
  64. package/dist/reader/DeliveryDetailsReader.js +26 -0
  65. package/dist/reader/DeliveryMethodReader.d.ts +6 -0
  66. package/dist/reader/DeliveryMethodReader.js +18 -0
  67. package/dist/reader/DeliveryStatusReader.d.ts +5 -0
  68. package/dist/reader/DeliveryStatusReader.js +31 -0
  69. package/dist/reader/FileConnectionsReader.d.ts +6 -0
  70. package/dist/reader/FileConnectionsReader.js +25 -0
  71. package/dist/reader/FilesReader.d.ts +12 -0
  72. package/dist/reader/FilesReader.js +46 -0
  73. package/dist/reader/InvoiceDetailsReader.d.ts +4 -0
  74. package/dist/reader/InvoiceDetailsReader.js +21 -0
  75. package/dist/reader/OrderProductsReader.d.ts +7 -0
  76. package/dist/reader/OrderProductsReader.js +51 -0
  77. package/dist/reader/OrderReader.d.ts +12 -0
  78. package/dist/reader/OrderReader.js +53 -0
  79. package/dist/reader/OrderStatusReader.d.ts +6 -0
  80. package/dist/reader/OrderStatusReader.js +29 -0
  81. package/dist/reader/PersonalDataReader.d.ts +5 -0
  82. package/dist/reader/PersonalDataReader.js +27 -0
  83. package/dist/reader/ProductReader.d.ts +11 -0
  84. package/dist/reader/ProductReader.js +62 -0
  85. package/dist/reader/StatusTypesReader.d.ts +3 -0
  86. package/dist/reader/StatusTypesReader.js +8 -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 +6 -0
  90. package/dist/reader/payment/PaymentMethodReader.js +18 -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/AdminRepo.d.ts +12 -0
  96. package/dist/repo/AdminRepo.js +32 -0
  97. package/dist/repo/ClientAccountRepo.d.ts +7 -0
  98. package/dist/repo/ClientAccountRepo.js +24 -0
  99. package/dist/repo/CompanyDataRepo.d.ts +4 -0
  100. package/dist/repo/CompanyDataRepo.js +11 -0
  101. package/dist/repo/CompanyDetailsRepo.d.ts +5 -0
  102. package/dist/repo/CompanyDetailsRepo.js +14 -0
  103. package/dist/repo/ContactDetailsRepo.d.ts +6 -0
  104. package/dist/repo/ContactDetailsRepo.js +19 -0
  105. package/dist/repo/DeliveryDetailsRepo.d.ts +5 -0
  106. package/dist/repo/DeliveryDetailsRepo.js +14 -0
  107. package/dist/repo/DeliveryMethodRepo.d.ts +4 -0
  108. package/dist/repo/DeliveryMethodRepo.js +11 -0
  109. package/dist/repo/FileConnectionsRepo.d.ts +7 -0
  110. package/dist/repo/FileConnectionsRepo.js +25 -0
  111. package/dist/repo/FilesRepo.d.ts +7 -0
  112. package/dist/repo/FilesRepo.js +26 -0
  113. package/dist/repo/InvoiceDetailsRepo.d.ts +5 -0
  114. package/dist/repo/InvoiceDetailsRepo.js +14 -0
  115. package/dist/repo/OrderProductsRepo.d.ts +7 -0
  116. package/dist/repo/OrderProductsRepo.js +36 -0
  117. package/dist/repo/OrderRepo.d.ts +5 -0
  118. package/dist/repo/OrderRepo.js +14 -0
  119. package/dist/repo/OrderStatusRepo.d.ts +7 -0
  120. package/dist/repo/OrderStatusRepo.js +27 -0
  121. package/dist/repo/PaymentDetailsRepo.d.ts +5 -0
  122. package/dist/repo/PaymentDetailsRepo.js +14 -0
  123. package/dist/repo/PaymentMethodRepo.d.ts +4 -0
  124. package/dist/repo/PaymentMethodRepo.js +11 -0
  125. package/dist/repo/PersonalDataRepo.d.ts +5 -0
  126. package/dist/repo/PersonalDataRepo.js +16 -0
  127. package/dist/repo/ProductRepo.d.ts +6 -0
  128. package/dist/repo/ProductRepo.js +20 -0
  129. package/dist/stockObjects/Address.d.ts +32 -0
  130. package/dist/stockObjects/Address.js +69 -0
  131. package/dist/stockObjects/Admin.d.ts +24 -0
  132. package/dist/stockObjects/Admin.js +57 -0
  133. package/dist/stockObjects/Client.d.ts +23 -0
  134. package/dist/stockObjects/Client.js +57 -0
  135. package/dist/stockObjects/CompanyData.d.ts +20 -0
  136. package/dist/stockObjects/CompanyData.js +51 -0
  137. package/dist/stockObjects/CompanyDetails.d.ts +13 -0
  138. package/dist/stockObjects/CompanyDetails.js +34 -0
  139. package/dist/stockObjects/ContactDetails.d.ts +11 -0
  140. package/dist/stockObjects/ContactDetails.js +26 -0
  141. package/dist/stockObjects/DeliveryDetails.d.ts +15 -0
  142. package/dist/stockObjects/DeliveryDetails.js +37 -0
  143. package/dist/stockObjects/DeliveryMethods.d.ts +11 -0
  144. package/dist/stockObjects/DeliveryMethods.js +26 -0
  145. package/dist/stockObjects/DeliveryStatus.d.ts +17 -0
  146. package/dist/stockObjects/DeliveryStatus.js +42 -0
  147. package/dist/stockObjects/File.d.ts +20 -0
  148. package/dist/stockObjects/File.js +50 -0
  149. package/dist/stockObjects/FileConnection.d.ts +17 -0
  150. package/dist/stockObjects/FileConnection.js +42 -0
  151. package/dist/stockObjects/InvoiceDetails.d.ts +11 -0
  152. package/dist/stockObjects/InvoiceDetails.js +26 -0
  153. package/dist/stockObjects/Order.d.ts +40 -0
  154. package/dist/stockObjects/Order.js +102 -0
  155. package/dist/stockObjects/OrderProduct.d.ts +14 -0
  156. package/dist/stockObjects/OrderProduct.js +33 -0
  157. package/dist/stockObjects/PaymentDetails.d.ts +11 -0
  158. package/dist/stockObjects/PaymentDetails.js +26 -0
  159. package/dist/stockObjects/PaymentMethods.d.ts +11 -0
  160. package/dist/stockObjects/PaymentMethods.js +26 -0
  161. package/dist/stockObjects/PaymentStatus.d.ts +12 -0
  162. package/dist/stockObjects/PaymentStatus.js +26 -0
  163. package/dist/stockObjects/PersonalData.d.ts +34 -0
  164. package/dist/stockObjects/PersonalData.js +81 -0
  165. package/dist/stockObjects/Product.d.ts +69 -0
  166. package/dist/stockObjects/Product.js +163 -0
  167. package/dist/stockObjects/Status.d.ts +22 -0
  168. package/dist/stockObjects/Status.js +50 -0
  169. package/dist/tables/SchemaNames.d.ts +4 -0
  170. package/dist/tables/SchemaNames.js +5 -0
  171. package/dist/tables/TableNames.d.ts +26 -0
  172. package/dist/tables/TableNames.js +27 -0
  173. package/dist/tables/clients/ClientAccountsTable.d.ts +16 -0
  174. package/dist/tables/clients/ClientAccountsTable.js +74 -0
  175. package/dist/tables/files/FileConnectionsTable.d.ts +12 -0
  176. package/dist/tables/files/FileConnectionsTable.js +41 -0
  177. package/dist/tables/files/FilesTable.d.ts +16 -0
  178. package/dist/tables/files/FilesTable.js +65 -0
  179. package/dist/tables/orders/OrdersProductsTable.d.ts +11 -0
  180. package/dist/tables/orders/OrdersProductsTable.js +42 -0
  181. package/dist/tables/orders/OrdersTable.d.ts +14 -0
  182. package/dist/tables/orders/OrdersTable.js +60 -0
  183. package/dist/tables/orders/PaymentDetailsTable.d.ts +10 -0
  184. package/dist/tables/orders/PaymentDetailsTable.js +34 -0
  185. package/dist/tables/orders/PaymentStatusTypesTable.d.ts +7 -0
  186. package/dist/tables/orders/PaymentStatusTypesTable.js +10 -0
  187. package/dist/tables/orders/PaymentStatusesTable.d.ts +9 -0
  188. package/dist/tables/orders/PaymentStatusesTable.js +30 -0
  189. package/dist/tables/orders/StatusTypesTable.d.ts +4 -0
  190. package/dist/tables/orders/StatusTypesTable.js +9 -0
  191. package/dist/tables/orders/StatusesTable.d.ts +10 -0
  192. package/dist/tables/orders/StatusesTable.js +34 -0
  193. package/dist/tables/personalInformation/AddressesTable.d.ts +10 -0
  194. package/dist/tables/personalInformation/AddressesTable.js +37 -0
  195. package/dist/tables/personalInformation/CompanyDetailsTable.d.ts +11 -0
  196. package/dist/tables/personalInformation/CompanyDetailsTable.js +38 -0
  197. package/dist/tables/personalInformation/ContactDetailsTable.d.ts +10 -0
  198. package/dist/tables/personalInformation/ContactDetailsTable.js +34 -0
  199. package/dist/tables/personalInformation/DeliveryDetailsTable.d.ts +10 -0
  200. package/dist/tables/personalInformation/DeliveryDetailsTable.js +35 -0
  201. package/dist/tables/personalInformation/DeliveryStatusTypesTable.d.ts +7 -0
  202. package/dist/tables/personalInformation/DeliveryStatusTypesTable.js +10 -0
  203. package/dist/tables/personalInformation/DeliveryStatusesTable.d.ts +9 -0
  204. package/dist/tables/personalInformation/DeliveryStatusesTable.js +31 -0
  205. package/dist/tables/personalInformation/InvoiceDetailsTable.d.ts +10 -0
  206. package/dist/tables/personalInformation/InvoiceDetailsTable.js +34 -0
  207. package/dist/tables/personalInformation/PersonalDataTable.d.ts +10 -0
  208. package/dist/tables/personalInformation/PersonalDataTable.js +37 -0
  209. package/dist/tables/public/AdminAccountsTable.d.ts +14 -0
  210. package/dist/tables/public/AdminAccountsTable.js +64 -0
  211. package/dist/tables/public/ProductsTable.d.ts +17 -0
  212. package/dist/tables/public/ProductsTable.js +89 -0
  213. package/dist/tables/settings/CompanyDataTable.d.ts +10 -0
  214. package/dist/tables/settings/CompanyDataTable.js +37 -0
  215. package/dist/tables/settings/DeliveryMethodsTable.d.ts +12 -0
  216. package/dist/tables/settings/DeliveryMethodsTable.js +43 -0
  217. package/dist/tables/settings/PaymentMethodsTable.d.ts +12 -0
  218. package/dist/tables/settings/PaymentMethodsTable.js +43 -0
  219. package/dist/types/AddressI.d.ts +9 -0
  220. package/dist/types/AddressI.js +1 -0
  221. package/dist/types/AdminI.d.ts +9 -0
  222. package/dist/types/AdminI.js +1 -0
  223. package/dist/types/ClaimI.d.ts +4 -0
  224. package/dist/types/ClaimI.js +1 -0
  225. package/dist/types/ClientAccountI.d.ts +10 -0
  226. package/dist/types/ClientAccountI.js +1 -0
  227. package/dist/types/CompanyDataI.d.ts +8 -0
  228. package/dist/types/CompanyDataI.js +1 -0
  229. package/dist/types/CompanyDetailsI.d.ts +5 -0
  230. package/dist/types/CompanyDetailsI.js +1 -0
  231. package/dist/types/ContactDetailsI.d.ts +7 -0
  232. package/dist/types/ContactDetailsI.js +1 -0
  233. package/dist/types/DeliveryDetailsI.d.ts +9 -0
  234. package/dist/types/DeliveryDetailsI.js +1 -0
  235. package/dist/types/DeliveryMethodI.d.ts +5 -0
  236. package/dist/types/DeliveryMethodI.js +1 -0
  237. package/dist/types/FileConnectionI.d.ts +6 -0
  238. package/dist/types/FileConnectionI.js +1 -0
  239. package/dist/types/FileConnectionTypeE.d.ts +4 -0
  240. package/dist/types/FileConnectionTypeE.js +5 -0
  241. package/dist/types/FileI.d.ts +6 -0
  242. package/dist/types/FileI.js +1 -0
  243. package/dist/types/InvoiceDetailsI.d.ts +7 -0
  244. package/dist/types/InvoiceDetailsI.js +1 -0
  245. package/dist/types/OrderI.d.ts +12 -0
  246. package/dist/types/OrderI.js +1 -0
  247. package/dist/types/OrderProductI.d.ts +14 -0
  248. package/dist/types/OrderProductI.js +1 -0
  249. package/dist/types/PaymentDetailsI.d.ts +6 -0
  250. package/dist/types/PaymentDetailsI.js +1 -0
  251. package/dist/types/PaymentMethodE.d.ts +5 -0
  252. package/dist/types/PaymentMethodE.js +6 -0
  253. package/dist/types/PaymentMethodI.d.ts +5 -0
  254. package/dist/types/PaymentMethodI.js +1 -0
  255. package/dist/types/PaymentStatusE.d.ts +6 -0
  256. package/dist/types/PaymentStatusE.js +7 -0
  257. package/dist/types/PersonalDataI.d.ts +10 -0
  258. package/dist/types/PersonalDataI.js +1 -0
  259. package/dist/types/ProductI.d.ts +20 -0
  260. package/dist/types/ProductI.js +1 -0
  261. package/dist/types/StatusI.d.ts +7 -0
  262. package/dist/types/StatusI.js +1 -0
  263. package/dist/types/rows/AddressRow.d.ts +9 -0
  264. package/dist/types/rows/AddressRow.js +1 -0
  265. package/dist/types/rows/AdminRow.d.ts +9 -0
  266. package/dist/types/rows/AdminRow.js +1 -0
  267. package/dist/types/rows/ClientAccountRow.d.ts +10 -0
  268. package/dist/types/rows/ClientAccountRow.js +1 -0
  269. package/dist/types/rows/CompanyDataRow.d.ts +8 -0
  270. package/dist/types/rows/CompanyDataRow.js +1 -0
  271. package/dist/types/rows/CompanyDetailsRow.d.ts +5 -0
  272. package/dist/types/rows/CompanyDetailsRow.js +1 -0
  273. package/dist/types/rows/ContactDetailsRow.d.ts +5 -0
  274. package/dist/types/rows/ContactDetailsRow.js +1 -0
  275. package/dist/types/rows/DeliveryDetailsRow.d.ts +6 -0
  276. package/dist/types/rows/DeliveryDetailsRow.js +1 -0
  277. package/dist/types/rows/DeliveryMethodRow.d.ts +5 -0
  278. package/dist/types/rows/DeliveryMethodRow.js +1 -0
  279. package/dist/types/rows/DeliveryStatusRow.d.ts +7 -0
  280. package/dist/types/rows/DeliveryStatusRow.js +1 -0
  281. package/dist/types/rows/FileConnectionRow.d.ts +6 -0
  282. package/dist/types/rows/FileConnectionRow.js +1 -0
  283. package/dist/types/rows/FileRow.d.ts +9 -0
  284. package/dist/types/rows/FileRow.js +1 -0
  285. package/dist/types/rows/InvoiceDetailsRow.d.ts +5 -0
  286. package/dist/types/rows/InvoiceDetailsRow.js +1 -0
  287. package/dist/types/rows/OrderProductRow.d.ts +10 -0
  288. package/dist/types/rows/OrderProductRow.js +1 -0
  289. package/dist/types/rows/OrderRow.d.ts +15 -0
  290. package/dist/types/rows/OrderRow.js +1 -0
  291. package/dist/types/rows/PaymentDetailsRow.d.ts +6 -0
  292. package/dist/types/rows/PaymentDetailsRow.js +1 -0
  293. package/dist/types/rows/PaymentMethodRow.d.ts +5 -0
  294. package/dist/types/rows/PaymentMethodRow.js +1 -0
  295. package/dist/types/rows/PaymentStatusRow.d.ts +6 -0
  296. package/dist/types/rows/PaymentStatusRow.js +1 -0
  297. package/dist/types/rows/PersonalDataRow.d.ts +8 -0
  298. package/dist/types/rows/PersonalDataRow.js +1 -0
  299. package/dist/types/rows/ProductRow.d.ts +17 -0
  300. package/dist/types/rows/ProductRow.js +1 -0
  301. package/dist/types/rows/StatusRow.d.ts +8 -0
  302. package/dist/types/rows/StatusRow.js +1 -0
  303. package/dist/utils/calculateNetToGrossPrice.d.ts +1 -0
  304. package/dist/utils/calculateNetToGrossPrice.js +7 -0
  305. package/dist/utils/correctPhoneNumber.d.ts +1 -0
  306. package/dist/utils/correctPhoneNumber.js +14 -0
  307. package/package.json +27 -0
@@ -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 ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class ClientMapper {
3
+ client;
4
+ clientAccountsTable;
5
+ constructor(client) {
6
+ this.clientAccountsTable = ProductConnectionFactory.get().productsSchema.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 ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class CompanyDataMapper {
3
+ companyData;
4
+ companyDataTable;
5
+ constructor(companyData) {
6
+ this.companyDataTable = ProductConnectionFactory.get().productsSchema.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,22 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class CompanyDetailsMapper {
3
+ companyDetails;
4
+ companyDetailsTable;
5
+ constructor(companyDetails) {
6
+ this.companyDetailsTable = ProductConnectionFactory.get().productsSchema.companyDetails;
7
+ this.companyDetails = companyDetails;
8
+ }
9
+ async save() {
10
+ if (this.companyDetails.getId())
11
+ await this.companyDetailsTable.update(this.companyDetails);
12
+ else
13
+ await this.companyDetailsTable.insert(this.companyDetails);
14
+ }
15
+ async delete() {
16
+ const id = this.companyDetails.getId();
17
+ if (id)
18
+ await this.companyDetailsTable.delete(id);
19
+ else
20
+ throw Error('Uncreated companyDetails cannot be deleted');
21
+ }
22
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import ContactDetails from "../stockObjects/ContactDetails";
3
+ export default class ContactDetailsMapper implements StockObjectMapper {
4
+ private contactDetails;
5
+ private contactDetailsTable;
6
+ constructor(contactDetails: ContactDetails);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,18 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class ContactDetailsMapper {
3
+ contactDetails;
4
+ contactDetailsTable;
5
+ constructor(contactDetails) {
6
+ this.contactDetailsTable = ProductConnectionFactory.get().productsSchema.contactDetails;
7
+ this.contactDetails = contactDetails;
8
+ }
9
+ async save() {
10
+ if (this.contactDetails.getId())
11
+ await this.contactDetailsTable.update(this.contactDetails);
12
+ else
13
+ await this.contactDetailsTable.insert(this.contactDetails);
14
+ }
15
+ async delete() {
16
+ throw Error('Method not impemented');
17
+ }
18
+ }
@@ -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,17 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class DeliveryDetailsMapper {
3
+ deliveryDetails;
4
+ deliveryDetailsTable;
5
+ constructor(deliveryDetails) {
6
+ this.deliveryDetailsTable = ProductConnectionFactory.get().productsSchema.deliveryDetails;
7
+ this.deliveryDetails = deliveryDetails;
8
+ }
9
+ async save() {
10
+ if (this.deliveryDetails.getId())
11
+ await this.deliveryDetailsTable.update(this.deliveryDetails);
12
+ else
13
+ await this.deliveryDetailsTable.insert(this.deliveryDetails);
14
+ }
15
+ async delete() {
16
+ }
17
+ }
@@ -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 ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class DeliveryMethodsMapper {
3
+ deliveryMethods;
4
+ deliveryMethodsTable;
5
+ constructor(deliveryMethods) {
6
+ this.deliveryMethodsTable = ProductConnectionFactory.get().productsSchema.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
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import DeliveryStatus from "../stockObjects/DeliveryStatus";
3
+ export default class DeliveryStatusMapper implements StockObjectMapper {
4
+ private deliveryStatus;
5
+ private deliveryStatusesTable;
6
+ constructor(deliveryStatus: DeliveryStatus);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,15 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class DeliveryStatusMapper {
3
+ deliveryStatus;
4
+ deliveryStatusesTable;
5
+ constructor(deliveryStatus) {
6
+ this.deliveryStatusesTable = ProductConnectionFactory.get().productsSchema.deliveryStatuses;
7
+ this.deliveryStatus = deliveryStatus;
8
+ }
9
+ async save() {
10
+ await this.deliveryStatusesTable.insert(this.deliveryStatus);
11
+ }
12
+ async delete() {
13
+ throw Error('Method not implemented');
14
+ }
15
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from '@dascompany/database';
2
+ import FileConnection from '../stockObjects/FileConnection';
3
+ export default class FileConnectionMapper implements StockObjectMapper {
4
+ private fileConnection;
5
+ private fileConnectionsTable;
6
+ constructor(fileConnection: FileConnection);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import ProductConnectionFactory from '../ProductConnectionFactory';
2
+ export default class FileConnectionMapper {
3
+ fileConnection;
4
+ fileConnectionsTable;
5
+ constructor(fileConnection) {
6
+ this.fileConnectionsTable = ProductConnectionFactory.get().productsSchema.fileConnections;
7
+ this.fileConnection = fileConnection;
8
+ }
9
+ async save() {
10
+ const id = this.fileConnection.getId();
11
+ if (id)
12
+ await this.fileConnectionsTable.delete(id);
13
+ await this.fileConnectionsTable.insert(this.fileConnection);
14
+ }
15
+ async delete() {
16
+ }
17
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import File from "../stockObjects/File";
3
+ export default class FileMapper implements StockObjectMapper {
4
+ private file;
5
+ private filesTable;
6
+ constructor(file: File);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class FileMapper {
3
+ file;
4
+ filesTable;
5
+ constructor(file) {
6
+ this.filesTable = ProductConnectionFactory.get().productsSchema.files;
7
+ this.file = file;
8
+ }
9
+ async save() {
10
+ if (this.file.getId())
11
+ await this.filesTable.update(this.file);
12
+ else
13
+ await this.filesTable.insert(this.file);
14
+ }
15
+ async delete() {
16
+ }
17
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from '@dascompany/database';
2
+ import InvoiceDetails from '../stockObjects/InvoiceDetails';
3
+ export default class InvoiceDetailsMapper implements StockObjectMapper {
4
+ private invoiceDetails;
5
+ private invoiceDetailsTable;
6
+ constructor(invoiceDetails: InvoiceDetails);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import ProductConnectionFactory from '../ProductConnectionFactory';
2
+ export default class InvoiceDetailsMapper {
3
+ invoiceDetails;
4
+ invoiceDetailsTable;
5
+ constructor(invoiceDetails) {
6
+ this.invoiceDetailsTable = ProductConnectionFactory.get().productsSchema.invoiceDetails;
7
+ this.invoiceDetails = invoiceDetails;
8
+ }
9
+ async save() {
10
+ if (this.invoiceDetails.getId())
11
+ await this.invoiceDetailsTable.update(this.invoiceDetails);
12
+ else
13
+ await this.invoiceDetailsTable.insert(this.invoiceDetails);
14
+ }
15
+ async delete() {
16
+ }
17
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import Order from "../stockObjects/Order";
3
+ export default class OrderMapper implements StockObjectMapper {
4
+ private order;
5
+ private orderTable;
6
+ constructor(order: Order);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,19 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class OrderMapper {
3
+ order;
4
+ orderTable;
5
+ constructor(order) {
6
+ this.orderTable = ProductConnectionFactory.get().productsSchema.orders;
7
+ this.order = order;
8
+ }
9
+ async save() {
10
+ const orderId = this.order.getId();
11
+ if (orderId)
12
+ await this.orderTable.update(this.order);
13
+ else
14
+ await this.orderTable.insert(this.order);
15
+ }
16
+ async delete() {
17
+ throw Error('method not implemented');
18
+ }
19
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import OrderProduct from "../stockObjects/OrderProduct";
3
+ export default class OrderProductMapper implements StockObjectMapper {
4
+ private orderProduct;
5
+ private orderProductsTable;
6
+ constructor(orderProduct: OrderProduct);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,15 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class OrderProductMapper {
3
+ orderProduct;
4
+ orderProductsTable;
5
+ constructor(orderProduct) {
6
+ this.orderProductsTable = ProductConnectionFactory.get().productsSchema.ordersProducts;
7
+ this.orderProduct = orderProduct;
8
+ }
9
+ async save() {
10
+ await this.orderProductsTable.insert(this.orderProduct);
11
+ }
12
+ async delete() {
13
+ throw Error('NOT IMPLEMENTED');
14
+ }
15
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import PaymentDetails from "../stockObjects/PaymentDetails";
3
+ export default class PaymentDetailsMapper implements StockObjectMapper {
4
+ private paymentDetails;
5
+ private paymentDetailsTable;
6
+ constructor(paymentDetails: PaymentDetails);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class PaymentDetailsMapper {
3
+ paymentDetails;
4
+ paymentDetailsTable;
5
+ constructor(paymentDetails) {
6
+ this.paymentDetailsTable = ProductConnectionFactory.get().productsSchema.paymentDetails;
7
+ this.paymentDetails = paymentDetails;
8
+ }
9
+ async save() {
10
+ if (this.paymentDetails.getId())
11
+ await this.paymentDetailsTable.update(this.paymentDetails);
12
+ else
13
+ await this.paymentDetailsTable.insert(this.paymentDetails);
14
+ }
15
+ async delete() {
16
+ }
17
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import PaymentMethods from "../stockObjects/PaymentMethods";
3
+ export default class PaymentMethodsMapper implements StockObjectMapper {
4
+ private paymentMethods;
5
+ private paymentMethodsTable;
6
+ constructor(paymentMethods: PaymentMethods);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class PaymentMethodsMapper {
3
+ paymentMethods;
4
+ paymentMethodsTable;
5
+ constructor(paymentMethods) {
6
+ this.paymentMethodsTable = ProductConnectionFactory.get().productsSchema.paymentMethods;
7
+ this.paymentMethods = paymentMethods;
8
+ }
9
+ async save() {
10
+ if (this.paymentMethods.getId())
11
+ await this.paymentMethodsTable.update(this.paymentMethods);
12
+ else
13
+ await this.paymentMethodsTable.insert(this.paymentMethods);
14
+ }
15
+ async delete() {
16
+ }
17
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import PaymentStatus from "../stockObjects/PaymentStatus";
3
+ export default class PaymentStatusMapper implements StockObjectMapper {
4
+ private paymentStatus;
5
+ private paymentStatusesTable;
6
+ constructor(paymentStatus: PaymentStatus);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,15 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class PaymentStatusMapper {
3
+ paymentStatus;
4
+ paymentStatusesTable;
5
+ constructor(paymentStatus) {
6
+ this.paymentStatusesTable = ProductConnectionFactory.get().productsSchema.paymentStatuses;
7
+ this.paymentStatus = paymentStatus;
8
+ }
9
+ async save() {
10
+ await this.paymentStatusesTable.insert(this.paymentStatus);
11
+ }
12
+ async delete() {
13
+ throw Error('Method not implemented');
14
+ }
15
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import PersonalData from "../stockObjects/PersonalData";
3
+ export default class PersonalDataMapper implements StockObjectMapper {
4
+ private personalData;
5
+ private personalDataTable;
6
+ constructor(personalData: PersonalData);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,17 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class PersonalDataMapper {
3
+ personalData;
4
+ personalDataTable;
5
+ constructor(personalData) {
6
+ this.personalDataTable = ProductConnectionFactory.get().productsSchema.personalData;
7
+ this.personalData = personalData;
8
+ }
9
+ async save() {
10
+ if (this.personalData.getId())
11
+ await this.personalDataTable.update(this.personalData);
12
+ else
13
+ await this.personalDataTable.insert(this.personalData);
14
+ }
15
+ async delete() {
16
+ }
17
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import Product from "../stockObjects/Product";
3
+ export default class ProductMapper implements StockObjectMapper {
4
+ private product;
5
+ private productTable;
6
+ constructor(product: Product);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,20 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class ProductMapper {
3
+ product;
4
+ productTable;
5
+ constructor(product) {
6
+ this.productTable = ProductConnectionFactory.get().productsSchema.products;
7
+ this.product = product;
8
+ }
9
+ async save() {
10
+ if (this.product.getId() && !this.product.getDeleted())
11
+ await this.productTable.update(this.product);
12
+ else
13
+ await this.productTable.insert(this.product);
14
+ }
15
+ async delete() {
16
+ const id = this.product.getId();
17
+ if (id)
18
+ await this.productTable.delete(id);
19
+ }
20
+ }
@@ -0,0 +1,9 @@
1
+ import { StockObjectMapper } from "@dascompany/database";
2
+ import Status from "../stockObjects/Status";
3
+ export default class StatusMapper implements StockObjectMapper {
4
+ private status;
5
+ private statusTable;
6
+ constructor(status: Status);
7
+ save(): Promise<void>;
8
+ delete(): Promise<void>;
9
+ }
@@ -0,0 +1,15 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class StatusMapper {
3
+ status;
4
+ statusTable;
5
+ constructor(status) {
6
+ this.statusTable = ProductConnectionFactory.get().productsSchema.statuses;
7
+ this.status = status;
8
+ }
9
+ async save() {
10
+ await this.statusTable.insert(this.status);
11
+ }
12
+ async delete() {
13
+ throw Error('method not implemented');
14
+ }
15
+ }
@@ -0,0 +1,6 @@
1
+ import AddressI from "../types/AddressI";
2
+ export default class AddressesReader {
3
+ static get(addressId: number): Promise<AddressI>;
4
+ static getCompanyAddress(): Promise<AddressI>;
5
+ private static getCorrectData;
6
+ }
@@ -0,0 +1,24 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class AddressesReader {
3
+ static async get(addressId) {
4
+ const connection = ProductConnectionFactory.get();
5
+ const address = await connection.productsSchema.addresses.select(addressId);
6
+ return this.getCorrectData(address);
7
+ }
8
+ static async getCompanyAddress() {
9
+ const connection = ProductConnectionFactory.get();
10
+ const address = await connection.productsSchema.addresses.select(1);
11
+ return this.getCorrectData(address);
12
+ }
13
+ static getCorrectData(address) {
14
+ return {
15
+ id: address.id,
16
+ country: address.country,
17
+ city: address.city,
18
+ postalCode: address.postal_code,
19
+ street: address.street,
20
+ houseNumber: address.house_number,
21
+ apartmentNumber: address.apartment_number,
22
+ };
23
+ }
24
+ }
@@ -0,0 +1,12 @@
1
+ import { QueryOptionsI } from "@dascompany/database";
2
+ import AdminI from "../types/AdminI";
3
+ export default class AdminReader {
4
+ static get(accountId: number): Promise<AdminI>;
5
+ static getIdForEmail(email: string): Promise<number>;
6
+ static getAll(queryOptions: QueryOptionsI): Promise<{
7
+ adminAccounts: AdminI[];
8
+ quantity: number;
9
+ }>;
10
+ private static correctAdmins;
11
+ private static correctAdmin;
12
+ }
@@ -0,0 +1,40 @@
1
+ import ProductConnectionFactory from "../ProductConnectionFactory";
2
+ export default class AdminReader {
3
+ static async get(accountId) {
4
+ const connection = ProductConnectionFactory.get();
5
+ const account = await connection.productsSchema.adminAccounts.select(accountId);
6
+ return this.correctAdmin(account);
7
+ }
8
+ static async getIdForEmail(email) {
9
+ const connection = ProductConnectionFactory.get();
10
+ return await connection.productsSchema.adminAccounts.selectForEmail(email);
11
+ }
12
+ static async getAll(queryOptions) {
13
+ const connection = ProductConnectionFactory.get();
14
+ const adminAccounts = await connection.productsSchema.adminAccounts.selectAll(queryOptions);
15
+ const quantity = await connection.productsSchema.adminAccounts.count(queryOptions);
16
+ return {
17
+ adminAccounts: this.correctAdmins(adminAccounts),
18
+ quantity
19
+ };
20
+ }
21
+ static correctAdmins(admins) {
22
+ const correctAdmins = [];
23
+ for (let i = 0; i < admins.length; i++) {
24
+ const correctAdmin = this.correctAdmin(admins[i]);
25
+ correctAdmins.push(correctAdmin);
26
+ }
27
+ return correctAdmins;
28
+ }
29
+ static correctAdmin(admin) {
30
+ return {
31
+ id: admin.id,
32
+ email: admin.email,
33
+ firstName: admin.first_name,
34
+ lastName: admin.last_name,
35
+ activated: admin.activated,
36
+ deleted: admin.deleted,
37
+ createdAt: admin.created_at
38
+ };
39
+ }
40
+ }
@@ -0,0 +1,13 @@
1
+ import { QueryOptions } from "@dascompany/database";
2
+ import ClientAccountI from "../types/ClientAccountI";
3
+ export default class ClientAccountReader {
4
+ static get(accountId: number): Promise<ClientAccountI>;
5
+ static getAll(queryOptions: QueryOptions): Promise<{
6
+ clientAccounts: ClientAccountI[];
7
+ quantity: number;
8
+ }>;
9
+ static getForEmail(email: string): Promise<ClientAccountI>;
10
+ static getIdForEmail(email: string): Promise<number>;
11
+ private static correctClientsFromRows;
12
+ private static correctData;
13
+ }