@merkaly/api 0.2.0 → 0.2.1-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 (87) hide show
  1. package/.output/app.d.ts +47 -2
  2. package/.output/app.js +25 -0
  3. package/.output/config/app.document.d.ts +5 -8
  4. package/.output/config/app.document.js +32 -0
  5. package/.output/config/app.entity.d.ts +0 -1
  6. package/.output/config/app.entity.js +31 -0
  7. package/.output/config/app.validator.d.ts +0 -1
  8. package/.output/config/app.validator.js +6 -0
  9. package/.output/src/auth/auth.validator.d.ts +0 -2
  10. package/.output/src/auth/auth.validator.js +15 -0
  11. package/.output/src/inventory/brands/brand.document.d.ts +0 -1
  12. package/.output/src/inventory/brands/brand.document.js +24 -0
  13. package/.output/src/inventory/brands/brand.entity.d.ts +0 -1
  14. package/.output/src/inventory/brands/brand.entity.js +24 -0
  15. package/.output/src/inventory/brands/brand.validator.d.ts +0 -1
  16. package/.output/src/inventory/brands/brand.validator.js +47 -0
  17. package/.output/src/inventory/categories/category.document.d.ts +0 -1
  18. package/.output/src/inventory/categories/category.document.js +24 -0
  19. package/.output/src/inventory/categories/category.entity.d.ts +0 -1
  20. package/.output/src/inventory/categories/category.entity.js +24 -0
  21. package/.output/src/inventory/categories/category.validator.d.ts +0 -2
  22. package/.output/src/inventory/categories/category.validator.js +50 -0
  23. package/.output/src/inventory/media/media.document.d.ts +0 -1
  24. package/.output/src/inventory/media/media.document.js +24 -0
  25. package/.output/src/inventory/media/media.entity.d.ts +0 -1
  26. package/.output/src/inventory/media/media.entity.js +24 -0
  27. package/.output/src/inventory/media/media.validator.d.ts +0 -2
  28. package/.output/src/inventory/media/media.validator.js +32 -0
  29. package/.output/src/inventory/products/product.document.d.ts +1 -1
  30. package/.output/src/inventory/products/product.document.js +48 -0
  31. package/.output/src/inventory/products/product.entity.d.ts +0 -1
  32. package/.output/src/inventory/products/product.entity.js +67 -0
  33. package/.output/src/inventory/products/product.validator.d.ts +1 -3
  34. package/.output/src/inventory/products/product.validator.js +124 -0
  35. package/.output/src/inventory/variants/variant.document.d.ts +0 -1
  36. package/.output/src/inventory/variants/variant.document.js +34 -0
  37. package/.output/src/inventory/variants/variant.entity.d.ts +0 -1
  38. package/.output/src/inventory/variants/variant.entity.js +44 -0
  39. package/.output/src/inventory/variants/variant.validator.d.ts +0 -2
  40. package/.output/src/inventory/variants/variant.validator.js +88 -0
  41. package/.output/src/store/orders/order.document.d.ts +0 -1
  42. package/.output/src/store/orders/order.document.js +24 -0
  43. package/.output/src/store/orders/order.entity.d.ts +0 -1
  44. package/.output/src/store/orders/order.entity.js +19 -0
  45. package/.output/src/store/orders/order.validator.d.ts +0 -2
  46. package/.output/src/store/orders/order.validator.js +17 -0
  47. package/index.ts +24 -0
  48. package/package.json +6 -2
  49. package/.output/config/app.config.d.ts +0 -28
  50. package/.output/config/app.controller.d.ts +0 -11
  51. package/.output/config/app.exception.d.ts +0 -11
  52. package/.output/config/app.middleware.d.ts +0 -3
  53. package/.output/config/app.module.d.ts +0 -6
  54. package/.output/config/app.repository.d.ts +0 -24
  55. package/.output/config/app.router.d.ts +0 -6
  56. package/.output/src/auth/auth.controller.d.ts +0 -9
  57. package/.output/src/auth/auth.decorator.d.ts +0 -5
  58. package/.output/src/auth/auth.guard.d.ts +0 -16
  59. package/.output/src/auth/auth.module.d.ts +0 -9
  60. package/.output/src/auth/auth.repository.d.ts +0 -11
  61. package/.output/src/auth/auth.strategy.d.ts +0 -18
  62. package/.output/src/inventory/brands/brand.controller.d.ts +0 -15
  63. package/.output/src/inventory/brands/brand.exception.d.ts +0 -6
  64. package/.output/src/inventory/brands/brand.module.d.ts +0 -8
  65. package/.output/src/inventory/brands/brand.repository.d.ts +0 -9
  66. package/.output/src/inventory/categories/category.controller.d.ts +0 -12
  67. package/.output/src/inventory/categories/category.exception.d.ts +0 -6
  68. package/.output/src/inventory/categories/category.module.d.ts +0 -8
  69. package/.output/src/inventory/categories/category.repository.d.ts +0 -9
  70. package/.output/src/inventory/inventory.module.d.ts +0 -14
  71. package/.output/src/inventory/media/media.controller.d.ts +0 -6
  72. package/.output/src/inventory/media/media.exception.d.ts +0 -6
  73. package/.output/src/inventory/media/media.module.d.ts +0 -8
  74. package/.output/src/inventory/media/media.repository.d.ts +0 -9
  75. package/.output/src/inventory/products/product.controller.d.ts +0 -14
  76. package/.output/src/inventory/products/product.exception.d.ts +0 -6
  77. package/.output/src/inventory/products/product.module.d.ts +0 -8
  78. package/.output/src/inventory/products/product.repository.d.ts +0 -11
  79. package/.output/src/inventory/variants/variant.controller.d.ts +0 -9
  80. package/.output/src/inventory/variants/variant.exception.d.ts +0 -6
  81. package/.output/src/inventory/variants/variant.module.d.ts +0 -8
  82. package/.output/src/inventory/variants/variant.repository.d.ts +0 -9
  83. package/.output/src/store/orders/order.controller.d.ts +0 -12
  84. package/.output/src/store/orders/order.exception.d.ts +0 -6
  85. package/.output/src/store/orders/order.module.d.ts +0 -8
  86. package/.output/src/store/orders/order.repository.d.ts +0 -9
  87. package/.output/src/store/store.module.d.ts +0 -10
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProductEntity = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const app_entity_1 = require("../../../config/app.entity");
6
+ const brand_entity_1 = require("../brands/brand.entity");
7
+ const category_entity_1 = require("../categories/category.entity");
8
+ const media_entity_1 = require("../media/media.entity");
9
+ const variant_entity_1 = require("../variants/variant.entity");
10
+ let ProductEntity = class ProductEntity extends app_entity_1.AppEntity {
11
+ constructor() {
12
+ super(...arguments);
13
+ this.active = true;
14
+ this.availableFrom = new Date();
15
+ this.hashtags = [];
16
+ }
17
+ get isOutOfStock() {
18
+ return this.variants.every(variant => variant.isOutOfStock);
19
+ }
20
+ get isDraft() {
21
+ return this.active === true;
22
+ }
23
+ };
24
+ __decorate([
25
+ (0, typeorm_1.Column)({ length: 64 }),
26
+ __metadata("design:type", String)
27
+ ], ProductEntity.prototype, "name", void 0);
28
+ __decorate([
29
+ (0, typeorm_1.Column)({ type: 'text', nullable: true }),
30
+ __metadata("design:type", String)
31
+ ], ProductEntity.prototype, "description", void 0);
32
+ __decorate([
33
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
34
+ __metadata("design:type", Object)
35
+ ], ProductEntity.prototype, "active", void 0);
36
+ __decorate([
37
+ (0, typeorm_1.Column)({ type: 'datetime', nullable: true }),
38
+ __metadata("design:type", Object)
39
+ ], ProductEntity.prototype, "availableFrom", void 0);
40
+ __decorate([
41
+ (0, typeorm_1.Column)({ type: 'simple-array', nullable: true }),
42
+ __metadata("design:type", Array)
43
+ ], ProductEntity.prototype, "hashtags", void 0);
44
+ __decorate([
45
+ (0, typeorm_1.ManyToOne)(() => category_entity_1.CategoryEntity, ({ products }) => products),
46
+ __metadata("design:type", category_entity_1.CategoryEntity)
47
+ ], ProductEntity.prototype, "category", void 0);
48
+ __decorate([
49
+ (0, typeorm_1.ManyToOne)(() => brand_entity_1.BrandEntity, ({ products }) => products),
50
+ __metadata("design:type", brand_entity_1.BrandEntity)
51
+ ], ProductEntity.prototype, "brand", void 0);
52
+ __decorate([
53
+ (0, typeorm_1.ManyToOne)(() => variant_entity_1.VariantEntity, ({ product }) => product),
54
+ __metadata("design:type", variant_entity_1.VariantEntity)
55
+ ], ProductEntity.prototype, "variant", void 0);
56
+ __decorate([
57
+ (0, typeorm_1.OneToMany)(() => variant_entity_1.VariantEntity, ({ product }) => product),
58
+ __metadata("design:type", Array)
59
+ ], ProductEntity.prototype, "variants", void 0);
60
+ __decorate([
61
+ (0, typeorm_1.OneToMany)(() => media_entity_1.MediaEntity, ({ product }) => product),
62
+ __metadata("design:type", Array)
63
+ ], ProductEntity.prototype, "media", void 0);
64
+ ProductEntity = __decorate([
65
+ (0, typeorm_1.Entity)('inventory_products')
66
+ ], ProductEntity);
67
+ exports.ProductEntity = ProductEntity;
@@ -1,5 +1,4 @@
1
1
  import { Id } from '@elastic/elasticsearch/lib/api/types';
