@boxa-devops/depo-shared 1.2.0 → 1.3.0

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.
package/dist/api.d.ts CHANGED
@@ -2768,6 +2768,147 @@ export interface paths {
2768
2768
  patch?: never;
2769
2769
  trace?: never;
2770
2770
  };
2771
+ "/api/v1/part-requests": {
2772
+ parameters: {
2773
+ query?: never;
2774
+ header?: never;
2775
+ path?: never;
2776
+ cookie?: never;
2777
+ };
2778
+ /**
2779
+ * List Requests
2780
+ * @description All visible requests, or with inbox=true only those waiting on the caller:
2781
+ * storekeeper — NEW/ORDERED, deputy — ESCALATED, master — his own open ones.
2782
+ */
2783
+ get: operations["list_requests_api_v1_part_requests_get"];
2784
+ put?: never;
2785
+ /** Create */
2786
+ post: operations["create_api_v1_part_requests_post"];
2787
+ delete?: never;
2788
+ options?: never;
2789
+ head?: never;
2790
+ patch?: never;
2791
+ trace?: never;
2792
+ };
2793
+ "/api/v1/part-requests/{request_id}/issue": {
2794
+ parameters: {
2795
+ query?: never;
2796
+ header?: never;
2797
+ path?: never;
2798
+ cookie?: never;
2799
+ };
2800
+ get?: never;
2801
+ put?: never;
2802
+ /**
2803
+ * Issue
2804
+ * @description Hand out from one warehouse. Partial is fine; all covered → ISSUED.
2805
+ *
2806
+ * One transaction: a shortage on any line rolls the whole call back.
2807
+ */
2808
+ post: operations["issue_api_v1_part_requests__request_id__issue_post"];
2809
+ delete?: never;
2810
+ options?: never;
2811
+ head?: never;
2812
+ patch?: never;
2813
+ trace?: never;
2814
+ };
2815
+ "/api/v1/part-requests/{request_id}/escalate": {
2816
+ parameters: {
2817
+ query?: never;
2818
+ header?: never;
2819
+ path?: never;
2820
+ cookie?: never;
2821
+ };
2822
+ get?: never;
2823
+ put?: never;
2824
+ /**
2825
+ * Escalate
2826
+ * @description Not (all) in stock: forward the remainder to the deputy head for repair.
2827
+ */
2828
+ post: operations["escalate_api_v1_part_requests__request_id__escalate_post"];
2829
+ delete?: never;
2830
+ options?: never;
2831
+ head?: never;
2832
+ patch?: never;
2833
+ trace?: never;
2834
+ };
2835
+ "/api/v1/part-requests/{request_id}/approve": {
2836
+ parameters: {
2837
+ query?: never;
2838
+ header?: never;
2839
+ path?: never;
2840
+ cookie?: never;
2841
+ };
2842
+ get?: never;
2843
+ put?: never;
2844
+ /**
2845
+ * Approve
2846
+ * @description Deputy confirms the purchase: ESCALATED → ORDERED.
2847
+ */
2848
+ post: operations["approve_api_v1_part_requests__request_id__approve_post"];
2849
+ delete?: never;
2850
+ options?: never;
2851
+ head?: never;
2852
+ patch?: never;
2853
+ trace?: never;
2854
+ };
2855
+ "/api/v1/part-requests/{request_id}/reject": {
2856
+ parameters: {
2857
+ query?: never;
2858
+ header?: never;
2859
+ path?: never;
2860
+ cookie?: never;
2861
+ };
2862
+ get?: never;
2863
+ put?: never;
2864
+ /**
2865
+ * Reject
2866
+ * @description Storekeeper rejects a NEW request, the deputy an ESCALATED one. Reason required.
2867
+ */
2868
+ post: operations["reject_api_v1_part_requests__request_id__reject_post"];
2869
+ delete?: never;
2870
+ options?: never;
2871
+ head?: never;
2872
+ patch?: never;
2873
+ trace?: never;
2874
+ };
2875
+ "/api/v1/part-requests/{request_id}/cancel": {
2876
+ parameters: {
2877
+ query?: never;
2878
+ header?: never;
2879
+ path?: never;
2880
+ cookie?: never;
2881
+ };
2882
+ get?: never;
2883
+ put?: never;
2884
+ /**
2885
+ * Cancel
2886
+ * @description The author withdraws a request nobody has acted on for good yet.
2887
+ */
2888
+ post: operations["cancel_api_v1_part_requests__request_id__cancel_post"];
2889
+ delete?: never;
2890
+ options?: never;
2891
+ head?: never;
2892
+ patch?: never;
2893
+ trace?: never;
2894
+ };
2895
+ "/api/v1/part-requests/{request_id}": {
2896
+ parameters: {
2897
+ query?: never;
2898
+ header?: never;
2899
+ path?: never;
2900
+ cookie?: never;
2901
+ };
2902
+ /** Get Request */
2903
+ get: operations["get_request_api_v1_part_requests__request_id__get"];
2904
+ put?: never;
2905
+ post?: never;
2906
+ delete?: never;
2907
+ options?: never;
2908
+ head?: never;
2909
+ patch?: never;
2910
+ trace?: never;
2911
+ };
2771
2912
  "/api/v1/plant-shipments": {
2772
2913
  parameters: {
2773
2914
  query?: never;
@@ -7295,6 +7436,24 @@ export interface components {
7295
7436
  /** Terminal Id */
7296
7437
  terminal_id?: string | null;
7297
7438
  };
7439
+ /**
7440
+ * IssueLineIn
7441
+ * @description QUANTITY line: `qty`. SERIAL line: `item_ids` (each card is one unit).
7442
+ */
7443
+ IssueLineIn: {
7444
+ /**
7445
+ * Line Id
7446
+ * Format: uuid
7447
+ */
7448
+ line_id: string;
7449
+ /** Qty */
7450
+ qty?: number | string | null;
7451
+ /**
7452
+ * Item Ids
7453
+ * @default []
7454
+ */
7455
+ item_ids: string[];
7456
+ };
7298
7457
  /**
7299
7458
  * ItemCandidate
7300
7459
  * @description One row of the search candidate list (TZ 6: selection screen card).
@@ -8395,6 +8554,8 @@ export interface components {
8395
8554
  disposition: number | null;
8396
8555
  /** Inventory Open */
8397
8556
  inventory_open: number | null;
8557
+ /** Part Requests Waiting */
8558
+ part_requests_waiting?: number | null;
8398
8559
  };
8399
8560
  /** NodeOut */
8400
8561
  NodeOut: {
@@ -9400,6 +9561,171 @@ export interface components {
9400
9561
  /** Cumulative Pct */
9401
9562
  cumulative_pct: number;
9402
9563
  };
9564
+ /**
9565
+ * PartRequestApprove
9566
+ * @description POST /part-requests/{id}/approve — deputy starts the purchase.
9567
+ */
9568
+ PartRequestApprove: {
9569
+ /**
9570
+ * Client Event Uuid
9571
+ * Format: uuid
9572
+ */
9573
+ client_event_uuid: string;
9574
+ /**
9575
+ * Event At
9576
+ * Format: date-time
9577
+ */
9578
+ event_at: string;
9579
+ /** Counterparty Id */
9580
+ counterparty_id?: string | null;
9581
+ /** Order Note */
9582
+ order_note?: string | null;
9583
+ };
9584
+ /**
9585
+ * PartRequestCreate
9586
+ * @description POST /part-requests — the master asks for parts.
9587
+ */
9588
+ PartRequestCreate: {
9589
+ /**
9590
+ * Client Event Uuid
9591
+ * Format: uuid
9592
+ */
9593
+ client_event_uuid: string;
9594
+ /**
9595
+ * Event At
9596
+ * Format: date-time
9597
+ */
9598
+ event_at: string;
9599
+ /**
9600
+ * Location Id
9601
+ * Format: uuid
9602
+ */
9603
+ location_id: string;
9604
+ /** Work Order Id */
9605
+ work_order_id?: string | null;
9606
+ /** Note */
9607
+ note?: string | null;
9608
+ /** Lines */
9609
+ lines: components["schemas"]["PartRequestLineIn"][];
9610
+ };
9611
+ /**
9612
+ * PartRequestIssue
9613
+ * @description POST /part-requests/{id}/issue — storekeeper hands out from a warehouse.
9614
+ */
9615
+ PartRequestIssue: {
9616
+ /**
9617
+ * Client Event Uuid
9618
+ * Format: uuid
9619
+ */
9620
+ client_event_uuid: string;
9621
+ /**
9622
+ * Event At
9623
+ * Format: date-time
9624
+ */
9625
+ event_at: string;
9626
+ /**
9627
+ * Warehouse Id
9628
+ * Format: uuid
9629
+ */
9630
+ warehouse_id: string;
9631
+ /** Lines */
9632
+ lines: components["schemas"]["IssueLineIn"][];
9633
+ };
9634
+ /** PartRequestLineIn */
9635
+ PartRequestLineIn: {
9636
+ /**
9637
+ * Nomenclature Id
9638
+ * Format: uuid
9639
+ */
9640
+ nomenclature_id: string;
9641
+ /** Qty */
9642
+ qty: number | string;
9643
+ };
9644
+ /** PartRequestLineOut */
9645
+ PartRequestLineOut: {
9646
+ /**
9647
+ * Id
9648
+ * Format: uuid
9649
+ */
9650
+ id: string;
9651
+ /**
9652
+ * Nomenclature Id
9653
+ * Format: uuid
9654
+ */
9655
+ nomenclature_id: string;
9656
+ /** Qty */
9657
+ qty: string;
9658
+ /** Issued Qty */
9659
+ issued_qty: string;
9660
+ };
9661
+ /**
9662
+ * PartRequestNote
9663
+ * @description escalate / reject / cancel.
9664
+ */
9665
+ PartRequestNote: {
9666
+ /**
9667
+ * Client Event Uuid
9668
+ * Format: uuid
9669
+ */
9670
+ client_event_uuid: string;
9671
+ /**
9672
+ * Event At
9673
+ * Format: date-time
9674
+ */
9675
+ event_at: string;
9676
+ /** Note */
9677
+ note?: string | null;
9678
+ };
9679
+ /** PartRequestOut */
9680
+ PartRequestOut: {
9681
+ /**
9682
+ * Id
9683
+ * Format: uuid
9684
+ */
9685
+ id: string;
9686
+ /** Number */
9687
+ number: string;
9688
+ /** Status */
9689
+ status: string;
9690
+ /**
9691
+ * Location Id
9692
+ * Format: uuid
9693
+ */
9694
+ location_id: string;
9695
+ /** Work Order Id */
9696
+ work_order_id: string | null;
9697
+ /** Note */
9698
+ note: string | null;
9699
+ /**
9700
+ * Requested By
9701
+ * Format: uuid
9702
+ */
9703
+ requested_by: string;
9704
+ /**
9705
+ * Requested At
9706
+ * Format: date-time
9707
+ */
9708
+ requested_at: string;
9709
+ /** Keeper Id */
9710
+ keeper_id: string | null;
9711
+ /** Keeper At */
9712
+ keeper_at: string | null;
9713
+ /** Deputy Id */
9714
+ deputy_id: string | null;
9715
+ /** Deputy At */
9716
+ deputy_at: string | null;
9717
+ /** Counterparty Id */
9718
+ counterparty_id: string | null;
9719
+ /** Order Note */
9720
+ order_note: string | null;
9721
+ /** Decision Note */
9722
+ decision_note: string | null;
9723
+ /**
9724
+ * Lines
9725
+ * @default []
9726
+ */
9727
+ lines: components["schemas"]["PartRequestLineOut"][];
9728
+ };
9403
9729
  /**
9404
9730
  * PassportOut
9405
9731
  * @description GET /items/{id}/passport — everything the «Texpasport» tab renders.
@@ -17870,6 +18196,305 @@ export interface operations {
17870
18196
  };
17871
18197
  };
17872
18198
  };
18199
+ list_requests_api_v1_part_requests_get: {
18200
+ parameters: {
18201
+ query?: {
18202
+ status?: string | null;
18203
+ inbox?: boolean;
18204
+ };
18205
+ header?: {
18206
+ authorization?: string | null;
18207
+ "x-debug-person-id"?: string | null;
18208
+ };
18209
+ path?: never;
18210
+ cookie?: {
18211
+ depo_admin_session?: string | null;
18212
+ };
18213
+ };
18214
+ requestBody?: never;
18215
+ responses: {
18216
+ /** @description Successful Response */
18217
+ 200: {
18218
+ headers: {
18219
+ [name: string]: unknown;
18220
+ };
18221
+ content: {
18222
+ "application/json": components["schemas"]["PartRequestOut"][];
18223
+ };
18224
+ };
18225
+ /** @description Validation Error */
18226
+ 422: {
18227
+ headers: {
18228
+ [name: string]: unknown;
18229
+ };
18230
+ content: {
18231
+ "application/json": components["schemas"]["HTTPValidationError"];
18232
+ };
18233
+ };
18234
+ };
18235
+ };
18236
+ create_api_v1_part_requests_post: {
18237
+ parameters: {
18238
+ query?: never;
18239
+ header?: {
18240
+ authorization?: string | null;
18241
+ "x-debug-person-id"?: string | null;
18242
+ };
18243
+ path?: never;
18244
+ cookie?: never;
18245
+ };
18246
+ requestBody: {
18247
+ content: {
18248
+ "application/json": components["schemas"]["PartRequestCreate"];
18249
+ };
18250
+ };
18251
+ responses: {
18252
+ /** @description Successful Response */
18253
+ 201: {
18254
+ headers: {
18255
+ [name: string]: unknown;
18256
+ };
18257
+ content: {
18258
+ "application/json": components["schemas"]["PartRequestOut"];
18259
+ };
18260
+ };
18261
+ /** @description Validation Error */
18262
+ 422: {
18263
+ headers: {
18264
+ [name: string]: unknown;
18265
+ };
18266
+ content: {
18267
+ "application/json": components["schemas"]["HTTPValidationError"];
18268
+ };
18269
+ };
18270
+ };
18271
+ };
18272
+ issue_api_v1_part_requests__request_id__issue_post: {
18273
+ parameters: {
18274
+ query?: never;
18275
+ header?: {
18276
+ authorization?: string | null;
18277
+ "x-debug-person-id"?: string | null;
18278
+ };
18279
+ path: {
18280
+ request_id: string;
18281
+ };
18282
+ cookie?: never;
18283
+ };
18284
+ requestBody: {
18285
+ content: {
18286
+ "application/json": components["schemas"]["PartRequestIssue"];
18287
+ };
18288
+ };
18289
+ responses: {
18290
+ /** @description Successful Response */
18291
+ 200: {
18292
+ headers: {
18293
+ [name: string]: unknown;
18294
+ };
18295
+ content: {
18296
+ "application/json": components["schemas"]["PartRequestOut"];
18297
+ };
18298
+ };
18299
+ /** @description Validation Error */
18300
+ 422: {
18301
+ headers: {
18302
+ [name: string]: unknown;
18303
+ };
18304
+ content: {
18305
+ "application/json": components["schemas"]["HTTPValidationError"];
18306
+ };
18307
+ };
18308
+ };
18309
+ };
18310
+ escalate_api_v1_part_requests__request_id__escalate_post: {
18311
+ parameters: {
18312
+ query?: never;
18313
+ header?: {
18314
+ authorization?: string | null;
18315
+ "x-debug-person-id"?: string | null;
18316
+ };
18317
+ path: {
18318
+ request_id: string;
18319
+ };
18320
+ cookie?: never;
18321
+ };
18322
+ requestBody: {
18323
+ content: {
18324
+ "application/json": components["schemas"]["PartRequestNote"];
18325
+ };
18326
+ };
18327
+ responses: {
18328
+ /** @description Successful Response */
18329
+ 200: {
18330
+ headers: {
18331
+ [name: string]: unknown;
18332
+ };
18333
+ content: {
18334
+ "application/json": components["schemas"]["PartRequestOut"];
18335
+ };
18336
+ };
18337
+ /** @description Validation Error */
18338
+ 422: {
18339
+ headers: {
18340
+ [name: string]: unknown;
18341
+ };
18342
+ content: {
18343
+ "application/json": components["schemas"]["HTTPValidationError"];
18344
+ };
18345
+ };
18346
+ };
18347
+ };
18348
+ approve_api_v1_part_requests__request_id__approve_post: {
18349
+ parameters: {
18350
+ query?: never;
18351
+ header?: {
18352
+ authorization?: string | null;
18353
+ "x-debug-person-id"?: string | null;
18354
+ };
18355
+ path: {
18356
+ request_id: string;
18357
+ };
18358
+ cookie?: never;
18359
+ };
18360
+ requestBody: {
18361
+ content: {
18362
+ "application/json": components["schemas"]["PartRequestApprove"];
18363
+ };
18364
+ };
18365
+ responses: {
18366
+ /** @description Successful Response */
18367
+ 200: {
18368
+ headers: {
18369
+ [name: string]: unknown;
18370
+ };
18371
+ content: {
18372
+ "application/json": components["schemas"]["PartRequestOut"];
18373
+ };
18374
+ };
18375
+ /** @description Validation Error */
18376
+ 422: {
18377
+ headers: {
18378
+ [name: string]: unknown;
18379
+ };
18380
+ content: {
18381
+ "application/json": components["schemas"]["HTTPValidationError"];
18382
+ };
18383
+ };
18384
+ };
18385
+ };
18386
+ reject_api_v1_part_requests__request_id__reject_post: {
18387
+ parameters: {
18388
+ query?: never;
18389
+ header?: {
18390
+ authorization?: string | null;
18391
+ "x-debug-person-id"?: string | null;
18392
+ };
18393
+ path: {
18394
+ request_id: string;
18395
+ };
18396
+ cookie?: never;
18397
+ };
18398
+ requestBody: {
18399
+ content: {
18400
+ "application/json": components["schemas"]["PartRequestNote"];
18401
+ };
18402
+ };
18403
+ responses: {
18404
+ /** @description Successful Response */
18405
+ 200: {
18406
+ headers: {
18407
+ [name: string]: unknown;
18408
+ };
18409
+ content: {
18410
+ "application/json": components["schemas"]["PartRequestOut"];
18411
+ };
18412
+ };
18413
+ /** @description Validation Error */
18414
+ 422: {
18415
+ headers: {
18416
+ [name: string]: unknown;
18417
+ };
18418
+ content: {
18419
+ "application/json": components["schemas"]["HTTPValidationError"];
18420
+ };
18421
+ };
18422
+ };
18423
+ };
18424
+ cancel_api_v1_part_requests__request_id__cancel_post: {
18425
+ parameters: {
18426
+ query?: never;
18427
+ header?: {
18428
+ authorization?: string | null;
18429
+ "x-debug-person-id"?: string | null;
18430
+ };
18431
+ path: {
18432
+ request_id: string;
18433
+ };
18434
+ cookie?: never;
18435
+ };
18436
+ requestBody: {
18437
+ content: {
18438
+ "application/json": components["schemas"]["PartRequestNote"];
18439
+ };
18440
+ };
18441
+ responses: {
18442
+ /** @description Successful Response */
18443
+ 200: {
18444
+ headers: {
18445
+ [name: string]: unknown;
18446
+ };
18447
+ content: {
18448
+ "application/json": components["schemas"]["PartRequestOut"];
18449
+ };
18450
+ };
18451
+ /** @description Validation Error */
18452
+ 422: {
18453
+ headers: {
18454
+ [name: string]: unknown;
18455
+ };
18456
+ content: {
18457
+ "application/json": components["schemas"]["HTTPValidationError"];
18458
+ };
18459
+ };
18460
+ };
18461
+ };
18462
+ get_request_api_v1_part_requests__request_id__get: {
18463
+ parameters: {
18464
+ query?: never;
18465
+ header?: {
18466
+ authorization?: string | null;
18467
+ "x-debug-person-id"?: string | null;
18468
+ };
18469
+ path: {
18470
+ request_id: string;
18471
+ };
18472
+ cookie?: {
18473
+ depo_admin_session?: string | null;
18474
+ };
18475
+ };
18476
+ requestBody?: never;
18477
+ responses: {
18478
+ /** @description Successful Response */
18479
+ 200: {
18480
+ headers: {
18481
+ [name: string]: unknown;
18482
+ };
18483
+ content: {
18484
+ "application/json": components["schemas"]["PartRequestOut"];
18485
+ };
18486
+ };
18487
+ /** @description Validation Error */
18488
+ 422: {
18489
+ headers: {
18490
+ [name: string]: unknown;
18491
+ };
18492
+ content: {
18493
+ "application/json": components["schemas"]["HTTPValidationError"];
18494
+ };
18495
+ };
18496
+ };
18497
+ };
17873
18498
  create_shipment_api_v1_plant_shipments_post: {
17874
18499
  parameters: {
17875
18500
  query?: never;