@dascompany/database 0.0.2 → 0.0.4

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 (108) hide show
  1. package/dist/SQL.json +35 -3
  2. package/dist/TableConnection.d.ts +8 -2
  3. package/dist/TableConnection.js +14 -2
  4. package/dist/index.d.ts +21 -1
  5. package/dist/index.js +16 -1
  6. package/dist/mappers/CompanyDataMapper.d.ts +9 -0
  7. package/dist/mappers/CompanyDataMapper.js +17 -0
  8. package/dist/mappers/DeliveryMethodsMapper.d.ts +9 -0
  9. package/dist/mappers/DeliveryMethodsMapper.js +17 -0
  10. package/dist/mappers/FileConnectionMapper.d.ts +9 -0
  11. package/dist/mappers/FileConnectionMapper.js +17 -0
  12. package/dist/mappers/PaymentMethodsMapper.d.ts +9 -0
  13. package/dist/mappers/PaymentMethodsMapper.js +17 -0
  14. package/dist/query/QueryOptions.d.ts +6 -0
  15. package/dist/query/QueryOptions.js +25 -0
  16. package/dist/reader/ClientAccountReader.d.ts +6 -0
  17. package/dist/reader/ClientAccountReader.js +27 -10
  18. package/dist/reader/CompanyDataReader.d.ts +4 -0
  19. package/dist/reader/CompanyDataReader.js +27 -0
  20. package/dist/reader/DeliveryMethodReader.d.ts +1 -0
  21. package/dist/reader/DeliveryMethodReader.js +5 -0
  22. package/dist/reader/FileConnectionsReader.d.ts +6 -0
  23. package/dist/reader/FileConnectionsReader.js +25 -0
  24. package/dist/reader/ProductReader.d.ts +2 -0
  25. package/dist/reader/ProductReader.js +21 -0
  26. package/dist/reader/StatusTypesReader.d.ts +3 -0
  27. package/dist/reader/StatusTypesReader.js +8 -0
  28. package/dist/reader/payment/PaymentMethodReader.d.ts +1 -0
  29. package/dist/reader/payment/PaymentMethodReader.js +5 -0
  30. package/dist/repo/AdminRepo.d.ts +12 -0
  31. package/dist/repo/AdminRepo.js +32 -0
  32. package/dist/repo/ClientAccountRepo.d.ts +2 -0
  33. package/dist/repo/ClientAccountRepo.js +10 -0
  34. package/dist/repo/CompanyDataRepo.d.ts +4 -0
  35. package/dist/repo/CompanyDataRepo.js +11 -0
  36. package/dist/repo/ContactDetailsRepo.d.ts +1 -0
  37. package/dist/repo/ContactDetailsRepo.js +8 -3
  38. package/dist/repo/DeliveryMethodRepo.d.ts +4 -0
  39. package/dist/repo/DeliveryMethodRepo.js +11 -0
  40. package/dist/repo/FileConnectionsRepo.d.ts +7 -0
  41. package/dist/repo/FileConnectionsRepo.js +25 -0
  42. package/dist/repo/PaymentMethodRepo.d.ts +4 -0
  43. package/dist/repo/PaymentMethodRepo.js +11 -0
  44. package/dist/repo/ProductRepo.d.ts +1 -0
  45. package/dist/repo/ProductRepo.js +5 -0
  46. package/dist/stockObjects/CompanyData.d.ts +21 -0
  47. package/dist/stockObjects/CompanyData.js +51 -0
  48. package/dist/stockObjects/DeliveryDetails.d.ts +1 -0
  49. package/dist/stockObjects/DeliveryDetails.js +3 -0
  50. package/dist/stockObjects/DeliveryMethods.d.ts +12 -0
  51. package/dist/stockObjects/DeliveryMethods.js +26 -0
  52. package/dist/stockObjects/FileConnection.d.ts +18 -0
  53. package/dist/stockObjects/FileConnection.js +42 -0
  54. package/dist/stockObjects/Order.d.ts +1 -1
  55. package/dist/stockObjects/PaymentDetails.d.ts +1 -1
  56. package/dist/stockObjects/PaymentDetails.js +1 -1
  57. package/dist/stockObjects/PaymentMethods.d.ts +12 -0
  58. package/dist/stockObjects/PaymentMethods.js +26 -0
  59. package/dist/stockObjects/Product.d.ts +1 -1
  60. package/dist/stockObjects/Product.js +5 -2
  61. package/dist/tables/ClientAccountsTable.d.ts +5 -2
  62. package/dist/tables/ClientAccountsTable.js +16 -4
  63. package/dist/tables/ProductsTable.d.ts +10 -0
  64. package/dist/tables/ProductsTable.js +72 -0
  65. package/dist/tables/files/FileConnectionsTable.d.ts +12 -0
  66. package/dist/tables/files/FileConnectionsTable.js +41 -0
  67. package/dist/tables/personalInformation/ContactDetailsTable.d.ts +1 -1
  68. package/dist/tables/settings/CompanyDataTable.d.ts +10 -0
  69. package/dist/tables/settings/CompanyDataTable.js +37 -0
  70. package/dist/tables/settings/DeliveryMethodsTable.d.ts +12 -0
  71. package/dist/tables/settings/DeliveryMethodsTable.js +43 -0
  72. package/dist/tables/settings/PaymentMethodsTable.d.ts +12 -0
  73. package/dist/tables/settings/PaymentMethodsTable.js +43 -0
  74. package/dist/types/CompanyDataI.d.ts +8 -0
  75. package/dist/types/CompanyDataI.js +1 -0
  76. package/dist/types/FileConnectionI.d.ts +6 -0
  77. package/dist/types/FileConnectionI.js +1 -0
  78. package/dist/types/FileConnectionTypeE.d.ts +4 -0
  79. package/dist/types/FileConnectionTypeE.js +5 -0
  80. package/dist/types/PersonalDataI.d.ts +1 -1
  81. package/dist/types/QueryOptionsI.d.ts +2 -1
  82. package/dist/types/parameters/ParameterType.d.ts +12 -9
  83. package/dist/types/parameters/ParameterType.js +12 -9
  84. package/dist/types/rows/CompanyDataRow.d.ts +8 -0
  85. package/dist/types/rows/CompanyDataRow.js +1 -0
  86. package/dist/types/rows/DeliveryMethodRow.d.ts +5 -0
  87. package/dist/types/rows/DeliveryMethodRow.js +1 -0
  88. package/dist/types/rows/FileConnectionRow.d.ts +6 -0
  89. package/dist/types/rows/FileConnectionRow.js +1 -0
  90. package/dist/types/rows/PaymentMethodRow.d.ts +5 -0
  91. package/dist/types/rows/PaymentMethodRow.js +1 -0
  92. package/dist/utils/Filters.d.ts +6 -0
  93. package/dist/utils/Filters.js +31 -0
  94. package/dist/utils/OrderByI.d.ts +4 -0
  95. package/dist/utils/OrderByI.js +1 -0
  96. package/dist/utils/Parameters.d.ts +5 -0
  97. package/dist/utils/Parameters.js +23 -0
  98. package/dist/utils/parameters/ParameterConversionSystem.d.ts +5 -0
  99. package/dist/utils/parameters/ParameterConversionSystem.js +28 -0
  100. package/dist/utils/parameters/ParameterFilterSystem.d.ts +4 -0
  101. package/dist/utils/parameters/ParameterFilterSystem.js +11 -0
  102. package/dist/utils/parameters/ParameterRulesSystem.d.ts +3 -0
  103. package/dist/utils/parameters/ParameterRulesSystem.js +8 -0
  104. package/package.json +1 -1
  105. package/dist/tables/store-settings/DeliveryMethodsTable.d.ts +0 -6
  106. package/dist/tables/store-settings/DeliveryMethodsTable.js +0 -15
  107. package/dist/tables/store-settings/PaymentMethodsTable.d.ts +0 -6
  108. package/dist/tables/store-settings/PaymentMethodsTable.js +0 -15
