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