@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,163 @@
1
+ import { StockObject } from "@dascompany/database";
2
+ import ProductMapper from "../mappers/ProductMapper";
3
+ import FilesReader from "../reader/FilesReader";
4
+ import FileConnectionTypeE from "../types/FileConnectionTypeE";
5
+ import calculateNetToGrossPrice from "../utils/calculateNetToGrossPrice";
6
+ export default class Product extends StockObject {
7
+ sku;
8
+ url;
9
+ title;
10
+ description;
11
+ netPrice;
12
+ vat;
13
+ color;
14
+ quantity;
15
+ width;
16
+ length;
17
+ height;
18
+ fileId;
19
+ deleted;
20
+ createdAt;
21
+ file;
22
+ files;
23
+ constructor(sku, url, title, description, netPrice, vat, color, quantity, width, length, height, fileId, deleted = false) {
24
+ super();
25
+ this.sku = sku;
26
+ this.url = url;
27
+ this.title = title;
28
+ this.description = description;
29
+ this.netPrice = netPrice;
30
+ this.vat = vat;
31
+ this.color = color;
32
+ this.quantity = quantity;
33
+ this.width = width;
34
+ this.length = length;
35
+ this.height = height;
36
+ this.fileId = fileId;
37
+ this.deleted = deleted;
38
+ this.createdAt = null;
39
+ this.file = null;
40
+ this.files = null;
41
+ }
42
+ getSku() {
43
+ return this.sku;
44
+ }
45
+ getUrl() {
46
+ return this.url;
47
+ }
48
+ getTitle() {
49
+ return this.title;
50
+ }
51
+ getDescription() {
52
+ return this.description;
53
+ }
54
+ getNetPrice() {
55
+ return calculateNetToGrossPrice(this.netPrice, this.vat);
56
+ }
57
+ getGrossPrice() {
58
+ return this.netPrice;
59
+ }
60
+ getVat() {
61
+ return this.vat;
62
+ }
63
+ getColor() {
64
+ return this.color;
65
+ }
66
+ getQuantity() {
67
+ return this.quantity;
68
+ }
69
+ getWidth() {
70
+ return this.width;
71
+ }
72
+ getLength() {
73
+ return this.length;
74
+ }
75
+ getHeight() {
76
+ return this.height;
77
+ }
78
+ getFileId() {
79
+ return this.fileId;
80
+ }
81
+ getDeleted() {
82
+ return this.deleted;
83
+ }
84
+ async getFile() {
85
+ if (!this.file && this.fileId)
86
+ this.file = await FilesReader.get(this.fileId);
87
+ return this.file;
88
+ }
89
+ async getFiles() {
90
+ if (!this.files) {
91
+ const id = this.getId();
92
+ if (id) {
93
+ const files = await FilesReader.getForConnection(FileConnectionTypeE.product, id);
94
+ this.files = files;
95
+ }
96
+ }
97
+ return this.files;
98
+ }
99
+ getData() {
100
+ return {
101
+ id: this.getId(),
102
+ sku: this.sku,
103
+ url: this.url,
104
+ title: this.title,
105
+ description: this.description,
106
+ netPrice: this.netPrice,
107
+ vat: this.vat,
108
+ color: this.color,
109
+ quantity: this.quantity,
110
+ width: this.width,
111
+ length: this.length,
112
+ height: this.height,
113
+ deleted: this.deleted,
114
+ createdAt: this.createdAt,
115
+ fileId: this.fileId,
116
+ };
117
+ }
118
+ calculateGrossPrice() {
119
+ return calculateNetToGrossPrice(this.netPrice, this.vat);
120
+ }
121
+ setCreatedAt(createdAt) {
122
+ this.createdAt = createdAt;
123
+ }
124
+ setUrl(url) {
125
+ return this.url = url;
126
+ }
127
+ setTitle(title) {
128
+ return this.title = title;
129
+ }
130
+ setDescription(description) {
131
+ return this.description = description;
132
+ }
133
+ setNetPrice(netPrice) {
134
+ return this.netPrice = netPrice;
135
+ }
136
+ setVat(vat) {
137
+ return this.vat = vat;
138
+ }
139
+ setColor(color) {
140
+ return this.color = color;
141
+ }
142
+ setQuantity(quantity) {
143
+ return this.quantity = quantity;
144
+ }
145
+ setWidth(width) {
146
+ return this.width = width;
147
+ }
148
+ setLength(length) {
149
+ return this.length = length;
150
+ }
151
+ setHeight(height) {
152
+ return this.height = height;
153
+ }
154
+ setFileId(fileId) {
155
+ return this.fileId = fileId;
156
+ }
157
+ setDeleted(deleted) {
158
+ return this.deleted = deleted;
159
+ }
160
+ getMapper() {
161
+ return new ProductMapper(this);
162
+ }
163
+ }
@@ -0,0 +1,22 @@
1
+ import { StockObject, StockObjectMapper } from "@dascompany/database";
2
+ export default class Status extends StockObject {
3
+ private orderId;
4
+ private userId;
5
+ private typeId;
6
+ private typeName;
7
+ private createdAt;
8
+ constructor(orderId: number, userId: number, typeId: number, typeName?: string | null, createdAt?: string | null);
9
+ getOrderId(): number;
10
+ getCreatedAt(): string | null;
11
+ getUserId(): number;
12
+ getTypeId(): number;
13
+ getType(): {
14
+ id: number;
15
+ name: string | null;
16
+ };
17
+ setOrderId(orderId: number): void;
18
+ setCreatedAt(createdAt: string): void;
19
+ setUserId(userId: number): void;
20
+ setTypeId(typeId: number): void;
21
+ protected getMapper(): StockObjectMapper;
22
+ }
@@ -0,0 +1,50 @@
1
+ import { StockObject } from "@dascompany/database";
2
+ import StatusMapper from "../mappers/StatusMapper";
3
+ export default class Status extends StockObject {
4
+ orderId;
5
+ userId;
6
+ typeId;
7
+ typeName;
8
+ createdAt;
9
+ constructor(orderId, userId, typeId, typeName = null, createdAt = null) {
10
+ super();
11
+ this.orderId = orderId;
12
+ this.userId = userId;
13
+ this.typeId = typeId;
14
+ this.typeName = typeName;
15
+ this.createdAt = createdAt;
16
+ }
17
+ getOrderId() {
18
+ return this.orderId;
19
+ }
20
+ getCreatedAt() {
21
+ return this.createdAt;
22
+ }
23
+ getUserId() {
24
+ return this.userId;
25
+ }
26
+ getTypeId() {
27
+ return this.typeId;
28
+ }
29
+ getType() {
30
+ return {
31
+ id: this.typeId,
32
+ name: this.typeName
33
+ };
34
+ }
35
+ setOrderId(orderId) {
36
+ this.orderId = orderId;
37
+ }
38
+ setCreatedAt(createdAt) {
39
+ this.createdAt = createdAt;
40
+ }
41
+ setUserId(userId) {
42
+ this.userId = userId;
43
+ }
44
+ setTypeId(typeId) {
45
+ this.typeId = typeId;
46
+ }
47
+ getMapper() {
48
+ return new StatusMapper(this);
49
+ }
50
+ }
@@ -0,0 +1,4 @@
1
+ declare enum SchemaNames {
2
+ products = "productsSchema"
3
+ }
4
+ export default SchemaNames;
@@ -0,0 +1,5 @@
1
+ var SchemaNames;
2
+ (function (SchemaNames) {
3
+ SchemaNames["products"] = "productsSchema";
4
+ })(SchemaNames || (SchemaNames = {}));
5
+ export default SchemaNames;
@@ -0,0 +1,26 @@
1
+ declare enum TableNames {
2
+ adminAccounts = "adminAccountsTable",
3
+ clientAccounts = "clientAccountsTable",
4
+ fileConnections = "fileConnectionsTable",
5
+ files = "filesTable",
6
+ ordersProducts = "ordersProductsTable",
7
+ orders = "ordersTable",
8
+ paymentDetails = "paymentDetailsTable",
9
+ paymentStatuses = "paymentStatusesTable",
10
+ paymentStatusTypes = "paymentStatusTypesTable",
11
+ statuses = "statusesTable",
12
+ statusTypes = "statusTypesTable",
13
+ addresses = "addressesTable",
14
+ companyDetails = "companyDetailsTable",
15
+ contactDetails = "contactDetailsTable",
16
+ deliveryDetails = "deliveryDetailsTable",
17
+ deliveryStatuses = "deliveryStatusesTable",
18
+ deliveryStatusTypes = "deliveryStatusTypesTable",
19
+ invoiceDetails = "invoiceDetailsTable",
20
+ personalData = "personalDataTable",
21
+ products = "productsTable",
22
+ companyData = "companyDataTable",
23
+ deliveryMethods = "deliveryMethodsTable",
24
+ paymentMethods = "paymentMethodsTable"
25
+ }
26
+ export default TableNames;
@@ -0,0 +1,27 @@
1
+ var TableNames;
2
+ (function (TableNames) {
3
+ TableNames["adminAccounts"] = "adminAccountsTable";
4
+ TableNames["clientAccounts"] = "clientAccountsTable";
5
+ TableNames["fileConnections"] = "fileConnectionsTable";
6
+ TableNames["files"] = "filesTable";
7
+ TableNames["ordersProducts"] = "ordersProductsTable";
8
+ TableNames["orders"] = "ordersTable";
9
+ TableNames["paymentDetails"] = "paymentDetailsTable";
10
+ TableNames["paymentStatuses"] = "paymentStatusesTable";
11
+ TableNames["paymentStatusTypes"] = "paymentStatusTypesTable";
12
+ TableNames["statuses"] = "statusesTable";
13
+ TableNames["statusTypes"] = "statusTypesTable";
14
+ TableNames["addresses"] = "addressesTable";
15
+ TableNames["companyDetails"] = "companyDetailsTable";
16
+ TableNames["contactDetails"] = "contactDetailsTable";
17
+ TableNames["deliveryDetails"] = "deliveryDetailsTable";
18
+ TableNames["deliveryStatuses"] = "deliveryStatusesTable";
19
+ TableNames["deliveryStatusTypes"] = "deliveryStatusTypesTable";
20
+ TableNames["invoiceDetails"] = "invoiceDetailsTable";
21
+ TableNames["personalData"] = "personalDataTable";
22
+ TableNames["products"] = "productsTable";
23
+ TableNames["companyData"] = "companyDataTable";
24
+ TableNames["deliveryMethods"] = "deliveryMethodsTable";
25
+ TableNames["paymentMethods"] = "paymentMethodsTable";
26
+ })(TableNames || (TableNames = {}));
27
+ export default TableNames;
@@ -0,0 +1,16 @@
1
+ import { QueryOptionsI, Table } from '@dascompany/database';
2
+ import ClientAccountRow from '../../types/rows/ClientAccountRow';
3
+ import Client from '../../stockObjects/Client';
4
+ export default class ClientAccountsTable extends Table {
5
+ select(accountId: number): Promise<ClientAccountRow>;
6
+ selectEmail(id: number): Promise<string>;
7
+ count(queryOptions: QueryOptionsI): Promise<number>;
8
+ selectAll(queryOptions: QueryOptionsI): Promise<ClientAccountRow[]>;
9
+ selectForEmail(email: string): Promise<ClientAccountRow>;
10
+ update(clientData: Client): Promise<void>;
11
+ delete(accountId: number): Promise<number>;
12
+ private bindParameters;
13
+ insert(clientAccount: Client): Promise<void>;
14
+ getIdForEmail(email: string): Promise<number>;
15
+ private selectNextId;
16
+ }
@@ -0,0 +1,74 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class ClientAccountsTable extends Table {
4
+ async select(accountId) {
5
+ const query = this.createQuery(SQL.accounts.select);
6
+ query.bindParameter('account_id', accountId);
7
+ const result = await query.execute();
8
+ return result.getRow();
9
+ }
10
+ async selectEmail(id) {
11
+ const query = this.createQuery(SQL.accounts.selectEmail);
12
+ query.bindParameter('id', id);
13
+ const result = await query.execute();
14
+ return result.getValue();
15
+ }
16
+ async count(queryOptions) {
17
+ const query = this.createQuery(SQL.accounts.count, queryOptions);
18
+ const result = await query.execute();
19
+ return result.getValue();
20
+ }
21
+ async selectAll(queryOptions) {
22
+ const query = this.createQuery(SQL.accounts.selectAll, queryOptions);
23
+ const result = await query.execute();
24
+ return result.getRows();
25
+ }
26
+ async selectForEmail(email) {
27
+ const id = await this.getIdForEmail(email);
28
+ return await this.select(id);
29
+ }
30
+ async update(clientData) {
31
+ const query = this.createQuery(SQL.accounts.update);
32
+ query.bindParameter('id', clientData.getId());
33
+ this.bindParameters(query, clientData);
34
+ await query.execute();
35
+ }
36
+ async delete(accountId) {
37
+ const query = this.createQuery(SQL.accounts.delete);
38
+ query.bindParameter('account_id', accountId);
39
+ const result = await query.execute();
40
+ return result.getRowCount();
41
+ }
42
+ bindParameters(query, clientAccount) {
43
+ query.bindParameter('activated', clientAccount.getActivated());
44
+ query.bindParameter('deleted', clientAccount.getDeleted());
45
+ query.bindParameter('contact_details_id', clientAccount.getContactDetailsId());
46
+ query.bindParameter('delivery_details_id', clientAccount.getDeliveryDetailsId());
47
+ query.bindParameter('invoice_details_id', clientAccount.getInvoiceDetailsId());
48
+ }
49
+ async insert(clientAccount) {
50
+ const clientEmail = clientAccount.getEmail();
51
+ let accountId = await this.getIdForEmail(clientEmail);
52
+ if (accountId)
53
+ throw new Error(`Client account with email: ${clientEmail} already exist!`);
54
+ else
55
+ accountId = await this.selectNextId();
56
+ const query = this.createQuery(SQL.accounts.insert);
57
+ query.bindParameter('id', accountId);
58
+ query.bindParameter('email', clientEmail);
59
+ this.bindParameters(query, clientAccount);
60
+ await query.execute();
61
+ clientAccount.setId(accountId);
62
+ }
63
+ async getIdForEmail(email) {
64
+ const query = this.createQuery(SQL.accounts.getIdForEmail);
65
+ query.bindParameter('email', String(email).toUpperCase());
66
+ const result = await query.execute();
67
+ return result.getValue();
68
+ }
69
+ async selectNextId() {
70
+ const query = this.createQuery(SQL.accounts.selectNextId);
71
+ const result = await query.execute();
72
+ return result.getValue();
73
+ }
74
+ }
@@ -0,0 +1,12 @@
1
+ import { Table } from '@dascompany/database';
2
+ import FileConnectionTypeE from '../../types/FileConnectionTypeE';
3
+ import FileConnection from '../../stockObjects/FileConnection';
4
+ import FileConnectionRow from '../../types/rows/FileConnectionRow';
5
+ export default class FileConnectionsTable extends Table {
6
+ select(connectionType: FileConnectionTypeE, connection_id: number): Promise<any[]>;
7
+ selectForFileId(fileId: number): Promise<FileConnectionRow[]>;
8
+ insert(fileConnection: FileConnection): Promise<void>;
9
+ delete(fileId: number): Promise<boolean>;
10
+ deleteForConnection(connectionType: string, connectionId: number): Promise<boolean>;
11
+ private bindParameters;
12
+ }
@@ -0,0 +1,41 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class FileConnectionsTable extends Table {
4
+ async select(connectionType, connection_id) {
5
+ const query = this.createQuery(SQL.fileConnections.select);
6
+ query.bindParameter('connectionType', connectionType);
7
+ query.bindParameter('connection_id', connection_id);
8
+ const result = await query.execute();
9
+ return result.getRows();
10
+ }
11
+ async selectForFileId(fileId) {
12
+ const query = this.createQuery(SQL.fileConnections.selectForFileId);
13
+ query.bindParameter('file_id', fileId);
14
+ const result = await query.execute();
15
+ return result.getRows();
16
+ }
17
+ async insert(fileConnection) {
18
+ const query = this.createQuery(SQL.fileConnections.insert);
19
+ this.bindParameters(query, fileConnection);
20
+ await query.execute();
21
+ }
22
+ async delete(fileId) {
23
+ const query = this.createQuery(SQL.fileConnections.delete);
24
+ query.bindParameter('file_id', fileId);
25
+ await query.execute();
26
+ return true;
27
+ }
28
+ async deleteForConnection(connectionType, connectionId) {
29
+ const query = this.createQuery(SQL.fileConnections.deleteForConnection);
30
+ query.bindParameter('connection_type', connectionType);
31
+ query.bindParameter('connection_id', connectionId);
32
+ await query.execute();
33
+ return true;
34
+ }
35
+ bindParameters(query, fileConnection) {
36
+ query.bindParameter('file_id', fileConnection.getFileId());
37
+ query.bindParameter('connection_type', fileConnection.getConnectionType());
38
+ query.bindParameter('connection_id', fileConnection.getConnectionId());
39
+ query.bindParameter('sequence', fileConnection.getSequence());
40
+ }
41
+ }
@@ -0,0 +1,16 @@
1
+ import { QueryOptionsI, Table } from '@dascompany/database';
2
+ import FileRow from '../../types/rows/FileRow';
3
+ import FileConnectionTypeE from '../../types/FileConnectionTypeE';
4
+ import File from '../../stockObjects/File';
5
+ export default class FilesTable extends Table {
6
+ selectId(queryOptions: QueryOptionsI): Promise<number>;
7
+ selectAll(queryOptions: QueryOptionsI): Promise<FileRow[]>;
8
+ select(fileId: number): Promise<FileRow>;
9
+ selectForConnection(connectionType: FileConnectionTypeE, connectionId: number): Promise<FileRow[]>;
10
+ insert(file: File): Promise<boolean>;
11
+ update(fileData: File): Promise<boolean>;
12
+ count(queryOptions: QueryOptionsI): Promise<number>;
13
+ private bindParameters;
14
+ delete(fileId: number): Promise<number>;
15
+ private selectNextId;
16
+ }
@@ -0,0 +1,65 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class FilesTable extends Table {
4
+ async selectId(queryOptions) {
5
+ const query = this.createQuery(SQL.files.selectId, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getValue();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.files.selectAll, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async select(fileId) {
15
+ const query = this.createQuery(SQL.files.select);
16
+ query.bindParameter('id', fileId);
17
+ const result = await query.execute();
18
+ return result.getRow();
19
+ }
20
+ async selectForConnection(connectionType, connectionId) {
21
+ const query = this.createQuery(SQL.files.selectForConnection);
22
+ query.bindParameter('connection_type', connectionType);
23
+ query.bindParameter('connection_id', connectionId);
24
+ const result = await query.execute();
25
+ return result.getRows();
26
+ }
27
+ async insert(file) {
28
+ const query = this.createQuery(SQL.files.insert);
29
+ const id = await this.selectNextId();
30
+ query.bindParameter('id', id);
31
+ this.bindParameters(query, file);
32
+ await query.execute();
33
+ file.setId(id);
34
+ return true;
35
+ }
36
+ async update(fileData) {
37
+ const query = this.createQuery(SQL.files.update);
38
+ this.bindParameters(query, fileData);
39
+ await query.execute();
40
+ return true;
41
+ }
42
+ async count(queryOptions) {
43
+ const query = this.createQuery(SQL.files.count, queryOptions);
44
+ const result = await query.execute();
45
+ return result.getValue();
46
+ }
47
+ bindParameters(query, file) {
48
+ query.bindParameter('name', file.getName());
49
+ query.bindParameter('orginal_name', file.getOrginalName());
50
+ query.bindParameter('catalog', file.getCatalog());
51
+ query.bindParameter('size_kb', file.getSizeKb());
52
+ query.bindParameter('type', file.getType());
53
+ }
54
+ async delete(fileId) {
55
+ const query = this.createQuery(SQL.files.delete);
56
+ query.bindParameter('file_id', fileId);
57
+ const response = await query.execute();
58
+ return response.getRowCount();
59
+ }
60
+ async selectNextId() {
61
+ const query = this.createQuery(SQL.files.selectNextId);
62
+ const result = await query.execute();
63
+ return result.getValue();
64
+ }
65
+ }
@@ -0,0 +1,11 @@
1
+ import { QueryOptionsI, Table } from '@dascompany/database';
2
+ import OrderProductRow from '../../types/rows/OrderProductRow';
3
+ import OrderProduct from '../../stockObjects/OrderProduct';
4
+ export default class OrdersProductsTable extends Table {
5
+ selectAllActive(orderId: number): Promise<OrderProductRow[]>;
6
+ selectAllForIds(queryOprions: QueryOptionsI): Promise<OrderProductRow[]>;
7
+ delete(orderProduct: OrderProduct): Promise<boolean>;
8
+ private bindParams;
9
+ insert(orderProduct: OrderProduct): Promise<boolean>;
10
+ private selectNextId;
11
+ }
@@ -0,0 +1,42 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class OrdersProductsTable extends Table {
4
+ async selectAllActive(orderId) {
5
+ const query = this.createQuery(SQL.ordersProducts.selectAllActive);
6
+ query.bindParameter('order_id', orderId);
7
+ const result = await query.execute();
8
+ return result.getRows();
9
+ }
10
+ async selectAllForIds(queryOprions) {
11
+ const query = this.createQuery(SQL.ordersProducts.selectAll, queryOprions);
12
+ const result = await query.execute();
13
+ return result.getRows();
14
+ }
15
+ async delete(orderProduct) {
16
+ const query = this.createQuery(SQL.ordersProducts.delete);
17
+ const id = orderProduct.getId();
18
+ query.bindParameter('id', id);
19
+ await query.execute();
20
+ return true;
21
+ }
22
+ bindParams(query, orderProduct) {
23
+ query.bindParameter('order_id', orderProduct.getOrderId());
24
+ query.bindParameter('product_id', orderProduct.getProductId());
25
+ query.bindParameter('net_price', orderProduct.getNetPrice());
26
+ query.bindParameter('in_order', orderProduct.getInOrder());
27
+ }
28
+ async insert(orderProduct) {
29
+ const query = this.createQuery(SQL.ordersProducts.insert);
30
+ const id = await this.selectNextId();
31
+ query.bindParameter('id', id);
32
+ this.bindParams(query, orderProduct);
33
+ await query.execute();
34
+ orderProduct.setId(id);
35
+ return true;
36
+ }
37
+ async selectNextId() {
38
+ const query = this.createQuery(SQL.ordersProducts.selectNextId);
39
+ const result = await query.execute();
40
+ return result.getValue();
41
+ }
42
+ }
@@ -0,0 +1,14 @@
1
+ import { QueryOptionsI, Table } from '@dascompany/database';
2
+ import OrderRow from '../../types/rows/OrderRow';
3
+ import Order from '../../stockObjects/Order';
4
+ export default class OrdersTable extends Table {
5
+ select(orderId: number): Promise<OrderRow>;
6
+ selectForClient(clientId: number): Promise<OrderRow[]>;
7
+ selectAll(queryOption: QueryOptionsI): Promise<OrderRow[]>;
8
+ count(queryOptions?: QueryOptionsI): Promise<number>;
9
+ insert(order: Order): Promise<void>;
10
+ update(order: Order): Promise<void>;
11
+ private bindParameters;
12
+ private bindDetailsParameters;
13
+ private selectNextId;
14
+ }
@@ -0,0 +1,60 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class OrdersTable extends Table {
4
+ async select(orderId) {
5
+ const query = this.createQuery(SQL.orders.select);
6
+ query.bindParameter('id', orderId);
7
+ const result = await query.execute();
8
+ return result.getRow();
9
+ }
10
+ async selectForClient(clientId) {
11
+ const query = this.createQuery(SQL.orders.selectForClient);
12
+ query.bindParameter('client_id', clientId);
13
+ const result = await query.execute();
14
+ return result.getRows();
15
+ }
16
+ async selectAll(queryOption) {
17
+ const query = this.createQuery(SQL.orders.selectAll, queryOption);
18
+ const result = await query.execute();
19
+ return result.getRows();
20
+ }
21
+ async count(queryOptions) {
22
+ const query = this.createQuery(SQL.orders.count, queryOptions);
23
+ const result = await query.execute();
24
+ return result.getValue();
25
+ }
26
+ async insert(order) {
27
+ const orderId = await this.selectNextId();
28
+ const query = this.createQuery(SQL.orders.insert);
29
+ query.bindParameter('order_id', orderId);
30
+ this.bindParameters(query, order);
31
+ await query.execute();
32
+ order.setId(orderId);
33
+ }
34
+ async update(order) {
35
+ const orderId = order.getId();
36
+ const query = this.createQuery(SQL.orders.update);
37
+ query.bindParameter('id', orderId);
38
+ query.bindParameter('price', order.getPrice());
39
+ query.bindParameter('zsi_id', order.getZsiId());
40
+ this.bindDetailsParameters(query, order);
41
+ await query.execute();
42
+ }
43
+ bindParameters(query, order) {
44
+ query.bindParameter('email', order.getEmail());
45
+ query.bindParameter('price', order.getPrice());
46
+ query.bindParameter('client_id', order.getclientId());
47
+ this.bindDetailsParameters(query, order);
48
+ }
49
+ bindDetailsParameters(query, order) {
50
+ query.bindParameter('contact_details_id', order.getContactDetailsId());
51
+ query.bindParameter('delivery_details_id', order.getDeliveryDetailsId());
52
+ query.bindParameter('invoice_details_id', order.getInvoiceDetailsId());
53
+ query.bindParameter('payment_details_id', order.getPaymentDetailsId());
54
+ }
55
+ async selectNextId() {
56
+ const query = this.createQuery(SQL.orders.selectNextId);
57
+ const result = await query.execute();
58
+ return result.getValue();
59
+ }
60
+ }
@@ -0,0 +1,10 @@
1
+ import { Table } from '@dascompany/database';
2
+ import PaymentDetailsRow from '../../types/rows/PaymentDetailsRow';
3
+ import PaymentDetails from '../../stockObjects/PaymentDetails';
4
+ export default class PaymentDetailsTable extends Table {
5
+ select(paymentDetailsId: number): Promise<PaymentDetailsRow>;
6
+ insert(paymentDetails: PaymentDetails): Promise<void>;
7
+ update(paymentDetails: PaymentDetails): Promise<void>;
8
+ private selectNextId;
9
+ private bindParameters;
10
+ }