@fiado/type-kit 3.582.0 → 3.583.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,12 @@
1
+ import 'reflect-metadata';
2
+ import { MdmProviderEnum } from '../../../src/mdm/enums/MdmProviderEnum';
3
+
4
+ describe('MdmProviderEnum', () => {
5
+ it('trae exactamente los proveedores MDM del contrato, en orden', () => {
6
+ expect(Object.values(MdmProviderEnum)).toEqual(['TRUSTONIC', 'DATACULTR', 'MOTOSAFE']);
7
+ });
8
+
9
+ it('MOTOSAFE vale su propio nombre', () => {
10
+ expect(MdmProviderEnum.MOTOSAFE).toBe('MOTOSAFE');
11
+ });
12
+ });
@@ -236,6 +236,9 @@ describe('financiamiento, MDM y externalId en las altas y edición backoffice',
236
236
  const errors = errorsOf(cls, { ...ok, ...financed, mdmProvider: 'KNOX', mdmLockMode: 'NEVER' });
237
237
  expect(errors).toEqual(expect.arrayContaining(['mdmProvider', 'mdmLockMode']));
238
238
  });
239
+ it('acepta MOTOSAFE como proveedor MDM', () => {
240
+ expect(errorsOf(cls, { ...ok, ...financed, mdmProvider: 'MOTOSAFE' })).toEqual([]);
241
+ });
239
242
  it('rechaza MDM incoherente', () => {
240
243
  expect(errorsOf(cls, { ...ok, mdmEnabled: true })).toContain('mdmEnabled');
241
244
  expect(errorsOf(cls, { ...ok, mdmEnabled: false, mdmProvider: 'TRUSTONIC', mdmLockMode: 'ONDEMAND' })).toContain('mdmEnabled');
@@ -10,6 +10,10 @@ describe('retailCatalog — enums del inventario multi-item', () => {
10
10
  expect(Object.values(RetailCatalog.TrackingModeEnum)).toEqual(['IMEI', 'SERIAL', 'QUANTITY']);
11
11
  });
12
12
 
13
+ it('expone los proveedores MDM, con MOTOSAFE', () => {
14
+ expect(Object.values(RetailCatalog.MdmProviderEnum)).toEqual(['TRUSTONIC', 'DATACULTR', 'MOTOSAFE']);
15
+ });
16
+
13
17
  it('expone los tipos de movimiento', () => {
14
18
  expect(Object.values(RetailCatalog.InventoryMovementTypeEnum)).toEqual([
15
19
  'ENTRY', 'RESERVATION', 'RELEASE', 'SALE', 'RETURN', 'ADJUSTMENT',
@@ -88,6 +88,14 @@ describe('ProductEventPayload', () => {
88
88
  expect(await errorsOf(ProductEventPayload, product)).toEqual([]);
89
89
  });
90
90
 
91
+ it.each(['TRUSTONIC', 'DATACULTR', 'MOTOSAFE'])('acepta mdmProvider %s', async (mdmProvider) => {
92
+ expect(await errorsOf(ProductEventPayload, { ...product, mdmProvider })).toEqual([]);
93
+ });
94
+
95
+ it('rechaza un mdmProvider fuera del enum', async () => {
96
+ expect(await errorsOf(ProductEventPayload, { ...product, mdmProvider: 'KNOX' })).toContain('mdmProvider');
97
+ });
98
+
91
99
  it.each([
92
100
  ['sku', { sku: 'SAM_A17' }],
93
101
  ['price.basePrice', { price: { ...product.price, basePrice: '4299' } }],
@@ -27,7 +27,7 @@ describe('enums de los objetos del retailer', () => {
27
27
  [RetailProductTierEnum, ['LOW', 'MID', 'HIGH', 'PREMIUM']],
28
28
  [RetailCurrencyEnum, ['MXN', 'USD']],
29
29
  [RetailFinancierEnum, ['SUREKEEP', 'PAYJOY', 'CREDIYA', 'LESPAGO', 'INNOVA']],
30
- [RetailMdmProviderEnum, ['TRUSTONIC', 'DATACULTR']],
30
+ [RetailMdmProviderEnum, ['TRUSTONIC', 'DATACULTR', 'MOTOSAFE']],
31
31
  [RetailProductStatusEnum, ['ACTIVE', 'INACTIVE', 'DISCONTINUED']],
32
32
  [RetailPieceStatusEnum, ['AVAILABLE', 'IN_TRANSIT', 'SOLD', 'DAMAGED']],
33
33
  [RetailPieceReasonEnum, ['WARRANTY', 'DAMAGED_RETURN', 'SHRINKAGE']],
@@ -1,4 +1,5 @@
1
1
  export declare enum MdmProviderEnum {
2
2
  TRUSTONIC = "TRUSTONIC",
3
- DATACULTR = "DATACULTR"
3
+ DATACULTR = "DATACULTR",
4
+ MOTOSAFE = "MOTOSAFE"
4
5
  }
@@ -5,4 +5,5 @@ var MdmProviderEnum;
5
5
  (function (MdmProviderEnum) {
6
6
  MdmProviderEnum["TRUSTONIC"] = "TRUSTONIC";
7
7
  MdmProviderEnum["DATACULTR"] = "DATACULTR";
8
+ MdmProviderEnum["MOTOSAFE"] = "MOTOSAFE";
8
9
  })(MdmProviderEnum || (exports.MdmProviderEnum = MdmProviderEnum = {}));
@@ -4,8 +4,10 @@
4
4
  *
5
5
  * @property {string} TRUSTONIC - Proveedor Trustonic.
6
6
  * @property {string} DATACULTR - Proveedor Datacultr.
7
+ * @property {string} MOTOSAFE - Proveedor Motosafe (MDM embebido de Motorola); solo opera en ONDEMAND.
7
8
  */
8
9
  export declare enum MdmProviderEnum {
9
10
  TRUSTONIC = "TRUSTONIC",
10
- DATACULTR = "DATACULTR"
11
+ DATACULTR = "DATACULTR",
12
+ MOTOSAFE = "MOTOSAFE"
11
13
  }
@@ -7,9 +7,11 @@ exports.MdmProviderEnum = void 0;
7
7
  *
8
8
  * @property {string} TRUSTONIC - Proveedor Trustonic.
9
9
  * @property {string} DATACULTR - Proveedor Datacultr.
10
+ * @property {string} MOTOSAFE - Proveedor Motosafe (MDM embebido de Motorola); solo opera en ONDEMAND.
10
11
  */
11
12
  var MdmProviderEnum;
12
13
  (function (MdmProviderEnum) {
13
14
  MdmProviderEnum["TRUSTONIC"] = "TRUSTONIC";
14
15
  MdmProviderEnum["DATACULTR"] = "DATACULTR";
16
+ MdmProviderEnum["MOTOSAFE"] = "MOTOSAFE";
15
17
  })(MdmProviderEnum || (exports.MdmProviderEnum = MdmProviderEnum = {}));
@@ -1,5 +1,6 @@
1
1
  /** Proveedor de MDM del equipo. */
2
2
  export declare enum RetailMdmProviderEnum {
3
3
  TRUSTONIC = "TRUSTONIC",
4
- DATACULTR = "DATACULTR"
4
+ DATACULTR = "DATACULTR",
5
+ MOTOSAFE = "MOTOSAFE"
5
6
  }
@@ -6,4 +6,5 @@ var RetailMdmProviderEnum;
6
6
  (function (RetailMdmProviderEnum) {
7
7
  RetailMdmProviderEnum["TRUSTONIC"] = "TRUSTONIC";
8
8
  RetailMdmProviderEnum["DATACULTR"] = "DATACULTR";
9
+ RetailMdmProviderEnum["MOTOSAFE"] = "MOTOSAFE";
9
10
  })(RetailMdmProviderEnum || (exports.RetailMdmProviderEnum = RetailMdmProviderEnum = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.582.0",
3
+ "version": "3.583.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
package/src/mdm/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## Qué es esto
6
6
 
7
- DTOs y enums para el servicio MDM (Mobile Device Management) de SureKeep. Son agnósticos al proveedor — la misma forma sirve para Trustonic, Datacultr o cualquier otro proveedor que se integre en el futuro.
7
+ DTOs y enums para el servicio MDM (Mobile Device Management) de SureKeep. Son agnósticos al proveedor — la misma forma sirve para Trustonic, Datacultr, Motosafe o cualquier otro proveedor que se integre en el futuro.
8
8
 
9
9
  ## Convenciones
10
10
 
@@ -43,22 +43,22 @@ import { Mdm } from "@fiado/type-kit";
43
43
 
44
44
  ## Acciones soportadas
45
45
 
46
- | Acción | Trustonic | Datacultr |
47
- |---|---|---|
48
- | DeviceNotify | HEADSUP / FULLSCREEN | Notification (con `notification_code`) |
49
- | DeviceRestrictApps | ⚠️ Por confirmar configuración | Nudge (App Block) |
50
- | DeviceLock (FIRM) | Lock LOCK | Bulk Lock |
51
- | DeviceLock (TEMPORARY) | Lock DIMISSABLE | ❌ Error: no soporta |
52
- | DeviceUnlock | Unlock | Unlock |
53
- | DevicePinUnlock | PIN Unlock | get_device_passcode |
54
- | DeviceStatus | Device Info | Device Status by IMEI |
55
- | DeviceEnroll | Upload + Activate (síncrono) | Registra y espera webhook |
56
- | DeviceRelease | Release | Release |
57
- | DeviceServiceDeactivate | Deactivate Service | ❌ Error: no soporta |
58
- | DeviceArchive | Archive | ❌ Error: no soporta |
59
- | DeviceAutoLockSchedule | ❌ Error: no soporta postpaid | Adhoc Auto Lock |
60
- | DeviceLastSeen | (incluido en Device Info) | Device Last Seen |
61
- | DeviceLog | ❌ Error: no expone | Device Log |
46
+ | Acción | Trustonic | Datacultr | Motosafe |
47
+ |---|---|---|---|
48
+ | DeviceNotify | HEADSUP / FULLSCREEN | Notification (con `notification_code`) | send-message (título ≤ 30, cuerpo ≤ 100; un IMEI por llamada) |
49
+ | DeviceRestrictApps | ⚠️ Por confirmar configuración | Nudge (App Block) | ❌ Error: no soporta |
50
+ | DeviceLock (FIRM) | Lock LOCK | Bulk Lock | command `lock` (sin mensaje en pantalla) |
51
+ | DeviceLock (TEMPORARY) | Lock DIMISSABLE | ❌ Error: no soporta | ❌ Error: no soporta |
52
+ | DeviceUnlock | Unlock | Unlock | command `unlock` (sin `unlockUntil`: solo ONDEMAND) |
53
+ | DevicePinUnlock | PIN Unlock | get_device_passcode | ❌ Error: no soporta |
54
+ | DeviceStatus | Device Info | Device Status by IMEI | Device (`status` / `nextStatus`) |
55
+ | DeviceEnroll | Upload + Activate (síncrono) | Registra y espera webhook | register (sin handle; se concilia por estado) |
56
+ | DeviceRelease | Release | Release | command `release` |
57
+ | DeviceServiceDeactivate | Deactivate Service | ❌ Error: no soporta | ❌ Error: no soporta |
58
+ | DeviceArchive | Archive | ❌ Error: no soporta | Cancel Device |
59
+ | DeviceAutoLockSchedule | ❌ Error: no soporta postpaid | Adhoc Auto Lock | ❌ Error: no soporta |
60
+ | DeviceLastSeen | (incluido en Device Info) | Device Last Seen | ❌ Error: no expone |
61
+ | DeviceLog | ❌ Error: no expone | Device Log | ❌ Error: no expone |
62
62
 
63
63
  ## Modo de bloqueo (`MdmLockModeEnum`)
64
64
 
@@ -1,4 +1,5 @@
1
1
  export enum MdmProviderEnum {
2
2
  TRUSTONIC = "TRUSTONIC",
3
- DATACULTR = "DATACULTR"
3
+ DATACULTR = "DATACULTR",
4
+ MOTOSAFE = "MOTOSAFE"
4
5
  }
@@ -4,8 +4,10 @@
4
4
  *
5
5
  * @property {string} TRUSTONIC - Proveedor Trustonic.
6
6
  * @property {string} DATACULTR - Proveedor Datacultr.
7
+ * @property {string} MOTOSAFE - Proveedor Motosafe (MDM embebido de Motorola); solo opera en ONDEMAND.
7
8
  */
8
9
  export enum MdmProviderEnum {
9
10
  TRUSTONIC = 'TRUSTONIC',
10
11
  DATACULTR = 'DATACULTR',
12
+ MOTOSAFE = 'MOTOSAFE',
11
13
  }
@@ -2,4 +2,5 @@
2
2
  export enum RetailMdmProviderEnum {
3
3
  TRUSTONIC = 'TRUSTONIC',
4
4
  DATACULTR = 'DATACULTR',
5
+ MOTOSAFE = 'MOTOSAFE',
5
6
  }