@ignos/api-client 20260626.160.1 → 20260701.162.1

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.
@@ -606,7 +606,7 @@ export interface IKpiAdminResourceClient {
606
606
  addShiftSettingPeriods(request: AddShiftSettingPeriods): Promise<ShiftSettingsPeriodDto[]>;
607
607
  deleteShiftSettingPeriods(request: DeleteShiftSettingsPeriod): Promise<FileResponse>;
608
608
  updateShiftSettingsPeriod(resourceExternalId: string, effectiveFrom: string, request: UpdateShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto>;
609
- copyShiftSettingsPeriod(sourceResourceExternalId: string, sourceEffectiveFrom: string, request: CopyShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto>;
609
+ copyShiftSettingsPeriod(resourceExternalId: string, request: CopyShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto[]>;
610
610
  migrateCapacityToSettings(): Promise<MigrationResultDto>;
611
611
  }
612
612
  export declare class KpiAdminResourceClient extends AuthorizedApiBase implements IKpiAdminResourceClient {
@@ -643,8 +643,8 @@ export declare class KpiAdminResourceClient extends AuthorizedApiBase implements
643
643
  protected processDeleteShiftSettingPeriods(response: Response): Promise<FileResponse>;
644
644
  updateShiftSettingsPeriod(resourceExternalId: string, effectiveFrom: string, request: UpdateShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto>;
645
645
  protected processUpdateShiftSettingsPeriod(response: Response): Promise<ShiftSettingsPeriodDto>;
646
- copyShiftSettingsPeriod(sourceResourceExternalId: string, sourceEffectiveFrom: string, request: CopyShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto>;
647
- protected processCopyShiftSettingsPeriod(response: Response): Promise<ShiftSettingsPeriodDto>;
646
+ copyShiftSettingsPeriod(resourceExternalId: string, request: CopyShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto[]>;
647
+ protected processCopyShiftSettingsPeriod(response: Response): Promise<ShiftSettingsPeriodDto[]>;
648
648
  migrateCapacityToSettings(): Promise<MigrationResultDto>;
649
649
  protected processMigrateCapacityToSettings(response: Response): Promise<MigrationResultDto>;
650
650
  }
@@ -2470,6 +2470,43 @@ export declare class MesOrMoveClient extends AuthorizedApiBase implements IMesOr
2470
2470
  getPrintableLabels(request: GeneratePrintableLabel): Promise<DownloadDto>;
2471
2471
  protected processGetPrintableLabels(response: Response): Promise<DownloadDto>;
2472
2472
  }
2473
+ export interface IMesProductionOrderAttachmentClient {
2474
+ /**
2475
+ * Upload a new attachment (with or without a file)
2476
+ * @param type (optional)
2477
+ * @param description (optional)
2478
+ * @param file (optional)
2479
+ * @param notes (optional)
2480
+ * @param url (optional)
2481
+ */
2482
+ upload(id: string, type: ProductionOrderAttachmentType | undefined, description: string | null | undefined, file: FileParameter | null | undefined, notes: string | null | undefined, url: string | null | undefined): Promise<FileResponse>;
2483
+ getAttachments(id: string): Promise<WorkOrderAttachmentDto[]>;
2484
+ getAttachmentFile(id: string, attachmentId: number): Promise<FileResponse>;
2485
+ deleteAttachment(id: string, attachmentId: number): Promise<FileResponse>;
2486
+ }
2487
+ export declare class MesProductionOrderAttachmentClient extends AuthorizedApiBase implements IMesProductionOrderAttachmentClient {
2488
+ private http;
2489
+ private baseUrl;
2490
+ constructor(configuration: IApiClientConfig, baseUrl?: string, http?: {
2491
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
2492
+ });
2493
+ /**
2494
+ * Upload a new attachment (with or without a file)
2495
+ * @param type (optional)
2496
+ * @param description (optional)
2497
+ * @param file (optional)
2498
+ * @param notes (optional)
2499
+ * @param url (optional)
2500
+ */
2501
+ upload(id: string, type: ProductionOrderAttachmentType | undefined, description: string | null | undefined, file: FileParameter | null | undefined, notes: string | null | undefined, url: string | null | undefined): Promise<FileResponse>;
2502
+ protected processUpload(response: Response): Promise<FileResponse>;
2503
+ getAttachments(id: string): Promise<WorkOrderAttachmentDto[]>;
2504
+ protected processGetAttachments(response: Response): Promise<WorkOrderAttachmentDto[]>;
2505
+ getAttachmentFile(id: string, attachmentId: number): Promise<FileResponse>;
2506
+ protected processGetAttachmentFile(response: Response): Promise<FileResponse>;
2507
+ deleteAttachment(id: string, attachmentId: number): Promise<FileResponse>;
2508
+ protected processDeleteAttachment(response: Response): Promise<FileResponse>;
2509
+ }
2473
2510
  export interface IMesProductionOrderClient {
2474
2511
  getProductionOrder(id: string): Promise<ProductionOrderDto>;
2475
2512
  getProductionOrderBom(id: string, operation: number | null | undefined): Promise<ProductionOrderBomDto[]>;
@@ -4213,7 +4250,7 @@ export interface UpdateCalendarSettingsCommand {
4213
4250
  }
4214
4251
  export interface ShiftPlansDto {
4215
4252
  active: ShiftPlanDto[];
4216
- archived: ShiftPlanDto[];
4253
+ archived: ArchivedShiftPlanDto[];
4217
4254
  }
4218
4255
  export interface ShiftPlanDto {
4219
4256
  id: string;
@@ -4225,6 +4262,27 @@ export interface ShiftPlanDto {
4225
4262
  updatedBy?: string | null;
4226
4263
  isArchived?: boolean;
4227
4264
  }
4265
+ export interface ArchivedShiftPlanDto extends ShiftPlanDto {
4266
+ usage: ShiftSettingPeriodsDto[];
4267
+ }
4268
+ export interface ShiftSettingPeriodsDto {
4269
+ resourceExternalId: string;
4270
+ resourceName: string;
4271
+ resourceDescription?: string | null;
4272
+ periods: ShiftSettingsPeriodDto[];
4273
+ }
4274
+ export interface ShiftSettingsPeriodDto {
4275
+ resourceExternalId: string;
4276
+ shiftPlanId: string;
4277
+ shiftPlanName: string;
4278
+ effectiveFrom: string;
4279
+ effectiveTo?: string | null;
4280
+ targetPercent: number;
4281
+ comment?: string | null;
4282
+ hoursPerWeekday: {
4283
+ [key in DayOfWeek]?: number;
4284
+ };
4285
+ }
4228
4286
  export interface CreateShiftPlan {
4229
4287
  name: string;
4230
4288
  hoursPerWeekday: {
@@ -4246,23 +4304,6 @@ export interface ShiftSettingsPeriodGroupDto {
4246
4304
  resourceGroupName: string;
4247
4305
  resources: ShiftSettingPeriodsDto[];
4248
4306
  }
4249
- export interface ShiftSettingPeriodsDto {
4250
- resourceExternalId: string;
4251
- resourceName: string;
4252
- periods: ShiftSettingsPeriodDto[];
4253
- }
4254
- export interface ShiftSettingsPeriodDto {
4255
- resourceExternalId: string;
4256
- shiftPlanId: string;
4257
- shiftPlanName: string;
4258
- effectiveFrom: string;
4259
- effectiveTo?: string | null;
4260
- targetPercent: number;
4261
- comment?: string | null;
4262
- hoursPerWeekday: {
4263
- [key in DayOfWeek]?: number;
4264
- };
4265
- }
4266
4307
  export interface AddShiftSettingPeriods {
4267
4308
  resourceExternalIds: string[];
4268
4309
  shiftPlanId: string;
@@ -4284,8 +4325,11 @@ export interface PeriodKey {
4284
4325
  effectiveFrom: string;
4285
4326
  }
4286
4327
  export interface CopyShiftSettingsPeriodRequest {
4287
- targetResourceExternalId: string;
4288
- effectiveFrom: string;
4328
+ sourceShiftSettingPeriods: SourceShiftSettingPeriod[];
4329
+ }
4330
+ export interface SourceShiftSettingPeriod {
4331
+ sourceResourceExternalId: string;
4332
+ sourceEffectiveFrom: string;
4289
4333
  }
4290
4334
  export interface MigrationResultDto {
4291
4335
  created?: number;
@@ -5690,7 +5734,7 @@ export interface ImportDocument {
5690
5734
  lots: string[];
5691
5735
  frontPageDocumentId?: string | null;
5692
5736
  documentSource: DocumentSource;
5693
- uploadKey: string;
5737
+ uploadKey?: string | null;
5694
5738
  created?: Date | null;
5695
5739
  createdBy?: string | null;
5696
5740
  createdById?: string | null;
@@ -5722,7 +5766,8 @@ export interface ImportDocumentRevisionDto {
5722
5766
  approvals: DocumentRevisionApprovalDto[];
5723
5767
  }
5724
5768
  export interface ImportDocumentRevisionContentDto {
5725
- uploadFilename: string;
5769
+ uploadFilename?: string | null;
5770
+ sourceUrl?: string | null;
5726
5771
  originalFilename: string;
5727
5772
  extension: string;
5728
5773
  }
@@ -7302,6 +7347,18 @@ export interface LabelId {
7302
7347
  parcelId: string;
7303
7348
  trackingId?: string | null;
7304
7349
  }
7350
+ export type ProductionOrderAttachmentType = "Url" | "Note" | "Image" | "File";
7351
+ export interface WorkOrderAttachmentDto {
7352
+ createdBy?: UserDto | null;
7353
+ created?: Date | null;
7354
+ modifiedBy?: UserDto | null;
7355
+ modified?: Date | null;
7356
+ attachmentId?: number | null;
7357
+ name?: string | null;
7358
+ fileName?: string | null;
7359
+ notes?: string | null;
7360
+ attachmentType?: string | null;
7361
+ }
7305
7362
  export interface ProductionOrderDto {
7306
7363
  id: string;
7307
7364
  companyId: string;
@@ -7360,15 +7417,6 @@ export interface ProductionOrderOperationDto {
7360
7417
  productionStatus: OperationStatusDto;
7361
7418
  setupStatus?: OperationStatusDto | null;
7362
7419
  }
7363
- export interface WorkOrderAttachmentDto {
7364
- createdBy?: UserDto | null;
7365
- created?: Date | null;
7366
- modifiedBy?: UserDto | null;
7367
- modified?: Date | null;
7368
- name?: string | null;
7369
- notes?: string | null;
7370
- attachmentType?: string | null;
7371
- }
7372
7420
  export interface DrawingDto {
7373
7421
  drawingNumber: string;
7374
7422
  revision: string;
@@ -4843,14 +4843,11 @@ export class KpiAdminResourceClient extends AuthorizedApiBase {
4843
4843
  }
4844
4844
  return Promise.resolve(null);
4845
4845
  }
4846
- copyShiftSettingsPeriod(sourceResourceExternalId, sourceEffectiveFrom, request) {
4847
- let url_ = this.baseUrl + "/kpiadminresource/shift-settings/{sourceResourceExternalId}/{sourceEffectiveFrom}/copy";
4848
- if (sourceResourceExternalId === undefined || sourceResourceExternalId === null)
4849
- throw new globalThis.Error("The parameter 'sourceResourceExternalId' must be defined.");
4850
- url_ = url_.replace("{sourceResourceExternalId}", encodeURIComponent("" + sourceResourceExternalId));
4851
- if (sourceEffectiveFrom === undefined || sourceEffectiveFrom === null)
4852
- throw new globalThis.Error("The parameter 'sourceEffectiveFrom' must be defined.");
4853
- url_ = url_.replace("{sourceEffectiveFrom}", encodeURIComponent("" + sourceEffectiveFrom));
4846
+ copyShiftSettingsPeriod(resourceExternalId, request) {
4847
+ let url_ = this.baseUrl + "/kpiadminresource/shift-settings/{resourceExternalId}/copy";
4848
+ if (resourceExternalId === undefined || resourceExternalId === null)
4849
+ throw new globalThis.Error("The parameter 'resourceExternalId' must be defined.");
4850
+ url_ = url_.replace("{resourceExternalId}", encodeURIComponent("" + resourceExternalId));
4854
4851
  url_ = url_.replace(/[?&]$/, "");
4855
4852
  const content_ = JSON.stringify(request);
4856
4853
  let options_ = {
@@ -20556,6 +20553,215 @@ export class MesOrMoveClient extends AuthorizedApiBase {
20556
20553
  return Promise.resolve(null);
20557
20554
  }
20558
20555
  }
20556
+ export class MesProductionOrderAttachmentClient extends AuthorizedApiBase {
20557
+ constructor(configuration, baseUrl, http) {
20558
+ super(configuration);
20559
+ this.http = http ? http : window;
20560
+ this.baseUrl = baseUrl !== null && baseUrl !== void 0 ? baseUrl : "";
20561
+ }
20562
+ /**
20563
+ * Upload a new attachment (with or without a file)
20564
+ * @param type (optional)
20565
+ * @param description (optional)
20566
+ * @param file (optional)
20567
+ * @param notes (optional)
20568
+ * @param url (optional)
20569
+ */
20570
+ upload(id, type, description, file, notes, url) {
20571
+ let url_ = this.baseUrl + "/mes/productionorders/{id}/attachments";
20572
+ if (id === undefined || id === null)
20573
+ throw new globalThis.Error("The parameter 'id' must be defined.");
20574
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
20575
+ url_ = url_.replace(/[?&]$/, "");
20576
+ const content_ = new FormData();
20577
+ if (type === null || type === undefined)
20578
+ throw new globalThis.Error("The parameter 'type' cannot be null.");
20579
+ else
20580
+ content_.append("type", type.toString());
20581
+ if (description !== null && description !== undefined)
20582
+ content_.append("description", description.toString());
20583
+ if (file !== null && file !== undefined)
20584
+ content_.append("file", file.data, file.fileName ? file.fileName : "file");
20585
+ if (notes !== null && notes !== undefined)
20586
+ content_.append("notes", notes.toString());
20587
+ if (url !== null && url !== undefined)
20588
+ content_.append("url", url.toString());
20589
+ let options_ = {
20590
+ body: content_,
20591
+ method: "POST",
20592
+ headers: {
20593
+ "Accept": "application/octet-stream"
20594
+ }
20595
+ };
20596
+ return this.transformOptions(options_).then(transformedOptions_ => {
20597
+ return this.http.fetch(url_, transformedOptions_);
20598
+ }).then((_response) => {
20599
+ return this.processUpload(_response);
20600
+ });
20601
+ }
20602
+ processUpload(response) {
20603
+ const status = response.status;
20604
+ let _headers = {};
20605
+ if (response.headers && response.headers.forEach) {
20606
+ response.headers.forEach((v, k) => _headers[k] = v);
20607
+ }
20608
+ ;
20609
+ if (status === 200 || status === 206) {
20610
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
20611
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
20612
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
20613
+ if (fileName) {
20614
+ fileName = decodeURIComponent(fileName);
20615
+ }
20616
+ else {
20617
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
20618
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
20619
+ }
20620
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
20621
+ }
20622
+ else if (status !== 200 && status !== 204) {
20623
+ return response.text().then((_responseText) => {
20624
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
20625
+ });
20626
+ }
20627
+ return Promise.resolve(null);
20628
+ }
20629
+ getAttachments(id) {
20630
+ let url_ = this.baseUrl + "/mes/productionorders/{id}/attachments";
20631
+ if (id === undefined || id === null)
20632
+ throw new globalThis.Error("The parameter 'id' must be defined.");
20633
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
20634
+ url_ = url_.replace(/[?&]$/, "");
20635
+ let options_ = {
20636
+ method: "GET",
20637
+ headers: {
20638
+ "Accept": "application/json"
20639
+ }
20640
+ };
20641
+ return this.transformOptions(options_).then(transformedOptions_ => {
20642
+ return this.http.fetch(url_, transformedOptions_);
20643
+ }).then((_response) => {
20644
+ return this.processGetAttachments(_response);
20645
+ });
20646
+ }
20647
+ processGetAttachments(response) {
20648
+ const status = response.status;
20649
+ let _headers = {};
20650
+ if (response.headers && response.headers.forEach) {
20651
+ response.headers.forEach((v, k) => _headers[k] = v);
20652
+ }
20653
+ ;
20654
+ if (status === 200) {
20655
+ return response.text().then((_responseText) => {
20656
+ let result200 = null;
20657
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
20658
+ return result200;
20659
+ });
20660
+ }
20661
+ else if (status !== 200 && status !== 204) {
20662
+ return response.text().then((_responseText) => {
20663
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
20664
+ });
20665
+ }
20666
+ return Promise.resolve(null);
20667
+ }
20668
+ getAttachmentFile(id, attachmentId) {
20669
+ let url_ = this.baseUrl + "/mes/productionorders/{id}/attachments/{attachmentId}";
20670
+ if (id === undefined || id === null)
20671
+ throw new globalThis.Error("The parameter 'id' must be defined.");
20672
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
20673
+ if (attachmentId === undefined || attachmentId === null)
20674
+ throw new globalThis.Error("The parameter 'attachmentId' must be defined.");
20675
+ url_ = url_.replace("{attachmentId}", encodeURIComponent("" + attachmentId));
20676
+ url_ = url_.replace(/[?&]$/, "");
20677
+ let options_ = {
20678
+ method: "GET",
20679
+ headers: {
20680
+ "Accept": "application/octet-stream"
20681
+ }
20682
+ };
20683
+ return this.transformOptions(options_).then(transformedOptions_ => {
20684
+ return this.http.fetch(url_, transformedOptions_);
20685
+ }).then((_response) => {
20686
+ return this.processGetAttachmentFile(_response);
20687
+ });
20688
+ }
20689
+ processGetAttachmentFile(response) {
20690
+ const status = response.status;
20691
+ let _headers = {};
20692
+ if (response.headers && response.headers.forEach) {
20693
+ response.headers.forEach((v, k) => _headers[k] = v);
20694
+ }
20695
+ ;
20696
+ if (status === 200 || status === 206) {
20697
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
20698
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
20699
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
20700
+ if (fileName) {
20701
+ fileName = decodeURIComponent(fileName);
20702
+ }
20703
+ else {
20704
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
20705
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
20706
+ }
20707
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
20708
+ }
20709
+ else if (status !== 200 && status !== 204) {
20710
+ return response.text().then((_responseText) => {
20711
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
20712
+ });
20713
+ }
20714
+ return Promise.resolve(null);
20715
+ }
20716
+ deleteAttachment(id, attachmentId) {
20717
+ let url_ = this.baseUrl + "/mes/productionorders/{id}/attachments/{attachmentId}";
20718
+ if (id === undefined || id === null)
20719
+ throw new globalThis.Error("The parameter 'id' must be defined.");
20720
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
20721
+ if (attachmentId === undefined || attachmentId === null)
20722
+ throw new globalThis.Error("The parameter 'attachmentId' must be defined.");
20723
+ url_ = url_.replace("{attachmentId}", encodeURIComponent("" + attachmentId));
20724
+ url_ = url_.replace(/[?&]$/, "");
20725
+ let options_ = {
20726
+ method: "DELETE",
20727
+ headers: {
20728
+ "Accept": "application/octet-stream"
20729
+ }
20730
+ };
20731
+ return this.transformOptions(options_).then(transformedOptions_ => {
20732
+ return this.http.fetch(url_, transformedOptions_);
20733
+ }).then((_response) => {
20734
+ return this.processDeleteAttachment(_response);
20735
+ });
20736
+ }
20737
+ processDeleteAttachment(response) {
20738
+ const status = response.status;
20739
+ let _headers = {};
20740
+ if (response.headers && response.headers.forEach) {
20741
+ response.headers.forEach((v, k) => _headers[k] = v);
20742
+ }
20743
+ ;
20744
+ if (status === 200 || status === 206) {
20745
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
20746
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
20747
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
20748
+ if (fileName) {
20749
+ fileName = decodeURIComponent(fileName);
20750
+ }
20751
+ else {
20752
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
20753
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
20754
+ }
20755
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
20756
+ }
20757
+ else if (status !== 200 && status !== 204) {
20758
+ return response.text().then((_responseText) => {
20759
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
20760
+ });
20761
+ }
20762
+ return Promise.resolve(null);
20763
+ }
20764
+ }
20559
20765
  export class MesProductionOrderClient extends AuthorizedApiBase {
20560
20766
  constructor(configuration, baseUrl, http) {
20561
20767
  super(configuration);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ignos/api-client",
3
- "version": "20260626.160.1",
3
+ "version": "20260701.162.1",
4
4
  "description": "IGNOS API Client",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -4662,7 +4662,7 @@ export interface IKpiAdminResourceClient {
4662
4662
 
4663
4663
  updateShiftSettingsPeriod(resourceExternalId: string, effectiveFrom: string, request: UpdateShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto>;
4664
4664
 
4665
- copyShiftSettingsPeriod(sourceResourceExternalId: string, sourceEffectiveFrom: string, request: CopyShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto>;
4665
+ copyShiftSettingsPeriod(resourceExternalId: string, request: CopyShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto[]>;
4666
4666
 
4667
4667
  migrateCapacityToSettings(): Promise<MigrationResultDto>;
4668
4668
  }
@@ -5221,14 +5221,11 @@ export class KpiAdminResourceClient extends AuthorizedApiBase implements IKpiAdm
5221
5221
  return Promise.resolve<ShiftSettingsPeriodDto>(null as any);
5222
5222
  }
5223
5223
 
5224
- copyShiftSettingsPeriod(sourceResourceExternalId: string, sourceEffectiveFrom: string, request: CopyShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto> {
5225
- let url_ = this.baseUrl + "/kpiadminresource/shift-settings/{sourceResourceExternalId}/{sourceEffectiveFrom}/copy";
5226
- if (sourceResourceExternalId === undefined || sourceResourceExternalId === null)
5227
- throw new globalThis.Error("The parameter 'sourceResourceExternalId' must be defined.");
5228
- url_ = url_.replace("{sourceResourceExternalId}", encodeURIComponent("" + sourceResourceExternalId));
5229
- if (sourceEffectiveFrom === undefined || sourceEffectiveFrom === null)
5230
- throw new globalThis.Error("The parameter 'sourceEffectiveFrom' must be defined.");
5231
- url_ = url_.replace("{sourceEffectiveFrom}", encodeURIComponent("" + sourceEffectiveFrom));
5224
+ copyShiftSettingsPeriod(resourceExternalId: string, request: CopyShiftSettingsPeriodRequest): Promise<ShiftSettingsPeriodDto[]> {
5225
+ let url_ = this.baseUrl + "/kpiadminresource/shift-settings/{resourceExternalId}/copy";
5226
+ if (resourceExternalId === undefined || resourceExternalId === null)
5227
+ throw new globalThis.Error("The parameter 'resourceExternalId' must be defined.");
5228
+ url_ = url_.replace("{resourceExternalId}", encodeURIComponent("" + resourceExternalId));
5232
5229
  url_ = url_.replace(/[?&]$/, "");
5233
5230
 
5234
5231
  const content_ = JSON.stringify(request);
@@ -5249,13 +5246,13 @@ export class KpiAdminResourceClient extends AuthorizedApiBase implements IKpiAdm
5249
5246
  });
5250
5247
  }
5251
5248
 
5252
- protected processCopyShiftSettingsPeriod(response: Response): Promise<ShiftSettingsPeriodDto> {
5249
+ protected processCopyShiftSettingsPeriod(response: Response): Promise<ShiftSettingsPeriodDto[]> {
5253
5250
  const status = response.status;
5254
5251
  let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5255
5252
  if (status === 200) {
5256
5253
  return response.text().then((_responseText) => {
5257
5254
  let result200: any = null;
5258
- result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ShiftSettingsPeriodDto;
5255
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ShiftSettingsPeriodDto[];
5259
5256
  return result200;
5260
5257
  });
5261
5258
  } else if (status !== 200 && status !== 204) {
@@ -5263,7 +5260,7 @@ export class KpiAdminResourceClient extends AuthorizedApiBase implements IKpiAdm
5263
5260
  return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5264
5261
  });
5265
5262
  }
5266
- return Promise.resolve<ShiftSettingsPeriodDto>(null as any);
5263
+ return Promise.resolve<ShiftSettingsPeriodDto[]>(null as any);
5267
5264
  }
5268
5265
 
5269
5266
  migrateCapacityToSettings(): Promise<MigrationResultDto> {
@@ -21973,6 +21970,232 @@ export class MesOrMoveClient extends AuthorizedApiBase implements IMesOrMoveClie
21973
21970
  }
21974
21971
  }
21975
21972
 
21973
+ export interface IMesProductionOrderAttachmentClient {
21974
+
21975
+ /**
21976
+ * Upload a new attachment (with or without a file)
21977
+ * @param type (optional)
21978
+ * @param description (optional)
21979
+ * @param file (optional)
21980
+ * @param notes (optional)
21981
+ * @param url (optional)
21982
+ */
21983
+ upload(id: string, type: ProductionOrderAttachmentType | undefined, description: string | null | undefined, file: FileParameter | null | undefined, notes: string | null | undefined, url: string | null | undefined): Promise<FileResponse>;
21984
+
21985
+ getAttachments(id: string): Promise<WorkOrderAttachmentDto[]>;
21986
+
21987
+ getAttachmentFile(id: string, attachmentId: number): Promise<FileResponse>;
21988
+
21989
+ deleteAttachment(id: string, attachmentId: number): Promise<FileResponse>;
21990
+ }
21991
+
21992
+ export class MesProductionOrderAttachmentClient extends AuthorizedApiBase implements IMesProductionOrderAttachmentClient {
21993
+ private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
21994
+ private baseUrl: string;
21995
+
21996
+ constructor(configuration: IApiClientConfig, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
21997
+ super(configuration);
21998
+ this.http = http ? http : window as any;
21999
+ this.baseUrl = baseUrl ?? "";
22000
+ }
22001
+
22002
+ /**
22003
+ * Upload a new attachment (with or without a file)
22004
+ * @param type (optional)
22005
+ * @param description (optional)
22006
+ * @param file (optional)
22007
+ * @param notes (optional)
22008
+ * @param url (optional)
22009
+ */
22010
+ upload(id: string, type: ProductionOrderAttachmentType | undefined, description: string | null | undefined, file: FileParameter | null | undefined, notes: string | null | undefined, url: string | null | undefined): Promise<FileResponse> {
22011
+ let url_ = this.baseUrl + "/mes/productionorders/{id}/attachments";
22012
+ if (id === undefined || id === null)
22013
+ throw new globalThis.Error("The parameter 'id' must be defined.");
22014
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
22015
+ url_ = url_.replace(/[?&]$/, "");
22016
+
22017
+ const content_ = new FormData();
22018
+ if (type === null || type === undefined)
22019
+ throw new globalThis.Error("The parameter 'type' cannot be null.");
22020
+ else
22021
+ content_.append("type", type.toString());
22022
+ if (description !== null && description !== undefined)
22023
+ content_.append("description", description.toString());
22024
+ if (file !== null && file !== undefined)
22025
+ content_.append("file", file.data, file.fileName ? file.fileName : "file");
22026
+ if (notes !== null && notes !== undefined)
22027
+ content_.append("notes", notes.toString());
22028
+ if (url !== null && url !== undefined)
22029
+ content_.append("url", url.toString());
22030
+
22031
+ let options_: RequestInit = {
22032
+ body: content_,
22033
+ method: "POST",
22034
+ headers: {
22035
+ "Accept": "application/octet-stream"
22036
+ }
22037
+ };
22038
+
22039
+ return this.transformOptions(options_).then(transformedOptions_ => {
22040
+ return this.http.fetch(url_, transformedOptions_);
22041
+ }).then((_response: Response) => {
22042
+ return this.processUpload(_response);
22043
+ });
22044
+ }
22045
+
22046
+ protected processUpload(response: Response): Promise<FileResponse> {
22047
+ const status = response.status;
22048
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
22049
+ if (status === 200 || status === 206) {
22050
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
22051
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
22052
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
22053
+ if (fileName) {
22054
+ fileName = decodeURIComponent(fileName);
22055
+ } else {
22056
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
22057
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
22058
+ }
22059
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
22060
+ } else if (status !== 200 && status !== 204) {
22061
+ return response.text().then((_responseText) => {
22062
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
22063
+ });
22064
+ }
22065
+ return Promise.resolve<FileResponse>(null as any);
22066
+ }
22067
+
22068
+ getAttachments(id: string): Promise<WorkOrderAttachmentDto[]> {
22069
+ let url_ = this.baseUrl + "/mes/productionorders/{id}/attachments";
22070
+ if (id === undefined || id === null)
22071
+ throw new globalThis.Error("The parameter 'id' must be defined.");
22072
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
22073
+ url_ = url_.replace(/[?&]$/, "");
22074
+
22075
+ let options_: RequestInit = {
22076
+ method: "GET",
22077
+ headers: {
22078
+ "Accept": "application/json"
22079
+ }
22080
+ };
22081
+
22082
+ return this.transformOptions(options_).then(transformedOptions_ => {
22083
+ return this.http.fetch(url_, transformedOptions_);
22084
+ }).then((_response: Response) => {
22085
+ return this.processGetAttachments(_response);
22086
+ });
22087
+ }
22088
+
22089
+ protected processGetAttachments(response: Response): Promise<WorkOrderAttachmentDto[]> {
22090
+ const status = response.status;
22091
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
22092
+ if (status === 200) {
22093
+ return response.text().then((_responseText) => {
22094
+ let result200: any = null;
22095
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as WorkOrderAttachmentDto[];
22096
+ return result200;
22097
+ });
22098
+ } else if (status !== 200 && status !== 204) {
22099
+ return response.text().then((_responseText) => {
22100
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
22101
+ });
22102
+ }
22103
+ return Promise.resolve<WorkOrderAttachmentDto[]>(null as any);
22104
+ }
22105
+
22106
+ getAttachmentFile(id: string, attachmentId: number): Promise<FileResponse> {
22107
+ let url_ = this.baseUrl + "/mes/productionorders/{id}/attachments/{attachmentId}";
22108
+ if (id === undefined || id === null)
22109
+ throw new globalThis.Error("The parameter 'id' must be defined.");
22110
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
22111
+ if (attachmentId === undefined || attachmentId === null)
22112
+ throw new globalThis.Error("The parameter 'attachmentId' must be defined.");
22113
+ url_ = url_.replace("{attachmentId}", encodeURIComponent("" + attachmentId));
22114
+ url_ = url_.replace(/[?&]$/, "");
22115
+
22116
+ let options_: RequestInit = {
22117
+ method: "GET",
22118
+ headers: {
22119
+ "Accept": "application/octet-stream"
22120
+ }
22121
+ };
22122
+
22123
+ return this.transformOptions(options_).then(transformedOptions_ => {
22124
+ return this.http.fetch(url_, transformedOptions_);
22125
+ }).then((_response: Response) => {
22126
+ return this.processGetAttachmentFile(_response);
22127
+ });
22128
+ }
22129
+
22130
+ protected processGetAttachmentFile(response: Response): Promise<FileResponse> {
22131
+ const status = response.status;
22132
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
22133
+ if (status === 200 || status === 206) {
22134
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
22135
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
22136
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
22137
+ if (fileName) {
22138
+ fileName = decodeURIComponent(fileName);
22139
+ } else {
22140
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
22141
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
22142
+ }
22143
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
22144
+ } else if (status !== 200 && status !== 204) {
22145
+ return response.text().then((_responseText) => {
22146
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
22147
+ });
22148
+ }
22149
+ return Promise.resolve<FileResponse>(null as any);
22150
+ }
22151
+
22152
+ deleteAttachment(id: string, attachmentId: number): Promise<FileResponse> {
22153
+ let url_ = this.baseUrl + "/mes/productionorders/{id}/attachments/{attachmentId}";
22154
+ if (id === undefined || id === null)
22155
+ throw new globalThis.Error("The parameter 'id' must be defined.");
22156
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
22157
+ if (attachmentId === undefined || attachmentId === null)
22158
+ throw new globalThis.Error("The parameter 'attachmentId' must be defined.");
22159
+ url_ = url_.replace("{attachmentId}", encodeURIComponent("" + attachmentId));
22160
+ url_ = url_.replace(/[?&]$/, "");
22161
+
22162
+ let options_: RequestInit = {
22163
+ method: "DELETE",
22164
+ headers: {
22165
+ "Accept": "application/octet-stream"
22166
+ }
22167
+ };
22168
+
22169
+ return this.transformOptions(options_).then(transformedOptions_ => {
22170
+ return this.http.fetch(url_, transformedOptions_);
22171
+ }).then((_response: Response) => {
22172
+ return this.processDeleteAttachment(_response);
22173
+ });
22174
+ }
22175
+
22176
+ protected processDeleteAttachment(response: Response): Promise<FileResponse> {
22177
+ const status = response.status;
22178
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
22179
+ if (status === 200 || status === 206) {
22180
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
22181
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
22182
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
22183
+ if (fileName) {
22184
+ fileName = decodeURIComponent(fileName);
22185
+ } else {
22186
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
22187
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
22188
+ }
22189
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
22190
+ } else if (status !== 200 && status !== 204) {
22191
+ return response.text().then((_responseText) => {
22192
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
22193
+ });
22194
+ }
22195
+ return Promise.resolve<FileResponse>(null as any);
22196
+ }
22197
+ }
22198
+
21976
22199
  export interface IMesProductionOrderClient {
21977
22200
 
21978
22201
  getProductionOrder(id: string): Promise<ProductionOrderDto>;
@@ -31434,7 +31657,7 @@ export interface UpdateCalendarSettingsCommand {
31434
31657
 
31435
31658
  export interface ShiftPlansDto {
31436
31659
  active: ShiftPlanDto[];
31437
- archived: ShiftPlanDto[];
31660
+ archived: ArchivedShiftPlanDto[];
31438
31661
  }
31439
31662
 
31440
31663
  export interface ShiftPlanDto {
@@ -31446,6 +31669,28 @@ export interface ShiftPlanDto {
31446
31669
  isArchived?: boolean;
31447
31670
  }
31448
31671
 
31672
+ export interface ArchivedShiftPlanDto extends ShiftPlanDto {
31673
+ usage: ShiftSettingPeriodsDto[];
31674
+ }
31675
+
31676
+ export interface ShiftSettingPeriodsDto {
31677
+ resourceExternalId: string;
31678
+ resourceName: string;
31679
+ resourceDescription?: string | null;
31680
+ periods: ShiftSettingsPeriodDto[];
31681
+ }
31682
+
31683
+ export interface ShiftSettingsPeriodDto {
31684
+ resourceExternalId: string;
31685
+ shiftPlanId: string;
31686
+ shiftPlanName: string;
31687
+ effectiveFrom: string;
31688
+ effectiveTo?: string | null;
31689
+ targetPercent: number;
31690
+ comment?: string | null;
31691
+ hoursPerWeekday: { [key in DayOfWeek]?: number; };
31692
+ }
31693
+
31449
31694
  export interface CreateShiftPlan {
31450
31695
  name: string;
31451
31696
  hoursPerWeekday: { [key in DayOfWeek]?: number; };
@@ -31467,23 +31712,6 @@ export interface ShiftSettingsPeriodGroupDto {
31467
31712
  resources: ShiftSettingPeriodsDto[];
31468
31713
  }
31469
31714
 
31470
- export interface ShiftSettingPeriodsDto {
31471
- resourceExternalId: string;
31472
- resourceName: string;
31473
- periods: ShiftSettingsPeriodDto[];
31474
- }
31475
-
31476
- export interface ShiftSettingsPeriodDto {
31477
- resourceExternalId: string;
31478
- shiftPlanId: string;
31479
- shiftPlanName: string;
31480
- effectiveFrom: string;
31481
- effectiveTo?: string | null;
31482
- targetPercent: number;
31483
- comment?: string | null;
31484
- hoursPerWeekday: { [key in DayOfWeek]?: number; };
31485
- }
31486
-
31487
31715
  export interface AddShiftSettingPeriods {
31488
31716
  resourceExternalIds: string[];
31489
31717
  shiftPlanId: string;
@@ -31509,8 +31737,12 @@ export interface PeriodKey {
31509
31737
  }
31510
31738
 
31511
31739
  export interface CopyShiftSettingsPeriodRequest {
31512
- targetResourceExternalId: string;
31513
- effectiveFrom: string;
31740
+ sourceShiftSettingPeriods: SourceShiftSettingPeriod[];
31741
+ }
31742
+
31743
+ export interface SourceShiftSettingPeriod {
31744
+ sourceResourceExternalId: string;
31745
+ sourceEffectiveFrom: string;
31514
31746
  }
31515
31747
 
31516
31748
  export interface MigrationResultDto {
@@ -33129,7 +33361,7 @@ export interface ImportDocument {
33129
33361
  lots: string[];
33130
33362
  frontPageDocumentId?: string | null;
33131
33363
  documentSource: DocumentSource;
33132
- uploadKey: string;
33364
+ uploadKey?: string | null;
33133
33365
  created?: Date | null;
33134
33366
  createdBy?: string | null;
33135
33367
  createdById?: string | null;
@@ -33165,7 +33397,8 @@ export interface ImportDocumentRevisionDto {
33165
33397
  }
33166
33398
 
33167
33399
  export interface ImportDocumentRevisionContentDto {
33168
- uploadFilename: string;
33400
+ uploadFilename?: string | null;
33401
+ sourceUrl?: string | null;
33169
33402
  originalFilename: string;
33170
33403
  extension: string;
33171
33404
  }
@@ -34965,6 +35198,20 @@ export interface LabelId {
34965
35198
  trackingId?: string | null;
34966
35199
  }
34967
35200
 
35201
+ export type ProductionOrderAttachmentType = "Url" | "Note" | "Image" | "File";
35202
+
35203
+ export interface WorkOrderAttachmentDto {
35204
+ createdBy?: UserDto | null;
35205
+ created?: Date | null;
35206
+ modifiedBy?: UserDto | null;
35207
+ modified?: Date | null;
35208
+ attachmentId?: number | null;
35209
+ name?: string | null;
35210
+ fileName?: string | null;
35211
+ notes?: string | null;
35212
+ attachmentType?: string | null;
35213
+ }
35214
+
34968
35215
  export interface ProductionOrderDto {
34969
35216
  id: string;
34970
35217
  companyId: string;
@@ -35025,16 +35272,6 @@ export interface ProductionOrderOperationDto {
35025
35272
  setupStatus?: OperationStatusDto | null;
35026
35273
  }
35027
35274
 
35028
- export interface WorkOrderAttachmentDto {
35029
- createdBy?: UserDto | null;
35030
- created?: Date | null;
35031
- modifiedBy?: UserDto | null;
35032
- modified?: Date | null;
35033
- name?: string | null;
35034
- notes?: string | null;
35035
- attachmentType?: string | null;
35036
- }
35037
-
35038
35275
  export interface DrawingDto {
35039
35276
  drawingNumber: string;
35040
35277
  revision: string;