types-salon-management 1.0.63 → 1.0.64

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 (30) hide show
  1. package/dist/api/inventory/index.d.ts +2 -0
  2. package/dist/api/inventory/index.d.ts.map +1 -1
  3. package/dist/api/inventory/index.js +2 -0
  4. package/dist/api/inventory/index.js.map +1 -1
  5. package/dist/api/inventory/inventory.constants.d.ts +2 -0
  6. package/dist/api/inventory/inventory.constants.d.ts.map +1 -1
  7. package/dist/api/inventory/inventory.constants.js +3 -1
  8. package/dist/api/inventory/inventory.constants.js.map +1 -1
  9. package/dist/api/inventory/product.requests.d.ts +5 -0
  10. package/dist/api/inventory/product.requests.d.ts.map +1 -1
  11. package/dist/api/inventory/stock-movement.dto.d.ts +24 -0
  12. package/dist/api/inventory/stock-movement.dto.d.ts.map +1 -0
  13. package/dist/api/inventory/stock-movement.dto.js +3 -0
  14. package/dist/api/inventory/stock-movement.dto.js.map +1 -0
  15. package/dist/api/inventory/stock-movement.requests.d.ts +26 -0
  16. package/dist/api/inventory/stock-movement.requests.d.ts.map +1 -0
  17. package/dist/api/inventory/stock-movement.requests.js +3 -0
  18. package/dist/api/inventory/stock-movement.requests.js.map +1 -0
  19. package/dist/enum/movement-category.d.ts +1 -0
  20. package/dist/enum/movement-category.d.ts.map +1 -1
  21. package/dist/enum/movement-category.js +1 -0
  22. package/dist/enum/movement-category.js.map +1 -1
  23. package/package.json +1 -1
  24. package/src/api/inventory/index.ts +2 -0
  25. package/src/api/inventory/inventory.constants.ts +3 -0
  26. package/src/api/inventory/product.requests.ts +5 -0
  27. package/src/api/inventory/stock-movement.dto.ts +25 -0
  28. package/src/api/inventory/stock-movement.requests.ts +29 -0
  29. package/src/enum/movement-category.ts +1 -0
  30. package/types-salon-management-1.0.63.tgz +0 -0
@@ -9,4 +9,6 @@ export * from './warehouse.dto';
9
9
  export * from './warehouse.requests';
10
10
  export * from './product.dto';
11
11
  export * from './product.requests';
12
+ export * from './stock-movement.dto';
13
+ export * from './stock-movement.requests';
12
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/inventory/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/inventory/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC"}
@@ -25,4 +25,6 @@ __exportStar(require("./warehouse.dto"), exports);
25
25
  __exportStar(require("./warehouse.requests"), exports);
26
26
  __exportStar(require("./product.dto"), exports);
27
27
  __exportStar(require("./product.requests"), exports);
28
+ __exportStar(require("./stock-movement.dto"), exports);
29
+ __exportStar(require("./stock-movement.requests"), exports);
28
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/inventory/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,yDAAuC;AACvC,8DAA4C;AAC5C,8CAA4B;AAC5B,mDAAiC;AACjC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,gDAA8B;AAC9B,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/inventory/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,yDAAuC;AACvC,8DAA4C;AAC5C,8CAA4B;AAC5B,mDAAiC;AACjC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,gDAA8B;AAC9B,qDAAmC;AACnC,uDAAqC;AACrC,4DAA0C"}
@@ -34,4 +34,6 @@ export declare const ProductUnitMeasurement: {
34
34
  readonly BOX: "box";
35
35
  };
36
36
  export type ProductUnitMeasurement = (typeof ProductUnitMeasurement)[keyof typeof ProductUnitMeasurement];
