@contrail/flexplm 1.5.1-alpha.5843ce4 → 1.5.1-alpha.c9b11be
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/publish/base-process-publish-assortment.d.ts +1 -1
- package/lib/publish/base-process-publish-assortment.js +6 -4
- package/lib/publish/base-process-publish-assortment.spec.js +6 -6
- package/package.json +1 -1
- package/src/publish/base-process-publish-assortment.spec.ts +9 -9
- package/src/publish/base-process-publish-assortment.ts +7 -5
|
@@ -79,7 +79,7 @@ export declare class BaseProcessPublishAssortment {
|
|
|
79
79
|
private sendToFlexPLM;
|
|
80
80
|
private saveToLocalFile;
|
|
81
81
|
private handleVibeIQFile;
|
|
82
|
-
sendPublishPayloadEvent
|
|
82
|
+
private sendPublishPayloadEvent;
|
|
83
83
|
private getCurrentDateString;
|
|
84
84
|
getItemFamilyChanges(pcd: PublishChangeData, changeDetail: any, assortmentItemFullChangeMap: Map<string, any>, assortmentItemDeleteMap: Map<string, any>): Map<string, ItemFamilyChanges>;
|
|
85
85
|
getEventsForPublishChangeData(publishChangeData: PublishChangeData): Promise<SeasonalPayload[]>;
|
|
@@ -576,10 +576,11 @@ class BaseProcessPublishAssortment {
|
|
|
576
576
|
events
|
|
577
577
|
};
|
|
578
578
|
const flexPLMConnect = new flexplm_connect_1.FlexPLMConnect(this.config);
|
|
579
|
-
const [
|
|
579
|
+
const [sendResult] = await Promise.allSettled([
|
|
580
580
|
flexPLMConnect.sendToFlexPLM(outboundPublishEvent),
|
|
581
581
|
this.sendPublishPayloadEvent(outboundPublishEvent)
|
|
582
582
|
]);
|
|
583
|
+
const result = sendResult.status === 'fulfilled' ? sendResult.value : { error: sendResult.reason?.message };
|
|
583
584
|
const isResultObject = typeof result === 'object' && result !== null;
|
|
584
585
|
const resultWithOutboundPublishEvent = isResultObject
|
|
585
586
|
? { ...result, outboundPublishEvent }
|
|
@@ -631,10 +632,11 @@ class BaseProcessPublishAssortment {
|
|
|
631
632
|
};
|
|
632
633
|
if (sendMode === 'vibeiqfile') {
|
|
633
634
|
const flexPLMConnect = new flexplm_connect_1.FlexPLMConnect(this.config);
|
|
634
|
-
const [
|
|
635
|
+
const [sendResult] = await Promise.allSettled([
|
|
635
636
|
flexPLMConnect.sendToFlexPLM(outboundPublishEvent),
|
|
636
637
|
this.sendPublishPayloadEvent(outboundPublishEvent)
|
|
637
638
|
]);
|
|
639
|
+
const result = sendResult.status === 'fulfilled' ? sendResult.value : { error: sendResult.reason?.message };
|
|
638
640
|
return { ...result, outboundPublishEvent };
|
|
639
641
|
}
|
|
640
642
|
else {
|
|
@@ -645,7 +647,7 @@ class BaseProcessPublishAssortment {
|
|
|
645
647
|
};
|
|
646
648
|
}
|
|
647
649
|
}
|
|
648
|
-
async sendPublishPayloadEvent(
|
|
650
|
+
async sendPublishPayloadEvent(outboundPublishEvent) {
|
|
649
651
|
console.info('sendPublishPayloadEvent()');
|
|
650
652
|
let initialEvent = {};
|
|
651
653
|
if (this.config?.event) {
|
|
@@ -656,7 +658,7 @@ class BaseProcessPublishAssortment {
|
|
|
656
658
|
const eventBody = {
|
|
657
659
|
originSystemType: 'VibeIQ',
|
|
658
660
|
objectClass: 'AssortmentPublishedToFlexPLM',
|
|
659
|
-
|
|
661
|
+
outboundPublishEvent,
|
|
660
662
|
initialEvent
|
|
661
663
|
};
|
|
662
664
|
await new sdk_1.Entities().create({
|
|
@@ -1779,14 +1779,14 @@ describe('sendToFlexPLM / handleVibeIQFile / sendPublishPayloadEvent', () => {
|
|
|
1779
1779
|
});
|
|
1780
1780
|
it('sendPublishPayloadEvent creates an external-event with initialEvent parsed from config', async () => {
|
|
1781
1781
|
const bppa = new base_process_publish_assortment_1.BaseProcessPublishAssortment(config, dc, mapFileUtil);
|
|
1782
|
-
const
|
|
1783
|
-
await bppa.sendPublishPayloadEvent(
|
|
1782
|
+
const outboundPublishEvent = { foo: 'bar' };
|
|
1783
|
+
await bppa.sendPublishPayloadEvent(outboundPublishEvent);
|
|
1784
1784
|
expect(createCallArg).toEqual({
|
|
1785
1785
|
entityName: 'external-event',
|
|
1786
1786
|
object: {
|
|
1787
1787
|
originSystemType: 'VibeIQ',
|
|
1788
1788
|
objectClass: 'AssortmentPublishedToFlexPLM',
|
|
1789
|
-
|
|
1789
|
+
outboundPublishEvent,
|
|
1790
1790
|
initialEvent: { sourceEventId: 'src-1' }
|
|
1791
1791
|
}
|
|
1792
1792
|
});
|
|
@@ -1794,14 +1794,14 @@ describe('sendToFlexPLM / handleVibeIQFile / sendPublishPayloadEvent', () => {
|
|
|
1794
1794
|
it('sendPublishPayloadEvent defaults initialEvent to {} when config has no event', async () => {
|
|
1795
1795
|
const bareConfig = { taskId: 'task-x' };
|
|
1796
1796
|
const bppa = new base_process_publish_assortment_1.BaseProcessPublishAssortment(bareConfig, dc, mapFileUtil);
|
|
1797
|
-
const
|
|
1798
|
-
await bppa.sendPublishPayloadEvent(
|
|
1797
|
+
const outboundPublishEvent = { hello: 'world' };
|
|
1798
|
+
await bppa.sendPublishPayloadEvent(outboundPublishEvent);
|
|
1799
1799
|
expect(createCallArg).toEqual({
|
|
1800
1800
|
entityName: 'external-event',
|
|
1801
1801
|
object: {
|
|
1802
1802
|
originSystemType: 'VibeIQ',
|
|
1803
1803
|
objectClass: 'AssortmentPublishedToFlexPLM',
|
|
1804
|
-
|
|
1804
|
+
outboundPublishEvent,
|
|
1805
1805
|
initialEvent: {}
|
|
1806
1806
|
}
|
|
1807
1807
|
});
|
package/package.json
CHANGED
|
@@ -2045,7 +2045,7 @@ describe('sendToFlexPLM / handleVibeIQFile / sendPublishPayloadEvent', () => {
|
|
|
2045
2045
|
flexResolved = true;
|
|
2046
2046
|
return flexResponse as any;
|
|
2047
2047
|
});
|
|
2048
|
-
const spyEvent = jest.spyOn(bppa, 'sendPublishPayloadEvent')
|
|
2048
|
+
const spyEvent = jest.spyOn(bppa as any, 'sendPublishPayloadEvent')
|
|
2049
2049
|
.mockImplementation(async () => {
|
|
2050
2050
|
await new Promise(r => setTimeout(r, 5));
|
|
2051
2051
|
eventResolved = true;
|
|
@@ -2073,7 +2073,7 @@ describe('sendToFlexPLM / handleVibeIQFile / sendPublishPayloadEvent', () => {
|
|
|
2073
2073
|
|
|
2074
2074
|
const spyFlex = jest.spyOn(FlexPLMConnect.prototype, 'sendToFlexPLM')
|
|
2075
2075
|
.mockResolvedValue(flexResponse as any);
|
|
2076
|
-
const spyEvent = jest.spyOn(bppa, 'sendPublishPayloadEvent')
|
|
2076
|
+
const spyEvent = jest.spyOn(bppa as any, 'sendPublishPayloadEvent')
|
|
2077
2077
|
.mockResolvedValue(undefined as any);
|
|
2078
2078
|
|
|
2079
2079
|
const result = await (bppa as any).handleVibeIQFile(events, eventType, 'vibeiqfile');
|
|
@@ -2101,7 +2101,7 @@ describe('sendToFlexPLM / handleVibeIQFile / sendPublishPayloadEvent', () => {
|
|
|
2101
2101
|
|
|
2102
2102
|
const spyFlex = jest.spyOn(FlexPLMConnect.prototype, 'sendToFlexPLM')
|
|
2103
2103
|
.mockResolvedValue({} as any);
|
|
2104
|
-
const spyEvent = jest.spyOn(bppa, 'sendPublishPayloadEvent')
|
|
2104
|
+
const spyEvent = jest.spyOn(bppa as any, 'sendPublishPayloadEvent')
|
|
2105
2105
|
.mockResolvedValue(undefined as any);
|
|
2106
2106
|
|
|
2107
2107
|
const result = await (bppa as any).handleVibeIQFile(events, eventType, 'vibeiqfile-dontsendtoflexplm');
|
|
@@ -2119,16 +2119,16 @@ describe('sendToFlexPLM / handleVibeIQFile / sendPublishPayloadEvent', () => {
|
|
|
2119
2119
|
|
|
2120
2120
|
it('sendPublishPayloadEvent creates an external-event with initialEvent parsed from config', async () => {
|
|
2121
2121
|
const bppa = new BaseProcessPublishAssortment(config, dc, mapFileUtil);
|
|
2122
|
-
const
|
|
2122
|
+
const outboundPublishEvent = { foo: 'bar' };
|
|
2123
2123
|
|
|
2124
|
-
await bppa.sendPublishPayloadEvent(
|
|
2124
|
+
await (bppa as any).sendPublishPayloadEvent(outboundPublishEvent);
|
|
2125
2125
|
|
|
2126
2126
|
expect(createCallArg).toEqual({
|
|
2127
2127
|
entityName: 'external-event',
|
|
2128
2128
|
object: {
|
|
2129
2129
|
originSystemType: 'VibeIQ',
|
|
2130
2130
|
objectClass: 'AssortmentPublishedToFlexPLM',
|
|
2131
|
-
|
|
2131
|
+
outboundPublishEvent,
|
|
2132
2132
|
initialEvent: { sourceEventId: 'src-1' }
|
|
2133
2133
|
}
|
|
2134
2134
|
});
|
|
@@ -2137,16 +2137,16 @@ describe('sendToFlexPLM / handleVibeIQFile / sendPublishPayloadEvent', () => {
|
|
|
2137
2137
|
it('sendPublishPayloadEvent defaults initialEvent to {} when config has no event', async () => {
|
|
2138
2138
|
const bareConfig = { taskId: 'task-x' } as unknown as FCConfig;
|
|
2139
2139
|
const bppa = new BaseProcessPublishAssortment(bareConfig, dc, mapFileUtil);
|
|
2140
|
-
const
|
|
2140
|
+
const outboundPublishEvent = { hello: 'world' };
|
|
2141
2141
|
|
|
2142
|
-
await bppa.sendPublishPayloadEvent(
|
|
2142
|
+
await (bppa as any).sendPublishPayloadEvent(outboundPublishEvent);
|
|
2143
2143
|
|
|
2144
2144
|
expect(createCallArg).toEqual({
|
|
2145
2145
|
entityName: 'external-event',
|
|
2146
2146
|
object: {
|
|
2147
2147
|
originSystemType: 'VibeIQ',
|
|
2148
2148
|
objectClass: 'AssortmentPublishedToFlexPLM',
|
|
2149
|
-
|
|
2149
|
+
outboundPublishEvent,
|
|
2150
2150
|
initialEvent: {}
|
|
2151
2151
|
}
|
|
2152
2152
|
});
|
|
@@ -693,10 +693,11 @@ export class BaseProcessPublishAssortment {
|
|
|
693
693
|
};
|
|
694
694
|
|
|
695
695
|
const flexPLMConnect = new FlexPLMConnect(this.config);
|
|
696
|
-
const [
|
|
696
|
+
const [sendResult] = await Promise.allSettled([
|
|
697
697
|
flexPLMConnect.sendToFlexPLM(outboundPublishEvent),
|
|
698
698
|
this.sendPublishPayloadEvent(outboundPublishEvent)
|
|
699
699
|
]);
|
|
700
|
+
const result = sendResult.status === 'fulfilled' ? sendResult.value : { error: sendResult.reason?.message };
|
|
700
701
|
const isResultObject = typeof result === 'object' && result !== null;
|
|
701
702
|
const resultWithOutboundPublishEvent = isResultObject
|
|
702
703
|
? { ...result, outboundPublishEvent }
|
|
@@ -756,10 +757,11 @@ export class BaseProcessPublishAssortment {
|
|
|
756
757
|
|
|
757
758
|
if (sendMode === 'vibeiqfile') {
|
|
758
759
|
const flexPLMConnect = new FlexPLMConnect(this.config);
|
|
759
|
-
const [
|
|
760
|
+
const [sendResult] = await Promise.allSettled([
|
|
760
761
|
flexPLMConnect.sendToFlexPLM(outboundPublishEvent),
|
|
761
762
|
this.sendPublishPayloadEvent(outboundPublishEvent)
|
|
762
763
|
]);
|
|
764
|
+
const result = sendResult.status === 'fulfilled' ? sendResult.value : { error: sendResult.reason?.message };
|
|
763
765
|
return { ...result, outboundPublishEvent };
|
|
764
766
|
} else {
|
|
765
767
|
await this.sendPublishPayloadEvent(outboundPublishEvent);
|
|
@@ -770,10 +772,10 @@ export class BaseProcessPublishAssortment {
|
|
|
770
772
|
}
|
|
771
773
|
}
|
|
772
774
|
|
|
773
|
-
|
|
775
|
+
private async sendPublishPayloadEvent(outboundPublishEvent: AsyncEventsPayloadType){
|
|
774
776
|
console.info('sendPublishPayloadEvent()');
|
|
775
777
|
let initialEvent = {};
|
|
776
|
-
if(this.config?.event){
|
|
778
|
+
if (this.config?.event){
|
|
777
779
|
initialEvent = (typeof this.config?.event === 'string')
|
|
778
780
|
? JSON.parse(this.config?.event)
|
|
779
781
|
: this.config?.event;
|
|
@@ -781,7 +783,7 @@ export class BaseProcessPublishAssortment {
|
|
|
781
783
|
const eventBody = {
|
|
782
784
|
originSystemType: 'VibeIQ',
|
|
783
785
|
objectClass: 'AssortmentPublishedToFlexPLM',
|
|
784
|
-
|
|
786
|
+
outboundPublishEvent,
|
|
785
787
|
initialEvent
|
|
786
788
|
};
|
|
787
789
|
|