@@ -2,4 +2,5 @@ import PaymentMethodI from "../../types/PaymentMethodI";
2
2
  export default class PaymentMethodReader {
3
3
  static get(paymentMethodId: number): Promise<PaymentMethodI>;
4
4
  static getAll(): Promise<PaymentMethodI[]>;
5
+ static getAllActive(): Promise<PaymentMethodI[]>;
5
6
  }
@@ -10,4 +10,9 @@ export default class PaymentMethodReader {
10
10
  const paymentMethods = await connection.paymentMethods.selectAll();
11
11
  return paymentMethods;
12
12
  }
13
+ static async getAllActive() {
14
+ const connection = DatabaseConnection.get();
15
+ const paymentMethods = await connection.paymentMethods.selectAllActive();
16
+ return paymentMethods;
17
+ }
13
18
  }
@@ -0,0 +1,12 @@
1
+ import Admin from "../stockObjects/Admin";
2
+ import QueryOptionsI from "../types/QueryOptionsI";
3
+ export default class AdminRepo {
4
+ static get(accountId: number): Promise<Admin>;
5
+ static getIdForEmail(email: string): Promise<number>;
6
+ static getAll(queryOptions: QueryOptionsI): Promise<{
7
+ adminAccounts: Admin[];
8
+ quantity: number;
9
+ }>;
10
+ private static createAdminsFromRows;
11
+ private static createAdminFromRow;
12
+ }
@@ -0,0 +1,32 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import Admin from "../stockObjects/Admin";
3
+ export default class AdminRepo {
4
+ static async get(accountId) {
5
+ const connection = DatabaseConnection.get();
6
+ const account = await connection.adminAccounts.select(accountId);
7
+ return this.createAdminFromRow(account);
8
+ }
9
+ static async getIdForEmail(email) {
10
+ const connection = DatabaseConnection.get();
11
+ return await connection.adminAccounts.selectForEmail(email);
12
+ }
13
+ static async getAll(queryOptions) {
14
+ const connection = DatabaseConnection.get();
15
+ const adminAccounts = await connection.adminAccounts.selectAll(queryOptions);
16
+ const quantity = await connection.adminAccounts.count(queryOptions);
17
+ return { adminAccounts: this.createAdminsFromRows(adminAccounts), quantity };
18
+ }
19
+ static createAdminsFromRows(dataRows) {
20
+ const admins = [];
21
+ for (const dataRow of dataRows) {
22
+ const admin = this.createAdminFromRow(dataRow);
23
+ admins.push(admin);
24
+ }
25
+ return admins;
26
+ }
27
+ static createAdminFromRow(dataRow) {
28
+ const admin = new Admin(dataRow.email, dataRow.first_name, dataRow.last_name, dataRow.activated, dataRow.deleted, dataRow.created_at);
29
+ admin.setId(dataRow.id);
30
+ return admin;
31
+ }
32
+ }
@@ -1,5 +1,7 @@
1
1
  import Client from "../stockObjects/Client";