2
- import 'reflect-metadata';
3
2
  import { AppValidator } from '../../../config/app.validator';
4
3
  import { CreateVariantValidator } from '../variants/variant.validator';
5
4
  import { ProductEntity } from './product.entity';
@@ -11,7 +10,7 @@ export declare class CreateProductValidator extends AppValidator<ProductEntity>
11
10
  category?: Id;
12
11
  brand?: Id;
13
12
  hashtags: string[];
14
- variants: CreateVariantValidator[];
13
+ variants?: CreateVariantValidator[];
15
14
  toEntity(): ProductEntity;
16
15
  }
17
16
  export declare class UpdateProductValidator extends AppValidator<ProductEntity> {
@@ -23,4 +22,3 @@ export declare class UpdateProductValidator extends AppValidator<ProductEntity>
23
22
  active: boolean;
24
23
  toEntity(entity: ProductEntity): ProductEntity;
25
24
  }
26
- //# sourceMappingURL=product.validator.d.ts.map
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateProductValidator = exports.CreateProductValidator = void 0;
4
+ const class_transformer_1 = require("class-transformer");
5
+ const class_validator_1 = require("class-validator");
6
+ const app_validator_1 = require("../../../config/app.validator");
7
+ const brand_entity_1 = require("../brands/brand.entity");
8
+ const category_entity_1 = require("../categories/category.entity");
9
+ const variant_validator_1 = require("../variants/variant.validator");
10
+ const product_entity_1 = require("./product.entity");
11
+ class CreateProductValidator extends app_validator_1.AppValidator {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.active = true;
15
+ this.hashtags = [];
16
+ this.variants = [];
17
+ }
18
+ toEntity() {
19
+ const entity = new product_entity_1.ProductEntity();
20
+ entity.name = this.name;
21
+ entity.description = this.description;
22
+ entity.brand = new brand_entity_1.BrandEntity(this.brand);
23
+ entity.category = new category_entity_1.CategoryEntity(this.category);
24
+ entity.active = this.active;
25
+ entity.hashtags = this.hashtags;
26
+ entity.availableFrom = new Date(this.availableFrom || null);
27
+ return entity;
28
+ }
29
+ }
30
+ __decorate([
31
+ (0, class_validator_1.IsString)(),
32
+ __metadata("design:type", String)
33
+ ], CreateProductValidator.prototype, "name", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.IsOptional)(),
37
+ __metadata("design:type", String)
38
+ ], CreateProductValidator.prototype, "description", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsDateString)(),
41
+ (0, class_validator_1.IsOptional)(),
42
+ __metadata("design:type", Date)
43
+ ], CreateProductValidator.prototype, "availableFrom", void 0);
44
+ __decorate([
45
+ (0, class_validator_1.IsBoolean)(),
46
+ (0, class_validator_1.IsOptional)(),
47
+ __metadata("design:type", Object)
48
+ ], CreateProductValidator.prototype, "active", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.IsUUID)(),
52
+ __metadata("design:type", String)
53
+ ], CreateProductValidator.prototype, "category", void 0);
54
+ __decorate([
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsUUID)(),
57
+ __metadata("design:type", String)
58
+ ], CreateProductValidator.prototype, "brand", void 0);
59
+ __decorate([
60
+ (0, class_validator_1.IsOptional)(),
61
+ (0, class_validator_1.IsString)({ each: true }),
62
+ __metadata("design:type", Array)
63
+ ], CreateProductValidator.prototype, "hashtags", void 0);
64
+ __decorate([
65
+ (0, class_validator_1.ValidateNested)({ each: true }),
66
+ (0, class_transformer_1.Type)(() => variant_validator_1.CreateVariantValidator),
67
+ (0, class_validator_1.IsOptional)(),
68
+ __metadata("design:type", Array)
69
+ ], CreateProductValidator.prototype, "variants", void 0);
70
+ exports.CreateProductValidator = CreateProductValidator;
71
+ class UpdateProductValidator extends app_validator_1.AppValidator {
72
+ toEntity(entity) {
73
+ if (this.brand) {
74
+ entity.brand = new brand_entity_1.BrandEntity(this.brand);
75
+ }
76
+ if (this.category) {
77
+ entity.category = new category_entity_1.CategoryEntity(this.category);
78
+ }
79
+ if (this.description) {
80
+ entity.description = this.description;
81
+ }
82
+ if (this.hashtags) {
83
+ entity.hashtags = this.hashtags;
84
+ }
85
+ if (this.name) {
86
+ entity.name = this.name;
87
+ }
88
+ if (this.active) {
89
+ entity.active = this.active;
90
+ }
91
+ return entity;
92
+ }
93
+ }
94
+ __decorate([
95
+ (0, class_validator_1.IsString)(),
96
+ (0, class_validator_1.IsOptional)(),
97
+ __metadata("design:type", String)
98
+ ], UpdateProductValidator.prototype, "name", void 0);
99
+ __decorate([
100
+ (0, class_validator_1.IsString)(),
101
+ (0, class_validator_1.IsOptional)(),
102
+ __metadata("design:type", String)
103
+ ], UpdateProductValidator.prototype, "description", void 0);
104
+ __decorate([
105
+ (0, class_validator_1.IsOptional)(),
106
+ (0, class_validator_1.IsPositive)(),
107
+ __metadata("design:type", String)
108
+ ], UpdateProductValidator.prototype, "category", void 0);
109
+ __decorate([
110
+ (0, class_validator_1.IsOptional)(),
111
+ (0, class_validator_1.IsPositive)(),
112
+ __metadata("design:type", String)
113
+ ], UpdateProductValidator.prototype, "brand", void 0);
114
+ __decorate([
115
+ (0, class_validator_1.IsOptional)(),
116
+ (0, class_validator_1.IsString)({ each: true }),
117
+ __metadata("design:type", Array)
118
+ ], UpdateProductValidator.prototype, "hashtags", void 0);
119
+ __decorate([
120
+ (0, class_validator_1.IsBoolean)(),
121
+ (0, class_validator_1.IsOptional)(),
122
+ __metadata("design:type", Boolean)
123
+ ], UpdateProductValidator.prototype, "active", void 0);
124
+ exports.UpdateProductValidator = UpdateProductValidator;
@@ -7,4 +7,3 @@ export declare class VariantDocument extends AppDocument<VariantEntity> {
7
7
  active: boolean;
8
8
  protected transform(entity: VariantEntity): this;
9
9
  }
