@d19n/youfibre-odin-sdk 2.0.346 → 2.0.348
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities-v2/Case.d.ts +33 -3
- package/dist/entities-v2/Case.js +21 -4
- package/dist/entities-v2/Conversation.d.ts +2 -0
- package/dist/entities-v2/Conversation.js +2 -0
- package/dist/records-v2/FileRecord.d.ts +813 -12
- package/dist/records-v2/FileRecord.js +1353 -32
- package/dist/wholesale-provider/interface.d.ts +13 -1
- package/dist/wholesale-provider/providers/netomnia-provider.d.ts +5 -1
- package/dist/wholesale-provider/providers/netomnia-provider.js +6 -0
- package/dist/wholesale-provider/test/netomnia-provider.spec.js +30 -0
- package/dist/wholesale-provider/types/fibrecafe.d.ts +11 -0
- package/package.json +1 -1
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
* full types are available).
|
|
31
31
|
*/
|
|
32
32
|
import type { VMO2OrderNotification, VMO2SMRNotification } from './types/vmo2';
|
|
33
|
-
import type { FibreCafeServiceAvailability200, FibreCafeAvailableAppointments200, FibreCafeReserveAppointment201, FibreCafeScheduleServiceWorkOrder201, FibreCafeRescheduleServiceWorkOrder200, FibreCafeOrderCreate202, FibreCafeOrderAmendAccept202, FibreCafeKciDto, FibreCafeServiceProblemCancellationReasonCode } from './types/fibrecafe';
|
|
33
|
+
import type { FibreCafeServiceAvailability200, FibreCafeAvailableAppointments200, FibreCafeReserveAppointment201, FibreCafeScheduleServiceWorkOrder201, FibreCafeRescheduleServiceWorkOrder200, FibreCafeOrderCreate202, FibreCafeStartOrderActivateAccept202, FibreCafeOrderAmendAccept202, FibreCafeKciDto, FibreCafeServiceProblemCancellationReasonCode } from './types/fibrecafe';
|
|
34
34
|
/**
|
|
35
35
|
* Reasons a cancellation request can be made (NET wire-level enum value
|
|
36
36
|
* passed through to the FibreCafe gateway).
|
|
@@ -258,6 +258,18 @@ export interface WholesaleProvider<TPrincipal = unknown> {
|
|
|
258
258
|
cancelOrder(yfOrderId: string, reasonCode: CancellationReasonCode): Promise<FibreCafeOrderCreate202>;
|
|
259
259
|
/** Active-customer cease (post-Active churn / OTS-losing). */
|
|
260
260
|
ceaseOrder(yfOrderId: string, serviceId: string): Promise<FibreCafeOrderCreate202>;
|
|
261
|
+
/**
|
|
262
|
+
* ORD-326: ask the supplier to activate an in-flight START order now, ahead
|
|
263
|
+
* of its requested date. Accepted synchronously; the COMPLETED (or REAPPOINT)
|
|
264
|
+
* KCI follows.
|
|
265
|
+
*/
|
|
266
|
+
activateStartOrder(yfOrderId: string): Promise<FibreCafeStartOrderActivateAccept202>;
|
|
267
|
+
/**
|
|
268
|
+
* ORD-335: move an in-flight provide order's requested completion date — the
|
|
269
|
+
* day the supplier activates a START. Sent as an order amendment; the
|
|
270
|
+
* AMENDED KCI confirms it.
|
|
271
|
+
*/
|
|
272
|
+
amendRequestedCompletionDate(yfOrderId: string, requestedCompletionDate: string): Promise<FibreCafeOrderAmendAccept202>;
|
|
261
273
|
/**
|
|
262
274
|
* Tenant-initiated cancel of an inflight SERVICE WO. Structurally
|
|
263
275
|
* parallel to `rescheduleServiceWorkOrder` — same flat-primitive args,
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
*/
|
|
30
30
|
import type { WholesaleProvider, CreateOrderOptions, CancellationReasonCode, CancelServiceWorkOrderArgs, FindOrderByExternalRefArgs, FindOrderByExternalRefResult, ReserveAppointmentArgs, ListAppointmentsArgs, ScheduleServiceWorkOrderArgs, RescheduleServiceWorkOrderArgs, AmendAppointmentArgs, RequestTenantReappointmentArgs, SyncWorkOrderToSupplierArgs, UpdateOrderExternalRefArgs } from '../interface';
|
|
31
31
|
import type { VMO2OrderNotification, VMO2SMRNotification } from '../types/vmo2';
|
|
32
|
-
import type { FibreCafeServiceAvailability200, FibreCafeAvailableAppointments200, FibreCafeReserveAppointment201, FibreCafeScheduleServiceWorkOrder201, FibreCafeRescheduleServiceWorkOrder200, FibreCafeOrderCreate202, FibreCafeOrderAmendAccept202, FibreCafeKciDto } from '../types/fibrecafe';
|
|
32
|
+
import type { FibreCafeServiceAvailability200, FibreCafeAvailableAppointments200, FibreCafeReserveAppointment201, FibreCafeScheduleServiceWorkOrder201, FibreCafeRescheduleServiceWorkOrder200, FibreCafeOrderCreate202, FibreCafeOrderAmendAccept202, FibreCafeStartOrderActivateAccept202, FibreCafeKciDto } from '../types/fibrecafe';
|
|
33
33
|
/**
|
|
34
34
|
* Function-bag of dependencies the NetomniaProvider delegates to.
|
|
35
35
|
*
|
|
@@ -61,6 +61,8 @@ export interface NetomniaProviderDeps<TPrincipal = unknown, TKci = FibreCafeKciD
|
|
|
61
61
|
amendOrder: (principal: TPrincipal, yfOrderId: string) => Promise<FibreCafeOrderCreate202 | null>;
|
|
62
62
|
cancelOrder: (yfOrderId: string, reasonCode: CancellationReasonCode) => Promise<FibreCafeOrderCreate202>;
|
|
63
63
|
ceaseOrder: (yfOrderId: string, serviceId: string) => Promise<FibreCafeOrderCreate202>;
|
|
64
|
+
activateStartOrder: (yfOrderId: string) => Promise<FibreCafeStartOrderActivateAccept202>;
|
|
65
|
+
amendRequestedCompletionDate: (yfOrderId: string, requestedCompletionDate: string) => Promise<FibreCafeOrderAmendAccept202>;
|
|
64
66
|
cancelServiceWorkOrder: (args: CancelServiceWorkOrderArgs) => Promise<FibreCafeRescheduleServiceWorkOrder200>;
|
|
65
67
|
/**
|
|
66
68
|
* Required, deliberately. Wiring it is what makes the supplier-order
|
|
@@ -91,6 +93,8 @@ export declare class NetomniaProvider<TPrincipal = unknown> implements Wholesale
|
|
|
91
93
|
amendOrder(principal: TPrincipal, yfOrderId: string): Promise<FibreCafeOrderCreate202>;
|
|
92
94
|
cancelOrder(yfOrderId: string, reasonCode: CancellationReasonCode): Promise<FibreCafeOrderCreate202>;
|
|
93
95
|
ceaseOrder(yfOrderId: string, serviceId: string): Promise<FibreCafeOrderCreate202>;
|
|
96
|
+
activateStartOrder(yfOrderId: string): Promise<FibreCafeStartOrderActivateAccept202>;
|
|
97
|
+
amendRequestedCompletionDate(yfOrderId: string, requestedCompletionDate: string): Promise<FibreCafeOrderAmendAccept202>;
|
|
94
98
|
cancelServiceWorkOrder(args: CancelServiceWorkOrderArgs): Promise<FibreCafeRescheduleServiceWorkOrder200>;
|
|
95
99
|
findOrderByExternalRef(args: FindOrderByExternalRefArgs): Promise<FindOrderByExternalRefResult>;
|
|
96
100
|
receiveKci(principal: TPrincipal, dto: FibreCafeKciDto): Promise<void>;
|
|
@@ -50,6 +50,12 @@ class NetomniaProvider {
|
|
|
50
50
|
ceaseOrder(yfOrderId, serviceId) {
|
|
51
51
|
return this.deps.ceaseOrder(yfOrderId, serviceId);
|
|
52
52
|
}
|
|
53
|
+
activateStartOrder(yfOrderId) {
|
|
54
|
+
return this.deps.activateStartOrder(yfOrderId);
|
|
55
|
+
}
|
|
56
|
+
amendRequestedCompletionDate(yfOrderId, requestedCompletionDate) {
|
|
57
|
+
return this.deps.amendRequestedCompletionDate(yfOrderId, requestedCompletionDate);
|
|
58
|
+
}
|
|
53
59
|
cancelServiceWorkOrder(args) {
|
|
54
60
|
return this.deps.cancelServiceWorkOrder(args);
|
|
55
61
|
}
|
|
@@ -72,6 +72,8 @@ function buildDeps() {
|
|
|
72
72
|
amendOrder: {},
|
|
73
73
|
cancelOrder: {},
|
|
74
74
|
ceaseOrder: {},
|
|
75
|
+
activateStartOrder: { id: 'net-order-1', externalRef: 'ORD-1', recordNumber: 'OR1' },
|
|
76
|
+
amendRequestedCompletionDate: {},
|
|
75
77
|
cancelServiceWorkOrder: { workOrderId: 'WO-CANC-1', appointmentId: '' },
|
|
76
78
|
findOrderByExternalRef: { found: true, supplierOrderId: 'NET-ORD-1', supplierOrderRef: 'ORD123' },
|
|
77
79
|
};
|
|
@@ -124,6 +126,14 @@ function buildDeps() {
|
|
|
124
126
|
log.push({ method: 'ceaseOrder', args: [yfOrderId, serviceId] });
|
|
125
127
|
return Promise.resolve(stubs.ceaseOrder);
|
|
126
128
|
},
|
|
129
|
+
activateStartOrder: (yfOrderId) => {
|
|
130
|
+
log.push({ method: 'activateStartOrder', args: [yfOrderId] });
|
|
131
|
+
return Promise.resolve(stubs.activateStartOrder);
|
|
132
|
+
},
|
|
133
|
+
amendRequestedCompletionDate: (yfOrderId, requestedCompletionDate) => {
|
|
134
|
+
log.push({ method: 'amendRequestedCompletionDate', args: [yfOrderId, requestedCompletionDate] });
|
|
135
|
+
return Promise.resolve(stubs.amendRequestedCompletionDate);
|
|
136
|
+
},
|
|
127
137
|
cancelServiceWorkOrder: (args) => {
|
|
128
138
|
log.push({ method: 'cancelServiceWorkOrder', args: [args] });
|
|
129
139
|
return Promise.resolve(stubs.cancelServiceWorkOrder);
|
|
@@ -296,6 +306,26 @@ function run() {
|
|
|
296
306
|
assert('orderId forwarded', log[0].args[0] === 'ORD-1');
|
|
297
307
|
assert('reasonCode forwarded', log[0].args[1] === 'CUSTOMER_CHANGED_MIND');
|
|
298
308
|
}
|
|
309
|
+
console.log('Test: activateStartOrder delegates to deps and returns the accept body');
|
|
310
|
+
{
|
|
311
|
+
const { deps, log } = buildDeps();
|
|
312
|
+
const p = new netomnia_provider_1.NetomniaProvider(deps);
|
|
313
|
+
const res = yield p.activateStartOrder('ORD-1');
|
|
314
|
+
assert('called once', log.length === 1);
|
|
315
|
+
assert('correct method', log[0].method === 'activateStartOrder');
|
|
316
|
+
assert('orderId forwarded', log[0].args[0] === 'ORD-1');
|
|
317
|
+
assert('accept body returned', res.id === 'net-order-1' && res.externalRef === 'ORD-1');
|
|
318
|
+
}
|
|
319
|
+
console.log('Test: amendRequestedCompletionDate delegates to deps');
|
|
320
|
+
{
|
|
321
|
+
const { deps, log } = buildDeps();
|
|
322
|
+
const p = new netomnia_provider_1.NetomniaProvider(deps);
|
|
323
|
+
yield p.amendRequestedCompletionDate('ORD-1', '2026-10-05');
|
|
324
|
+
assert('called once', log.length === 1);
|
|
325
|
+
assert('correct method', log[0].method === 'amendRequestedCompletionDate');
|
|
326
|
+
assert('orderId forwarded', log[0].args[0] === 'ORD-1');
|
|
327
|
+
assert('date forwarded', log[0].args[1] === '2026-10-05');
|
|
328
|
+
}
|
|
299
329
|
console.log('Test: ceaseOrder delegates to deps');
|
|
300
330
|
{
|
|
301
331
|
const { deps, log } = buildDeps();
|
|
@@ -344,6 +344,17 @@ export declare type FibreCafeOrderCreateDto = FibreCafeProvideServiceOrderDto |
|
|
|
344
344
|
/** 202 — order accepted; will be acknowledged via KCI. Empty body. */
|
|
345
345
|
export interface FibreCafeOrderCreate202 {
|
|
346
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* ORD-327: accept body of `POST service-orders/:externalRef/activate`. The
|
|
349
|
+
* outcome arrives later as a KCI — COMPLETED, or REAPPOINT (ACTIVATION_FAILED).
|
|
350
|
+
*/
|
|
351
|
+
export interface FibreCafeStartOrderActivateAccept202 {
|
|
352
|
+
/** Supplier order id. */
|
|
353
|
+
id: string;
|
|
354
|
+
/** Tenant order id — the YF Order id. */
|
|
355
|
+
externalRef: string;
|
|
356
|
+
recordNumber?: string;
|
|
357
|
+
}
|
|
347
358
|
export interface FibreCafeServiceOrderCancellationDto {
|
|
348
359
|
/** Caller-generated cancellation request id. */
|
|
349
360
|
id: string;
|