2
2
  export default class ClientAccountRepo {
3
3
  static get(accountId: number): Promise<Client>;
4
+ static getById(clientId: number): Promise<Client>;
5
+ static getEmailForId(clientId: number): Promise<string>;
4
6
  private static createCilentAccountFromRow;
5
7
  }
@@ -6,6 +6,16 @@ export default class ClientAccountRepo {
6
6
  const accountData = await connection.accounts.select(accountId);
7
7
  return this.createCilentAccountFromRow(accountData);
8
8
  }
9
+ static async getById(clientId) {
10
+ const connection = DatabaseConnection.get();
11
+ const client = await connection.accounts.select(clientId);
12
+ return this.createCilentAccountFromRow(client);
13
+ }
14
+ static async getEmailForId(clientId) {
15
+ const connection = DatabaseConnection.get();
16
+ const email = await connection.accounts.selectEmail(clientId);
17
+ return email;
18
+ }
9
19
  static createCilentAccountFromRow(accountData) {
10
20
  const client = new Client(accountData.email, accountData.activated, accountData.deleted, accountData.contact_details_id, accountData.delivery_details_id, accountData.invoice_details_id, accountData.created_at);
11
21
  client.setId(accountData.id);
@@ -0,0 +1,4 @@
1
+ import CompanyData from "../stockObjects/CompanyData";
2
+ export default class CompanyDataRepo {
3
+ static get(): Promise<CompanyData>;
4
+ }
@@ -0,0 +1,11 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import CompanyData from "../stockObjects/CompanyData";
3
+ export default class CompanyDataRepo {
4
+ static async get() {
5
+ const connection = DatabaseConnection.get();
6
+ const companyDataRow = await connection.companyData.select();
7
+ const companyData = new CompanyData(companyDataRow.name, companyDataRow.tax_number, companyDataRow.phone_number, companyDataRow.email, companyDataRow.address_id);
8
+ companyData.setId(companyDataRow.id);
9
+ return companyData;
10
+ }
11
+ }
@@ -1,5 +1,6 @@
1
1
  import ContactDetails from "../stockObjects/ContactDetails";
2
2
  export default class ContactDetailsRepo {
3
3
  static get(contactDetailsId: number): Promise<ContactDetails>;
4
+ static getNextId(): Promise<number>;
4
5
  private static createContactDetailsFromRow;
5
6
  }
@@ -6,9 +6,14 @@ export default class ContactDetailsRepo {
6
6
  const contactDetailsRow = await connection.contactDetails.select(contactDetailsId);
7
7
  return this.createContactDetailsFromRow(contactDetailsRow);
8
8
  }
9
+ static async getNextId() {
10
+ const connection = DatabaseConnection.get();
11
+ const contactDetails = await connection.contactDetails.selectNextId();
12
+ return contactDetails;
13
+ }
9
14
  static createContactDetailsFromRow(contactDetailsRow) {
10
- const invoiceDetails = new ContactDetails(contactDetailsRow.personal_data_id, contactDetailsRow.address_id);
11
- invoiceDetails.setId(contactDetailsRow.id);
12
- return invoiceDetails;
15
+ const contactDetails = new ContactDetails(contactDetailsRow.personal_data_id, contactDetailsRow.address_id);
16
+ contactDetails.setId(contactDetailsRow.id);
17
+ return contactDetails;
13
18
  }
14
19
  }