10
- //# sourceMappingURL=variant.document.d.ts.map
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VariantDocument = void 0;
4
+ const es_mapping_ts_1 = require("es-mapping-ts");
5
+ const app_document_1 = require("../../../config/app.document");
6
+ let VariantDocument = class VariantDocument extends app_document_1.AppDocument {
7
+ transform(entity) {
8
+ this.sku = entity.sku;
9
+ this.quantity = entity.quantity;
10
+ this.price = entity.price;
11
+ this.active = entity.active;
12
+ return this;
13
+ }
14
+ };
15
+ __decorate([
16
+ (0, es_mapping_ts_1.EsField)({ type: 'keyword' }),
17
+ __metadata("design:type", String)
18
+ ], VariantDocument.prototype, "sku", void 0);
19
+ __decorate([
20
+ (0, es_mapping_ts_1.EsField)({ type: 'float' }),
21
+ __metadata("design:type", Number)
22
+ ], VariantDocument.prototype, "quantity", void 0);
23
+ __decorate([
24
+ (0, es_mapping_ts_1.EsField)({ type: 'integer' }),
25
+ __metadata("design:type", Number)
26
+ ], VariantDocument.prototype, "price", void 0);
27
+ __decorate([
28
+ (0, es_mapping_ts_1.EsField)({ type: 'boolean' }),
29
+ __metadata("design:type", Boolean)
30
+ ], VariantDocument.prototype, "active", void 0);
31
+ VariantDocument = __decorate([
32
+ (0, es_mapping_ts_1.EsEntity)({ mixins: [app_document_1.AppDocument] })
33
+ ], VariantDocument);
34
+ exports.VariantDocument = VariantDocument;
@@ -9,4 +9,3 @@ export declare class VariantEntity extends AppEntity {
9
9
  get isOutOfStock(): boolean;
10
10
  get isDraft(): boolean;
11
11
  }
