@dascompany/product 4.5.1 → 4.5.2

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 (220) 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/index.d.ts +2 -1
  5. package/dist/index.js +2 -1
  6. package/dist/lib/errors/CilentAccountExistWithThisEmail.d.ts +3 -0
  7. package/dist/lib/errors/CilentAccountExistWithThisEmail.js +5 -0
  8. package/dist/mappers/AddressMapper.d.ts +9 -0
  9. package/dist/mappers/AddressMapper.js +22 -0
  10. package/dist/mappers/AdminMapper.d.ts +9 -0
  11. package/dist/mappers/AdminMapper.js +24 -0
  12. package/dist/mappers/ClientMapper.d.ts +9 -0
  13. package/dist/mappers/ClientMapper.js +24 -0
  14. package/dist/mappers/CompanyDataMapper.d.ts +9 -0
  15. package/dist/mappers/CompanyDataMapper.js +17 -0
  16. package/dist/mappers/CompanyDetailsMapper.d.ts +9 -0
  17. package/dist/mappers/CompanyDetailsMapper.js +27 -0
  18. package/dist/mappers/DeliveryDetailsMapper.d.ts +9 -0
  19. package/dist/mappers/DeliveryDetailsMapper.js +30 -0
  20. package/dist/mappers/DeliveryMethodsMapper.d.ts +9 -0
  21. package/dist/mappers/DeliveryMethodsMapper.js +17 -0
  22. package/dist/mappers/DeliveryStatusMapper.d.ts +9 -0
  23. package/dist/mappers/DeliveryStatusMapper.js +15 -0
  24. package/dist/mappers/FileConnectionMapper.d.ts +9 -0
  25. package/dist/mappers/FileConnectionMapper.js +18 -0
  26. package/dist/mappers/FileMapper.d.ts +9 -0
  27. package/dist/mappers/FileMapper.js +17 -0
  28. package/dist/mappers/OrderMapper.d.ts +9 -0
  29. package/dist/mappers/OrderMapper.js +19 -0
  30. package/dist/mappers/OrderProductMapper.d.ts +9 -0
  31. package/dist/mappers/OrderProductMapper.js +19 -0
  32. package/dist/mappers/PaymentDetailsMapper.d.ts +9 -0
  33. package/dist/mappers/PaymentDetailsMapper.js +17 -0
  34. package/dist/mappers/PaymentMethodsMapper.d.ts +9 -0
  35. package/dist/mappers/PaymentMethodsMapper.js +17 -0
  36. package/dist/mappers/PaymentStatusMapper.d.ts +9 -0
  37. package/dist/mappers/PaymentStatusMapper.js +15 -0
  38. package/dist/mappers/PersonalDataMapper.d.ts +9 -0
  39. package/dist/mappers/PersonalDataMapper.js +22 -0
  40. package/dist/mappers/ProductMapper.d.ts +9 -0
  41. package/dist/mappers/ProductMapper.js +20 -0
  42. package/dist/mappers/StatusMapper.d.ts +9 -0
  43. package/dist/mappers/StatusMapper.js +15 -0
  44. package/dist/reader/AccountCartReader.d.ts +6 -0
  45. package/dist/reader/AccountCartReader.js +25 -0
  46. package/dist/reader/AccountCompanyDetailsReader.d.ts +5 -0
  47. package/dist/reader/AccountCompanyDetailsReader.js +17 -0
  48. package/dist/reader/AccountDeliveryDetailsReader.d.ts +5 -0
  49. package/dist/reader/AccountDeliveryDetailsReader.js +17 -0
  50. package/dist/reader/AddressesReader.d.ts +6 -0
  51. package/dist/reader/AddressesReader.js +18 -0
  52. package/dist/reader/AdminReader.d.ts +10 -0
  53. package/dist/reader/AdminReader.js +37 -0
  54. package/dist/reader/ClientAccountReader.d.ts +10 -0
  55. package/dist/reader/ClientAccountReader.js +39 -0
  56. package/dist/reader/CompanyDataReader.d.ts +4 -0
  57. package/dist/reader/CompanyDataReader.js +39 -0
  58. package/dist/reader/CompanyDetailsReader.d.ts +5 -0
  59. package/dist/reader/CompanyDetailsReader.js +18 -0
  60. package/dist/reader/DeliveryDetailsReader.d.ts +5 -0
  61. package/dist/reader/DeliveryDetailsReader.js +26 -0
  62. package/dist/reader/DeliveryMethodReader.d.ts +6 -0
  63. package/dist/reader/DeliveryMethodReader.js +11 -0
  64. package/dist/reader/DeliveryStatusReader.d.ts +6 -0
  65. package/dist/reader/DeliveryStatusReader.js +29 -0
  66. package/dist/reader/FileConnectionsReader.d.ts +7 -0
  67. package/dist/reader/FileConnectionsReader.js +24 -0
  68. package/dist/reader/FilesReader.d.ts +11 -0
  69. package/dist/reader/FilesReader.js +43 -0
  70. package/dist/reader/MarketPlacesReader.d.ts +8 -0
  71. package/dist/reader/MarketPlacesReader.js +28 -0
  72. package/dist/reader/OrderProductsReader.d.ts +7 -0
  73. package/dist/reader/OrderProductsReader.js +40 -0
  74. package/dist/reader/OrderReader.d.ts +10 -0
  75. package/dist/reader/OrderReader.js +57 -0
  76. package/dist/reader/OrderStatusReader.d.ts +6 -0
  77. package/dist/reader/OrderStatusReader.js +29 -0
  78. package/dist/reader/PersonalDataReader.d.ts +6 -0
  79. package/dist/reader/PersonalDataReader.js +19 -0
  80. package/dist/reader/ProductReader.d.ts +11 -0
  81. package/dist/reader/ProductReader.js +64 -0
  82. package/dist/reader/StatusTypesReader.d.ts +8 -0
  83. package/dist/reader/StatusTypesReader.js +11 -0
  84. package/dist/reader/payment/PaymentDetailsReader.d.ts +5 -0
  85. package/dist/reader/payment/PaymentDetailsReader.js +29 -0
  86. package/dist/reader/payment/PaymentMethodReader.d.ts +6 -0
  87. package/dist/reader/payment/PaymentMethodReader.js +11 -0
  88. package/dist/reader/payment/PaymentStatusesReader.d.ts +6 -0
  89. package/dist/reader/payment/PaymentStatusesReader.js +28 -0
  90. package/dist/repo/AddressesRepo.d.ts +6 -0
  91. package/dist/repo/AddressesRepo.js +13 -0
  92. package/dist/repo/AdminRepo.d.ts +8 -0
  93. package/dist/repo/AdminRepo.js +20 -0
  94. package/dist/repo/ClientAccountRepo.d.ts +6 -0
  95. package/dist/repo/ClientAccountRepo.js +13 -0
  96. package/dist/repo/CompanyDataRepo.d.ts +4 -0
  97. package/dist/repo/CompanyDataRepo.js +10 -0
  98. package/dist/repo/CompanyDetailsRepo.d.ts +6 -0
  99. package/dist/repo/CompanyDetailsRepo.js +13 -0
  100. package/dist/repo/DeliveryDetailsRepo.d.ts +6 -0
  101. package/dist/repo/DeliveryDetailsRepo.js +13 -0
  102. package/dist/repo/DeliveryMethodRepo.d.ts +5 -0
  103. package/dist/repo/DeliveryMethodRepo.js +10 -0
  104. package/dist/repo/FileConnectionsRepo.d.ts +8 -0
  105. package/dist/repo/FileConnectionsRepo.js +23 -0
  106. package/dist/repo/FilesRepo.d.ts +7 -0
  107. package/dist/repo/FilesRepo.js +24 -0
  108. package/dist/repo/OrderProductsRepo.d.ts +7 -0
  109. package/dist/repo/OrderProductsRepo.js +21 -0
  110. package/dist/repo/OrderRepo.d.ts +6 -0
  111. package/dist/repo/OrderRepo.js +13 -0
  112. package/dist/repo/PaymentDetailsRepo.d.ts +6 -0
  113. package/dist/repo/PaymentDetailsRepo.js +13 -0
  114. package/dist/repo/PaymentMethodRepo.d.ts +5 -0
  115. package/dist/repo/PaymentMethodRepo.js +10 -0
  116. package/dist/repo/PersonalDataRepo.d.ts +6 -0
  117. package/dist/repo/PersonalDataRepo.js +15 -0
  118. package/dist/repo/ProductRepo.d.ts +6 -0
  119. package/dist/repo/ProductRepo.js +14 -0
  120. package/dist/stockObjects/AccountCartItem.ts.d.ts +21 -0
  121. package/dist/stockObjects/AccountCartItem.ts.js +44 -0
  122. package/dist/stockObjects/Address.d.ts +32 -0
  123. package/dist/stockObjects/Address.js +69 -0
  124. package/dist/stockObjects/Admin.d.ts +24 -0
  125. package/dist/stockObjects/Admin.js +57 -0
  126. package/dist/stockObjects/Client.d.ts +27 -0
  127. package/dist/stockObjects/Client.js +93 -0
  128. package/dist/stockObjects/CompanyData.d.ts +35 -0
  129. package/dist/stockObjects/CompanyData.js +90 -0
  130. package/dist/stockObjects/CompanyDetails.d.ts +14 -0
  131. package/dist/stockObjects/CompanyDetails.js +34 -0
  132. package/dist/stockObjects/DeliveryDetails.d.ts +15 -0
  133. package/dist/stockObjects/DeliveryDetails.js +37 -0
  134. package/dist/stockObjects/DeliveryMethods.d.ts +11 -0
  135. package/dist/stockObjects/DeliveryMethods.js +26 -0
  136. package/dist/stockObjects/DeliveryStatus.d.ts +17 -0
  137. package/dist/stockObjects/DeliveryStatus.js +42 -0
  138. package/dist/stockObjects/File.d.ts +24 -0
  139. package/dist/stockObjects/File.js +60 -0
  140. package/dist/stockObjects/FileConnection.d.ts +17 -0
  141. package/dist/stockObjects/FileConnection.js +42 -0
  142. package/dist/stockObjects/Order.d.ts +42 -0
  143. package/dist/stockObjects/Order.js +109 -0
  144. package/dist/stockObjects/OrderProduct.d.ts +16 -0
  145. package/dist/stockObjects/OrderProduct.js +38 -0
  146. package/dist/stockObjects/PaymentDetails.d.ts +11 -0
  147. package/dist/stockObjects/PaymentDetails.js +26 -0
  148. package/dist/stockObjects/PaymentMethods.d.ts +11 -0
  149. package/dist/stockObjects/PaymentMethods.js +26 -0
  150. package/dist/stockObjects/PaymentStatus.d.ts +12 -0
  151. package/dist/stockObjects/PaymentStatus.js +26 -0
  152. package/dist/stockObjects/PersonalData.d.ts +24 -0
  153. package/dist/stockObjects/PersonalData.js +53 -0
  154. package/dist/stockObjects/Product.d.ts +81 -0
  155. package/dist/stockObjects/Product.js +200 -0
  156. package/dist/stockObjects/Status.d.ts +17 -0
  157. package/dist/stockObjects/Status.js +42 -0
  158. package/dist/tables/TableNames.d.ts +28 -0
  159. package/dist/tables/TableNames.js +29 -0
  160. package/dist/tables/clients/AccountCartTable.d.ts +11 -0
  161. package/dist/tables/clients/AccountCartTable.js +35 -0
  162. package/dist/tables/clients/AccountCompanyDetailsTable.d.ts +7 -0
  163. package/dist/tables/clients/AccountCompanyDetailsTable.js +22 -0
  164. package/dist/tables/clients/AccountDeliveryDetailsTable.d.ts +7 -0
  165. package/dist/tables/clients/AccountDeliveryDetailsTable.js +22 -0
  166. package/dist/tables/clients/ClientAccountsTable.d.ts +14 -0
  167. package/dist/tables/clients/ClientAccountsTable.js +65 -0
  168. package/dist/tables/files/FileConnectionsTable.d.ts +9 -0
  169. package/dist/tables/files/FileConnectionsTable.js +25 -0
  170. package/dist/tables/files/FilesTable.d.ts +15 -0
  171. package/dist/tables/files/FilesTable.js +65 -0
  172. package/dist/tables/orders/OrdersProductsTable.d.ts +10 -0
  173. package/dist/tables/orders/OrdersProductsTable.js +36 -0
  174. package/dist/tables/orders/OrdersTable.d.ts +13 -0
  175. package/dist/tables/orders/OrdersTable.js +54 -0
  176. package/dist/tables/orders/PaymentDetailsTable.d.ts +10 -0
  177. package/dist/tables/orders/PaymentDetailsTable.js +33 -0
  178. package/dist/tables/orders/PaymentStatusTypesTable.d.ts +7 -0
  179. package/dist/tables/orders/PaymentStatusTypesTable.js +9 -0
  180. package/dist/tables/orders/PaymentStatusesTable.d.ts +9 -0
  181. package/dist/tables/orders/PaymentStatusesTable.js +28 -0
  182. package/dist/tables/orders/StatusTypesTable.d.ts +8 -0
  183. package/dist/tables/orders/StatusTypesTable.js +14 -0
  184. package/dist/tables/orders/StatusesTable.d.ts +10 -0
  185. package/dist/tables/orders/StatusesTable.js +32 -0
  186. package/dist/tables/personalInformation/AddressesTable.d.ts +11 -0
  187. package/dist/tables/personalInformation/AddressesTable.js +41 -0
  188. package/dist/tables/personalInformation/CompanyDetailsTable.d.ts +11 -0
  189. package/dist/tables/personalInformation/CompanyDetailsTable.js +38 -0
  190. package/dist/tables/personalInformation/DeliveryDetailsTable.d.ts +11 -0
  191. package/dist/tables/personalInformation/DeliveryDetailsTable.js +39 -0
  192. package/dist/tables/personalInformation/DeliveryStatusTypesTable.d.ts +7 -0
  193. package/dist/tables/personalInformation/DeliveryStatusTypesTable.js +9 -0
  194. package/dist/tables/personalInformation/DeliveryStatusesTable.d.ts +9 -0
  195. package/dist/tables/personalInformation/DeliveryStatusesTable.js +29 -0
  196. package/dist/tables/personalInformation/PersonalDataTable.d.ts +11 -0
  197. package/dist/tables/personalInformation/PersonalDataTable.js +40 -0
  198. package/dist/tables/public/AdminAccountsTable.d.ts +14 -0
  199. package/dist/tables/public/AdminAccountsTable.js +66 -0
  200. package/dist/tables/public/ProductsTable.d.ts +15 -0
  201. package/dist/tables/public/ProductsTable.js +83 -0
  202. package/dist/tables/settings/CompanyDataTable.d.ts +10 -0
  203. package/dist/tables/settings/CompanyDataTable.js +42 -0
  204. package/dist/tables/settings/DeliveryMethodsTable.d.ts +11 -0
  205. package/dist/tables/settings/DeliveryMethodsTable.js +39 -0
  206. package/dist/tables/settings/MarketPlacesTable.d.ts +5 -0
  207. package/dist/tables/settings/MarketPlacesTable.js +9 -0
  208. package/dist/tables/settings/PaymentMethodsTable.d.ts +11 -0
  209. package/dist/tables/settings/PaymentMethodsTable.js +39 -0
  210. package/dist/types/ChoiceTypeE.d.ts +8 -0
  211. package/dist/types/ChoiceTypeE.js +9 -0
  212. package/dist/utils/AccountCart.d.ts +6 -0
  213. package/dist/utils/AccountCart.js +20 -0
  214. package/dist/utils/PriceConverter.d.ts +5 -0
  215. package/dist/utils/PriceConverter.js +14 -0
  216. package/dist/utils/correctPhoneNumber.d.ts +1 -0
  217. package/dist/utils/correctPhoneNumber.js +14 -0
  218. package/dist/utils/createQueryOptionsForId.d.ts +2 -0
  219. package/dist/utils/createQueryOptionsForId.js +6 -0
  220. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class StatusTypesTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.statusTypes.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.statusTypes.select, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ }
@@ -0,0 +1,10 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import Status from '../../stockObjects/Status';
3
+ import StatusRow from '../../types/rows/StatusRow';
4
+ export default class StatusesTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<StatusRow>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<StatusRow[]>;
7
+ insert(status: Status): Promise<void>;
8
+ private bindParameters;
9
+ private selectNextId;
10
+ }
@@ -0,0 +1,32 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class StatusesTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.statuses.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.statuses.select, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async insert(status) {
15
+ const id = await this.selectNextId();
16
+ const query = this.createQuery(SQL.statuses.insert);
17
+ query.bindParameter('id', id);
18
+ this.bindParameters(query, status);
19
+ await query.execute();
20
+ status.setId(id);
21
+ }
22
+ bindParameters(query, status) {
23
+ query.bindParameter('order_id', status.getOrderId());
24
+ query.bindParameter('user_id', status.getUserId());
25
+ query.bindParameter('type', status.getType());
26
+ }
27
+ async selectNextId() {
28
+ const query = this.createQuery(SQL.statuses.selectNextId);
29
+ const result = await query.execute();
30
+ return result.getValue();
31
+ }
32
+ }
@@ -0,0 +1,11 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import Address from '../../stockObjects/Address';
3
+ import AddressRow from '../../types/rows/AddressRow';
4
+ export default class AddressesTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<AddressRow>;
6
+ update(addressData: Address): Promise<void>;
7
+ insert(address: Address): Promise<void>;
8
+ private selectNextId;
9
+ delete(id: string): Promise<void>;
10
+ private bindParameters;
11
+ }
@@ -0,0 +1,41 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class AddressesTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.addresses.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async update(addressData) {
10
+ const query = this.createQuery(SQL.addresses.update);
11
+ query.bindParameter('id', addressData.getId());
12
+ this.bindParameters(query, addressData);
13
+ await query.execute();
14
+ }
15
+ async insert(address) {
16
+ const query = this.createQuery(SQL.addresses.insert);
17
+ const id = await this.selectNextId();
18
+ query.bindParameter('id', id);
19
+ this.bindParameters(query, address);
20
+ await query.execute();
21
+ address.setId(id);
22
+ }
23
+ async selectNextId() {
24
+ const query = this.createQuery(SQL.addresses.selectNextId);
25
+ const result = await query.execute();
26
+ return result.getValue();
27
+ }
28
+ async delete(id) {
29
+ const query = this.createQuery(SQL.addresses.delete);
30
+ query.bindParameter('id', id);
31
+ await query.execute();
32
+ }
33
+ bindParameters(query, address) {
34
+ query.bindParameter('country', address.getCountry());
35
+ query.bindParameter('city', address.getCity());
36
+ query.bindParameter('postal_code', address.getPostalCode());
37
+ query.bindParameter('street', address.getStreet());
38
+ query.bindParameter('house_number', address.getHouseNumber());
39
+ query.bindParameter('apartment_number', address.getApartmentNumber());
40
+ }
41
+ }
@@ -0,0 +1,11 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import CompanyDetails from '../../stockObjects/CompanyDetails';
3
+ import CompanyDetailsRow from '../../types/rows/CompanyDetailsRow';
4
+ export default class CompanyDetailsTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<CompanyDetailsRow>;
6
+ update(companyDetails: CompanyDetails): Promise<void>;
7
+ insert(companyDetails: CompanyDetails): Promise<void>;
8
+ delete(id: string): Promise<void>;
9
+ private selectNextId;
10
+ private bindParameters;
11
+ }
@@ -0,0 +1,38 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class CompanyDetailsTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.companyDetails.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async update(companyDetails) {
10
+ const query = this.createQuery(SQL.companyDetails.update);
11
+ query.bindParameter('id', companyDetails.getId());
12
+ this.bindParameters(query, companyDetails);
13
+ await query.execute();
14
+ }
15
+ async insert(companyDetails) {
16
+ const id = await this.selectNextId();
17
+ const query = this.createQuery(SQL.companyDetails.insert);
18
+ query.bindParameter('id', id);
19
+ this.bindParameters(query, companyDetails);
20
+ await query.execute();
21
+ companyDetails.setId(id);
22
+ }
23
+ async delete(id) {
24
+ const query = this.createQuery(SQL.companyDetails.delete);
25
+ query.bindParameter('id', id);
26
+ await query.execute();
27
+ }
28
+ async selectNextId() {
29
+ const query = this.createQuery(SQL.companyDetails.selectNextId);
30
+ const result = await query.execute();
31
+ return result.getValue();
32
+ }
33
+ bindParameters(query, companyDetails) {
34
+ query.bindParameter('name', companyDetails.getName());
35
+ query.bindParameter('tax_number', companyDetails.getTaxNumber());
36
+ query.bindParameter('address_id', companyDetails.getAddressId());
37
+ }
38
+ }
@@ -0,0 +1,11 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import DeliveryDetails from '../../stockObjects/DeliveryDetails';
3
+ import DeliveryDetailsRow from '../../types/rows/DeliveryDetailsRow';
4
+ export default class DeliveryDetailsTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<DeliveryDetailsRow>;
6
+ insert(deliveryDetails: DeliveryDetails): Promise<void>;
7
+ update(deliveryDetails: DeliveryDetails): Promise<void>;
8
+ delete(id: string): Promise<void>;
9
+ private selectNextId;
10
+ private bindParameters;
11
+ }
@@ -0,0 +1,39 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class DeliveryDetailsTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.deliveryDetails.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async insert(deliveryDetails) {
10
+ const id = await this.selectNextId();
11
+ const query = this.createQuery(SQL.deliveryDetails.insert);
12
+ query.bindParameter('id', id);
13
+ this.bindParameters(query, deliveryDetails);
14
+ await query.execute();
15
+ deliveryDetails.setId(id);
16
+ }
17
+ async update(deliveryDetails) {
18
+ const id = deliveryDetails.getId();
19
+ const query = this.createQuery(SQL.deliveryDetails.update);
20
+ query.bindParameter('id', id);
21
+ this.bindParameters(query, deliveryDetails);
22
+ await query.execute();
23
+ }
24
+ async delete(id) {
25
+ const query = this.createQuery(SQL.deliveryDetails.delete);
26
+ query.bindParameter('id', id);
27
+ await query.execute();
28
+ }
29
+ async selectNextId() {
30
+ const query = this.createQuery(SQL.deliveryDetails.selectNextId);
31
+ const result = await query.execute();
32
+ return result.getValue();
33
+ }
34
+ bindParameters(query, deliveryDetails) {
35
+ query.bindParameter('personal_data_id', deliveryDetails.getPersonalDataId());
36
+ query.bindParameter('address_id', deliveryDetails.getAddressId());
37
+ query.bindParameter('delivery_method_id', deliveryDetails.getDeliveryMethodId());
38
+ }
39
+ }
@@ -0,0 +1,7 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ export default class DeliveryStatusTypesTable extends Table {
3
+ select(queryOptions: QueryOptions): Promise<{
4
+ id: number;
5
+ value: string;
6
+ }>;
7
+ }
@@ -0,0 +1,9 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class DeliveryStatusTypesTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.deliveryStatusTypes.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ }
@@ -0,0 +1,9 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import DeliveryStatus from '../../stockObjects/DeliveryStatus';
3
+ import DeliveryStatusRow from '../../types/rows/DeliveryStatusRow';
4
+ export default class DeliveryStatusesTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<DeliveryStatusRow>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<DeliveryStatusRow[]>;
7
+ insert(deliveryStatus: DeliveryStatus): Promise<void>;
8
+ private selectNextId;
9
+ }
@@ -0,0 +1,29 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class DeliveryStatusesTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.deliveryStatuses.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.deliveryStatuses.select, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async insert(deliveryStatus) {
15
+ const id = await this.selectNextId();
16
+ const query = this.createQuery(SQL.deliveryStatuses.insert);
17
+ query.bindParameter('id', id);
18
+ query.bindParameter('delivery_details_id', deliveryStatus.getDeliveryDetailsId());
19
+ query.bindParameter('delivery_status_type_id', deliveryStatus.getDeliveryStatusTypeId());
20
+ query.bindParameter('user_id', deliveryStatus.getUserId());
21
+ await query.execute();
22
+ deliveryStatus.setId(id);
23
+ }
24
+ async selectNextId() {
25
+ const query = this.createQuery(SQL.deliveryStatuses.selectNextId);
26
+ const result = await query.execute();
27
+ return result.getValue();
28
+ }
29
+ }
@@ -0,0 +1,11 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import PersonalData from '../../stockObjects/PersonalData';
3
+ import PersonalDataRow from '../../types/rows/PersonalDataRow';
4
+ export default class PersonalDataTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<PersonalDataRow>;
6
+ insert(personalData: PersonalData): Promise<void>;
7
+ update(personalData: PersonalData): Promise<void>;
8
+ private selectNextId;
9
+ delete(id: string): Promise<void>;
10
+ private bindParameters;
11
+ }
@@ -0,0 +1,40 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class PersonalDataTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.personalData.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async insert(personalData) {
10
+ const id = await this.selectNextId();
11
+ const query = this.createQuery(SQL.personalData.insert);
12
+ query.bindParameter('id', id);
13
+ this.bindParameters(query, personalData);
14
+ await query.execute();
15
+ personalData.setId(id);
16
+ }
17
+ async update(personalData) {
18
+ const id = personalData.getId();
19
+ const query = this.createQuery(SQL.personalData.update);
20
+ query.bindParameter('id', id);
21
+ this.bindParameters(query, personalData);
22
+ await query.execute();
23
+ }
24
+ async selectNextId() {
25
+ const query = this.createQuery(SQL.personalData.selectNextId);
26
+ const result = await query.execute();
27
+ return result.getValue();
28
+ }
29
+ async delete(id) {
30
+ const query = this.createQuery(SQL.personalData.delete);
31
+ query.bindParameter('id', id);
32
+ await query.execute();
33
+ }
34
+ bindParameters(query, personalData) {
35
+ query.bindParameter('email', personalData.getEmail());
36
+ query.bindParameter('first_name', personalData.getFirstName());
37
+ query.bindParameter('last_name', personalData.getLastName());
38
+ query.bindParameter('phone_number', personalData.getPhoneNumber());
39
+ }
40
+ }
@@ -0,0 +1,14 @@
1
+ import { QueryOptions, Table } from "@dascompany/database";
2
+ import AdminRow from "../../types/rows/AdminRow";
3
+ import Admin from "../../stockObjects/Admin";
4
+ export default class AdminAccountsTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<AdminRow>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<AdminRow[]>;
7
+ selectId(queryOptions: QueryOptions): Promise<string>;
8
+ count(queryOptions: QueryOptions): Promise<number>;
9
+ insert(admin: Admin): Promise<string>;
10
+ update(admin: Admin): Promise<boolean>;
11
+ delete(accountId: string): Promise<number>;
12
+ private bindParameters;
13
+ private selectNextId;
14
+ }
@@ -0,0 +1,66 @@
1
+ import { ParameterType, QueryOptions, Table } from "@dascompany/database";
2
+ import * as SQL from '../../SQL.json';
3
+ export default class AdminAccountsTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.adminAccounts.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.adminAccounts.select, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async selectId(queryOptions) {
15
+ const query = this.createQuery(SQL.adminAccounts.selectId, queryOptions);
16
+ const result = await query.execute();
17
+ return result.getValue();
18
+ }
19
+ async count(queryOptions) {
20
+ const query = this.createQuery(SQL.adminAccounts.count, queryOptions);
21
+ const result = await query.execute();
22
+ return result.getValue();
23
+ }
24
+ async insert(admin) {
25
+ const queryOptions = new QueryOptions();
26
+ queryOptions.setWhere([
27
+ { name: 'email', type: ParameterType.string, value: admin.getEmail() }
28
+ ]);
29
+ let accountId = await this.selectId(queryOptions);
30
+ if (accountId)
31
+ throw new Error(`Admin account with email: ${admin.getEmail()} already exist!`);
32
+ else
33
+ accountId = await this.selectNextId();
34
+ const query = this.createQuery(SQL.adminAccounts.insert);
35
+ query.bindParameter('id', accountId);
36
+ this.bindParameters(query, admin);
37
+ await query.execute();
38
+ admin.setId(accountId);
39
+ return accountId;
40
+ }
41
+ async update(admin) {
42
+ const query = this.createQuery(SQL.adminAccounts.update);
43
+ query.bindParameter('id', admin.getId());
44
+ this.bindParameters(query, admin);
45
+ await query.execute();
46
+ return true;
47
+ }
48
+ async delete(accountId) {
49
+ const query = this.createQuery(SQL.adminAccounts.delete);
50
+ query.bindParameter('id', accountId);
51
+ const result = await query.execute();
52
+ return result.getRowCount();
53
+ }
54
+ bindParameters(query, admin) {
55
+ query.bindParameter('email', admin.getEmail());
56
+ query.bindParameter('first_name', admin.getFirstName());
57
+ query.bindParameter('last_name', admin.getLastName());
58
+ query.bindParameter('activated', admin.getActivated());
59
+ query.bindParameter('deleted', admin.getDeleted());
60
+ }
61
+ async selectNextId() {
62
+ const query = this.createQuery(SQL.adminAccounts.selectNextId);
63
+ const result = await query.execute();
64
+ return result.getValue();
65
+ }
66
+ }
@@ -0,0 +1,15 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import Product from '../../stockObjects/Product';
3
+ import ProductRow from '../../types/rows/ProductRow';
4
+ export default class ProductsTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<ProductRow>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<ProductRow[]>;
7
+ selectId(queryOptions: QueryOptions): Promise<string>;
8
+ insert(productData: Product): Promise<string>;
9
+ update(product: Product): Promise<boolean>;
10
+ delete(productId: string): Promise<number>;
11
+ selectMaxPrice(queryOption: QueryOptions): Promise<number>;
12
+ count(queryOption: QueryOptions): Promise<number>;
13
+ private selectNextId;
14
+ private bindParameters;
15
+ }
@@ -0,0 +1,83 @@
1
+ import { ParameterType, QueryOptions, Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class ProductsTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.products.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.products.select, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async selectId(queryOptions) {
15
+ const query = this.createQuery(SQL.products.selectId, queryOptions);
16
+ const result = await query.execute();
17
+ return result.getValue();
18
+ }
19
+ async insert(productData) {
20
+ const sku = productData.getSku();
21
+ const queryOptions = new QueryOptions();
22
+ queryOptions.setWhere([
23
+ { name: 'sku', type: ParameterType.string, value: sku }
24
+ ]);
25
+ let productId = await this.selectId(queryOptions);
26
+ if (productId)
27
+ throw new Error(`Product with SKU: ${sku} already exist!`);
28
+ else
29
+ productId = await this.selectNextId();
30
+ const query = this.createQuery(SQL.products.insert);
31
+ query.bindParameter('id', productId);
32
+ this.bindParameters(query, productData);
33
+ await query.execute();
34
+ productData.setId(productId);
35
+ return productId;
36
+ }
37
+ async update(product) {
38
+ const query = this.createQuery(SQL.products.update);
39
+ query.bindParameter('id', product.getId());
40
+ this.bindParameters(query, product);
41
+ await query.execute();
42
+ return true;
43
+ }
44
+ async delete(productId) {
45
+ const query = this.createQuery(SQL.products.delete);
46
+ query.bindParameter('id', productId);
47
+ const result = await query.execute();
48
+ return result.getRowCount();
49
+ }
50
+ async selectMaxPrice(queryOption) {
51
+ const query = this.createQuery(SQL.products.maxPrice, queryOption);
52
+ const result = await query.execute();
53
+ return result.getValue();
54
+ }
55
+ async count(queryOption) {
56
+ const query = this.createQuery(SQL.products.count, queryOption);
57
+ const result = await query.execute();
58
+ return result.getValue();
59
+ }
60
+ async selectNextId() {
61
+ const query = this.createQuery(SQL.products.selectNextId);
62
+ const result = await query.execute();
63
+ return result.getValue();
64
+ }
65
+ bindParameters(query, product) {
66
+ query.bindParameter('sku', product.getSku());
67
+ query.bindParameter('url', product.getUrl());
68
+ query.bindParameter('article_number', product.getArticleNumber());
69
+ query.bindParameter('title', product.getTitle());
70
+ query.bindParameter('subtitle', product.getSubtitle());
71
+ query.bindParameter('description', product.getDescription());
72
+ query.bindParameter('net_price', product.getNetPrice());
73
+ query.bindParameter('promotional_net_price', product.getPromotionalNetPrice());
74
+ query.bindParameter('vat', product.getVat());
75
+ query.bindParameter('color', product.getColor());
76
+ query.bindParameter('quantity', product.getQuantity());
77
+ query.bindParameter('width', product.getWidth());
78
+ query.bindParameter('length', product.getLength());
79
+ query.bindParameter('height', product.getHeight());
80
+ query.bindParameter('file_id', product.getFileId());
81
+ query.bindParameter('json_data', product.getJsonData());
82
+ }
83
+ }
@@ -0,0 +1,10 @@
1
+ import { Table } from '@dascompany/database';
2
+ import CompanyData from '../../stockObjects/CompanyData';
3
+ import CompanyDataRow from '../../types/rows/CompanyDataRow';
4
+ export default class CompanyDataTable extends Table {
5
+ select(): Promise<CompanyDataRow>;
6
+ update(companyData: CompanyData): Promise<boolean>;
7
+ insert(companyData: CompanyData): Promise<boolean>;
8
+ private selectNextId;
9
+ private bindParameters;
10
+ }
@@ -0,0 +1,42 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class CompanyDataTable extends Table {
4
+ async select() {
5
+ const query = this.createQuery(SQL.companyData.select);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async update(companyData) {
10
+ const query = this.createQuery(SQL.companyData.update);
11
+ query.bindParameter('id', companyData.getId());
12
+ this.bindParameters(query, companyData);
13
+ await query.execute();
14
+ return true;
15
+ }
16
+ async insert(companyData) {
17
+ const id = await this.selectNextId();
18
+ const query = this.createQuery(SQL.companyData.insert);
19
+ query.bindParameter('id', id);
20
+ this.bindParameters(query, companyData);
21
+ await query.execute();
22
+ companyData.setId(id);
23
+ return true;
24
+ }
25
+ async selectNextId() {
26
+ const query = this.createQuery(SQL.companyData.selectNextId);
27
+ const result = await query.execute();
28
+ return result.getValue();
29
+ }
30
+ bindParameters(query, companyData) {
31
+ query.bindParameter('name', companyData.getName());
32
+ query.bindParameter('email', companyData.getEmail());
33
+ query.bindParameter('phone_number', companyData.getPhoneNumber());
34
+ query.bindParameter('registration_number', companyData.getRegistrationNumber());
35
+ query.bindParameter('tax_number', companyData.getTaxNumber());
36
+ query.bindParameter('swift_number', companyData.getSwiftNumber());
37
+ query.bindParameter('regon_number', companyData.getRegonNumber());
38
+ query.bindParameter('bank_account_number', companyData.getBankAccountNumber());
39
+ query.bindParameter('bank_name', companyData.getBankAccountName());
40
+ query.bindParameter('address_id', companyData.getAddressId());
41
+ }
42
+ }
@@ -0,0 +1,11 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import DeliveryMethodI from '../../types/DeliveryMethodI';
3
+ import DeliveryMethods from '../../stockObjects/DeliveryMethods';
4
+ export default class DeliveryMethodsTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<DeliveryMethodI>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<DeliveryMethodI[]>;
7
+ insert(deliveryMethods: DeliveryMethods): Promise<boolean>;
8
+ update(deliveryMethods: DeliveryMethods): Promise<boolean>;
9
+ private selectNextId;
10
+ private bindParameters;
11
+ }
@@ -0,0 +1,39 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class DeliveryMethodsTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.deliveryMethods.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.deliveryMethods.select, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async insert(deliveryMethods) {
15
+ const id = await this.selectNextId();
16
+ const query = this.createQuery(SQL.deliveryMethods.insert);
17
+ query.bindParameter('id', id);
18
+ this.bindParameters(query, deliveryMethods);
19
+ await query.execute();
20
+ deliveryMethods.setId(id);
21
+ return true;
22
+ }
23
+ async update(deliveryMethods) {
24
+ const query = this.createQuery(SQL.deliveryMethods.update);
25
+ query.bindParameter('id', deliveryMethods.getId());
26
+ this.bindParameters(query, deliveryMethods);
27
+ await query.execute();
28
+ return true;
29
+ }
30
+ async selectNextId() {
31
+ const query = this.createQuery(SQL.deliveryMethods.selectNextId);
32
+ const result = await query.execute();
33
+ return result.getValue();
34
+ }
35
+ bindParameters(query, deliveryMethods) {
36
+ query.bindParameter('key', deliveryMethods.getKey());
37
+ query.bindParameter('active', deliveryMethods.getActive());
38
+ }
39
+ }
@@ -0,0 +1,5 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import MarketPlaceRow from '../../types/rows/MarketPlaceRow';
3
+ export default class MarketPlacesTable extends Table {
4
+ select(queryOptions: QueryOptions): Promise<MarketPlaceRow[]>;
5
+ }
@@ -0,0 +1,9 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class MarketPlacesTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.marketPlaces.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRows();
8
+ }
9
+ }
@@ -0,0 +1,11 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import PaymentMethodI from '../../types/PaymentMethodI';
3
+ import PaymentMethods from '../../stockObjects/PaymentMethods';
4
+ export default class PaymentMethodsTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<PaymentMethodI>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<PaymentMethodI[]>;
7
+ insert(paymentMethods: PaymentMethods): Promise<boolean>;
8
+ update(paymentMethods: PaymentMethods): Promise<boolean>;
9
+ private selectNextId;
10
+ private bindParameters;
11
+ }