37
+ /** `ListProductsQuery.categoryId` / `brandId`: only rows with that FK null. Omit the param for All. */
38
+ export declare const ProductMasterFilterNone: "none";
37
39
  //# sourceMappingURL=inventory.constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inventory.constants.d.ts","sourceRoot":"","sources":["../../../src/api/inventory/inventory.constants.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,eAAO,MAAM,uBAAuB;;;CAG1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE,2DAA2D;AAC3D,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,0FAA0F;AAC1F,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF,kDAAkD;AAClD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;CAczB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"inventory.constants.d.ts","sourceRoot":"","sources":["../../../src/api/inventory/inventory.constants.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,eAAO,MAAM,uBAAuB;;;CAG1B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE,2DAA2D;AAC3D,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE/E,0FAA0F;AAC1F,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AAEX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF,kDAAkD;AAClD,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;CAczB,CAAC;AAEX,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAEvE,uGAAuG;AACvG,eAAO,MAAM,uBAAuB,QAAkB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProductUnitMeasurement = exports.ProductTaxMode = exports.ProductIntent = exports.InventoryCreationSource = void 0;
3
+ exports.ProductMasterFilterNone = exports.ProductUnitMeasurement = exports.ProductTaxMode = exports.ProductIntent = exports.InventoryCreationSource = void 0;
4
4
  /** How an inventory master record came to exist. */
