@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,42 @@
1
+ import { StockObject } from "@dascompany/database";
2
+ import StatusMapper from "../mappers/StatusMapper";
3
+ export default class Status extends StockObject {
4
+ orderId;
5
+ userId;
6
+ type;
7
+ createdAt;
8
+ constructor(orderId, userId, type, createdAt = null) {
9
+ super();
10
+ this.orderId = orderId;
11
+ this.userId = userId;
12
+ this.type = type;
13
+ this.createdAt = createdAt;
14
+ }
15
+ getOrderId() {
16
+ return this.orderId;
17
+ }
18
+ getCreatedAt() {
19
+ return this.createdAt;
20
+ }
21
+ getUserId() {
22
+ return this.userId;
23
+ }
24
+ getType() {
25
+ return this.type;
26
+ }
27
+ setOrderId(orderId) {
28
+ this.orderId = orderId;
29
+ }
30
+ setCreatedAt(createdAt) {
31
+ this.createdAt = createdAt;
32
+ }
33
+ setUserId(userId) {
34
+ this.userId = userId;
35
+ }
36
+ setType(type) {
37
+ this.type = type;
38
+ }
39
+ getMapper() {
40
+ return new StatusMapper(this);
41
+ }
42
+ }
@@ -0,0 +1,28 @@
1
+ declare enum TableNames {
2
+ adminAccounts = "adminAccountsTable",
3
+ clientAccounts = "clientAccountsTable",
4
+ accountDeliveryDetails = "accountDeliveryDetailsTable",
5
+ accountCart = "accountCartTable",
6
+ accountCompanyDetails = "accountCompanyDetailsTable",
7
+ fileConnections = "fileConnectionsTable",
8
+ files = "filesTable",
9
+ ordersProducts = "ordersProductsTable",
10
+ orders = "ordersTable",
11
+ paymentDetails = "paymentDetailsTable",
12
+ paymentStatuses = "paymentStatusesTable",
13
+ paymentStatusTypes = "paymentStatusTypesTable",
14
+ statuses = "statusesTable",
15
+ statusTypes = "statusTypesTable",
16
+ addresses = "addressesTable",
17
+ companyDetails = "companyDetailsTable",
18
+ deliveryDetails = "deliveryDetailsTable",
19
+ deliveryStatuses = "deliveryStatusesTable",
20
+ deliveryStatusTypes = "deliveryStatusTypesTable",
21
+ personalData = "personalDataTable",
22
+ products = "productsTable",
23
+ companyData = "companyDataTable",
24
+ deliveryMethods = "deliveryMethodsTable",
25
+ paymentMethods = "paymentMethodsTable",
26
+ marketPlaces = "marketPlacesTable"
27
+ }
28
+ export default TableNames;
@@ -0,0 +1,29 @@
1
+ var TableNames;
2
+ (function (TableNames) {
3
+ TableNames["adminAccounts"] = "adminAccountsTable";
4
+ TableNames["clientAccounts"] = "clientAccountsTable";
5
+ TableNames["accountDeliveryDetails"] = "accountDeliveryDetailsTable";
6
+ TableNames["accountCart"] = "accountCartTable";
7
+ TableNames["accountCompanyDetails"] = "accountCompanyDetailsTable";
8
+ TableNames["fileConnections"] = "fileConnectionsTable";
9
+ TableNames["files"] = "filesTable";
10
+ TableNames["ordersProducts"] = "ordersProductsTable";
11
+ TableNames["orders"] = "ordersTable";
12
+ TableNames["paymentDetails"] = "paymentDetailsTable";
13
+ TableNames["paymentStatuses"] = "paymentStatusesTable";
14
+ TableNames["paymentStatusTypes"] = "paymentStatusTypesTable";
15
+ TableNames["statuses"] = "statusesTable";
16
+ TableNames["statusTypes"] = "statusTypesTable";
17
+ TableNames["addresses"] = "addressesTable";
18
+ TableNames["companyDetails"] = "companyDetailsTable";
19
+ TableNames["deliveryDetails"] = "deliveryDetailsTable";
20
+ TableNames["deliveryStatuses"] = "deliveryStatusesTable";
21
+ TableNames["deliveryStatusTypes"] = "deliveryStatusTypesTable";
22
+ TableNames["personalData"] = "personalDataTable";
23
+ TableNames["products"] = "productsTable";
24
+ TableNames["companyData"] = "companyDataTable";
25
+ TableNames["deliveryMethods"] = "deliveryMethodsTable";
26
+ TableNames["paymentMethods"] = "paymentMethodsTable";
27
+ TableNames["marketPlaces"] = "marketPlacesTable";
28
+ })(TableNames || (TableNames = {}));
29
+ export default TableNames;
@@ -0,0 +1,11 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import AccountCartRow from '../../types/rows/AccountCartRow';
3
+ import AccountCartItem from '../../stockObjects/AccountCartItem.ts';
4
+ export default class AccountCartTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<AccountCartRow[]>;
6
+ delete(queryOptions: QueryOptions): Promise<void>;
7
+ insert(accountCartItem: AccountCartItem): Promise<void>;
8
+ update(accountCartItem: AccountCartItem): Promise<void>;
9
+ private bindParams;
10
+ private bindSideParams;
11
+ }
@@ -0,0 +1,35 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class AccountCartTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.accountCart.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRows();
8
+ }
9
+ async delete(queryOptions) {
10
+ const query = this.createQuery(SQL.accountCart.delete, queryOptions);
11
+ await query.execute();
12
+ }
13
+ async insert(accountCartItem) {
14
+ const query = this.createQuery(SQL.accountCart.insert);
15
+ this.bindParams(query, accountCartItem.getAccountId(), accountCartItem.getProductId());
16
+ this.bindSideParams(query, accountCartItem);
17
+ await query.execute();
18
+ }
19
+ async update(accountCartItem) {
20
+ const query = this.createQuery(SQL.accountCart.update);
21
+ query.bindParameter('account_id', accountCartItem.getAccountId());
22
+ query.bindParameter('product_id', accountCartItem.getProductId());
23
+ query.bindParameter('installation', accountCartItem.getInstallation());
24
+ query.bindParameter('quantity', accountCartItem.getQuantity());
25
+ await query.execute();
26
+ }
27
+ bindParams(query, accountId, productId) {
28
+ query.bindParameter('account_id', accountId);
29
+ query.bindParameter('product_id', productId);
30
+ }
31
+ bindSideParams(query, accountCartItem) {
32
+ query.bindParameter('installation', accountCartItem.getInstallation());
33
+ query.bindParameter('quantity', accountCartItem.getQuantity());
34
+ }
35
+ }
@@ -0,0 +1,7 @@
1
+ import { Table } from '@dascompany/database';
2
+ import AccountCompanyDetailsRow from '../../types/rows/AccountCompanyDetailsRow';
3
+ export default class AccountCompanyDetailsTable extends Table {
4
+ selectAll(accountId: number): Promise<AccountCompanyDetailsRow[]>;
5
+ delete(companyDetailsId: string): Promise<number>;
6
+ insert(acoountId: string, companyDetailsId: string): Promise<void>;
7
+ }
@@ -0,0 +1,22 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class AccountCompanyDetailsTable extends Table {
4
+ async selectAll(accountId) {
5
+ const query = this.createQuery(SQL.accountCompanyDetails.select);
6
+ query.bindParameter('account_id', accountId);
7
+ const result = await query.execute();
8
+ return result.getRows();
9
+ }
10
+ async delete(companyDetailsId) {
11
+ const query = this.createQuery(SQL.accountCompanyDetails.delete);
12
+ query.bindParameter('company_details_id', companyDetailsId);
13
+ const result = await query.execute();
14
+ return result.getRowCount();
15
+ }
16
+ async insert(acoountId, companyDetailsId) {
17
+ const query = this.createQuery(SQL.accountCompanyDetails.insert);
18
+ query.bindParameter('company_details_id', companyDetailsId);
19
+ query.bindParameter('account_id', acoountId);
20
+ await query.execute();
21
+ }
22
+ }
@@ -0,0 +1,7 @@
1
+ import { Table } from '@dascompany/database';
2
+ import AccountDeliveryDetailsRow from '../../types/rows/AccountDeliveryDetailsRow';
3
+ export default class AccountDeliveryDetailsTable extends Table {
4
+ selectAll(accountId: number): Promise<AccountDeliveryDetailsRow[]>;
5
+ delete(deliveryDetailsId: string): Promise<number>;
6
+ insert(acoountId: string, deliveryDetailsId: string): Promise<void>;
7
+ }
@@ -0,0 +1,22 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class AccountDeliveryDetailsTable extends Table {
4
+ async selectAll(accountId) {
5
+ const query = this.createQuery(SQL.accountDeliveryDetails.select);
6
+ query.bindParameter('account_id', accountId);
7
+ const result = await query.execute();
8
+ return result.getRows();
9
+ }
10
+ async delete(deliveryDetailsId) {
11
+ const query = this.createQuery(SQL.accountDeliveryDetails.delete);
12
+ query.bindParameter('delivery_details_id', deliveryDetailsId);
13
+ const result = await query.execute();
14
+ return result.getRowCount();
15
+ }
16
+ async insert(acoountId, deliveryDetailsId) {
17
+ const query = this.createQuery(SQL.accountDeliveryDetails.insert);
18
+ query.bindParameter('delivery_details_id', deliveryDetailsId);
19
+ query.bindParameter('account_id', acoountId);
20
+ await query.execute();
21
+ }
22
+ }
@@ -0,0 +1,14 @@
1
+ import { QueryOptions, 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(queryOptions: QueryOptions): Promise<ClientAccountRow>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<ClientAccountRow[]>;
7
+ selectId(queryOptions: QueryOptions): Promise<string | null>;
8
+ count(queryOptions: QueryOptions): Promise<number>;
9
+ update(clientData: Client): Promise<void>;
10
+ delete(accountId: string): Promise<number>;
11
+ private bindParameters;
12
+ insert(clientAccount: Client): Promise<void>;
13
+ private selectNextId;
14
+ }
@@ -0,0 +1,65 @@
1
+ import { ParameterType, QueryOptions, Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ import CilentAccountExistWithThisEmail from '../../lib/errors/CilentAccountExistWithThisEmail';
4
+ export default class ClientAccountsTable extends Table {
5
+ async select(queryOptions) {
6
+ const query = this.createQuery(SQL.accounts.select, queryOptions);
7
+ const result = await query.execute();
8
+ return result.getRow();
9
+ }
10
+ async selectAll(queryOptions) {
11
+ const query = this.createQuery(SQL.accounts.select, queryOptions);
12
+ const result = await query.execute();
13
+ return result.getRows();
14
+ }
15
+ async selectId(queryOptions) {
16
+ const query = this.createQuery(SQL.accounts.selectId, queryOptions);
17
+ const result = await query.execute();
18
+ return result.getValue();
19
+ }
20
+ async count(queryOptions) {
21
+ const query = this.createQuery(SQL.accounts.count, queryOptions);
22
+ const result = await query.execute();
23
+ return result.getValue();
24
+ }
25
+ async update(clientData) {
26
+ const query = this.createQuery(SQL.accounts.update);
27
+ query.bindParameter('id', clientData.getId());
28
+ this.bindParameters(query, clientData);
29
+ await query.execute();
30
+ }
31
+ async delete(accountId) {
32
+ const query = this.createQuery(SQL.accounts.delete);
33
+ query.bindParameter('account_id', accountId);
34
+ const result = await query.execute();
35
+ return result.getRowCount();
36
+ }
37
+ bindParameters(query, clientAccount) {
38
+ query.bindParameter('activated', clientAccount.getActivated());
39
+ query.bindParameter('deleted', clientAccount.getDeleted());
40
+ query.bindParameter('personal_data_id', clientAccount.getPersonalDataId());
41
+ query.bindParameter('delivery_details_id', clientAccount.getDeliveryDetailsId());
42
+ query.bindParameter('company_details_id', clientAccount.getCompanyDetailsId());
43
+ }
44
+ async insert(clientAccount) {
45
+ const clientEmail = clientAccount.getEmail();
46
+ const queryOptions = new QueryOptions();
47
+ queryOptions.setWhere([{ name: 'email', type: ParameterType.string, value: clientEmail }]);
48
+ let accountId = await this.selectId(queryOptions);
49
+ if (accountId)
50
+ throw new CilentAccountExistWithThisEmail(clientEmail);
51
+ else
52
+ accountId = await this.selectNextId();
53
+ const query = this.createQuery(SQL.accounts.insert);
54
+ query.bindParameter('id', accountId);
55
+ query.bindParameter('email', clientEmail);
56
+ this.bindParameters(query, clientAccount);
57
+ await query.execute();
58
+ clientAccount.setId(accountId);
59
+ }
60
+ async selectNextId() {
61
+ const query = this.createQuery(SQL.accounts.selectNextId);
62
+ const result = await query.execute();
63
+ return result.getValue();
64
+ }
65
+ }
@@ -0,0 +1,9 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import FileConnection from '../../stockObjects/FileConnection';
3
+ import FileConnectionRow from '../../types/rows/FileConnectionRow';
4
+ export default class FileConnectionsTable extends Table {
5
+ selectAll(queryOptions?: QueryOptions): Promise<FileConnectionRow[]>;
6
+ insert(fileConnection: FileConnection): Promise<void>;
7
+ delete(queryOptions: QueryOptions): Promise<boolean>;
8
+ private bindParameters;
9
+ }
@@ -0,0 +1,25 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class FileConnectionsTable extends Table {
4
+ async selectAll(queryOptions) {
5
+ const query = this.createQuery(SQL.fileConnections.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRows();
8
+ }
9
+ async insert(fileConnection) {
10
+ const query = this.createQuery(SQL.fileConnections.insert);
11
+ this.bindParameters(query, fileConnection);
12
+ await query.execute();
13
+ }
14
+ async delete(queryOptions) {
15
+ const query = this.createQuery(SQL.fileConnections.delete, queryOptions);
16
+ await query.execute();
17
+ return true;
18
+ }
19
+ bindParameters(query, fileConnection) {
20
+ query.bindParameter('file_id', fileConnection.getFileId());
21
+ query.bindParameter('connection_type', fileConnection.getConnectionType());
22
+ query.bindParameter('connection_id', fileConnection.getConnectionId());
23
+ query.bindParameter('sequence', fileConnection.getSequence());
24
+ }
25
+ }
@@ -0,0 +1,15 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ import FileRow from '../../types/rows/FileRow';
3
+ import File from '../../stockObjects/File';
4
+ export default class FilesTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<FileRow>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<FileRow[]>;
7
+ selectId(queryOptions: QueryOptions): Promise<string>;
8
+ selectForConnection(queryOptions: QueryOptions): Promise<FileRow[]>;
9
+ insert(file: File): Promise<boolean>;
10
+ update(fileData: File): Promise<boolean>;
11
+ count(queryOptions: QueryOptions): Promise<number>;
12
+ private bindParameters;
13
+ delete(fileId: string): Promise<number>;
14
+ private selectNextId;
15
+ }
@@ -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 select(queryOptions) {
5
+ const query = this.createQuery(SQL.files.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.files.select, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async selectId(queryOptions) {
15
+ const query = this.createQuery(SQL.files.selectId, queryOptions);
16
+ const result = await query.execute();
17
+ return result.getValue();
18
+ }
19
+ async selectForConnection(queryOptions) {
20
+ const query = this.createQuery(SQL.files.selectForConnection, queryOptions);
21
+ const result = await query.execute();
22
+ return result.getRows();
23
+ }
24
+ async insert(file) {
25
+ const query = this.createQuery(SQL.files.insert);
26
+ const id = await this.selectNextId();
27
+ query.bindParameter('id', id);
28
+ this.bindParameters(query, file);
29
+ await query.execute();
30
+ file.setId(id);
31
+ return true;
32
+ }
33
+ async update(fileData) {
34
+ const query = this.createQuery(SQL.files.update);
35
+ query.bindParameter('id', fileData.getId());
36
+ this.bindParameters(query, fileData);
37
+ await query.execute();
38
+ return true;
39
+ }
40
+ async count(queryOptions) {
41
+ const query = this.createQuery(SQL.files.count, queryOptions);
42
+ const result = await query.execute();
43
+ return result.getValue();
44
+ }
45
+ bindParameters(query, file) {
46
+ query.bindParameter('name', file.getName());
47
+ query.bindParameter('orginal_name', file.getOrginalName());
48
+ query.bindParameter('catalog', file.getCatalog());
49
+ query.bindParameter('size_kb', file.getSizeKb());
50
+ query.bindParameter('type', file.getType());
51
+ query.bindParameter('alt', file.getAlt());
52
+ query.bindParameter('title', file.getTitle());
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,10 @@
1
+ import { QueryOptions, 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
+ selectAll(queryOptions?: QueryOptions): Promise<OrderProductRow[]>;
6
+ insert(orderProduct: OrderProduct): Promise<boolean>;
7
+ delete(id: string): Promise<boolean>;
8
+ private selectNextId;
9
+ private bindParams;
10
+ }
@@ -0,0 +1,36 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class OrdersProductsTable extends Table {
4
+ async selectAll(queryOptions) {
5
+ const query = this.createQuery(SQL.ordersProducts.selectAll, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRows();
8
+ }
9
+ async insert(orderProduct) {
10
+ const query = this.createQuery(SQL.ordersProducts.insert);
11
+ const id = await this.selectNextId();
12
+ query.bindParameter('id', id);
13
+ this.bindParams(query, orderProduct);
14
+ await query.execute();
15
+ orderProduct.setId(id);
16
+ return true;
17
+ }
18
+ async delete(id) {
19
+ const query = this.createQuery(SQL.ordersProducts.delete);
20
+ query.bindParameter('id', id);
21
+ await query.execute();
22
+ return true;
23
+ }
24
+ async selectNextId() {
25
+ const query = this.createQuery(SQL.ordersProducts.selectNextId);
26
+ const result = await query.execute();
27
+ return result.getValue();
28
+ }
29
+ bindParams(query, orderProduct) {
30
+ query.bindParameter('order_id', orderProduct.getOrderId());
31
+ query.bindParameter('product_id', orderProduct.getProductId());
32
+ query.bindParameter('net_price', orderProduct.getNetPrice());
33
+ query.bindParameter('in_order', orderProduct.getInOrder());
34
+ query.bindParameter('installation_price', orderProduct.getInstallationPrice());
35
+ }
36
+ }
@@ -0,0 +1,13 @@
1
+ import { QueryOptions, 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(queryOptions: QueryOptions): Promise<OrderRow>;
6
+ selectAll(queryOption?: QueryOptions): Promise<OrderRow[]>;
7
+ count(queryOptions?: QueryOptions): Promise<number>;
8
+ insert(order: Order): Promise<void>;
9
+ update(order: Order): Promise<void>;
10
+ private bindParameters;
11
+ private bindDetailsParameters;
12
+ private selectNextId;
13
+ }
@@ -0,0 +1,54 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class OrdersTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.orders.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOption) {
10
+ const query = this.createQuery(SQL.orders.select, queryOption);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async count(queryOptions) {
15
+ const query = this.createQuery(SQL.orders.count, queryOptions);
16
+ const result = await query.execute();
17
+ return result.getValue();
18
+ }
19
+ async insert(order) {
20
+ const orderId = await this.selectNextId();
21
+ const query = this.createQuery(SQL.orders.insert);
22
+ query.bindParameter('order_id', orderId);
23
+ this.bindParameters(query, order);
24
+ await query.execute();
25
+ order.setId(orderId);
26
+ }
27
+ async update(order) {
28
+ const orderId = order.getId();
29
+ const query = this.createQuery(SQL.orders.update);
30
+ query.bindParameter('id', orderId);
31
+ query.bindParameter('net_price', order.getNetPrice());
32
+ query.bindParameter('zsi_id', order.getZsiId());
33
+ this.bindDetailsParameters(query, order);
34
+ await query.execute();
35
+ }
36
+ bindParameters(query, order) {
37
+ query.bindParameter('email', order.getEmail());
38
+ query.bindParameter('net_price', order.getNetPrice());
39
+ query.bindParameter('client_id', order.getClientId());
40
+ this.bindDetailsParameters(query, order);
41
+ }
42
+ bindDetailsParameters(query, order) {
43
+ query.bindParameter('invoice', order.isInvoice());
44
+ query.bindParameter('vat', order.getVat());
45
+ query.bindParameter('delivery_details_id', order.getDeliveryDetailsId());
46
+ query.bindParameter('company_details_id', order.getCompanyDetailsId());
47
+ query.bindParameter('payment_details_id', order.getPaymentDetailsId());
48
+ }
49
+ async selectNextId() {
50
+ const query = this.createQuery(SQL.orders.selectNextId);
51
+ const result = await query.execute();
52
+ return result.getValue();
53
+ }
54
+ }
@@ -0,0 +1,10 @@
1
+ import { QueryOptions, 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(queryOptions: QueryOptions): Promise<PaymentDetailsRow>;
6
+ insert(paymentDetails: PaymentDetails): Promise<void>;
7
+ update(paymentDetails: PaymentDetails): Promise<void>;
8
+ private selectNextId;
9
+ private bindParameters;
10
+ }
@@ -0,0 +1,33 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class PaymentDetailsTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.paymentDetails.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async insert(paymentDetails) {
10
+ const id = await this.selectNextId();
11
+ const query = this.createQuery(SQL.paymentDetails.insert);
12
+ query.bindParameter('id', id);
13
+ this.bindParameters(query, paymentDetails);
14
+ await query.execute();
15
+ paymentDetails.setId(id);
16
+ }
17
+ async update(paymentDetails) {
18
+ const id = paymentDetails.getId();
19
+ const query = this.createQuery(SQL.paymentDetails.update);
20
+ query.bindParameter('id', id);
21
+ this.bindParameters(query, paymentDetails);
22
+ await query.execute();
23
+ }
24
+ async selectNextId() {
25
+ const query = this.createQuery(SQL.paymentDetails.selectNextId);
26
+ const result = await query.execute();
27
+ return result.getValue();
28
+ }
29
+ bindParameters(query, paymentDetails) {
30
+ query.bindParameter('payment_method_id', paymentDetails.getPaymentMethodId());
31
+ query.bindParameter('payment_order_id', paymentDetails.getPaymentOrderId());
32
+ }
33
+ }
@@ -0,0 +1,7 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ export default class PaymentStatusTypesTable extends Table {
3
+ select(queryOptions: QueryOptions): Promise<{
4
+ id: number;
5
+ value: string;
6
+ }>;
7
+ }
@@ -0,0 +1,9 @@
1
+ import * as SQL from '../../SQL.json';
2
+ import { Table } from '@dascompany/database';
3
+ export default class PaymentStatusTypesTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.paymentStatusTypes.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 PaymentStatus from '../../stockObjects/PaymentStatus';
3
+ import PaymentStatusRow from '../../types/rows/PaymentStatusRow';
4
+ export default class PaymentStatusesTable extends Table {
5
+ select(queryOptions: QueryOptions): Promise<PaymentStatusRow>;
6
+ selectAll(queryOptions?: QueryOptions): Promise<PaymentStatusRow[]>;
7
+ insert(paymentStatus: PaymentStatus): Promise<void>;
8
+ private selectNextId;
9
+ }
@@ -0,0 +1,28 @@
1
+ import { Table } from '@dascompany/database';
2
+ import * as SQL from '../../SQL.json';
3
+ export default class PaymentStatusesTable extends Table {
4
+ async select(queryOptions) {
5
+ const query = this.createQuery(SQL.paymentStatuses.select, queryOptions);
6
+ const result = await query.execute();
7
+ return result.getRow();
8
+ }
9
+ async selectAll(queryOptions) {
10
+ const query = this.createQuery(SQL.paymentStatuses.select, queryOptions);
11
+ const result = await query.execute();
12
+ return result.getRows();
13
+ }
14
+ async insert(paymentStatus) {
15
+ const id = await this.selectNextId();
16
+ const query = this.createQuery(SQL.paymentStatuses.insert);
17
+ query.bindParameter('id', id);
18
+ query.bindParameter('payment_details_id', paymentStatus.getPaymentDetailsId());
19
+ query.bindParameter('payment_status_type_id', paymentStatus.getPaymentStatusTypeId());
20
+ await query.execute();
21
+ paymentStatus.setId(id);
22
+ }
23
+ async selectNextId() {
24
+ const query = this.createQuery(SQL.paymentStatuses.selectNextId);
25
+ const result = await query.execute();
26
+ return result.getValue();
27
+ }
28
+ }
@@ -0,0 +1,8 @@
1
+ import { QueryOptions, Table } from '@dascompany/database';
2
+ export default class StatusTypesTable extends Table {
3
+ select(queryOptions: QueryOptions): Promise<{
4
+ id: string;
5
+ key: string;
6
+ }>;
7
+ selectAll(queryOptions?: QueryOptions): Promise<any[]>;
8
+ }