@aytix/common 1.0.3 → 1.0.5

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 (41) hide show
  1. package/build/errors/request-validation-error.d.ts +1 -1
  2. package/build/errors/request-validation-error.d.ts.map +1 -1
  3. package/build/errors/request-validation-error.js +0 -1
  4. package/build/errors/request-validation-error.js.map +1 -1
  5. package/build/events/base-listener.d.ts +19 -0
  6. package/build/events/base-listener.d.ts.map +1 -0
  7. package/build/events/base-listener.js +30 -0
  8. package/build/events/base-listener.js.map +1 -0
  9. package/build/events/base-publisher.d.ts +14 -0
  10. package/build/events/base-publisher.d.ts.map +1 -0
  11. package/build/events/base-publisher.js +17 -0
  12. package/build/events/base-publisher.js.map +1 -0
  13. package/build/events/subject.d.ts +7 -0
  14. package/build/events/subject.d.ts.map +1 -0
  15. package/build/events/subject.js +8 -0
  16. package/build/events/subject.js.map +1 -0
  17. package/build/events/ticket-created-event.d.ts +11 -0
  18. package/build/events/ticket-created-event.d.ts.map +1 -0
  19. package/build/events/ticket-created-event.js +2 -0
  20. package/build/events/ticket-created-event.js.map +1 -0
  21. package/build/events/ticket-update-event.d.ts +11 -0
  22. package/build/events/ticket-update-event.d.ts.map +1 -0
  23. package/build/events/ticket-update-event.js +2 -0
  24. package/build/events/ticket-update-event.js.map +1 -0
  25. package/build/middlewares/current-user.d.ts +10 -3
  26. package/build/middlewares/current-user.d.ts.map +1 -1
  27. package/build/middlewares/current-user.js +4 -7
  28. package/build/middlewares/current-user.js.map +1 -1
  29. package/build/middlewares/error-handler.d.ts +1 -1
  30. package/build/middlewares/error-handler.d.ts.map +1 -1
  31. package/build/middlewares/error-handler.js +1 -2
  32. package/build/middlewares/error-handler.js.map +1 -1
  33. package/build/middlewares/require-auth.d.ts +1 -1
  34. package/build/middlewares/require-auth.d.ts.map +1 -1
  35. package/build/middlewares/require-auth.js +1 -2
  36. package/build/middlewares/require-auth.js.map +1 -1
  37. package/build/middlewares/validate-request.d.ts +1 -1
  38. package/build/middlewares/validate-request.d.ts.map +1 -1
  39. package/build/middlewares/validate-request.js +1 -2
  40. package/build/middlewares/validate-request.js.map +1 -1
  41. package/package.json +3 -2
@@ -1,4 +1,4 @@
1
- import { ValidationError } from 'express-validator';
1
+ import type { ValidationError } from 'express-validator';
2
2
  import { CustomError } from './custom-error.js';