5
5
  exports.InventoryCreationSource = {
6
6
  FORM: 'form',
@@ -33,4 +33,6 @@ exports.ProductUnitMeasurement = {
33
33
  PCS: 'pcs',
34
34
  BOX: 'box',
35
35
  };
36
+ /** `ListProductsQuery.categoryId` / `brandId`: only rows with that FK null. Omit the param for All. */
37
+ exports.ProductMasterFilterNone = 'none';
36
38
  //# sourceMappingURL=inventory.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inventory.constants.js","sourceRoot":"","sources":["../../../src/api/inventory/inventory.constants.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACvC,QAAA,uBAAuB,GAAG;IACrC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACR,CAAC;AAKX,2DAA2D;AAC9C,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,0FAA0F;AAC7E,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAIX,kDAAkD;AACrC,QAAA,sBAAsB,GAAG;IACpC,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,GAAG;IACN,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACF,CAAC"}
1
+ {"version":3,"file":"inventory.constants.js","sourceRoot":"","sources":["../../../src/api/inventory/inventory.constants.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACvC,QAAA,uBAAuB,GAAG;IACrC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACR,CAAC;AAKX,2DAA2D;AAC9C,QAAA,aAAa,GAAG;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;CACJ,CAAC;AAIX,0FAA0F;AAC7E,QAAA,cAAc,GAAG;IAC5B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;CACR,CAAC;AAIX,kDAAkD;AACrC,QAAA,sBAAsB,GAAG;IACpC,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,GAAG;IACN,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,CAAC,EAAE,GAAG;IACN,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACF,CAAC;AAKX,uGAAuG;AAC1F,QAAA,uBAAuB,GAAG,MAAe,CAAC"}
@@ -1,13 +1,16 @@
1
1
  import type { PaginatedResult } from '../pagination';
2
2
  import type { ProductIntent, ProductTaxMode, ProductUnitMeasurement } from './inventory.constants';
3
3
  import type { ProductSummaryDto } from './product.dto';
4
+ import type { OpeningQuantityInput } from './stock-movement.requests';
4
5
  export interface ListProductsQuery {
5
6
  page?: number;
6
7
  pageSize?: number;
7
8
  search?: string;
8
9
  active?: boolean;
9
10
  intent?: ProductIntent;
11
+ /** Category UUID, or `none` for Uncategorized. Omit for all. */
10
12
  categoryId?: string;
13
+ /** Brand UUID, or `none` for No brand. Omit for all. */
11
14
  brandId?: string;
12
15
  supplierId?: string;
13
16
  }
@@ -46,6 +49,8 @@ export interface CreateProductRequest {
46
49
  clientDescription?: string | null;
47
50
  photos?: ProductPhotoInput[];
48
51
  stockPositions?: StockPositionInput[];
52
+ /** Create-only initial on-hand per location or warehouse. Writes opening movements. */
53
+ openingQuantities?: OpeningQuantityInput[];
49
54
  }
50
55
  export interface UpdateProductRequest {
51
56
  name?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"product.requests.d.ts","sourceRoot":"","sources":["../../../src/api/inventory/product.requests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"product.requests.d.ts","sourceRoot":"","sources":["../../../src/api/inventory/product.requests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { AuditActor } from '../audit';
2
+ import type { MovementCategory, MovementDirection } from '../../enum';
3
+ export interface StockMovementPlaceRefDto {
4
+ locationId: string | null;
5
+ warehouseId: string | null;
6
+ locationName: string | null;
7
+ warehouseName: string | null;
8
+ }
9
+ export interface StockMovementDto {
10
+ id: string;
11
+ productId: string;
12
+ place: StockMovementPlaceRefDto;
13
+ quantity: number;
14
+ direction: MovementDirection;
15
+ category: MovementCategory;
16
+ reason: string | null;
17
+ reasonId: string | null;
18
+ note: string | null;
19
+ onHandBefore: number;
20
+ onHandAfter: number;
21
+ createdAt: string;
22
+ createdBy: AuditActor | null;
23
+ }
24
+ //# sourceMappingURL=stock-movement.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-movement.dto.d.ts","sourceRoot":"","sources":["../../../src/api/inventory/stock-movement.dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,wBAAwB,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,UAAU,GAAG,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=stock-movement.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-movement.dto.js","sourceRoot":"","sources":["../../../src/api/inventory/stock-movement.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { PaginatedResult } from '../pagination';
2
+ import type { MovementCategory, MovementDirection } from '../../enum';
3
+ import type { StockMovementDto } from './stock-movement.dto';
4
+ export interface ListProductMovementsQuery {
5
+ page?: number;
6
+ pageSize?: number;
7
+ locationId?: string;
8
+ warehouseId?: string;
9
+ category?: MovementCategory;
10
+ }
11
+ export type ProductMovementListResult = PaginatedResult<StockMovementDto>;
12
+ export interface CreateStockMovementRequest {
13
+ locationId?: string;
14
+ warehouseId?: string;
15
+ direction: MovementDirection;
16
+ quantity: number;
17
+ reason: string;
18
+ reasonId?: string;
19
+ note?: string | null;
20
+ }
21
+ export interface OpeningQuantityInput {
22
+ locationId?: string | null;
23
+ warehouseId?: string | null;
24
+ quantity: number;
25
+ }
26
+ //# sourceMappingURL=stock-movement.requests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-movement.requests.d.ts","sourceRoot":"","sources":["../../../src/api/inventory/stock-movement.requests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,MAAM,yBAAyB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;AAE1E,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=stock-movement.requests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stock-movement.requests.js","sourceRoot":"","sources":["../../../src/api/inventory/stock-movement.requests.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  export declare enum MovementCategory {
2
2
  Manual = "manual",
3
+ Opening = "opening",
3
4
  Sale = "sale",
4
5
  StockTake = "stockTake",
5
6
  Purchase = "purchase",
@@ -1 +1 @@
1
- {"version":3,"file":"movement-category.d.ts","sourceRoot":"","sources":["../../src/enum/movement-category.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B"}
1
+ {"version":3,"file":"movement-category.d.ts","sourceRoot":"","sources":["../../src/enum/movement-category.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,UAAU,eAAe;CAC1B"}
@@ -4,6 +4,7 @@ exports.MovementCategory = void 0;
4
4
  var MovementCategory;
5
5
  (function (MovementCategory) {
6
6
  MovementCategory["Manual"] = "manual";
7
+ MovementCategory["Opening"] = "opening";
7
8
  MovementCategory["Sale"] = "sale";
8
9
  MovementCategory["StockTake"] = "stockTake";
9
10
  MovementCategory["Purchase"] = "purchase";
@@ -1 +1 @@
1
- {"version":3,"file":"movement-category.js","sourceRoot":"","sources":["../../src/enum/movement-category.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;AAC3B,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B"}
1
+ {"version":3,"file":"movement-category.js","sourceRoot":"","sources":["../../src/enum/movement-category.ts"],"names":[],"mappings":";;;AAAA,IAAY,gBAQX;AARD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,iCAAa,CAAA;IACb,2CAAuB,CAAA;IACvB,yCAAqB,CAAA;IACrB,yCAAqB,CAAA;IACrB,6CAAyB,CAAA;AAC3B,CAAC,EARW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAQ3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "types-salon-management",
3
- "version": "1.0.63",
3
+ "version": "1.0.64",
4
4
  "description": "Types for Salon Management",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,3 +9,5 @@ export * from './warehouse.dto';
9
9
  export * from './warehouse.requests';
10
10
  export * from './product.dto';
11
11
  export * from './product.requests';
12
+ export * from './stock-movement.dto';
13
+ export * from './stock-movement.requests';
@@ -43,3 +43,6 @@ export const ProductUnitMeasurement = {
43
43
 
44
44
  export type ProductUnitMeasurement =
45
45
  (typeof ProductUnitMeasurement)[keyof typeof ProductUnitMeasurement];
46
+
47
+ /** `ListProductsQuery.categoryId` / `brandId`: only rows with that FK null. Omit the param for All. */
48
+ export const ProductMasterFilterNone = 'none' as const;
@@ -1,6 +1,7 @@
1
1
  import type { PaginatedResult } from '../pagination';
2
2
  import type { ProductIntent, ProductTaxMode, ProductUnitMeasurement } from './inventory.constants';
3
3
  import type { ProductSummaryDto } from './product.dto';
4
+ import type { OpeningQuantityInput } from './stock-movement.requests';
4
5
 
5
6
  export interface ListProductsQuery {
6
7
  page?: number;
@@ -8,7 +9,9 @@ export interface ListProductsQuery {
8
9
  search?: string;
9
10
  active?: boolean;
10
11
  intent?: ProductIntent;
12
+ /** Category UUID, or `none` for Uncategorized. Omit for all. */
11
13
  categoryId?: string;
14
+ /** Brand UUID, or `none` for No brand. Omit for all. */
12
15
  brandId?: string;
13
16
  supplierId?: string;
14
17
  }
@@ -52,6 +55,8 @@ export interface CreateProductRequest {
52
55
  clientDescription?: string | null;
53
56
  photos?: ProductPhotoInput[];
54
57
  stockPositions?: StockPositionInput[];
58
+ /** Create-only initial on-hand per location or warehouse. Writes opening movements. */
59
+ openingQuantities?: OpeningQuantityInput[];
55
60
  }
56
61
 
57
62
  export interface UpdateProductRequest {
@@ -0,0 +1,25 @@
1
+ import type { AuditActor } from '../audit';
2
+ import type { MovementCategory, MovementDirection } from '../../enum';
3
+
4
+ export interface StockMovementPlaceRefDto {
5
+ locationId: string | null;
6
+ warehouseId: string | null;
7
+ locationName: string | null;
8
+ warehouseName: string | null;
9
+ }
10
+
11
+ export interface StockMovementDto {
12
+ id: string;
13
+ productId: string;
14
+ place: StockMovementPlaceRefDto;
15
+ quantity: number;
16
+ direction: MovementDirection;
17
+ category: MovementCategory;
18
+ reason: string | null;
19
+ reasonId: string | null;
20
+ note: string | null;
21
+ onHandBefore: number;
22
+ onHandAfter: number;
23
+ createdAt: string;
24
+ createdBy: AuditActor | null;
25
+ }
@@ -0,0 +1,29 @@
1
+ import type { PaginatedResult } from '../pagination';
2
+ import type { MovementCategory, MovementDirection } from '../../enum';
3
+ import type { StockMovementDto } from './stock-movement.dto';
4
+
5
+ export interface ListProductMovementsQuery {
6
+ page?: number;
7
+ pageSize?: number;
8
+ locationId?: string;
9
+ warehouseId?: string;
10
+ category?: MovementCategory;
11
+ }
12
+
13
+ export type ProductMovementListResult = PaginatedResult<StockMovementDto>;
14
+
15
+ export interface CreateStockMovementRequest {
16
+ locationId?: string;
17
+ warehouseId?: string;
18
+ direction: MovementDirection;
19
+ quantity: number;
20
+ reason: string;
21
+ reasonId?: string;
22
+ note?: string | null;
23
+ }
24
+
25
+ export interface OpeningQuantityInput {
26
+ locationId?: string | null;
27
+ warehouseId?: string | null;
28
+ quantity: number;
29
+ }
@@ -1,5 +1,6 @@
1
1
  export enum MovementCategory {
2
2
  Manual = "manual",
3
+ Opening = "opening",
3
4
  Sale = "sale",
4
5
  StockTake = "stockTake",
5
6
  Purchase = "purchase",