12
- //# sourceMappingURL=variant.entity.d.ts.map
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VariantEntity = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const app_entity_1 = require("../../../config/app.entity");
6
+ const product_entity_1 = require("../products/product.entity");
7
+ let VariantEntity = class VariantEntity extends app_entity_1.AppEntity {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.price = 0;
11
+ this.quantity = 1;
12
+ this.active = true;
13
+ }
14
+ get isOutOfStock() {
15
+ return this.quantity === 0;
16
+ }
17
+ get isDraft() {
18
+ return this.active === true;
19
+ }
20
+ };
21
+ __decorate([
22
+ (0, typeorm_1.Column)({ length: 32, unique: true }),
23
+ __metadata("design:type", String)
24
+ ], VariantEntity.prototype, "sku", void 0);
25
+ __decorate([
26
+ (0, typeorm_1.Column)({ type: 'int', default: 0 }),
27
+ __metadata("design:type", Object)
28
+ ], VariantEntity.prototype, "price", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'float', default: 1 }),
31
+ __metadata("design:type", Object)
32
+ ], VariantEntity.prototype, "quantity", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
35
+ __metadata("design:type", Object)
36
+ ], VariantEntity.prototype, "active", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.ManyToOne)(() => product_entity_1.ProductEntity, ({ variants }) => variants),
39
+ __metadata("design:type", product_entity_1.ProductEntity)
40
+ ], VariantEntity.prototype, "product", void 0);
41
+ VariantEntity = __decorate([
42
+ (0, typeorm_1.Entity)('inventory_variants')
43
+ ], VariantEntity);
44
+ exports.VariantEntity = VariantEntity;
@@ -1,4 +1,3 @@
1
- import 'reflect-metadata';
2
1
  import { AppValidator } from '../../../config/app.validator';
