@ignos/api-client 20260508.124.1-alpha → 20260512.125.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.
@@ -615,6 +615,48 @@ export declare class KpiAdminResourceClient extends AuthorizedApiBase implements
615
615
  updateCalendarSettings(cmd: UpdateCalendarSettingsCommand): Promise<CalendarSettingsDto>;
616
616
  protected processUpdateCalendarSettings(response: Response): Promise<CalendarSettingsDto>;
617
617
  }
618
+ export interface IKpiCalendarClient {
619
+ listCalendarDefinitions(): Promise<CalendarDefinitionDto[]>;
620
+ createCalendarDefinition(request: CreateCalendarDefinition): Promise<CalendarDefinitionDto>;
621
+ updateCalendarDefinition(id: string, request: UpdateCalendarDefinitionRequest): Promise<CalendarDefinitionDto>;
622
+ deleteCalendarDefinition(id: string): Promise<FileResponse>;
623
+ listResourceCalendarPeriods(): Promise<ResourceCalendarPeriodGroupDto[]>;
624
+ addResourceCalendarPeriod(request: AddResourceCalendarPeriod): Promise<ResourceCalendarPeriodDto>;
625
+ updateResourceCalendarPeriod(resourceExternalId: string, effectiveFrom: string, request: UpdateResourceCalendarPeriodRequest): Promise<ResourceCalendarPeriodDto>;
626
+ deleteResourceCalendarPeriod(resourceExternalId: string, effectiveFrom: string): Promise<FileResponse>;
627
+ bulkAddResourceCalendarPeriods(request: BulkAddResourceCalendarPeriods): Promise<ResourceCalendarPeriodDto[]>;
628
+ copyResourceCalendarPeriod(sourceResourceExternalId: string, sourceEffectiveFrom: string, request: CopyResourceCalendarPeriodRequest): Promise<ResourceCalendarPeriodDto>;
629
+ migrateCapacityToSchedules(): Promise<MigrationResultDto>;
630
+ }
631
+ export declare class KpiCalendarClient extends AuthorizedApiBase implements IKpiCalendarClient {
632
+ private http;
633
+ private baseUrl;
634
+ constructor(configuration: IAccessTokenProvider, baseUrl?: string, http?: {
635
+ fetch(url: RequestInfo, init?: RequestInit): Promise<Response>;
636
+ });
637
+ listCalendarDefinitions(): Promise<CalendarDefinitionDto[]>;
638
+ protected processListCalendarDefinitions(response: Response): Promise<CalendarDefinitionDto[]>;
639
+ createCalendarDefinition(request: CreateCalendarDefinition): Promise<CalendarDefinitionDto>;
640
+ protected processCreateCalendarDefinition(response: Response): Promise<CalendarDefinitionDto>;
641
+ updateCalendarDefinition(id: string, request: UpdateCalendarDefinitionRequest): Promise<CalendarDefinitionDto>;
642
+ protected processUpdateCalendarDefinition(response: Response): Promise<CalendarDefinitionDto>;
643
+ deleteCalendarDefinition(id: string): Promise<FileResponse>;
644
+ protected processDeleteCalendarDefinition(response: Response): Promise<FileResponse>;
645
+ listResourceCalendarPeriods(): Promise<ResourceCalendarPeriodGroupDto[]>;
646
+ protected processListResourceCalendarPeriods(response: Response): Promise<ResourceCalendarPeriodGroupDto[]>;
647
+ addResourceCalendarPeriod(request: AddResourceCalendarPeriod): Promise<ResourceCalendarPeriodDto>;
648
+ protected processAddResourceCalendarPeriod(response: Response): Promise<ResourceCalendarPeriodDto>;
649
+ updateResourceCalendarPeriod(resourceExternalId: string, effectiveFrom: string, request: UpdateResourceCalendarPeriodRequest): Promise<ResourceCalendarPeriodDto>;
650
+ protected processUpdateResourceCalendarPeriod(response: Response): Promise<ResourceCalendarPeriodDto>;
651
+ deleteResourceCalendarPeriod(resourceExternalId: string, effectiveFrom: string): Promise<FileResponse>;
652
+ protected processDeleteResourceCalendarPeriod(response: Response): Promise<FileResponse>;
653
+ bulkAddResourceCalendarPeriods(request: BulkAddResourceCalendarPeriods): Promise<ResourceCalendarPeriodDto[]>;
654
+ protected processBulkAddResourceCalendarPeriods(response: Response): Promise<ResourceCalendarPeriodDto[]>;
655
+ copyResourceCalendarPeriod(sourceResourceExternalId: string, sourceEffectiveFrom: string, request: CopyResourceCalendarPeriodRequest): Promise<ResourceCalendarPeriodDto>;
656
+ protected processCopyResourceCalendarPeriod(response: Response): Promise<ResourceCalendarPeriodDto>;
657
+ migrateCapacityToSchedules(): Promise<MigrationResultDto>;
658
+ protected processMigrateCapacityToSchedules(response: Response): Promise<MigrationResultDto>;
659
+ }
618
660
  export interface IKpiResourceClient {
619
661
  getResourceKpi(resourceExternalId: string | undefined, previousPeriodStartDate: Date | undefined, startDate: Date | undefined, endDate: Date | undefined, utcOffset: number | undefined): Promise<ResourceKpiDto>;
620
662
  getResourceDailyUptime(resourceExternalId: string | undefined, date: Date | undefined, utcOffset: number | undefined): Promise<ResourceDailyUptimeDto>;
@@ -4112,6 +4154,73 @@ export interface UpdateCalendarSettingsCommand {
4112
4154
  holidayHours?: number;
4113
4155
  defaultPerformancePercent?: number | null;
4114
4156
  }
4157
+ export interface CalendarDefinitionDto {
4158
+ id?: string;
4159
+ name?: string;
4160
+ hoursPerWeekday?: {
4161
+ [key in DayOfWeek]?: number;
4162
+ };
4163
+ created?: Date | null;
4164
+ updatedBy?: string | null;
4165
+ }
4166
+ export interface CreateCalendarDefinition {
4167
+ name: string;
4168
+ hoursPerWeekday: {
4169
+ [key in DayOfWeek]?: number;
4170
+ };
4171
+ }
4172
+ export interface UpdateCalendarDefinitionRequest {
4173
+ name?: string | null;
4174
+ hoursPerWeekday?: {
4175
+ [key in DayOfWeek]?: number;
4176
+ } | null;
4177
+ }
4178
+ export interface ResourceCalendarPeriodGroupDto {
4179
+ department?: string | null;
4180
+ resources?: ResourceCalendarPeriodsDto[];
4181
+ }
4182
+ export interface ResourceCalendarPeriodsDto {
4183
+ resourceExternalId?: string;
4184
+ resourceName?: string;
4185
+ periods?: ResourceCalendarPeriodDto[];
4186
+ }
4187
+ export interface ResourceCalendarPeriodDto {
4188
+ resourceExternalId?: string;
4189
+ calendarDefinitionId?: string;
4190
+ calendarDefinitionName?: string;
4191
+ effectiveFrom?: string;
4192
+ effectiveTo?: string | null;
4193
+ targetPercent?: number;
4194
+ comment?: string | null;
4195
+ }
4196
+ export interface AddResourceCalendarPeriod {
4197
+ resourceExternalId: string;
4198
+ calendarDefinitionId: string;
4199
+ effectiveFrom: string;
4200
+ targetPercent: number;
4201
+ comment?: string | null;
4202
+ }
4203
+ export interface UpdateResourceCalendarPeriodRequest {
4204
+ calendarDefinitionId?: string | null;
4205
+ targetPercent?: number | null;
4206
+ newEffectiveFrom?: string | null;
4207
+ comment?: string | null;
4208
+ }
4209
+ export interface BulkAddResourceCalendarPeriods {
4210
+ resourceExternalIds: string[];
4211
+ calendarDefinitionId: string;
4212
+ effectiveFrom: string;
4213
+ targetPercent: number;
4214
+ comment?: string | null;
4215
+ }
4216
+ export interface CopyResourceCalendarPeriodRequest {
4217
+ targetResourceExternalId: string;
4218
+ effectiveFrom: string;
4219
+ }
4220
+ export interface MigrationResultDto {
4221
+ created?: number;
4222
+ skipped?: number;
4223
+ }
4115
4224
  export interface ResourceKpiDto {
4116
4225
  uptimeToNow: number;
4117
4226
  uptimeToNowPreviousPeriod: number;
@@ -4152,6 +4261,7 @@ export interface ApplicationResourcesResourceGroupDto {
4152
4261
  id: string;
4153
4262
  name: string;
4154
4263
  companyId?: string | null;
4264
+ department?: string | null;
4155
4265
  resources: ResourceGroupMemberDto[];
4156
4266
  }
4157
4267
  export interface ResourceGroupMemberDto {
@@ -4814,9 +4924,6 @@ export interface TraceListItemDto {
4814
4924
  consumptions: TraceItemConsumptionDto[];
4815
4925
  }
4816
4926
  export interface TraceItemConsumptionDto {
4817
- updated?: Date | null;
4818
- updatedBy?: string | null;
4819
- updatedById?: string | null;
4820
4927
  sourceWorkOrder?: string | null;
4821
4928
  sourceSequence?: string | null;
4822
4929
  traceNumber?: string | null;
@@ -4480,6 +4480,463 @@ export class KpiAdminResourceClient extends AuthorizedApiBase {
4480
4480
  return Promise.resolve(null);
4481
4481
  }
4482
4482
  }
4483
+ export class KpiCalendarClient extends AuthorizedApiBase {
4484
+ constructor(configuration, baseUrl, http) {
4485
+ super(configuration);
4486
+ this.http = http ? http : window;
4487
+ this.baseUrl = baseUrl !== null && baseUrl !== void 0 ? baseUrl : "";
4488
+ }
4489
+ listCalendarDefinitions() {
4490
+ let url_ = this.baseUrl + "/resources/kpi/calendar-definitions";
4491
+ url_ = url_.replace(/[?&]$/, "");
4492
+ let options_ = {
4493
+ method: "GET",
4494
+ headers: {
4495
+ "Accept": "application/json"
4496
+ }
4497
+ };
4498
+ return this.transformOptions(options_).then(transformedOptions_ => {
4499
+ return this.http.fetch(url_, transformedOptions_);
4500
+ }).then((_response) => {
4501
+ return this.processListCalendarDefinitions(_response);
4502
+ });
4503
+ }
4504
+ processListCalendarDefinitions(response) {
4505
+ const status = response.status;
4506
+ let _headers = {};
4507
+ if (response.headers && response.headers.forEach) {
4508
+ response.headers.forEach((v, k) => _headers[k] = v);
4509
+ }
4510
+ ;
4511
+ if (status === 200) {
4512
+ return response.text().then((_responseText) => {
4513
+ let result200 = null;
4514
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4515
+ return result200;
4516
+ });
4517
+ }
4518
+ else if (status !== 200 && status !== 204) {
4519
+ return response.text().then((_responseText) => {
4520
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4521
+ });
4522
+ }
4523
+ return Promise.resolve(null);
4524
+ }
4525
+ createCalendarDefinition(request) {
4526
+ let url_ = this.baseUrl + "/resources/kpi/calendar-definitions";
4527
+ url_ = url_.replace(/[?&]$/, "");
4528
+ const content_ = JSON.stringify(request);
4529
+ let options_ = {
4530
+ body: content_,
4531
+ method: "POST",
4532
+ headers: {
4533
+ "Content-Type": "application/json",
4534
+ "Accept": "application/json"
4535
+ }
4536
+ };
4537
+ return this.transformOptions(options_).then(transformedOptions_ => {
4538
+ return this.http.fetch(url_, transformedOptions_);
4539
+ }).then((_response) => {
4540
+ return this.processCreateCalendarDefinition(_response);
4541
+ });
4542
+ }
4543
+ processCreateCalendarDefinition(response) {
4544
+ const status = response.status;
4545
+ let _headers = {};
4546
+ if (response.headers && response.headers.forEach) {
4547
+ response.headers.forEach((v, k) => _headers[k] = v);
4548
+ }
4549
+ ;
4550
+ if (status === 200) {
4551
+ return response.text().then((_responseText) => {
4552
+ let result200 = null;
4553
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4554
+ return result200;
4555
+ });
4556
+ }
4557
+ else if (status !== 200 && status !== 204) {
4558
+ return response.text().then((_responseText) => {
4559
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4560
+ });
4561
+ }
4562
+ return Promise.resolve(null);
4563
+ }
4564
+ updateCalendarDefinition(id, request) {
4565
+ let url_ = this.baseUrl + "/resources/kpi/calendar-definitions/{id}";
4566
+ if (id === undefined || id === null)
4567
+ throw new globalThis.Error("The parameter 'id' must be defined.");
4568
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
4569
+ url_ = url_.replace(/[?&]$/, "");
4570
+ const content_ = JSON.stringify(request);
4571
+ let options_ = {
4572
+ body: content_,
4573
+ method: "PUT",
4574
+ headers: {
4575
+ "Content-Type": "application/json",
4576
+ "Accept": "application/json"
4577
+ }
4578
+ };
4579
+ return this.transformOptions(options_).then(transformedOptions_ => {
4580
+ return this.http.fetch(url_, transformedOptions_);
4581
+ }).then((_response) => {
4582
+ return this.processUpdateCalendarDefinition(_response);
4583
+ });
4584
+ }
4585
+ processUpdateCalendarDefinition(response) {
4586
+ const status = response.status;
4587
+ let _headers = {};
4588
+ if (response.headers && response.headers.forEach) {
4589
+ response.headers.forEach((v, k) => _headers[k] = v);
4590
+ }
4591
+ ;
4592
+ if (status === 200) {
4593
+ return response.text().then((_responseText) => {
4594
+ let result200 = null;
4595
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4596
+ return result200;
4597
+ });
4598
+ }
4599
+ else if (status !== 200 && status !== 204) {
4600
+ return response.text().then((_responseText) => {
4601
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4602
+ });
4603
+ }
4604
+ return Promise.resolve(null);
4605
+ }
4606
+ deleteCalendarDefinition(id) {
4607
+ let url_ = this.baseUrl + "/resources/kpi/calendar-definitions/{id}";
4608
+ if (id === undefined || id === null)
4609
+ throw new globalThis.Error("The parameter 'id' must be defined.");
4610
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
4611
+ url_ = url_.replace(/[?&]$/, "");
4612
+ let options_ = {
4613
+ method: "DELETE",
4614
+ headers: {
4615
+ "Accept": "application/octet-stream"
4616
+ }
4617
+ };
4618
+ return this.transformOptions(options_).then(transformedOptions_ => {
4619
+ return this.http.fetch(url_, transformedOptions_);
4620
+ }).then((_response) => {
4621
+ return this.processDeleteCalendarDefinition(_response);
4622
+ });
4623
+ }
4624
+ processDeleteCalendarDefinition(response) {
4625
+ const status = response.status;
4626
+ let _headers = {};
4627
+ if (response.headers && response.headers.forEach) {
4628
+ response.headers.forEach((v, k) => _headers[k] = v);
4629
+ }
4630
+ ;
4631
+ if (status === 200 || status === 206) {
4632
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
4633
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
4634
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
4635
+ if (fileName) {
4636
+ fileName = decodeURIComponent(fileName);
4637
+ }
4638
+ else {
4639
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
4640
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
4641
+ }
4642
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
4643
+ }
4644
+ else if (status !== 200 && status !== 204) {
4645
+ return response.text().then((_responseText) => {
4646
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4647
+ });
4648
+ }
4649
+ return Promise.resolve(null);
4650
+ }
4651
+ listResourceCalendarPeriods() {
4652
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods";
4653
+ url_ = url_.replace(/[?&]$/, "");
4654
+ let options_ = {
4655
+ method: "GET",
4656
+ headers: {
4657
+ "Accept": "application/json"
4658
+ }
4659
+ };
4660
+ return this.transformOptions(options_).then(transformedOptions_ => {
4661
+ return this.http.fetch(url_, transformedOptions_);
4662
+ }).then((_response) => {
4663
+ return this.processListResourceCalendarPeriods(_response);
4664
+ });
4665
+ }
4666
+ processListResourceCalendarPeriods(response) {
4667
+ const status = response.status;
4668
+ let _headers = {};
4669
+ if (response.headers && response.headers.forEach) {
4670
+ response.headers.forEach((v, k) => _headers[k] = v);
4671
+ }
4672
+ ;
4673
+ if (status === 200) {
4674
+ return response.text().then((_responseText) => {
4675
+ let result200 = null;
4676
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4677
+ return result200;
4678
+ });
4679
+ }
4680
+ else if (status !== 200 && status !== 204) {
4681
+ return response.text().then((_responseText) => {
4682
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4683
+ });
4684
+ }
4685
+ return Promise.resolve(null);
4686
+ }
4687
+ addResourceCalendarPeriod(request) {
4688
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods";
4689
+ url_ = url_.replace(/[?&]$/, "");
4690
+ const content_ = JSON.stringify(request);
4691
+ let options_ = {
4692
+ body: content_,
4693
+ method: "POST",
4694
+ headers: {
4695
+ "Content-Type": "application/json",
4696
+ "Accept": "application/json"
4697
+ }
4698
+ };
4699
+ return this.transformOptions(options_).then(transformedOptions_ => {
4700
+ return this.http.fetch(url_, transformedOptions_);
4701
+ }).then((_response) => {
4702
+ return this.processAddResourceCalendarPeriod(_response);
4703
+ });
4704
+ }
4705
+ processAddResourceCalendarPeriod(response) {
4706
+ const status = response.status;
4707
+ let _headers = {};
4708
+ if (response.headers && response.headers.forEach) {
4709
+ response.headers.forEach((v, k) => _headers[k] = v);
4710
+ }
4711
+ ;
4712
+ if (status === 200) {
4713
+ return response.text().then((_responseText) => {
4714
+ let result200 = null;
4715
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4716
+ return result200;
4717
+ });
4718
+ }
4719
+ else if (status !== 200 && status !== 204) {
4720
+ return response.text().then((_responseText) => {
4721
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4722
+ });
4723
+ }
4724
+ return Promise.resolve(null);
4725
+ }
4726
+ updateResourceCalendarPeriod(resourceExternalId, effectiveFrom, request) {
4727
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/{resourceExternalId}/{effectiveFrom}";
4728
+ if (resourceExternalId === undefined || resourceExternalId === null)
4729
+ throw new globalThis.Error("The parameter 'resourceExternalId' must be defined.");
4730
+ url_ = url_.replace("{resourceExternalId}", encodeURIComponent("" + resourceExternalId));
4731
+ if (effectiveFrom === undefined || effectiveFrom === null)
4732
+ throw new globalThis.Error("The parameter 'effectiveFrom' must be defined.");
4733
+ url_ = url_.replace("{effectiveFrom}", encodeURIComponent("" + effectiveFrom));
4734
+ url_ = url_.replace(/[?&]$/, "");
4735
+ const content_ = JSON.stringify(request);
4736
+ let options_ = {
4737
+ body: content_,
4738
+ method: "PUT",
4739
+ headers: {
4740
+ "Content-Type": "application/json",
4741
+ "Accept": "application/json"
4742
+ }
4743
+ };
4744
+ return this.transformOptions(options_).then(transformedOptions_ => {
4745
+ return this.http.fetch(url_, transformedOptions_);
4746
+ }).then((_response) => {
4747
+ return this.processUpdateResourceCalendarPeriod(_response);
4748
+ });
4749
+ }
4750
+ processUpdateResourceCalendarPeriod(response) {
4751
+ const status = response.status;
4752
+ let _headers = {};
4753
+ if (response.headers && response.headers.forEach) {
4754
+ response.headers.forEach((v, k) => _headers[k] = v);
4755
+ }
4756
+ ;
4757
+ if (status === 200) {
4758
+ return response.text().then((_responseText) => {
4759
+ let result200 = null;
4760
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4761
+ return result200;
4762
+ });
4763
+ }
4764
+ else if (status !== 200 && status !== 204) {
4765
+ return response.text().then((_responseText) => {
4766
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4767
+ });
4768
+ }
4769
+ return Promise.resolve(null);
4770
+ }
4771
+ deleteResourceCalendarPeriod(resourceExternalId, effectiveFrom) {
4772
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/{resourceExternalId}/{effectiveFrom}";
4773
+ if (resourceExternalId === undefined || resourceExternalId === null)
4774
+ throw new globalThis.Error("The parameter 'resourceExternalId' must be defined.");
4775
+ url_ = url_.replace("{resourceExternalId}", encodeURIComponent("" + resourceExternalId));
4776
+ if (effectiveFrom === undefined || effectiveFrom === null)
4777
+ throw new globalThis.Error("The parameter 'effectiveFrom' must be defined.");
4778
+ url_ = url_.replace("{effectiveFrom}", encodeURIComponent("" + effectiveFrom));
4779
+ url_ = url_.replace(/[?&]$/, "");
4780
+ let options_ = {
4781
+ method: "DELETE",
4782
+ headers: {
4783
+ "Accept": "application/octet-stream"
4784
+ }
4785
+ };
4786
+ return this.transformOptions(options_).then(transformedOptions_ => {
4787
+ return this.http.fetch(url_, transformedOptions_);
4788
+ }).then((_response) => {
4789
+ return this.processDeleteResourceCalendarPeriod(_response);
4790
+ });
4791
+ }
4792
+ processDeleteResourceCalendarPeriod(response) {
4793
+ const status = response.status;
4794
+ let _headers = {};
4795
+ if (response.headers && response.headers.forEach) {
4796
+ response.headers.forEach((v, k) => _headers[k] = v);
4797
+ }
4798
+ ;
4799
+ if (status === 200 || status === 206) {
4800
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
4801
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
4802
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
4803
+ if (fileName) {
4804
+ fileName = decodeURIComponent(fileName);
4805
+ }
4806
+ else {
4807
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
4808
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
4809
+ }
4810
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
4811
+ }
4812
+ else if (status !== 200 && status !== 204) {
4813
+ return response.text().then((_responseText) => {
4814
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4815
+ });
4816
+ }
4817
+ return Promise.resolve(null);
4818
+ }
4819
+ bulkAddResourceCalendarPeriods(request) {
4820
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/bulk";
4821
+ url_ = url_.replace(/[?&]$/, "");
4822
+ const content_ = JSON.stringify(request);
4823
+ let options_ = {
4824
+ body: content_,
4825
+ method: "POST",
4826
+ headers: {
4827
+ "Content-Type": "application/json",
4828
+ "Accept": "application/json"
4829
+ }
4830
+ };
4831
+ return this.transformOptions(options_).then(transformedOptions_ => {
4832
+ return this.http.fetch(url_, transformedOptions_);
4833
+ }).then((_response) => {
4834
+ return this.processBulkAddResourceCalendarPeriods(_response);
4835
+ });
4836
+ }
4837
+ processBulkAddResourceCalendarPeriods(response) {
4838
+ const status = response.status;
4839
+ let _headers = {};
4840
+ if (response.headers && response.headers.forEach) {
4841
+ response.headers.forEach((v, k) => _headers[k] = v);
4842
+ }
4843
+ ;
4844
+ if (status === 200) {
4845
+ return response.text().then((_responseText) => {
4846
+ let result200 = null;
4847
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4848
+ return result200;
4849
+ });
4850
+ }
4851
+ else if (status !== 200 && status !== 204) {
4852
+ return response.text().then((_responseText) => {
4853
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4854
+ });
4855
+ }
4856
+ return Promise.resolve(null);
4857
+ }
4858
+ copyResourceCalendarPeriod(sourceResourceExternalId, sourceEffectiveFrom, request) {
4859
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/{sourceResourceExternalId}/{sourceEffectiveFrom}/copy";
4860
+ if (sourceResourceExternalId === undefined || sourceResourceExternalId === null)
4861
+ throw new globalThis.Error("The parameter 'sourceResourceExternalId' must be defined.");
4862
+ url_ = url_.replace("{sourceResourceExternalId}", encodeURIComponent("" + sourceResourceExternalId));
4863
+ if (sourceEffectiveFrom === undefined || sourceEffectiveFrom === null)
4864
+ throw new globalThis.Error("The parameter 'sourceEffectiveFrom' must be defined.");
4865
+ url_ = url_.replace("{sourceEffectiveFrom}", encodeURIComponent("" + sourceEffectiveFrom));
4866
+ url_ = url_.replace(/[?&]$/, "");
4867
+ const content_ = JSON.stringify(request);
4868
+ let options_ = {
4869
+ body: content_,
4870
+ method: "POST",
4871
+ headers: {
4872
+ "Content-Type": "application/json",
4873
+ "Accept": "application/json"
4874
+ }
4875
+ };
4876
+ return this.transformOptions(options_).then(transformedOptions_ => {
4877
+ return this.http.fetch(url_, transformedOptions_);
4878
+ }).then((_response) => {
4879
+ return this.processCopyResourceCalendarPeriod(_response);
4880
+ });
4881
+ }
4882
+ processCopyResourceCalendarPeriod(response) {
4883
+ const status = response.status;
4884
+ let _headers = {};
4885
+ if (response.headers && response.headers.forEach) {
4886
+ response.headers.forEach((v, k) => _headers[k] = v);
4887
+ }
4888
+ ;
4889
+ if (status === 200) {
4890
+ return response.text().then((_responseText) => {
4891
+ let result200 = null;
4892
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4893
+ return result200;
4894
+ });
4895
+ }
4896
+ else if (status !== 200 && status !== 204) {
4897
+ return response.text().then((_responseText) => {
4898
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4899
+ });
4900
+ }
4901
+ return Promise.resolve(null);
4902
+ }
4903
+ migrateCapacityToSchedules() {
4904
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/migrate-capacity";
4905
+ url_ = url_.replace(/[?&]$/, "");
4906
+ let options_ = {
4907
+ method: "POST",
4908
+ headers: {
4909
+ "Accept": "application/json"
4910
+ }
4911
+ };
4912
+ return this.transformOptions(options_).then(transformedOptions_ => {
4913
+ return this.http.fetch(url_, transformedOptions_);
4914
+ }).then((_response) => {
4915
+ return this.processMigrateCapacityToSchedules(_response);
4916
+ });
4917
+ }
4918
+ processMigrateCapacityToSchedules(response) {
4919
+ const status = response.status;
4920
+ let _headers = {};
4921
+ if (response.headers && response.headers.forEach) {
4922
+ response.headers.forEach((v, k) => _headers[k] = v);
4923
+ }
4924
+ ;
4925
+ if (status === 200) {
4926
+ return response.text().then((_responseText) => {
4927
+ let result200 = null;
4928
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver);
4929
+ return result200;
4930
+ });
4931
+ }
4932
+ else if (status !== 200 && status !== 204) {
4933
+ return response.text().then((_responseText) => {
4934
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4935
+ });
4936
+ }
4937
+ return Promise.resolve(null);
4938
+ }
4939
+ }
4483
4940
  export class KpiResourceClient extends AuthorizedApiBase {
4484
4941
  constructor(configuration, baseUrl, http) {
4485
4942
  super(configuration);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ignos/api-client",
3
- "version": "20260508.124.1-alpha",
3
+ "version": "20260512.125.1",
4
4
  "description": "IGNOS API Client",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -4839,6 +4839,485 @@ export class KpiAdminResourceClient extends AuthorizedApiBase implements IKpiAdm
4839
4839
  }
4840
4840
  }
4841
4841
 
4842
+ export interface IKpiCalendarClient {
4843
+
4844
+ listCalendarDefinitions(): Promise<CalendarDefinitionDto[]>;
4845
+
4846
+ createCalendarDefinition(request: CreateCalendarDefinition): Promise<CalendarDefinitionDto>;
4847
+
4848
+ updateCalendarDefinition(id: string, request: UpdateCalendarDefinitionRequest): Promise<CalendarDefinitionDto>;
4849
+
4850
+ deleteCalendarDefinition(id: string): Promise<FileResponse>;
4851
+
4852
+ listResourceCalendarPeriods(): Promise<ResourceCalendarPeriodGroupDto[]>;
4853
+
4854
+ addResourceCalendarPeriod(request: AddResourceCalendarPeriod): Promise<ResourceCalendarPeriodDto>;
4855
+
4856
+ updateResourceCalendarPeriod(resourceExternalId: string, effectiveFrom: string, request: UpdateResourceCalendarPeriodRequest): Promise<ResourceCalendarPeriodDto>;
4857
+
4858
+ deleteResourceCalendarPeriod(resourceExternalId: string, effectiveFrom: string): Promise<FileResponse>;
4859
+
4860
+ bulkAddResourceCalendarPeriods(request: BulkAddResourceCalendarPeriods): Promise<ResourceCalendarPeriodDto[]>;
4861
+
4862
+ copyResourceCalendarPeriod(sourceResourceExternalId: string, sourceEffectiveFrom: string, request: CopyResourceCalendarPeriodRequest): Promise<ResourceCalendarPeriodDto>;
4863
+
4864
+ migrateCapacityToSchedules(): Promise<MigrationResultDto>;
4865
+ }
4866
+
4867
+ export class KpiCalendarClient extends AuthorizedApiBase implements IKpiCalendarClient {
4868
+ private http: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> };
4869
+ private baseUrl: string;
4870
+
4871
+ constructor(configuration: IAccessTokenProvider, baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise<Response> }) {
4872
+ super(configuration);
4873
+ this.http = http ? http : window as any;
4874
+ this.baseUrl = baseUrl ?? "";
4875
+ }
4876
+
4877
+ listCalendarDefinitions(): Promise<CalendarDefinitionDto[]> {
4878
+ let url_ = this.baseUrl + "/resources/kpi/calendar-definitions";
4879
+ url_ = url_.replace(/[?&]$/, "");
4880
+
4881
+ let options_: RequestInit = {
4882
+ method: "GET",
4883
+ headers: {
4884
+ "Accept": "application/json"
4885
+ }
4886
+ };
4887
+
4888
+ return this.transformOptions(options_).then(transformedOptions_ => {
4889
+ return this.http.fetch(url_, transformedOptions_);
4890
+ }).then((_response: Response) => {
4891
+ return this.processListCalendarDefinitions(_response);
4892
+ });
4893
+ }
4894
+
4895
+ protected processListCalendarDefinitions(response: Response): Promise<CalendarDefinitionDto[]> {
4896
+ const status = response.status;
4897
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
4898
+ if (status === 200) {
4899
+ return response.text().then((_responseText) => {
4900
+ let result200: any = null;
4901
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CalendarDefinitionDto[];
4902
+ return result200;
4903
+ });
4904
+ } else if (status !== 200 && status !== 204) {
4905
+ return response.text().then((_responseText) => {
4906
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4907
+ });
4908
+ }
4909
+ return Promise.resolve<CalendarDefinitionDto[]>(null as any);
4910
+ }
4911
+
4912
+ createCalendarDefinition(request: CreateCalendarDefinition): Promise<CalendarDefinitionDto> {
4913
+ let url_ = this.baseUrl + "/resources/kpi/calendar-definitions";
4914
+ url_ = url_.replace(/[?&]$/, "");
4915
+
4916
+ const content_ = JSON.stringify(request);
4917
+
4918
+ let options_: RequestInit = {
4919
+ body: content_,
4920
+ method: "POST",
4921
+ headers: {
4922
+ "Content-Type": "application/json",
4923
+ "Accept": "application/json"
4924
+ }
4925
+ };
4926
+
4927
+ return this.transformOptions(options_).then(transformedOptions_ => {
4928
+ return this.http.fetch(url_, transformedOptions_);
4929
+ }).then((_response: Response) => {
4930
+ return this.processCreateCalendarDefinition(_response);
4931
+ });
4932
+ }
4933
+
4934
+ protected processCreateCalendarDefinition(response: Response): Promise<CalendarDefinitionDto> {
4935
+ const status = response.status;
4936
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
4937
+ if (status === 200) {
4938
+ return response.text().then((_responseText) => {
4939
+ let result200: any = null;
4940
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CalendarDefinitionDto;
4941
+ return result200;
4942
+ });
4943
+ } else if (status !== 200 && status !== 204) {
4944
+ return response.text().then((_responseText) => {
4945
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4946
+ });
4947
+ }
4948
+ return Promise.resolve<CalendarDefinitionDto>(null as any);
4949
+ }
4950
+
4951
+ updateCalendarDefinition(id: string, request: UpdateCalendarDefinitionRequest): Promise<CalendarDefinitionDto> {
4952
+ let url_ = this.baseUrl + "/resources/kpi/calendar-definitions/{id}";
4953
+ if (id === undefined || id === null)
4954
+ throw new globalThis.Error("The parameter 'id' must be defined.");
4955
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
4956
+ url_ = url_.replace(/[?&]$/, "");
4957
+
4958
+ const content_ = JSON.stringify(request);
4959
+
4960
+ let options_: RequestInit = {
4961
+ body: content_,
4962
+ method: "PUT",
4963
+ headers: {
4964
+ "Content-Type": "application/json",
4965
+ "Accept": "application/json"
4966
+ }
4967
+ };
4968
+
4969
+ return this.transformOptions(options_).then(transformedOptions_ => {
4970
+ return this.http.fetch(url_, transformedOptions_);
4971
+ }).then((_response: Response) => {
4972
+ return this.processUpdateCalendarDefinition(_response);
4973
+ });
4974
+ }
4975
+
4976
+ protected processUpdateCalendarDefinition(response: Response): Promise<CalendarDefinitionDto> {
4977
+ const status = response.status;
4978
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
4979
+ if (status === 200) {
4980
+ return response.text().then((_responseText) => {
4981
+ let result200: any = null;
4982
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as CalendarDefinitionDto;
4983
+ return result200;
4984
+ });
4985
+ } else if (status !== 200 && status !== 204) {
4986
+ return response.text().then((_responseText) => {
4987
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
4988
+ });
4989
+ }
4990
+ return Promise.resolve<CalendarDefinitionDto>(null as any);
4991
+ }
4992
+
4993
+ deleteCalendarDefinition(id: string): Promise<FileResponse> {
4994
+ let url_ = this.baseUrl + "/resources/kpi/calendar-definitions/{id}";
4995
+ if (id === undefined || id === null)
4996
+ throw new globalThis.Error("The parameter 'id' must be defined.");
4997
+ url_ = url_.replace("{id}", encodeURIComponent("" + id));
4998
+ url_ = url_.replace(/[?&]$/, "");
4999
+
5000
+ let options_: RequestInit = {
5001
+ method: "DELETE",
5002
+ headers: {
5003
+ "Accept": "application/octet-stream"
5004
+ }
5005
+ };
5006
+
5007
+ return this.transformOptions(options_).then(transformedOptions_ => {
5008
+ return this.http.fetch(url_, transformedOptions_);
5009
+ }).then((_response: Response) => {
5010
+ return this.processDeleteCalendarDefinition(_response);
5011
+ });
5012
+ }
5013
+
5014
+ protected processDeleteCalendarDefinition(response: Response): Promise<FileResponse> {
5015
+ const status = response.status;
5016
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5017
+ if (status === 200 || status === 206) {
5018
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
5019
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
5020
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
5021
+ if (fileName) {
5022
+ fileName = decodeURIComponent(fileName);
5023
+ } else {
5024
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
5025
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
5026
+ }
5027
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
5028
+ } else if (status !== 200 && status !== 204) {
5029
+ return response.text().then((_responseText) => {
5030
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5031
+ });
5032
+ }
5033
+ return Promise.resolve<FileResponse>(null as any);
5034
+ }
5035
+
5036
+ listResourceCalendarPeriods(): Promise<ResourceCalendarPeriodGroupDto[]> {
5037
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods";
5038
+ url_ = url_.replace(/[?&]$/, "");
5039
+
5040
+ let options_: RequestInit = {
5041
+ method: "GET",
5042
+ headers: {
5043
+ "Accept": "application/json"
5044
+ }
5045
+ };
5046
+
5047
+ return this.transformOptions(options_).then(transformedOptions_ => {
5048
+ return this.http.fetch(url_, transformedOptions_);
5049
+ }).then((_response: Response) => {
5050
+ return this.processListResourceCalendarPeriods(_response);
5051
+ });
5052
+ }
5053
+
5054
+ protected processListResourceCalendarPeriods(response: Response): Promise<ResourceCalendarPeriodGroupDto[]> {
5055
+ const status = response.status;
5056
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5057
+ if (status === 200) {
5058
+ return response.text().then((_responseText) => {
5059
+ let result200: any = null;
5060
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ResourceCalendarPeriodGroupDto[];
5061
+ return result200;
5062
+ });
5063
+ } else if (status !== 200 && status !== 204) {
5064
+ return response.text().then((_responseText) => {
5065
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5066
+ });
5067
+ }
5068
+ return Promise.resolve<ResourceCalendarPeriodGroupDto[]>(null as any);
5069
+ }
5070
+
5071
+ addResourceCalendarPeriod(request: AddResourceCalendarPeriod): Promise<ResourceCalendarPeriodDto> {
5072
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods";
5073
+ url_ = url_.replace(/[?&]$/, "");
5074
+
5075
+ const content_ = JSON.stringify(request);
5076
+
5077
+ let options_: RequestInit = {
5078
+ body: content_,
5079
+ method: "POST",
5080
+ headers: {
5081
+ "Content-Type": "application/json",
5082
+ "Accept": "application/json"
5083
+ }
5084
+ };
5085
+
5086
+ return this.transformOptions(options_).then(transformedOptions_ => {
5087
+ return this.http.fetch(url_, transformedOptions_);
5088
+ }).then((_response: Response) => {
5089
+ return this.processAddResourceCalendarPeriod(_response);
5090
+ });
5091
+ }
5092
+
5093
+ protected processAddResourceCalendarPeriod(response: Response): Promise<ResourceCalendarPeriodDto> {
5094
+ const status = response.status;
5095
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5096
+ if (status === 200) {
5097
+ return response.text().then((_responseText) => {
5098
+ let result200: any = null;
5099
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ResourceCalendarPeriodDto;
5100
+ return result200;
5101
+ });
5102
+ } else if (status !== 200 && status !== 204) {
5103
+ return response.text().then((_responseText) => {
5104
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5105
+ });
5106
+ }
5107
+ return Promise.resolve<ResourceCalendarPeriodDto>(null as any);
5108
+ }
5109
+
5110
+ updateResourceCalendarPeriod(resourceExternalId: string, effectiveFrom: string, request: UpdateResourceCalendarPeriodRequest): Promise<ResourceCalendarPeriodDto> {
5111
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/{resourceExternalId}/{effectiveFrom}";
5112
+ if (resourceExternalId === undefined || resourceExternalId === null)
5113
+ throw new globalThis.Error("The parameter 'resourceExternalId' must be defined.");
5114
+ url_ = url_.replace("{resourceExternalId}", encodeURIComponent("" + resourceExternalId));
5115
+ if (effectiveFrom === undefined || effectiveFrom === null)
5116
+ throw new globalThis.Error("The parameter 'effectiveFrom' must be defined.");
5117
+ url_ = url_.replace("{effectiveFrom}", encodeURIComponent("" + effectiveFrom));
5118
+ url_ = url_.replace(/[?&]$/, "");
5119
+
5120
+ const content_ = JSON.stringify(request);
5121
+
5122
+ let options_: RequestInit = {
5123
+ body: content_,
5124
+ method: "PUT",
5125
+ headers: {
5126
+ "Content-Type": "application/json",
5127
+ "Accept": "application/json"
5128
+ }
5129
+ };
5130
+
5131
+ return this.transformOptions(options_).then(transformedOptions_ => {
5132
+ return this.http.fetch(url_, transformedOptions_);
5133
+ }).then((_response: Response) => {
5134
+ return this.processUpdateResourceCalendarPeriod(_response);
5135
+ });
5136
+ }
5137
+
5138
+ protected processUpdateResourceCalendarPeriod(response: Response): Promise<ResourceCalendarPeriodDto> {
5139
+ const status = response.status;
5140
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5141
+ if (status === 200) {
5142
+ return response.text().then((_responseText) => {
5143
+ let result200: any = null;
5144
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ResourceCalendarPeriodDto;
5145
+ return result200;
5146
+ });
5147
+ } else if (status !== 200 && status !== 204) {
5148
+ return response.text().then((_responseText) => {
5149
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5150
+ });
5151
+ }
5152
+ return Promise.resolve<ResourceCalendarPeriodDto>(null as any);
5153
+ }
5154
+
5155
+ deleteResourceCalendarPeriod(resourceExternalId: string, effectiveFrom: string): Promise<FileResponse> {
5156
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/{resourceExternalId}/{effectiveFrom}";
5157
+ if (resourceExternalId === undefined || resourceExternalId === null)
5158
+ throw new globalThis.Error("The parameter 'resourceExternalId' must be defined.");
5159
+ url_ = url_.replace("{resourceExternalId}", encodeURIComponent("" + resourceExternalId));
5160
+ if (effectiveFrom === undefined || effectiveFrom === null)
5161
+ throw new globalThis.Error("The parameter 'effectiveFrom' must be defined.");
5162
+ url_ = url_.replace("{effectiveFrom}", encodeURIComponent("" + effectiveFrom));
5163
+ url_ = url_.replace(/[?&]$/, "");
5164
+
5165
+ let options_: RequestInit = {
5166
+ method: "DELETE",
5167
+ headers: {
5168
+ "Accept": "application/octet-stream"
5169
+ }
5170
+ };
5171
+
5172
+ return this.transformOptions(options_).then(transformedOptions_ => {
5173
+ return this.http.fetch(url_, transformedOptions_);
5174
+ }).then((_response: Response) => {
5175
+ return this.processDeleteResourceCalendarPeriod(_response);
5176
+ });
5177
+ }
5178
+
5179
+ protected processDeleteResourceCalendarPeriod(response: Response): Promise<FileResponse> {
5180
+ const status = response.status;
5181
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5182
+ if (status === 200 || status === 206) {
5183
+ const contentDisposition = response.headers ? response.headers.get("content-disposition") : undefined;
5184
+ let fileNameMatch = contentDisposition ? /filename\*=(?:(\\?['"])(.*?)\1|(?:[^\s]+'.*?')?([^;\n]*))/g.exec(contentDisposition) : undefined;
5185
+ let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;
5186
+ if (fileName) {
5187
+ fileName = decodeURIComponent(fileName);
5188
+ } else {
5189
+ fileNameMatch = contentDisposition ? /filename="?([^"]*?)"?(;|$)/g.exec(contentDisposition) : undefined;
5190
+ fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;
5191
+ }
5192
+ return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });
5193
+ } else if (status !== 200 && status !== 204) {
5194
+ return response.text().then((_responseText) => {
5195
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5196
+ });
5197
+ }
5198
+ return Promise.resolve<FileResponse>(null as any);
5199
+ }
5200
+
5201
+ bulkAddResourceCalendarPeriods(request: BulkAddResourceCalendarPeriods): Promise<ResourceCalendarPeriodDto[]> {
5202
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/bulk";
5203
+ url_ = url_.replace(/[?&]$/, "");
5204
+
5205
+ const content_ = JSON.stringify(request);
5206
+
5207
+ let options_: RequestInit = {
5208
+ body: content_,
5209
+ method: "POST",
5210
+ headers: {
5211
+ "Content-Type": "application/json",
5212
+ "Accept": "application/json"
5213
+ }
5214
+ };
5215
+
5216
+ return this.transformOptions(options_).then(transformedOptions_ => {
5217
+ return this.http.fetch(url_, transformedOptions_);
5218
+ }).then((_response: Response) => {
5219
+ return this.processBulkAddResourceCalendarPeriods(_response);
5220
+ });
5221
+ }
5222
+
5223
+ protected processBulkAddResourceCalendarPeriods(response: Response): Promise<ResourceCalendarPeriodDto[]> {
5224
+ const status = response.status;
5225
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5226
+ if (status === 200) {
5227
+ return response.text().then((_responseText) => {
5228
+ let result200: any = null;
5229
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ResourceCalendarPeriodDto[];
5230
+ return result200;
5231
+ });
5232
+ } else if (status !== 200 && status !== 204) {
5233
+ return response.text().then((_responseText) => {
5234
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5235
+ });
5236
+ }
5237
+ return Promise.resolve<ResourceCalendarPeriodDto[]>(null as any);
5238
+ }
5239
+
5240
+ copyResourceCalendarPeriod(sourceResourceExternalId: string, sourceEffectiveFrom: string, request: CopyResourceCalendarPeriodRequest): Promise<ResourceCalendarPeriodDto> {
5241
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/{sourceResourceExternalId}/{sourceEffectiveFrom}/copy";
5242
+ if (sourceResourceExternalId === undefined || sourceResourceExternalId === null)
5243
+ throw new globalThis.Error("The parameter 'sourceResourceExternalId' must be defined.");
5244
+ url_ = url_.replace("{sourceResourceExternalId}", encodeURIComponent("" + sourceResourceExternalId));
5245
+ if (sourceEffectiveFrom === undefined || sourceEffectiveFrom === null)
5246
+ throw new globalThis.Error("The parameter 'sourceEffectiveFrom' must be defined.");
5247
+ url_ = url_.replace("{sourceEffectiveFrom}", encodeURIComponent("" + sourceEffectiveFrom));
5248
+ url_ = url_.replace(/[?&]$/, "");
5249
+
5250
+ const content_ = JSON.stringify(request);
5251
+
5252
+ let options_: RequestInit = {
5253
+ body: content_,
5254
+ method: "POST",
5255
+ headers: {
5256
+ "Content-Type": "application/json",
5257
+ "Accept": "application/json"
5258
+ }
5259
+ };
5260
+
5261
+ return this.transformOptions(options_).then(transformedOptions_ => {
5262
+ return this.http.fetch(url_, transformedOptions_);
5263
+ }).then((_response: Response) => {
5264
+ return this.processCopyResourceCalendarPeriod(_response);
5265
+ });
5266
+ }
5267
+
5268
+ protected processCopyResourceCalendarPeriod(response: Response): Promise<ResourceCalendarPeriodDto> {
5269
+ const status = response.status;
5270
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5271
+ if (status === 200) {
5272
+ return response.text().then((_responseText) => {
5273
+ let result200: any = null;
5274
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as ResourceCalendarPeriodDto;
5275
+ return result200;
5276
+ });
5277
+ } else if (status !== 200 && status !== 204) {
5278
+ return response.text().then((_responseText) => {
5279
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5280
+ });
5281
+ }
5282
+ return Promise.resolve<ResourceCalendarPeriodDto>(null as any);
5283
+ }
5284
+
5285
+ migrateCapacityToSchedules(): Promise<MigrationResultDto> {
5286
+ let url_ = this.baseUrl + "/resources/kpi/calendar-periods/migrate-capacity";
5287
+ url_ = url_.replace(/[?&]$/, "");
5288
+
5289
+ let options_: RequestInit = {
5290
+ method: "POST",
5291
+ headers: {
5292
+ "Accept": "application/json"
5293
+ }
5294
+ };
5295
+
5296
+ return this.transformOptions(options_).then(transformedOptions_ => {
5297
+ return this.http.fetch(url_, transformedOptions_);
5298
+ }).then((_response: Response) => {
5299
+ return this.processMigrateCapacityToSchedules(_response);
5300
+ });
5301
+ }
5302
+
5303
+ protected processMigrateCapacityToSchedules(response: Response): Promise<MigrationResultDto> {
5304
+ const status = response.status;
5305
+ let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };
5306
+ if (status === 200) {
5307
+ return response.text().then((_responseText) => {
5308
+ let result200: any = null;
5309
+ result200 = _responseText === "" ? null : JSON.parse(_responseText, this.jsonParseReviver) as MigrationResultDto;
5310
+ return result200;
5311
+ });
5312
+ } else if (status !== 200 && status !== 204) {
5313
+ return response.text().then((_responseText) => {
5314
+ return throwException("An unexpected server error occurred.", status, _responseText, _headers);
5315
+ });
5316
+ }
5317
+ return Promise.resolve<MigrationResultDto>(null as any);
5318
+ }
5319
+ }
5320
+
4842
5321
  export interface IKpiResourceClient {
4843
5322
 
4844
5323
  getResourceKpi(resourceExternalId: string | undefined, previousPeriodStartDate: Date | undefined, startDate: Date | undefined, endDate: Date | undefined, utcOffset: number | undefined): Promise<ResourceKpiDto>;
@@ -30511,6 +30990,78 @@ export interface UpdateCalendarSettingsCommand {
30511
30990
  defaultPerformancePercent?: number | null;
30512
30991
  }
30513
30992
 
30993
+ export interface CalendarDefinitionDto {
30994
+ id?: string;
30995
+ name?: string;
30996
+ hoursPerWeekday?: { [key in DayOfWeek]?: number; };
30997
+ created?: Date | null;
30998
+ updatedBy?: string | null;
30999
+ }
31000
+
31001
+ export interface CreateCalendarDefinition {
31002
+ name: string;
31003
+ hoursPerWeekday: { [key in DayOfWeek]?: number; };
31004
+ }
31005
+
31006
+ export interface UpdateCalendarDefinitionRequest {
31007
+ name?: string | null;
31008
+ hoursPerWeekday?: { [key in DayOfWeek]?: number; } | null;
31009
+ }
31010
+
31011
+ export interface ResourceCalendarPeriodGroupDto {
31012
+ department?: string | null;
31013
+ resources?: ResourceCalendarPeriodsDto[];
31014
+ }
31015
+
31016
+ export interface ResourceCalendarPeriodsDto {
31017
+ resourceExternalId?: string;
31018
+ resourceName?: string;
31019
+ periods?: ResourceCalendarPeriodDto[];
31020
+ }
31021
+
31022
+ export interface ResourceCalendarPeriodDto {
31023
+ resourceExternalId?: string;
31024
+ calendarDefinitionId?: string;
31025
+ calendarDefinitionName?: string;
31026
+ effectiveFrom?: string;
31027
+ effectiveTo?: string | null;
31028
+ targetPercent?: number;
31029
+ comment?: string | null;
31030
+ }
31031
+
31032
+ export interface AddResourceCalendarPeriod {
31033
+ resourceExternalId: string;
31034
+ calendarDefinitionId: string;
31035
+ effectiveFrom: string;
31036
+ targetPercent: number;
31037
+ comment?: string | null;
31038
+ }
31039
+
31040
+ export interface UpdateResourceCalendarPeriodRequest {
31041
+ calendarDefinitionId?: string | null;
31042
+ targetPercent?: number | null;
31043
+ newEffectiveFrom?: string | null;
31044
+ comment?: string | null;
31045
+ }
31046
+
31047
+ export interface BulkAddResourceCalendarPeriods {
31048
+ resourceExternalIds: string[];
31049
+ calendarDefinitionId: string;
31050
+ effectiveFrom: string;
31051
+ targetPercent: number;
31052
+ comment?: string | null;
31053
+ }
31054
+
31055
+ export interface CopyResourceCalendarPeriodRequest {
31056
+ targetResourceExternalId: string;
31057
+ effectiveFrom: string;
31058
+ }
31059
+
31060
+ export interface MigrationResultDto {
31061
+ created?: number;
31062
+ skipped?: number;
31063
+ }
31064
+
30514
31065
  export interface ResourceKpiDto {
30515
31066
  uptimeToNow: number;
30516
31067
  uptimeToNowPreviousPeriod: number;
@@ -30557,6 +31108,7 @@ export interface ApplicationResourcesResourceGroupDto {
30557
31108
  id: string;
30558
31109
  name: string;
30559
31110
  companyId?: string | null;
31111
+ department?: string | null;
30560
31112
  resources: ResourceGroupMemberDto[];
30561
31113
  }
30562
31114
 
@@ -31318,9 +31870,6 @@ export interface TraceListItemDto {
31318
31870
  }
31319
31871
 
31320
31872
  export interface TraceItemConsumptionDto {
31321
- updated?: Date | null;
31322
- updatedBy?: string | null;
31323
- updatedById?: string | null;
31324
31873
  sourceWorkOrder?: string | null;
31325
31874
  sourceSequence?: string | null;
31326
31875
  traceNumber?: string | null;