@@ -0,0 +1,4 @@
1
+ import DeliveryMethods from "../stockObjects/DeliveryMethods";
2
+ export default class DeliveryMethodRepo {
3
+ static get(id: number): Promise<DeliveryMethods>;
4
+ }
@@ -0,0 +1,11 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import DeliveryMethods from "../stockObjects/DeliveryMethods";
3
+ export default class DeliveryMethodRepo {
4
+ static async get(id) {
5
+ const connection = DatabaseConnection.get();
6
+ const deliveryMethodsRow = await connection.deliveryMethods.select(id);
7
+ const deliveryMethods = new DeliveryMethods(deliveryMethodsRow.key, deliveryMethodsRow.active);
8
+ deliveryMethods.setId(deliveryMethodsRow.id);
9
+ return deliveryMethods;
10
+ }
11
+ }
@@ -0,0 +1,7 @@
1
+ import FileConnection from "../stockObjects/FileConnection";
2
+ export default class FileConnectionsRepo {
3
+ static getAllForFileId(fileId: number): Promise<FileConnection[]>;
4
+ static deleteAllForConnection(connectionType: string, connectionId: number): Promise<boolean>;
5
+ private static correctFileConnections;
6
+ private static correctFileConnection;
7
+ }
@@ -0,0 +1,25 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import FileConnection from "../stockObjects/FileConnection";
3
+ export default class FileConnectionsRepo {
4
+ static async getAllForFileId(fileId) {
5
+ const connection = DatabaseConnection.get();
6
+ const fileConnections = await connection.fileConnections.selectForFileId(fileId);
7
+ return this.correctFileConnections(fileConnections);
8
+ }
9
+ static async deleteAllForConnection(connectionType, connectionId) {
10
+ const connection = DatabaseConnection.get();
11
+ return await connection.fileConnections.deleteForConnection(connectionType, connectionId);
12
+ }
13
+ static correctFileConnections(dataRows) {
14
+ const fileConnections = [];
15
+ for (const dataRow of dataRows) {
16
+ const fileConnection = this.correctFileConnection(dataRow);
17
+ fileConnections.push(fileConnection);
18
+ }
19
+ return fileConnections;
20
+ }
21
+ static correctFileConnection(fileConnections) {
22
+ const correctFileConnection = new FileConnection(fileConnections.file_id, fileConnections.connection_type, fileConnections.connection_id, fileConnections.sequence);
23
+ return correctFileConnection;
24
+ }
25
+ }
@@ -0,0 +1,4 @@
1
+ import PaymentMethods from "../stockObjects/PaymentMethods";
2
+ export default class PaymentMethodRepo {
3
+ static get(id: number): Promise<PaymentMethods>;
4
+ }
@@ -0,0 +1,11 @@
1
+ import DatabaseConnection from "../DatabaseConnection";
2
+ import PaymentMethods from "../stockObjects/PaymentMethods";
3
+ export default class PaymentMethodRepo {
4
+ static async get(id) {
5
+ const connection = DatabaseConnection.get();
6
+ const paymentMethodsRow = await connection.paymentMethods.select(id);
7
+ const paymentMethods = new PaymentMethods(paymentMethodsRow.key, paymentMethodsRow.active);
8
+ paymentMethods.setId(paymentMethodsRow.id);
9
+ return paymentMethods;
10
+ }
11
+ }
@@ -1,5 +1,6 @@
1
1
  import Product from "../stockObjects/Product";
