@boxitworld/commons-backend 1.0.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.
Files changed (85) hide show
  1. package/dist/classes/BacklogManager.d.ts +45 -0
  2. package/dist/classes/BacklogManager.d.ts.map +1 -0
  3. package/dist/classes/BacklogManager.js +193 -0
  4. package/dist/classes/BacklogManager.js.map +1 -0
  5. package/dist/classes/BatchEnhancedListener.d.ts +31 -0
  6. package/dist/classes/BatchEnhancedListener.d.ts.map +1 -0
  7. package/dist/classes/BatchEnhancedListener.js +168 -0
  8. package/dist/classes/BatchEnhancedListener.js.map +1 -0
  9. package/dist/classes/Publisher.d.ts +33 -0
  10. package/dist/classes/Publisher.d.ts.map +1 -0
  11. package/dist/classes/Publisher.js +171 -0
  12. package/dist/classes/Publisher.js.map +1 -0
  13. package/dist/config/kafka.config.d.ts +5 -0
  14. package/dist/config/kafka.config.d.ts.map +1 -0
  15. package/dist/config/kafka.config.js +40 -0
  16. package/dist/config/kafka.config.js.map +1 -0
  17. package/dist/interfaces/modules/boards.d.ts +27 -0
  18. package/dist/interfaces/modules/boards.d.ts.map +1 -0
  19. package/dist/interfaces/modules/boards.js +3 -0
  20. package/dist/interfaces/modules/boards.js.map +1 -0
  21. package/dist/interfaces/modules/company.d.ts +22 -0
  22. package/dist/interfaces/modules/company.d.ts.map +1 -0
  23. package/dist/interfaces/modules/company.js +3 -0
  24. package/dist/interfaces/modules/company.js.map +1 -0
  25. package/dist/interfaces/modules/customer.d.ts +29 -0
  26. package/dist/interfaces/modules/customer.d.ts.map +1 -0
  27. package/dist/interfaces/modules/customer.js +3 -0
  28. package/dist/interfaces/modules/customer.js.map +1 -0
  29. package/dist/interfaces/modules/device.d.ts +22 -0
  30. package/dist/interfaces/modules/device.d.ts.map +1 -0
  31. package/dist/interfaces/modules/device.js +3 -0
  32. package/dist/interfaces/modules/device.js.map +1 -0
  33. package/dist/interfaces/modules/door.d.ts +87 -0
  34. package/dist/interfaces/modules/door.d.ts.map +1 -0
  35. package/dist/interfaces/modules/door.js +3 -0
  36. package/dist/interfaces/modules/door.js.map +1 -0
  37. package/dist/interfaces/modules/package.d.ts +248 -0
  38. package/dist/interfaces/modules/package.d.ts.map +1 -0
  39. package/dist/interfaces/modules/package.js +3 -0
  40. package/dist/interfaces/modules/package.js.map +1 -0
  41. package/dist/interfaces/modules/platform.d.ts +50 -0
  42. package/dist/interfaces/modules/platform.d.ts.map +1 -0
  43. package/dist/interfaces/modules/platform.js +3 -0
  44. package/dist/interfaces/modules/platform.js.map +1 -0
  45. package/dist/interfaces/modules/setting.d.ts +61 -0
  46. package/dist/interfaces/modules/setting.d.ts.map +1 -0
  47. package/dist/interfaces/modules/setting.js +3 -0
  48. package/dist/interfaces/modules/setting.js.map +1 -0
  49. package/dist/interfaces/modules/sync.d.ts +27 -0
  50. package/dist/interfaces/modules/sync.d.ts.map +1 -0
  51. package/dist/interfaces/modules/sync.js +3 -0
  52. package/dist/interfaces/modules/sync.js.map +1 -0
  53. package/dist/interfaces/shared/batch.d.ts +35 -0
  54. package/dist/interfaces/shared/batch.d.ts.map +1 -0
  55. package/dist/interfaces/shared/batch.js +11 -0
  56. package/dist/interfaces/shared/batch.js.map +1 -0
  57. package/dist/interfaces/shared/lockerboard.d.ts +51 -0
  58. package/dist/interfaces/shared/lockerboard.d.ts.map +1 -0
  59. package/dist/interfaces/shared/lockerboard.js +3 -0
  60. package/dist/interfaces/shared/lockerboard.js.map +1 -0
  61. package/dist/interfaces/shared/logs.d.ts +50 -0
  62. package/dist/interfaces/shared/logs.d.ts.map +1 -0
  63. package/dist/interfaces/shared/logs.js +21 -0
  64. package/dist/interfaces/shared/logs.js.map +1 -0
  65. package/dist/interfaces/shared/rfid.d.ts +40 -0
  66. package/dist/interfaces/shared/rfid.d.ts.map +1 -0
  67. package/dist/interfaces/shared/rfid.js +3 -0
  68. package/dist/interfaces/shared/rfid.js.map +1 -0
  69. package/dist/interfaces/shared/system.d.ts +39 -0
  70. package/dist/interfaces/shared/system.d.ts.map +1 -0
  71. package/dist/interfaces/shared/system.js +3 -0
  72. package/dist/interfaces/shared/system.js.map +1 -0
  73. package/dist/topics/topics.d.ts +8 -0
  74. package/dist/topics/topics.d.ts.map +1 -0
  75. package/dist/topics/topics.js +12 -0
  76. package/dist/topics/topics.js.map +1 -0
  77. package/dist/types/actions.types.d.ts +79 -0
  78. package/dist/types/actions.types.d.ts.map +1 -0
  79. package/dist/types/actions.types.js +29 -0
  80. package/dist/types/actions.types.js.map +1 -0
  81. package/dist/types/kafka.types.d.ts +37 -0
  82. package/dist/types/kafka.types.d.ts.map +1 -0
  83. package/dist/types/kafka.types.js +3 -0
  84. package/dist/types/kafka.types.js.map +1 -0
  85. package/package.json +62 -0