3
2
  import { ProductEntity } from '../products/product.entity';
4
3
  import { VariantEntity } from './variant.entity';
@@ -16,4 +15,3 @@ export declare class UpdateVariantValidator extends AppValidator<VariantEntity>
16
15
  active: any;
17
16
  toEntity(entity: VariantEntity): VariantEntity;
18
17
  }
19
- //# sourceMappingURL=variant.validator.d.ts.map
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateVariantValidator = exports.CreateVariantValidator = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const app_validator_1 = require("../../../config/app.validator");
6
+ const variant_entity_1 = require("./variant.entity");
7
+ class CreateVariantValidator extends app_validator_1.AppValidator {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.price = 0;
11
+ this.quantity = 1;
12
+ this.active = true;
13
+ }
14
+ toEntity(product) {
15
+ const entity = new variant_entity_1.VariantEntity();
16
+ entity.sku = this.sku;
17
+ entity.price = this.price;
18
+ entity.quantity = this.quantity;
19
+ entity.active = this.active;
20
+ if (product) {
21
+ entity.product = product;
22
+ }
23
+ return entity;
24
+ }
25
+ }
26
+ __decorate([
27
+ (0, class_validator_1.IsNumber)(),
28
+ (0, class_validator_1.Min)(0),
29
+ __metadata("design:type", Object)
30
+ ], CreateVariantValidator.prototype, "price", void 0);
31
+ __decorate([
32
+ (0, class_validator_1.Length)(1, 32),
33
+ __metadata("design:type", String)
34
+ ], CreateVariantValidator.prototype, "sku", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsPositive)(),
37
+ (0, class_validator_1.IsOptional)(),
38
+ __metadata("design:type", Object)
39
+ ], CreateVariantValidator.prototype, "quantity", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsBoolean)(),
42
+ (0, class_validator_1.IsOptional)(),
43
+ __metadata("design:type", Object)
44
+ ], CreateVariantValidator.prototype, "active", void 0);
45
+ exports.CreateVariantValidator = CreateVariantValidator;
46
+ class UpdateVariantValidator extends app_validator_1.AppValidator {
47
+ constructor() {
48
+ super(...arguments);
49
+ this.price = 0;
50
+ this.quantity = 1;
51
+ }
52
+ toEntity(entity) {
53
+ if (this.sku) {
54
+ entity.sku = this.sku;
55
+ }
56
+ if (this.price) {
57
+ entity.price = this.price;
58
+ }
59
+ if (this.quantity) {
60
+ entity.quantity = this.quantity;
61
+ }
62
+ if (this.active) {
63
+ entity.active = this.active;
64
+ }
65
+ return entity;
66
+ }
67
+ }
68
+ __decorate([
69
+ (0, class_validator_1.IsNumber)(),
70
+ (0, class_validator_1.Min)(0),
71
+ (0, class_validator_1.IsOptional)(),
72
+ __metadata("design:type", Object)
73
+ ], UpdateVariantValidator.prototype, "price", void 0);
74
+ __decorate([
75
+ (0, class_validator_1.IsOptional)(),
76
+ __metadata("design:type", String)
77
+ ], UpdateVariantValidator.prototype, "sku", void 0);
78
+ __decorate([
79
+ (0, class_validator_1.IsPositive)(),
80
+ (0, class_validator_1.IsOptional)(),
81
+ __metadata("design:type", Object)
82
+ ], UpdateVariantValidator.prototype, "quantity", void 0);
83
+ __decorate([
84
+ (0, class_validator_1.IsBoolean)(),
85
+ (0, class_validator_1.IsOptional)(),
86
+ __metadata("design:type", Object)
87
+ ], UpdateVariantValidator.prototype, "active", void 0);
88
+ exports.UpdateVariantValidator = UpdateVariantValidator;
@@ -5,4 +5,3 @@ export declare class OrderDocument extends AppDocument<OrderEntity> {
5
5
  price: number;
6
6
  protected transform(entity: OrderEntity): this;
7
7
  }