2
2
  export default class ProductRepo {
3
3
  static get(productId: number): Promise<Product>;
4
+ static getForSku(productSku: string): Promise<Product>;
4
5
  private static createProductFromRow;
5
6
  }
@@ -6,6 +6,11 @@ export default class ProductRepo {
6
6
  const product = await connection.products.select(productId);
7
7
  return this.createProductFromRow(product);
8
8
  }
9
+ static async getForSku(productSku) {
10
+ const connection = DatabaseConnection.get();
11
+ const product = await connection.products.selectForSku(productSku);
12
+ return this.createProductFromRow(product);
13
+ }
9
14
  static createProductFromRow(productRow) {
10
15
  const product = new Product(productRow.sku, productRow.url, productRow.title, productRow.description, productRow.net_price, productRow.vat, productRow.color, productRow.quantity, productRow.width, productRow.length, productRow.height, productRow.file_id, productRow.deleted);
11
16
  product.setId(productRow.id);
@@ -0,0 +1,21 @@
1
+ import StockObject from "../types/StockObject";
2
+ import StockObjectMapper from "../types/StockObjectMapper";
3
+ export default class CompanyData extends StockObject {
4
+ private name;
5
+ private email;
6
+ private taxNumber;
7
+ private phoneNumber;
8
+ private addressId;
9
+ constructor(name: string, email: string, taxNumber: string, phoneNumber: string, addressId: number);
10
+ getAddressId(): number | null;
11
+ getEmail(): string;
12
+ getTaxNumber(): string;
13
+ getPhoneNumber(): string;
14
+ getName(): string;
15
+ setAddressId(addressId: number): number;
16
+ setEmail(email: string): string;
17
+ setTaxNumber(taxNumber: string): string;
18
+ setPhoneNumber(phoneNumber: string): string;
19
+ setName(name: string): string;
20
+ protected getMapper(): StockObjectMapper;
21
+ }
@@ -0,0 +1,51 @@
1
+ import CompanyDataMapper from "../mappers/CompanyDataMapper";
2
+ import StockObject from "../types/StockObject";
3
+ export default class CompanyData extends StockObject {
4
+ name;
5
+ email;
6
+ taxNumber;
7
+ phoneNumber;
8
+ addressId;
9
+ constructor(name, email, taxNumber, phoneNumber, addressId) {
10
+ super();
11
+ this.name = name;
12
+ this.email = email;
13
+ this.taxNumber = taxNumber;
14
+ this.phoneNumber = phoneNumber;
15
+ this.email = email;
16
+ this.addressId = addressId;
17
+ }
18
+ getAddressId() {
19
+ return this.addressId;
20
+ }
21
+ getEmail() {
22
+ return this.email;
23
+ }
24
+ getTaxNumber() {
25
+ return this.taxNumber;
26
+ }
27
+ getPhoneNumber() {
28
+ return this.phoneNumber;
29
+ }
30
+ getName() {
31
+ return this.name;
32
+ }
33
+ setAddressId(addressId) {
34
+ return this.addressId = addressId;
35
+ }
36
+ setEmail(email) {
37
+ return this.email = email;
38
+ }
39
+ setTaxNumber(taxNumber) {
40
+ return this.taxNumber = taxNumber;
41
+ }
42
+ setPhoneNumber(phoneNumber) {
43
+ return this.phoneNumber = phoneNumber;
44
+ }
45
+ setName(name) {
46
+ return this.name = name;
47
+ }
48
+ getMapper() {
49
+ return new CompanyDataMapper(this);
50
+ }
51
+ }
@@ -11,5 +11,6 @@ export default class DeliveryDetails extends StockObject {
11
11
  setAddressId(addressId: number): number;
12
12
  setPersonalDataId(personalDataId: number): number;
13
13
  setDeliveryDetailsId(deliveryMethodId: number): number;
14
+ setDeliveryMethodId(deliveryMethodId: number): number;
14
15
  protected getMapper(): StockObjectMapper;
15
16
  }
@@ -28,6 +28,9 @@ export default class DeliveryDetails extends StockObject {
28
28
  setDeliveryDetailsId(deliveryMethodId) {
29
29
  return this.deliveryMethodId = deliveryMethodId;
30
30
  }
31
+ setDeliveryMethodId(deliveryMethodId) {
32
+ return this.deliveryMethodId = deliveryMethodId;
33
+ }
31
34
  getMapper() {
32
35
  return new DeliveryDetailsMapper(this);
33
36
  }
@@ -0,0 +1,12 @@
1
+ import StockObject from "../types/StockObject";
2
+ import StockObjectMapper from "../types/StockObjectMapper";
3
+ export default class DeliveryMethods extends StockObject {
4
+ private key;
5
+ private active;
6
+ constructor(key: string, active: boolean);
7
+ getKey(): string;
8
+ getActive(): boolean;
9
+ setKey(key: string): string;
10
+ setActive(active: boolean): boolean;
11
+ protected getMapper(): StockObjectMapper;
12
+ }
@@ -0,0 +1,26 @@
1
+ import DeliveryMethodsMapper from "../mappers/DeliveryMethodsMapper";
2
+ import StockObject from "../types/StockObject";
3
+ export default class DeliveryMethods extends StockObject {
4
+ key;
5
+ active;
6
+ constructor(key, active) {
7
+ super();
8
+ this.key = key;
9
+ this.active = active;
10
+ }
11
+ getKey() {
12
+ return this.key;
13
+ }
14
+ getActive() {
15
+ return this.active;
16
+ }
17
+ setKey(key) {
18
+ return this.key = key;
19
+ }
20
+ setActive(active) {
21
+ return this.active = active;
22
+ }
23
+ getMapper() {
24
+ return new DeliveryMethodsMapper(this);
25
+ }
26
+ }
@@ -0,0 +1,18 @@
1
+ import StockObject from "../types/StockObject";
2
+ import StockObjectMapper from "../types/StockObjectMapper";
3
+ export default class FileConnection extends StockObject {
4
+ private fileId;
5
+ private connectionType;
6
+ private connectionId;
7
+ private sequence;
8
+ constructor(fileId: number, connectionType: string, connectionId: number, sequence: number);
9
+ getFileId(): number;
10
+ getConnectionType(): string;
11
+ getConnectionId(): number;
12
+ getSequence(): number;
13
+ setFileId(fileId: number): void;
14
+ setConnectionType(connectionType: string): void;
15
+ setConnectionId(connectionId: number): void;
16
+ setSequence(sequence: number): void;
17
+ protected getMapper(): StockObjectMapper;
18
+ }
@@ -0,0 +1,42 @@
1
+ import FileConnectionMapper from "../mappers/FileConnectionMapper";
2
+ import StockObject from "../types/StockObject";
3
+ export default class FileConnection extends StockObject {
4
+ fileId;
5
+ connectionType;
6
+ connectionId;
7
+ sequence;
8
+ constructor(fileId, connectionType, connectionId, sequence) {
9
+ super();
10
+ this.fileId = fileId;
11
+ this.connectionType = connectionType;
12
+ this.connectionId = connectionId;
13
+ this.sequence = sequence;
14
+ }
15
+ getFileId() {
16
+ return this.fileId;
17
+ }
18
+ getConnectionType() {
19
+ return this.connectionType;
20
+ }
21
+ getConnectionId() {
22
+ return this.connectionId;
23
+ }
24
+ getSequence() {
25
+ return this.sequence;
26
+ }
27
+ setFileId(fileId) {
28
+ this.fileId = fileId;
29
+ }
30
+ setConnectionType(connectionType) {
31
+ this.connectionType = connectionType;
32
+ }
33
+ setConnectionId(connectionId) {
34
+ this.connectionId = connectionId;
35
+ }
36
+ setSequence(sequence) {
37
+ this.sequence = sequence;
38
+ }
39
+ getMapper() {
40
+ return new FileConnectionMapper(this);
41
+ }
42
+ }
@@ -22,7 +22,7 @@ export default class Order extends StockObject {
22
22
  }>;
23
23
  getEmail(): string;
24
24
  getPrice(): number;
25
- getZsiId(): number;
25
+ getZsiId(): number | null;
26
26
  getGrossPrice(): number;
27
27
  getclientId(): number;
28
28
  getContactDetailsId(): number | null;
@@ -6,7 +6,7 @@ export default class PaymentDetails extends StockObject {
6
6
  constructor(paymentMethodId: number, paymentOrderId: string | null);
7
7
  getPaymentMethodId(): number | null;
8
8
  getPaymentOrderId(): string | null;
9
- setPaymentDetailsId(paymentMethodId: number): number;
9
+ setPaymentMethodId(paymentMethodId: number): number;
10
10
  setPaymentOrderId(paymentOrderId: string): string;
11
11
  protected getMapper(): StockObjectMapper;
12
12
  }
@@ -14,7 +14,7 @@ export default class PaymentDetails extends StockObject {
14
14
  getPaymentOrderId() {
15
15
  return this.paymentOrderId;
16
16
  }
17
- setPaymentDetailsId(paymentMethodId) {
17
+ setPaymentMethodId(paymentMethodId) {
18
18
  return this.paymentMethodId = paymentMethodId;
19
19
  }
20
20
  setPaymentOrderId(paymentOrderId) {
@@ -0,0 +1,12 @@
1
+ import StockObject from "../types/StockObject";
2
+ import StockObjectMapper from "../types/StockObjectMapper";
3
+ export default class PaymentMethods extends StockObject {
4
+ private key;
5
+ private active;
6
+ constructor(key: string, active: boolean);
7
+ getKey(): string;
8
+ getActive(): boolean;
9
+ setKey(key: string): string;
10
+ setActive(active: boolean): boolean;
11
+ protected getMapper(): StockObjectMapper;
12
+ }
@@ -0,0 +1,26 @@
1
+ import PaymentMethodsMapper from "../mappers/PaymentMethodsMapper";
2
+ import StockObject from "../types/StockObject";
3
+ export default class PaymentMethods extends StockObject {
4
+ key;
5
+ active;
6
+ constructor(key, active) {
7
+ super();
8
+ this.key = key;
9
+ this.active = active;
10
+ }
11
+ getKey() {
12
+ return this.key;
13
+ }
14
+ getActive() {
15
+ return this.active;
16
+ }
17
+ setKey(key) {
18
+ return this.key = key;
19
+ }
20
+ setActive(active) {
21
+ return this.active = active;
22
+ }
23
+ getMapper() {
24
+ return new PaymentMethodsMapper(this);
25
+ }
26
+ }
@@ -34,7 +34,7 @@ export default class Product extends StockObject {
34
34
  getFileId(): number;
35
35
  getDeleted(): boolean;
36
36
  getFile(): Promise<FileI | null>;
37
- getFiles(): Promise<FileI[]>;
37
+ getFiles(): Promise<FileI[] | null>;
38
38
  setCreatedAt(createdAt: any): void;
39
39
  protected getMapper(): StockObjectMapper;
40
40
  }
@@ -87,8 +87,11 @@ export default class Product extends StockObject {
87
87
  }
88
88
  async getFiles() {
89
89
  if (!this.files) {
90
- const files = await FilesReader.getForConnection(FileConnectionE.product, this.getId());
91
- this.files = files;
90
+ const id = this.getId();
91
+ if (id) {
92
+ const files = await FilesReader.getForConnection(FileConnectionE.product, id);
93
+ this.files = files;
94
+ }
92
95
  }
93
96
  return this.files;
94
97
  }
@@ -1,14 +1,17 @@
1
1
  import Table from '../Table';
2
2
  import ClientAccountRow from '../types/rows/ClientAccountRow';
3
3
  import Client from '../stockObjects/Client';
4
+ import QueryOptions from '../query/QueryOptions';
4
5
  export default class ClientAccountsTable extends Table {
5
6
  select(accountId: number): Promise<ClientAccountRow>;
7
+ selectEmail(id: number): Promise<string>;
8
+ count(queryOptions: QueryOptions): Promise<number>;
9
+ selectAll(queryOptions: QueryOptions): Promise<ClientAccountRow[]>;
6
10
  selectForEmail(email: string): Promise<ClientAccountRow>;
7
- selectIdForEmail(email: string): Promise<number>;
8
11
  update(clientData: Client): Promise<void>;
9
12
  delete(accountId: number): Promise<number>;
10
13
  private bindParameters;
11
14
  insert(clientAccount: Client): Promise<void>;
12
- private getIdForEmail;
15
+ getIdForEmail(email: string): Promise<number>;
13
16
  private selectNextId;
14
17
  }
@@ -7,14 +7,26 @@ export default class ClientAccountsTable extends Table {
7
7
  const result = await query.execute();
8
8
  return result.getRow();
9
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
+ }
10
26
  async selectForEmail(email) {
11
27
  const id = await this.getIdForEmail(email);
12
28
  return await this.select(id);
13
29
  }
14
- async selectIdForEmail(email) {
15
- const id = await this.getIdForEmail(email);
16
- return id;
17
- }
18
30
  async update(clientData) {
19
31
  const query = this.createQuery(SQL.accounts.update);
20
32
  query.bindParameter('id', clientData.getId());
@@ -1,9 +1,19 @@
1
1
  import Table from '../Table';
2
2
  import QueryOptionsI from '../types/QueryOptionsI';
3
3
  import ProductRow from '../types/rows/ProductRow';
4
+ import Product from '../stockObjects/Product';
4
5
  export default class ProductsTable extends Table {
5
6
  select(productId: number): Promise<ProductRow>;
7
+ selectForSku(sku: string): Promise<ProductRow>;
8
+ selectIdForSku(sku: string): Promise<number>;
9
+ selectListForOrder(): Promise<ProductRow[]>;
6
10
  selectAll(queryOption: QueryOptionsI): Promise<ProductRow[]>;
7
11
  selectForUrl(url: string): Promise<ProductRow>;
12
+ insert(productData: Product): Promise<number>;
8
13
  count(queryOption: QueryOptionsI): Promise<number>;
14
+ update(product: Product): Promise<boolean>;
15
+ delete(productId: number): Promise<number>;
16
+ restore(product: Product): Promise<number>;
17
+ private bindParameters;
18
+ private selectNextId;
9
19
  }