@@ -0,0 +1,40 @@
1
+ export interface IRfidCard {
2
+ cardId: string;
3
+ customerId?: number;
4
+ isActive: boolean;
5
+ expirationDate?: Date;
6
+ createdAt: Date;
7
+ updatedAt: Date;
8
+ }
9
+ export interface IRfidReader {
10
+ readerId: string;
11
+ name: string;
12
+ port: string;
13
+ baudRate: number;
14
+ isConnected: boolean;
15
+ lastActivity?: Date;
16
+ }
17
+ export interface IRfidReadEvent {
18
+ readerId: string;
19
+ cardId: string;
20
+ timestamp: Date;
21
+ isValid: boolean;
22
+ customerId?: number;
23
+ }
24
+ export interface IRfidService {
25
+ connect(readerId: string): Promise<boolean>;
26
+ disconnect(readerId: string): Promise<void>;
27
+ readCard(readerId: string): Promise<string>;
28
+ validateCard(cardId: string): Promise<IRfidCard>;
29
+ registerCard(cardId: string, customerId: number): Promise<IRfidCard>;
30
+ deactivateCard(cardId: string): Promise<void>;
31
+ }
32
+ export interface IRfidRepository {
33
+ createCard(card: IRfidCard): Promise<void>;
34
+ getCard(cardId: string): Promise<IRfidCard>;
35
+ updateCard(card: IRfidCard): Promise<void>;
36
+ deleteCard(cardId: string): Promise<void>;
37
+ getCardsByCustomer(customerId: number): Promise<IRfidCard[]>;
38
+ logReadEvent(event: IRfidReadEvent): Promise<void>;
39
+ }
40
+ //# sourceMappingURL=rfid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfid.d.ts","sourceRoot":"","sources":["../../../src/interfaces/shared/rfid.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACrE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7D,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=rfid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfid.js","sourceRoot":"","sources":["../../../src/interfaces/shared/rfid.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ export interface SystemInfo {
2
+ memory: {
3
+ total: number;
4
+ free: number;
5
+ used: number;
6
+ usagePercent: number;
7
+ };
8
+ cpu: {
9
+ model: string;
10
+ cores: number;
11
+ usage: number;
12
+ loadAverage: number[];
13
+ };
14
+ disk: {
15
+ total: number;
16
+ free: number;
17
+ used: number;
18
+ usagePercent: number;
19
+ };
20
+ battery?: {
21
+ level: number;
22
+ charging: boolean;
23
+ timeRemaining?: number;
24
+ };
25
+ system: {
26
+ platform: string;
27
+ version: string;
28
+ hostname: string;
29
+ uptime: number;
30
+ };
31
+ }
32
+ export interface ISystemInfoService {
33
+ getSystemInfo(): Promise<SystemInfo>;
34
+ getMemoryInfo(): Promise<SystemInfo['memory']>;
35
+ getCpuInfo(): Promise<SystemInfo['cpu']>;
36
+ getDiskInfo(): Promise<SystemInfo['disk']>;
37
+ getBatteryInfo(): Promise<SystemInfo['battery']>;
38
+ }
39
+ //# sourceMappingURL=system.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../../src/interfaces/shared/system.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,GAAG,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,WAAW,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3C,cAAc,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;CAClD"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/interfaces/shared/system.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export declare enum ActionsTopics {
2
+ ACTION_CREATED = "action.created",
3
+ LOG_CREATED = "log.created",
4
+ SYSTEM_INFO = "system.info",
5
+ BATCH_SYNC = "batch.sync",
6
+ PLATFORM_LOG = "platform.log"
7
+ }
8
+ //# sourceMappingURL=topics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.d.ts","sourceRoot":"","sources":["../../src/topics/topics.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACrB,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,YAAY,iBAAiB;CAChC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionsTopics = void 0;
4
+ var ActionsTopics;
5
+ (function (ActionsTopics) {
6
+ ActionsTopics["ACTION_CREATED"] = "action.created";
7
+ ActionsTopics["LOG_CREATED"] = "log.created";
8
+ ActionsTopics["SYSTEM_INFO"] = "system.info";
9
+ ActionsTopics["BATCH_SYNC"] = "batch.sync";
10
+ ActionsTopics["PLATFORM_LOG"] = "platform.log";
11
+ })(ActionsTopics || (exports.ActionsTopics = ActionsTopics = {}));
12
+ //# sourceMappingURL=topics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topics.js","sourceRoot":"","sources":["../../src/topics/topics.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,kDAAiC,CAAA;IACjC,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,0CAAyB,CAAA;IACzB,8CAA6B,CAAA;AACjC,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB"}
@@ -0,0 +1,79 @@
1
+ import { TypedEvent } from "./kafka.types";
2
+ export declare enum ActionsType {
3
+ LOGIN = 1,
4
+ PICKUP = 2,
5
+ DROPOFF = 3,
6
+ RECOVERY = 4,
7
+ CLEAR = 5,
8
+ LOCK = 6,
9
+ UNLOCK = 7,
10
+ OPEN = 8,
11
+ OCCUPIED = 9,
12
+ RELEASE = 10,
13
+ CONFIRMED_DOOR_CLOSED = 14,
14
+ CONFIRMED_PACKAGE_COLLECTED = 15,
15
+ COLLECT = 20,
16
+ APP_LOG = 21
17
+ }
18
+ export declare enum ActionsTopics {
19
+ ACTION_CREATED = "action.created",
20
+ LOG_CREATED = "log.created",
21
+ SYSTEM_INFO = "system.info",
22
+ BATCH_SYNC = "batch.sync",
23
+ PLATFORM_LOG = "platform.log"
24
+ }
25
+ export interface IActions {
26
+ TipoLog: string;
27
+ IdPlataforma: number;
28
+ IdPlataformaDet?: number;
29
+ Descripcion?: string;
30
+ IdCliente?: number;
31
+ Email?: string;
32
+ HashKey?: string;
33
+ Clave?: string;
34
+ NumeroIdentificacion?: string;
35
+ }
36
+ export interface ILogs {
37
+ logTypeId: number;
38
+ payload: IActions;
39
+ }
40
+ export interface ServPlataformasLogAttributes {
41
+ IdLogEvento: number;
42
+ IdPlataforma: string;
43
+ IdDispositivo?: number;
44
+ Descripcion?: string;
45
+ FotoEvento?: string;
46
+ FechaCreacion: Date;
47
+ IsSendBoxIt?: boolean;
48
+ ErrorSincronizacion?: string;
49
+ BloqueadoXHilo?: boolean;
50
+ FechaUltimaSincronizacion?: Date;
51
+ }
52
+ export interface ActionEvent extends TypedEvent<IActions> {
53
+ topic: ActionsTopics.ACTION_CREATED;
54
+ }
55
+ export interface LogEvent extends TypedEvent<ILogs> {
56
+ topic: ActionsTopics.LOG_CREATED;
57
+ }
58
+ export interface SystemInfoEvent extends TypedEvent<any> {
59
+ topic: ActionsTopics.SYSTEM_INFO;
60
+ }
61
+ export interface BatchSyncEvent extends TypedEvent<{
62
+ tableName: string;
63
+ lastProcessedId: number;
64
+ batchSize: number;
65
+ records: any[];
66
+ timestamp: number;
67
+ }> {
68
+ topic: ActionsTopics.BATCH_SYNC;
69
+ }
70
+ export interface PlatformLogEvent extends TypedEvent<ServPlataformasLogAttributes> {
71
+ topic: ActionsTopics.PLATFORM_LOG;
72
+ }
73
+ export interface IActionsRepository {
74
+ createLogActions(log: IActions): Promise<void>;
75
+ createLog(log: ILogs): Promise<void>;
76
+ getLogs(id: number, limit: number): Promise<ServPlataformasLogAttributes[]>;
77
+ getActionsLogs(id: number, limit: number): Promise<ServPlataformasLogAttributes[]>;
78
+ }
79
+ //# sourceMappingURL=actions.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.types.d.ts","sourceRoot":"","sources":["../../src/types/actions.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,oBAAY,WAAW;IACnB,KAAK,IAAI;IACT,MAAM,IAAI;IACV,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,IAAI,IAAI;IACR,MAAM,IAAI;IACV,IAAI,IAAI;IACR,QAAQ,IAAI;IACZ,OAAO,KAAK;IACZ,qBAAqB,KAAK;IAC1B,2BAA2B,KAAK;IAChC,OAAO,KAAK;IACZ,OAAO,KAAK;CACf;AAGD,oBAAY,aAAa;IACrB,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,YAAY,iBAAiB;CAChC;AAGD,MAAM,WAAW,QAAQ;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAGD,MAAM,WAAW,KAAK;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,QAAQ,CAAC;CACrB;AAGD,MAAM,WAAW,4BAA4B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yBAAyB,CAAC,EAAE,IAAI,CAAC;CACpC;AAGD,MAAM,WAAW,WAAY,SAAQ,UAAU,CAAC,QAAQ,CAAC;IACrD,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC;CACvC;AAED,MAAM,WAAW,QAAS,SAAQ,UAAU,CAAC,KAAK,CAAC;IAC/C,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;CACpC;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU,CAAC,GAAG,CAAC;IACpD,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;CACpC;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,GAAG,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;IACE,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC;CACnC;AAED,MAAM,WAAW,gBAAiB,SAAQ,UAAU,CAAC,4BAA4B,CAAC;IAC9E,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC;CACrC;AAGD,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC5E,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC;CACtF"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ActionsTopics = exports.ActionsType = void 0;
4
+ var ActionsType;
5
+ (function (ActionsType) {
6
+ ActionsType[ActionsType["LOGIN"] = 1] = "LOGIN";
7
+ ActionsType[ActionsType["PICKUP"] = 2] = "PICKUP";
8
+ ActionsType[ActionsType["DROPOFF"] = 3] = "DROPOFF";
9
+ ActionsType[ActionsType["RECOVERY"] = 4] = "RECOVERY";
10
+ ActionsType[ActionsType["CLEAR"] = 5] = "CLEAR";
11
+ ActionsType[ActionsType["LOCK"] = 6] = "LOCK";
12
+ ActionsType[ActionsType["UNLOCK"] = 7] = "UNLOCK";
13
+ ActionsType[ActionsType["OPEN"] = 8] = "OPEN";
14
+ ActionsType[ActionsType["OCCUPIED"] = 9] = "OCCUPIED";
15
+ ActionsType[ActionsType["RELEASE"] = 10] = "RELEASE";
16
+ ActionsType[ActionsType["CONFIRMED_DOOR_CLOSED"] = 14] = "CONFIRMED_DOOR_CLOSED";
17
+ ActionsType[ActionsType["CONFIRMED_PACKAGE_COLLECTED"] = 15] = "CONFIRMED_PACKAGE_COLLECTED";
18
+ ActionsType[ActionsType["COLLECT"] = 20] = "COLLECT";
19
+ ActionsType[ActionsType["APP_LOG"] = 21] = "APP_LOG";
20
+ })(ActionsType || (exports.ActionsType = ActionsType = {}));
21
+ var ActionsTopics;
22
+ (function (ActionsTopics) {
23
+ ActionsTopics["ACTION_CREATED"] = "action.created";
24
+ ActionsTopics["LOG_CREATED"] = "log.created";
25
+ ActionsTopics["SYSTEM_INFO"] = "system.info";
26
+ ActionsTopics["BATCH_SYNC"] = "batch.sync";
27
+ ActionsTopics["PLATFORM_LOG"] = "platform.log";
28
+ })(ActionsTopics || (exports.ActionsTopics = ActionsTopics = {}));
29
+ //# sourceMappingURL=actions.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actions.types.js","sourceRoot":"","sources":["../../src/types/actions.types.ts"],"names":[],"mappings":";;;AAGA,IAAY,WAeX;AAfD,WAAY,WAAW;IACnB,+CAAS,CAAA;IACT,iDAAU,CAAA;IACV,mDAAW,CAAA;IACX,qDAAY,CAAA;IACZ,+CAAS,CAAA;IACT,6CAAQ,CAAA;IACR,iDAAU,CAAA;IACV,6CAAQ,CAAA;IACR,qDAAY,CAAA;IACZ,oDAAY,CAAA;IACZ,gFAA0B,CAAA;IAC1B,4FAAgC,CAAA;IAChC,oDAAY,CAAA;IACZ,oDAAY,CAAA;AAChB,CAAC,EAfW,WAAW,2BAAX,WAAW,QAetB;AAGD,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,kDAAiC,CAAA;IACjC,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,0CAAyB,CAAA;IACzB,8CAA6B,CAAA;AACjC,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB"}
@@ -0,0 +1,37 @@
1
+ export interface BaseEvent {
2
+ topic: string;
3
+ data: any;
4
+ keyKafka: string | number;
5
+ groupName: string;
6
+ }
7
+ export interface BacklogConfig {
8
+ maxConcurrent?: number;
9
+ rateLimitMs?: number;
10
+ circuitBreakerThreshold?: number;
11
+ circuitBreakerResetTime?: number;
12
+ maxRetries?: number;
13
+ backlogRecoveryBatchSize?: number;
14
+ enableBacklogRecovery?: boolean;
15
+ }
16
+ export interface BatchConfig {
17
+ maxBytesPerPartition?: number;
18
+ maxBytes?: number;
19
+ }
20
+ export interface KafkaStats {
21
+ listenerName: string;
22
+ topic: string;
23
+ groupName: string;
24
+ processed: number;
25
+ failed: number;
26
+ retries: number;
27
+ queueSize: number;
28
+ activeProcessing: number;
29
+ availableCapacity: number;
30
+ circuitBreakerOpen: boolean;
31
+ averageProcessingTime: number;
32
+ isAtMaxCapacity: boolean;
33
+ }
34
+ export interface TypedEvent<T = any> extends BaseEvent {
35
+ data: T;
36
+ }
37
+ //# sourceMappingURL=kafka.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kafka.types.d.ts","sourceRoot":"","sources":["../../src/types/kafka.types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAGD,MAAM,WAAW,WAAW;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAGD,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,SAAS;IACpD,IAAI,EAAE,CAAC,CAAC;CACT"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=kafka.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kafka.types.js","sourceRoot":"","sources":["../../src/types/kafka.types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@boxitworld/commons-backend",
3
+ "version": "1.0.0",
4
+ "description": "Common interfaces and functions for BoxitWorld backend applications",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist/**/*",
9
+ "README.md"
10
+ ],
11
+ "scripts": {
12
+ "build": "tsc",
13
+ "dev": "tsc --watch",
14
+ "clean": "rimraf dist",
15
+ "prebuild": "npm run clean",
16
+ "prepublishOnly": "npm run build",
17
+ "test": "jest",
18
+ "test:watch": "jest --watch",
19
+ "lint": "eslint src/**/*.ts",
20
+ "lint:fix": "eslint src/**/*.ts --fix",
21
+ "pub": "npm publish"
22
+ },
23
+ "keywords": [
24
+ "boxitworld",
25
+ "commons",
26
+ "backend",
27
+ "interfaces",
28
+ "utilities",
29
+ "typescript"
30
+ ],
31
+ "author": "BoxitWorld",
32
+ "license": "MIT",
33
+ "devDependencies": {
34
+ "@types/dotenv": "^8.2.3",
35
+ "@types/jest": "^29.5.14",
36
+ "@types/node": "^24.0.3",
37
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
38
+ "@typescript-eslint/parser": "^6.21.0",
39
+ "eslint": "^8.57.1",
40
+ "jest": "^29.7.0",
41
+ "rimraf": "^5.0.10",
42
+ "ts-jest": "^29.4.0",
43
+ "typescript": "^5.8.3"
44
+ },
45
+ "dependencies": {
46
+ "@boxitworld/commons": "^1.0.3",
47
+ "dotenv": "^16.5.0",
48
+ "jsonwebtoken": "^8.5.1",
49
+ "kafkajs": "^2.2.4"
50
+ },
51
+ "repository": {
52
+ "type": "git",
53
+ "url": "git+https://github.com/boxitworld/commons-backend.git"
54
+ },
55
+ "bugs": {
56
+ "url": "https://github.com/boxitworld/commons-backend/issues"
57
+ },
58
+ "homepage": "https://github.com/boxitworld/commons-backend#readme",
59
+ "publishConfig": {
60
+ "access": "public"
61
+ }
62
+ }