8
- //# sourceMappingURL=order.document.d.ts.map
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderDocument = void 0;
4
+ const es_mapping_ts_1 = require("es-mapping-ts");
5
+ const app_document_1 = require("../../../config/app.document");
6
+ let OrderDocument = class OrderDocument extends app_document_1.AppDocument {
7
+ transform(entity) {
8
+ this.number = entity.number;
9
+ this.price = entity.price;
10
+ return this;
11
+ }
12
+ };
13
+ __decorate([
14
+ (0, es_mapping_ts_1.EsField)({ type: 'text' }),
15
+ __metadata("design:type", String)
16
+ ], OrderDocument.prototype, "number", void 0);
17
+ __decorate([
18
+ (0, es_mapping_ts_1.EsField)({ type: 'integer' }),
19
+ __metadata("design:type", Number)
20
+ ], OrderDocument.prototype, "price", void 0);
21
+ OrderDocument = __decorate([
22
+ (0, es_mapping_ts_1.EsEntity)({ mixins: [app_document_1.AppDocument] })
23
+ ], OrderDocument);
24
+ exports.OrderDocument = OrderDocument;
@@ -3,4 +3,3 @@ export declare class OrderEntity extends AppEntity {
3
3
  number: string;
4
4
  price: number;
5
5
  }
6
- //# sourceMappingURL=order.entity.d.ts.map
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderEntity = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ const app_entity_1 = require("../../../config/app.entity");
6
+ let OrderEntity = class OrderEntity extends app_entity_1.AppEntity {
7
+ };
8
+ __decorate([
9
+ (0, typeorm_1.Column)({ type: 'varchar', length: 16 }),
10
+ __metadata("design:type", String)
11
+ ], OrderEntity.prototype, "number", void 0);
12
+ __decorate([
13
+ (0, typeorm_1.Column)({ type: 'int' }),
14
+ __metadata("design:type", Number)
15
+ ], OrderEntity.prototype, "price", void 0);
16
+ OrderEntity = __decorate([
17
+ (0, typeorm_1.Entity)('store_orders')
18
+ ], OrderEntity);
19
+ exports.OrderEntity = OrderEntity;
@@ -1,4 +1,3 @@
1
- import 'reflect-metadata';
2
1
  import { AppValidator } from '../../../config/app.validator';
3
2
  import { OrderEntity } from './order.entity';