3
3
  export declare class RequestValidationError extends CustomError {
4
4
  errors: ValidationError[];
@@ -1 +1 @@
1
- {"version":3,"file":"request-validation-error.d.ts","sourceRoot":"","sources":["../../src/errors/request-validation-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,qBAAa,sBAAuB,SAAQ,WAAW;IAGlC,MAAM,EAAE,eAAe,EAAE;IAF5C,UAAU,SAAO;gBAEE,MAAM,EAAE,eAAe,EAAE;IAK5C,eAAe;;;;;;;CAShB"}
1
+ {"version":3,"file":"request-validation-error.d.ts","sourceRoot":"","sources":["../../src/errors/request-validation-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,qBAAa,sBAAuB,SAAQ,WAAW;IAGlC,MAAM,EAAE,eAAe,EAAE;IAF5C,UAAU,SAAO;gBAEE,MAAM,EAAE,eAAe,EAAE;IAK5C,eAAe;;;;;;;CAShB"}
@@ -1,4 +1,3 @@
1
- import { ValidationError } from 'express-validator';
2
1
  import { CustomError } from './custom-error.js';
3
2
  export class RequestValidationError extends CustomError {
4
3
  errors;
@@ -1 +1 @@
1
- {"version":3,"file":"request-validation-error.js","sourceRoot":"","sources":["../../src/errors/request-validation-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAGlC;IAFnB,UAAU,GAAG,GAAG,CAAC;IAEjB,YAAmB,MAAyB;QAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAC;QADnB,WAAM,GAAN,MAAM,CAAmB;QAE1C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACnD,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"request-validation-error.js","sourceRoot":"","sources":["../../src/errors/request-validation-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IAGlC;IAFnB,UAAU,GAAG,GAAG,CAAC;IAEjB,YAAmB,MAAyB;QAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAC;QADnB,WAAM,GAAN,MAAM,CAAmB;QAE1C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/B,IAAI,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACnD,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import { Stan, Message } from 'node-nats-streaming';
2
+ import { Subject } from './subject.js';
3
+ interface Event {
4
+ subject: Subject;
5
+ data: any;
6
+ }
7
+ export declare abstract class Listener<T extends Event> {
8
+ abstract subject: T['subject'];
9
+ abstract queueGroupName: string;
10
+ abstract onMessage(data: T['data'], msg: Message): void;
11
+ private client;
12
+ protected ackWait: number;
13
+ constructor(client: Stan);
14
+ subscriptionOptions(): import("node-nats-streaming").SubscriptionOptions;
15
+ listen(): void;
16
+ parseMessage(msg: Message): any;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=base-listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-listener.d.ts","sourceRoot":"","sources":["../../src/events/base-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;CACX;AACD,8BAAsB,QAAQ,CAAE,CAAC,SAAS,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IACvD,OAAO,CAAC,MAAM,CAAO;IACrB,SAAS,CAAC,OAAO,SAAY;gBAEjB,MAAM,EAAE,IAAI;IAIxB,mBAAmB;IAQnB,MAAM;IAgBN,YAAY,CAAC,GAAG,EAAE,OAAO;CAM1B"}
@@ -0,0 +1,30 @@
1
+ export class Listener {
2
+ client;
3
+ ackWait = 5 * 1000;
4
+ constructor(client) {
5
+ this.client = client;
6
+ }
7
+ subscriptionOptions() {
8
+ return this.client
9
+ .subscriptionOptions()
10
+ .setManualAckMode(true)
11
+ .setAckWait(this.ackWait)
12
+ .setDeliverAllAvailable()
13
+ .setDurableName(this.queueGroupName);
14
+ }
15
+ listen() {
16
+ const subscription = this.client.subscribe(this.subject, this.queueGroupName, this.subscriptionOptions());
17
+ subscription.on('message', (msg) => {
18
+ console.log(`Message received: ${this.subject} / ${this.queueGroupName}`);
19
+ const parsedData = this.parseMessage(msg);
20
+ this.onMessage(parsedData, msg);
21
+ });
22
+ }
23
+ parseMessage(msg) {
24
+ const data = msg.getData();
25
+ return typeof data === 'string'
26
+ ? JSON.parse(data)
27
+ : JSON.parse(data.toString('utf8'));
28
+ }
29
+ }
30
+ //# sourceMappingURL=base-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-listener.js","sourceRoot":"","sources":["../../src/events/base-listener.ts"],"names":[],"mappings":"AAOA,MAAM,OAAgB,QAAQ;IAIpB,MAAM,CAAO;IACX,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC;IAE7B,YAAY,MAAY;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM;aACf,mBAAmB,EAAE;aACrB,gBAAgB,CAAC,IAAI,CAAC;aACtB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;aACxB,sBAAsB,EAAE;aACxB,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IACD,MAAM;QACJ,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CACxC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,mBAAmB,EAAE,CAC3B,CAAC;QAEF,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAY,EAAE,EAAE;YAC1C,OAAO,CAAC,GAAG,CACT,qBAAqB,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAC7D,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,CAAC,GAAY;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,OAAO,IAAI,KAAK,QAAQ;YAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import { Stan } from 'node-nats-streaming';
2
+ import { Subject } from './subject.js';
3
+ interface Event {
4
+ subject: Subject;
5
+ data: any;
6
+ }
7
+ export declare abstract class Publisher<T extends Event> {
8
+ abstract subject: T['subject'];
9
+ protected client: Stan;
10
+ constructor(client: Stan);
11
+ publish(data: T['data']): Promise<void>;
12
+ }
13
+ export {};
14
+ //# sourceMappingURL=base-publisher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-publisher.d.ts","sourceRoot":"","sources":["../../src/events/base-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,UAAU,KAAK;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,8BAAsB,SAAS,CAAC,CAAC,SAAS,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC/B,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;gBAEX,MAAM,EAAE,IAAI;IAIxB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAUxC"}
@@ -0,0 +1,17 @@
1
+ export class Publisher {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ publish(data) {
7
+ return new Promise((resolve, reject) => {
8
+ this.client.publish(this.subject, JSON.stringify(data), (err) => {
9
+ if (err) {
10
+ return reject(err);
11
+ }
12
+ resolve();
13
+ });
14
+ });
15
+ }
16
+ }
17
+ //# sourceMappingURL=base-publisher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-publisher.js","sourceRoot":"","sources":["../../src/events/base-publisher.ts"],"names":[],"mappings":"AAQA,MAAM,OAAgB,SAAS;IAEnB,MAAM,CAAO;IAEvB,YAAY,MAAY;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,IAAe;QACrB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAW,EAAE,EAAE;gBACtE,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export declare enum Subject {
2
+ TicketCreated = "ticket:created",
3
+ TicketUpdated = "ticket:updated",
4
+ ExpirationComplete = "expiration:complete",
5
+ PaymentCreated = "payment:created"
6
+ }
7
+ //# sourceMappingURL=subject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject.d.ts","sourceRoot":"","sources":["../../src/events/subject.ts"],"names":[],"mappings":"AAAA,oBAAY,OAAO;IACjB,aAAa,mBAAmB;IAChC,aAAa,mBAAmB;IAChC,kBAAkB,wBAAwB;IAC1C,cAAc,oBAAoB;CACnC"}
@@ -0,0 +1,8 @@
1
+ export var Subject;
2
+ (function (Subject) {
3
+ Subject["TicketCreated"] = "ticket:created";
4
+ Subject["TicketUpdated"] = "ticket:updated";
5
+ Subject["ExpirationComplete"] = "expiration:complete";
6
+ Subject["PaymentCreated"] = "payment:created";
7
+ })(Subject || (Subject = {}));
8
+ //# sourceMappingURL=subject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subject.js","sourceRoot":"","sources":["../../src/events/subject.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,OAKX;AALD,WAAY,OAAO;IACjB,2CAAgC,CAAA;IAChC,2CAAgC,CAAA;IAChC,qDAA0C,CAAA;IAC1C,6CAAkC,CAAA;AACpC,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB"}
@@ -0,0 +1,11 @@
1
+ import { Subject } from './subject.js';
2
+ export interface TicketCreatedEvent {
3
+ subject: Subject.TicketCreated;
4
+ data: {
5
+ id: string;
6
+ title: string;
7
+ price: number;
8
+ userId: string;
9
+ };
10
+ }
11
+ //# sourceMappingURL=ticket-created-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-created-event.d.ts","sourceRoot":"","sources":["../../src/events/ticket-created-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC;IAC/B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ticket-created-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-created-event.js","sourceRoot":"","sources":["../../src/events/ticket-created-event.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { Subject } from './subject.js';
2
+ export interface TicketUpdatedEvent {
3
+ subject: Subject.TicketUpdated;
4
+ data: {
5
+ id: string;
6
+ title: string;
7
+ price: number;
8
+ userId: string;
9
+ };
10
+ }
11
+ //# sourceMappingURL=ticket-update-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-update-event.d.ts","sourceRoot":"","sources":["../../src/events/ticket-update-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC;IAC/B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ticket-update-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticket-update-event.js","sourceRoot":"","sources":["../../src/events/ticket-update-event.ts"],"names":[],"mappings":""}
@@ -1,11 +1,18 @@
1
- import { Request, Response, NextFunction } from 'express';
2
- import jwt from 'jsonwebtoken';
1
+ import type { Request, Response, NextFunction } from 'express';
2
+ interface UserPayload {
3
+ id: string;
4
+ email: string;
5
+ }
3
6
  declare global {
4
7
  namespace Express {
5
8
  interface Request {
6
- currentUser?: string | jwt.JwtPayload;
9
+ currentUser?: UserPayload;
10
+ session?: {
11
+ jwt?: string;
12
+ } | null;
7
13
  }
8
14
  }
9
15
  }
10
16
  export declare const currentUser: (req: Request, res: Response, next: NextFunction) => void;
17
+ export {};
11
18
  //# sourceMappingURL=current-user.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"current-user.d.ts","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,GAAG,MAAM,cAAc,CAAC;AAG/B,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,WAAW,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC;SACzC;KACJ;CACJ;AAOD,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAY1E,CAAC"}
1
+ {"version":3,"file":"current-user.d.ts","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG/D,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,OAAO,CAAC;QACd,UAAU,OAAO;YACb,WAAW,CAAC,EAAE,WAAW,CAAC;YAC1B,OAAO,CAAC,EAAE;gBAAE,GAAG,CAAC,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC;SACrC;KACJ;CACJ;AAED,eAAO,MAAM,WAAW,GACpB,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,MAAM,YAAY,SAgBrB,CAAC"}
@@ -1,16 +1,13 @@
1
- import { Request, Response, NextFunction } from 'express';
2
- import jwt from 'jsonwebtoken'; // ✅ default import, not named
1
+ import jwt from 'jsonwebtoken';
3
2
  export const currentUser = (req, res, next) => {
4
- if (!req.session || !req.session.jwt) {
3
+ if (!req.session?.jwt) {
5
4
  return next();
6
5
  }
7
6
  try {
8
- const payload = jwt.verify(req.session.jwt, process.env.JWT_KEY); // ✅ jwt.verify
7
+ const payload = jwt.verify(req.session.jwt, process.env.JWT_KEY);
9
8
  req.currentUser = payload;
10
9
  }
11
- catch (error) {
12
- // If JWT is invalid, simply don't set currentUser
13
- }
10
+ catch (err) { }
14
11
  next();
15
12
  };
16
13
  //# sourceMappingURL=current-user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"current-user.js","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,GAAG,MAAM,cAAc,CAAC,CAAC,8BAA8B;AAgB9D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC3E,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACnC,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,OAAQ,CAAgB,CAAC,CAAC,eAAe;QACjG,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,kDAAkD;IACtD,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
1
+ {"version":3,"file":"current-user.js","sourceRoot":"","sources":["../../src/middlewares/current-user.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,cAAc,CAAC;AAgB/B,MAAM,CAAC,MAAM,WAAW,GAAG,CACvB,GAAY,EACZ,GAAa,EACb,IAAkB,EACpB,EAAE;IACA,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CACtB,GAAG,CAAC,OAAO,CAAC,GAAG,EACf,OAAO,CAAC,GAAG,CAAC,OAAQ,CACR,CAAC;QAEjB,GAAG,CAAC,WAAW,GAAG,OAAO,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC,CAAA,CAAC;IAEhB,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Request, Response, NextFunction } from 'express';
1
+ import type { Request, Response, NextFunction } from 'express';
2
2
  export declare const errorHandler: (err: Error, req: Request, res: Response, next: NextFunction) => Response<any, Record<string, any>> | undefined;
3
3
  //# sourceMappingURL=error-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAExD,eAAO,MAAM,YAAY,GAAI,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,mDAYtF,CAAC"}
1
+ {"version":3,"file":"error-handler.d.ts","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,KAAK,KAAK,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,mDAYtF,CAAC"}
@@ -1,5 +1,4 @@
1
- import { Request, Response, NextFunction } from 'express';
2
- import { CustomError } from '../errors/custom-error';
1
+ import { CustomError } from '../errors/custom-error.js';
3
2
  export const errorHandler = (err, req, res, next) => {
4
3
  if (err instanceof CustomError) {
5
4
  return res.status(err.statusCode).send({
@@ -1 +1 @@
1
- {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAE1F,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE;SAC/B,CAAC,CAAC;IACN,CAAC;IAGC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;KAC9C,CAAC,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/middlewares/error-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAU,EAAE,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAE1F,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;YACnC,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE;SAC/B,CAAC,CAAC;IACN,CAAC;IAGC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;KAC9C,CAAC,CAAC;AACN,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Request, Response, NextFunction } from 'express';
1
+ import type { Request, Response, NextFunction } from 'express';
2
2
  export declare const requireAuth: (req: Request, res: Response, next: NextFunction) => void;
3
3
  //# sourceMappingURL=require-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"require-auth.d.ts","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAGxD,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAK1E,CAAC"}
1
+ {"version":3,"file":"require-auth.d.ts","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAG7D,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAK1E,CAAC"}
@@ -1,5 +1,4 @@
1
- import { Request, Response, NextFunction } from 'express';
2
- import { NotAuthorizedError } from '../errors/not-authorized-error';
1
+ import { NotAuthorizedError } from '../errors/not-authorized-error.js';
3
2
  export const requireAuth = (req, res, next) => {
4
3
  if (!req.currentUser) {
5
4
  throw new NotAuthorizedError();
@@ -1 +1 @@
1
- {"version":3,"file":"require-auth.js","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC3E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
1
+ {"version":3,"file":"require-auth.js","sourceRoot":"","sources":["../../src/middlewares/require-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC3E,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,IAAI,kBAAkB,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Request, Response, NextFunction } from 'express';
1
+ import type { Request, Response, NextFunction } from 'express';
2
2
  export declare const validateRequest: (req: Request, res: Response, next: NextFunction) => void;
3
3
  //# sourceMappingURL=validate-request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-request.d.ts","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAIxD,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAM9E,CAAC"}
1
+ {"version":3,"file":"validate-request.d.ts","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAI7D,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,SAM9E,CAAC"}
@@ -1,6 +1,5 @@
1
- import { Request, Response, NextFunction } from 'express';
2
1
  import { validationResult } from 'express-validator';
3
- import { RequestValidationError } from '../errors/request-validation-error';
2
+ import { RequestValidationError } from '../errors/request-validation-error.js';
4
3
  export const validateRequest = (req, res, next) => {
5
4
  const errors = validationResult(req);
6
5
  if (!errors.isEmpty()) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-request.js","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAE5E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
1
+ {"version":3,"file":"validate-request.js","sourceRoot":"","sources":["../../src/middlewares/validate-request.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,EAAE,CAAC;AACX,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aytix/common",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "type": "module",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -22,6 +22,7 @@
22
22
  "cookie-session": "^2.1.1",
23
23
  "express": "^5.2.1",
24
24
  "express-validator": "^7.3.2",
25
- "jsonwebtoken": "^9.0.3"
25
+ "jsonwebtoken": "^9.0.3",
26
+ "node-nats-streaming": "^0.3.2"
26
27
  }
27
28
  }