4
3
  export declare class CreateOrderValidator extends AppValidator<OrderEntity> {
@@ -7,4 +6,3 @@ export declare class CreateOrderValidator extends AppValidator<OrderEntity> {
7
6
  export declare class UpdateOrderValidator extends AppValidator<OrderEntity> {
8
7
  toEntity(entity: OrderEntity): OrderEntity;
9
8
  }
10
- //# sourceMappingURL=order.validator.d.ts.map
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdateOrderValidator = exports.CreateOrderValidator = void 0;
4
+ const app_validator_1 = require("../../../config/app.validator");
5
+ const order_entity_1 = require("./order.entity");
6
+ class CreateOrderValidator extends app_validator_1.AppValidator {
7
+ toEntity() {
8
+ return new order_entity_1.OrderEntity();
9
+ }
10
+ }
11
+ exports.CreateOrderValidator = CreateOrderValidator;
12
+ class UpdateOrderValidator extends app_validator_1.AppValidator {
13
+ toEntity(entity) {
14
+ return entity;
15
+ }
16
+ }
17
+ exports.UpdateOrderValidator = UpdateOrderValidator;
package/index.ts ADDED
@@ -0,0 +1,24 @@
1
+ import { BrandDocument } from './src/inventory/brands/brand.document'
2
+ import * as BrandValidators from './src/inventory/brands/brand.validator'
3
+ import { CategoryDocument } from './src/inventory/categories/category.document'
4
+ import * as CategoryValidators from './src/inventory/categories/category.validator'
5
+ import { MediaDocument } from './src/inventory/media/media.document'
6
+ import * as MediaValidators from './src/inventory/media/media.validator'
7
+ import { ProductDocument } from './src/inventory/products/product.document'
8
+ import * as ProductValidators from './src/inventory/products/product.validator'
9
+ import { VariantDocument } from './src/inventory/variants/variant.document'
10
+ import * as VariantValidators from './src/inventory/variants/variant.validator'
11
+ import { OrderDocument } from './src/store/orders/order.document'
12
+ import * as OrderValidators from './src/store/orders/order.validator'
13
+
14
+ export const Inventory = {
15
+ Brand: { BrandDocument, ...BrandValidators },
16
+ Category: { CategoryDocument, ...CategoryValidators },
17
+ Product: { ProductDocument, ...ProductValidators },
18
+ Media: { MediaDocument, ...MediaValidators },
19
+ Variant: { VariantDocument, ...VariantValidators }
20
+ }
21
+
22
+ export const Store = {
23
+ Order: { OrderDocument, ...OrderValidators }
24
+ }
package/package.json CHANGED
@@ -1,14 +1,18 @@
1
1
  {
2
2
  "name": "@merkaly/api",
3
- "version": "0.2.0",
3
+ "version": "0.2.1-2",
4
4
  "description": "NestJS Backend ApiRest Service",
5
5
  "author": "Randy Tellez Galan <kronhyx@gmail.com>",
6
6
  "license": "UNLICENSED",
7
7
  "main": "./.output/app.js",
8
8
  "types": "./.output/app.d.ts",
9
+ "files": [
10
+ ".output",
11
+ "index.ts"
12
+ ],
9
13
  "scripts": {
10
14
  "prebuild": "yarn run clean",
11
- "prepack": "yarn build",
15
+ "prepack": ".bin/package.sh",
12
16
  "postpack": "yarn run clean",
13
17
  "build": "nest build",
14
18
  "clean": "tsc -b --clean",
@@ -1,28 +0,0 @@
1
- import { HttpModuleOptions } from '@nestjs/axios/dist/interfaces';
2
- import { ElasticsearchModuleOptions } from '@nestjs/elasticsearch';
3
- import { TypeOrmModuleOptions } from '@nestjs/typeorm/dist/interfaces/typeorm-options.interface';
4
- export declare abstract class AppConfig {
5
- static get elasticsearch(): ElasticsearchModuleOptions;
6
- static get axios(): HttpModuleOptions;
7
- static get auth0(): {
8
- domain: string;
9
- audience: string;
10
- client: string;
11
- secret: string;
12
- realm: string;
13
- };
14
- static get sentry(): {
15
- dsn: string;
16
- debug: boolean;
17
- environment: string;
18
- };
19
- static get server(): {
20
- port: string | number;
21
- name: string;
22
- description: string;
23
- version: string;
24
- tenant: string;
25
- };
26
- static get database(): TypeOrmModuleOptions;
27
- }
28
- //# sourceMappingURL=app.config.d.ts.map
@@ -1,11 +0,0 @@
1
- import { Id, SearchResponse } from '@elastic/elasticsearch/lib/api/types';
2
- import { AppEntity } from './app.entity';
3
- import { SearchQuery } from './app.validator';
4
- export declare abstract class AppController<E extends AppEntity> {
5
- abstract find(validator?: SearchQuery): Promise<SearchResponse<E>>;
6
- abstract read(id: Id): Promise<unknown>;
7
- abstract create(validator: unknown): Promise<unknown>;
8
- abstract update(id: Id, validator: unknown): Promise<unknown>;
9
- abstract delete(id: Id): Promise<void>;
10
- }
11
- //# sourceMappingURL=app.controller.d.ts.map
@@ -1,11 +0,0 @@
1
- import { ArgumentsHost, ExceptionFilter, HttpException, Logger } from '@nestjs/common';
2
- import { Request, Response } from 'express';
3
- export declare abstract class AppException implements ExceptionFilter {
4
- protected request: Request;
5
- protected response: Response;
6
- protected host: ArgumentsHost;
7
- protected logger: Logger;
8
- catch(exception: HttpException, host: ArgumentsHost): HttpException | Response<any, Record<string, any>>;
9
- protected abstract handleError(exception: HttpException): HttpException;
10
- }
11
- //# sourceMappingURL=app.exception.d.ts.map
@@ -1,3 +0,0 @@
1
- import { NextFunction, Request, Response } from 'express';
2
- export declare function LoggerMiddleware(request: Request, response: Response, next: NextFunction): Promise<void>;
3
- //# sourceMappingURL=app.middleware.d.ts.map
@@ -1,6 +0,0 @@
1
- import { MiddlewareConsumer, ModuleMetadata, NestModule } from '@nestjs/common';
2
- export declare const metadata: ModuleMetadata;
3
- export declare class AppModule implements NestModule {
4
- configure(consumer: MiddlewareConsumer): MiddlewareConsumer;
5
- }
6
- //# sourceMappingURL=app.module.d.ts.map
@@ -1,24 +0,0 @@
1
- import { GetResponse, Id } from '@elastic/elasticsearch/lib/api/types';
2
- import { Logger, OnModuleInit } from '@nestjs/common';
3
- import { ElasticsearchService } from '@nestjs/elasticsearch';
4
- import { Repository } from 'typeorm';
5
- import { AppDocument } from './app.document';
6
- import { AppEntity } from './app.entity';
7
- import { AppValidator, SearchQuery } from './app.validator';
8
- export declare abstract class AppRepository<E extends AppEntity, D extends AppDocument<E> = AppDocument<E>> implements OnModuleInit {
9
- protected readonly $elastic: ElasticsearchService;
10
- protected readonly $logger: typeof Logger;
11
- protected abstract $document: D;
12
- protected abstract repository: Repository<E>;
13
- onModuleInit(): Promise<import("@elastic/elasticsearch/lib/api/types").IndicesResponseBase | import("@elastic/elasticsearch/lib/api/types").IndicesCreateResponse>;
14
- protected get $index(): string;
15
- protected get $routing(): string;
16
- find(search?: SearchQuery): Promise<import("@elastic/elasticsearch/lib/api/types").SearchResponse<E, Record<string, import("@elastic/elasticsearch/lib/api/types").AggregationsAggregate>>>;
17
- create(validator: AppValidator<any>): Promise<GetResponse<D>>;
18
- read(id: Id): Promise<GetResponse<D>>;
19
- update(id: Id, validator: AppValidator<any>): Promise<GetResponse<D>>;
20
- delete(id: Id): Promise<void>;
21
- protected $create(id: Id, document: AppDocument<AppEntity>): Promise<GetResponse<D>>;
22
- protected $update(id: Id, doc: AppDocument<AppEntity>): Promise<GetResponse<D>>;
23
- }
24
- //# sourceMappingURL=app.repository.d.ts.map
@@ -1,6 +0,0 @@
1
- export declare class AppRouter {
2
- static readonly path: string;
3
- static readonly module: typeof AppRouter;
4
- static readonly children?: any[];
5
- }
6
- //# sourceMappingURL=app.router.d.ts.map
@@ -1,9 +0,0 @@
1
- import { ObjectWithId, TokenResponse, User as Auth0User } from 'auth0';
2
- import { AuthRepository } from './auth.repository';
3
- import { LoginValidator } from './auth.validator';
4
- export declare class AuthController {
5
- protected readonly authRepository: AuthRepository;
6
- login({ username, password }: LoginValidator): Promise<Partial<TokenResponse>>;
7
- user(user: ObjectWithId['id']): Promise<Auth0User>;
8
- }
9
- //# sourceMappingURL=auth.controller.d.ts.map
@@ -1,5 +0,0 @@
1
- import { CustomDecorator } from '@nestjs/common';
2
- export declare const IS_PUBLIC_KEY = "isPublic";
3
- export declare const Public: () => CustomDecorator;
4
- export declare const User: (...dataOrPipes: unknown[]) => ParameterDecorator;
5
- //# sourceMappingURL=auth.decorator.d.ts.map