@aghamdi/shared-types 0.2.13 → 0.2.14

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/index.js CHANGED
@@ -128,22 +128,22 @@ var MessagingBus = class {
128
128
  var MiaNotifications = class {
129
129
  static sendtoDevice(message) {
130
130
  return __async(this, null, function* () {
131
- yield MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || "general"}`, message);
131
+ yield MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || "general"}`, message);
132
132
  });
133
133
  }
134
134
  static sendtoUserDevices(message) {
135
135
  return __async(this, null, function* () {
136
- yield MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || "general"}`, message);
136
+ yield MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || "general"}`, message);
137
137
  });
138
138
  }
139
139
  static sendtoTopic(message) {
140
140
  return __async(this, null, function* () {
141
- yield MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || "general"}`, message);
141
+ yield MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || "general"}`, message);
142
142
  });
143
143
  }
144
144
  static sendtoSms(message) {
145
145
  return __async(this, null, function* () {
146
- yield MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || "general"}`, message);
146
+ yield MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || "general"}`, message);
147
147
  });
148
148
  }
149
149
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/mia-server-response.ts","../src/messaging-bus.ts","../src/notifications.ts"],"sourcesContent":["export * from './mia-server-response'\nexport * from './notifications'\nexport * from './messaging-bus'\n","export class MiaServerResponse {\n status?: number;\n message?: string;\n data: any;\n\n static send = (status: number, message: string, data: any) => {\n const response: MiaServerResponse = {\n status: status,\n message: message,\n data: data\n };\n return response;\n }\n static sendData = (data: any, status: number = 200) => {\n const response: MiaServerResponse = {\n status: status,\n message: \"Success\",\n data: data\n };\n return response;\n }\n static sendError = (error: any, status: number = 400) => {\n const response: MiaServerResponse = {\n status: status,\n message: \"Failed\",\n data: error\n };\n return response;\n }\n}\n","import { connect, JSONCodec } from \"nats\";\n\nexport class MessagingBus {\n static async subscribe(channel: string, queue: string, onMessage: Function) {\n if (!process.env.NATS_HOST) {\n throw new Error(\"NATS_HOST ENV is not defined\");\n }\n const nc = await connect({ servers: process.env.NATS_HOST });\n const sc = JSONCodec();\n const subscription = nc.subscribe(channel, { queue: queue });\n\n (async (sub) => {\n\n console.log(`listening for ${sub.getSubject()} requests...`);\n\n for await (const m of sub) {\n const msg = sc.decode(m.data);\n onMessage(msg);\n }\n\n console.log(`subscription ${sub.getSubject()} drained.`);\n })(subscription);\n }\n\n static async publish(channel: string, message: any) {\n if (!process.env.NATS_HOST) {\n throw new Error(\"NATS_HOST ENV is not defined\");\n }\n const nc = await connect({ servers: process.env.NATS_HOST });\n const jc = JSONCodec();\n nc.publish(channel, jc.encode(message));\n await nc.drain();\n }\n}\n","import { MessagingBus } from \"./messaging-bus\";\nexport interface Notification {\n title?: string,\n body: string,\n badge?: number,\n payload?: any,\n target?: string\n}\nexport interface UserNotification extends Notification {\n userId: string\n}\nexport interface DeviceNotification extends Notification {\n deviceId: string\n}\nexport interface TopicNotification extends Notification {\n topic: string,\n}\nexport interface SmsNotification extends Notification {\n mobile: string,\n}\n\nexport class MiaNotifications {\n static async sendtoDevice(message: DeviceNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || \"general\"}`, message);\n }\n static async sendtoUserDevices(message: UserNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || \"general\"}`, message);\n }\n static async sendtoTopic(message: TopicNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || \"general\"}`, message);\n }\n static async sendtoSms(message: SmsNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || \"general\"}`, message);\n }\n static topicFormatter = (topic: string) => \"/topics/\" + topic.replace(/\\//g, \"~\")\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,oBAAN,MAAwB;AA6B/B;AA7Ba,kBAKJ,OAAO,CAAC,QAAgB,SAAiB,SAAc;AAC5D,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO;AACT;AAZW,kBAaJ,WAAW,CAAC,MAAW,SAAiB,QAAQ;AACrD,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AApBW,kBAqBJ,YAAY,CAAC,OAAY,SAAiB,QAAQ;AACvD,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,SAAO;AACT;;;AC5BF,kBAAmC;AAE5B,IAAM,eAAN,MAAmB;AAAA,EACxB,OAAa,UAAU,SAAiB,OAAe,WAAqB;AAAA;AAC1E,UAAI,CAAC,QAAQ,IAAI,WAAW;AAC1B,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AACA,YAAM,KAAK,UAAM,qBAAQ,EAAE,SAAS,QAAQ,IAAI,UAAU,CAAC;AAC3D,YAAM,SAAK,uBAAU;AACrB,YAAM,eAAe,GAAG,UAAU,SAAS,EAAE,MAAa,CAAC;AAE3D,OAAC,CAAO,QAAQ;AAEd,gBAAQ,IAAI,iBAAiB,IAAI,WAAW,CAAC,cAAc;AAE3D;AAAA,qCAAsB,MAAtB,0EAA2B;AAAhB,kBAAM,IAAjB;AACE,kBAAM,MAAM,GAAG,OAAO,EAAE,IAAI;AAC5B,sBAAU,GAAG;AAAA,UACf;AAAA,iBAHA,MAfN;AAeM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,gBAAQ,IAAI,gBAAgB,IAAI,WAAW,CAAC,WAAW;AAAA,MACzD,IAAG,YAAY;AAAA,IACjB;AAAA;AAAA,EAEA,OAAa,QAAQ,SAAiB,SAAc;AAAA;AAClD,UAAI,CAAC,QAAQ,IAAI,WAAW;AAC1B,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AACA,YAAM,KAAK,UAAM,qBAAQ,EAAE,SAAS,QAAQ,IAAI,UAAU,CAAC;AAC3D,YAAM,SAAK,uBAAU;AACrB,SAAG,QAAQ,SAAS,GAAG,OAAO,OAAO,CAAC;AACtC,YAAM,GAAG,MAAM;AAAA,IACjB;AAAA;AACF;;;ACZO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,OAAa,aAAa,SAA6B;AAAA;AACrD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,gBAAgB,SAAS,IAAI,OAAO;AAAA,IAClG;AAAA;AAAA,EACA,OAAa,kBAAkB,SAA2B;AAAA;AACxD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,gBAAgB,SAAS,IAAI,OAAO;AAAA,IAClG;AAAA;AAAA,EACA,OAAa,YAAY,SAA4B;AAAA;AACnD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,gBAAgB,SAAS,IAAI,OAAO;AAAA,IAClG;AAAA;AAAA,EACA,OAAa,UAAU,SAA0B;AAAA;AAC/C,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,gBAAgB,SAAS,IAAI,OAAO;AAAA,IAClG;AAAA;AAEF;AAda,iBAaJ,iBAAiB,CAAC,UAAkB,aAAa,MAAM,QAAQ,OAAO,GAAG;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/mia-server-response.ts","../src/messaging-bus.ts","../src/notifications.ts"],"sourcesContent":["export * from './mia-server-response'\nexport * from './notifications'\nexport * from './messaging-bus'\n","export class MiaServerResponse {\n status?: number;\n message?: string;\n data: any;\n\n static send = (status: number, message: string, data: any) => {\n const response: MiaServerResponse = {\n status: status,\n message: message,\n data: data\n };\n return response;\n }\n static sendData = (data: any, status: number = 200) => {\n const response: MiaServerResponse = {\n status: status,\n message: \"Success\",\n data: data\n };\n return response;\n }\n static sendError = (error: any, status: number = 400) => {\n const response: MiaServerResponse = {\n status: status,\n message: \"Failed\",\n data: error\n };\n return response;\n }\n}\n","import { connect, JSONCodec } from \"nats\";\n\nexport class MessagingBus {\n static async subscribe(channel: string, queue: string, onMessage: Function) {\n if (!process.env.NATS_HOST) {\n throw new Error(\"NATS_HOST ENV is not defined\");\n }\n const nc = await connect({ servers: process.env.NATS_HOST });\n const sc = JSONCodec();\n const subscription = nc.subscribe(channel, { queue: queue });\n\n (async (sub) => {\n\n console.log(`listening for ${sub.getSubject()} requests...`);\n\n for await (const m of sub) {\n const msg = sc.decode(m.data);\n onMessage(msg);\n }\n\n console.log(`subscription ${sub.getSubject()} drained.`);\n })(subscription);\n }\n\n static async publish(channel: string, message: any) {\n if (!process.env.NATS_HOST) {\n throw new Error(\"NATS_HOST ENV is not defined\");\n }\n const nc = await connect({ servers: process.env.NATS_HOST });\n const jc = JSONCodec();\n nc.publish(channel, jc.encode(message));\n await nc.drain();\n }\n}\n","import { MessagingBus } from \"./messaging-bus\";\nexport interface Notification {\n title?: string,\n body: string,\n badge?: number,\n payload?: any,\n target?: string\n}\nexport interface UserNotification extends Notification {\n userId: string\n}\nexport interface DeviceNotification extends Notification {\n deviceId: string\n}\nexport interface TopicNotification extends Notification {\n topic: string,\n}\nexport interface SmsNotification extends Notification {\n mobile: string,\n}\n\nexport class MiaNotifications {\n static async sendtoDevice(message: DeviceNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || \"general\"}`, message);\n }\n static async sendtoUserDevices(message: UserNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || \"general\"}`, message);\n }\n static async sendtoTopic(message: TopicNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || \"general\"}`, message);\n }\n static async sendtoSms(message: SmsNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || \"general\"}`, message);\n }\n static topicFormatter = (topic: string) => \"/topics/\" + topic.replace(/\\//g, \"~\")\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,oBAAN,MAAwB;AA6B/B;AA7Ba,kBAKJ,OAAO,CAAC,QAAgB,SAAiB,SAAc;AAC5D,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO;AACT;AAZW,kBAaJ,WAAW,CAAC,MAAW,SAAiB,QAAQ;AACrD,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AApBW,kBAqBJ,YAAY,CAAC,OAAY,SAAiB,QAAQ;AACvD,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,SAAO;AACT;;;AC5BF,kBAAmC;AAE5B,IAAM,eAAN,MAAmB;AAAA,EACxB,OAAa,UAAU,SAAiB,OAAe,WAAqB;AAAA;AAC1E,UAAI,CAAC,QAAQ,IAAI,WAAW;AAC1B,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AACA,YAAM,KAAK,UAAM,qBAAQ,EAAE,SAAS,QAAQ,IAAI,UAAU,CAAC;AAC3D,YAAM,SAAK,uBAAU;AACrB,YAAM,eAAe,GAAG,UAAU,SAAS,EAAE,MAAa,CAAC;AAE3D,OAAC,CAAO,QAAQ;AAEd,gBAAQ,IAAI,iBAAiB,IAAI,WAAW,CAAC,cAAc;AAE3D;AAAA,qCAAsB,MAAtB,0EAA2B;AAAhB,kBAAM,IAAjB;AACE,kBAAM,MAAM,GAAG,OAAO,EAAE,IAAI;AAC5B,sBAAU,GAAG;AAAA,UACf;AAAA,iBAHA,MAfN;AAeM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,gBAAQ,IAAI,gBAAgB,IAAI,WAAW,CAAC,WAAW;AAAA,MACzD,IAAG,YAAY;AAAA,IACjB;AAAA;AAAA,EAEA,OAAa,QAAQ,SAAiB,SAAc;AAAA;AAClD,UAAI,CAAC,QAAQ,IAAI,WAAW;AAC1B,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AACA,YAAM,KAAK,UAAM,qBAAQ,EAAE,SAAS,QAAQ,IAAI,UAAU,CAAC;AAC3D,YAAM,SAAK,uBAAU;AACrB,SAAG,QAAQ,SAAS,GAAG,OAAO,OAAO,CAAC;AACtC,YAAM,GAAG,MAAM;AAAA,IACjB;AAAA;AACF;;;ACZO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,OAAa,aAAa,SAA6B;AAAA;AACrD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,YAAY,SAAS,IAAI,OAAO;AAAA,IAC9F;AAAA;AAAA,EACA,OAAa,kBAAkB,SAA2B;AAAA;AACxD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,YAAY,SAAS,IAAI,OAAO;AAAA,IAC9F;AAAA;AAAA,EACA,OAAa,YAAY,SAA4B;AAAA;AACnD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,YAAY,SAAS,IAAI,OAAO;AAAA,IAC9F;AAAA;AAAA,EACA,OAAa,UAAU,SAA0B;AAAA;AAC/C,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,YAAY,SAAS,IAAI,OAAO;AAAA,IAC9F;AAAA;AAEF;AAda,iBAaJ,iBAAiB,CAAC,UAAkB,aAAa,MAAM,QAAQ,OAAO,GAAG;","names":[]}
package/dist/index.mjs CHANGED
@@ -101,22 +101,22 @@ var MessagingBus = class {
101
101
  var MiaNotifications = class {
102
102
  static sendtoDevice(message) {
103
103
  return __async(this, null, function* () {
104
- yield MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || "general"}`, message);
104
+ yield MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || "general"}`, message);
105
105
  });
106
106
  }
107
107
  static sendtoUserDevices(message) {
108
108
  return __async(this, null, function* () {
109
- yield MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || "general"}`, message);
109
+ yield MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || "general"}`, message);
110
110
  });
111
111
  }
112
112
  static sendtoTopic(message) {
113
113
  return __async(this, null, function* () {
114
- yield MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || "general"}`, message);
114
+ yield MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || "general"}`, message);
115
115
  });
116
116
  }
117
117
  static sendtoSms(message) {
118
118
  return __async(this, null, function* () {
119
- yield MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || "general"}`, message);
119
+ yield MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || "general"}`, message);
120
120
  });
121
121
  }
122
122
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mia-server-response.ts","../src/messaging-bus.ts","../src/notifications.ts"],"sourcesContent":["export class MiaServerResponse {\n status?: number;\n message?: string;\n data: any;\n\n static send = (status: number, message: string, data: any) => {\n const response: MiaServerResponse = {\n status: status,\n message: message,\n data: data\n };\n return response;\n }\n static sendData = (data: any, status: number = 200) => {\n const response: MiaServerResponse = {\n status: status,\n message: \"Success\",\n data: data\n };\n return response;\n }\n static sendError = (error: any, status: number = 400) => {\n const response: MiaServerResponse = {\n status: status,\n message: \"Failed\",\n data: error\n };\n return response;\n }\n}\n","import { connect, JSONCodec } from \"nats\";\n\nexport class MessagingBus {\n static async subscribe(channel: string, queue: string, onMessage: Function) {\n if (!process.env.NATS_HOST) {\n throw new Error(\"NATS_HOST ENV is not defined\");\n }\n const nc = await connect({ servers: process.env.NATS_HOST });\n const sc = JSONCodec();\n const subscription = nc.subscribe(channel, { queue: queue });\n\n (async (sub) => {\n\n console.log(`listening for ${sub.getSubject()} requests...`);\n\n for await (const m of sub) {\n const msg = sc.decode(m.data);\n onMessage(msg);\n }\n\n console.log(`subscription ${sub.getSubject()} drained.`);\n })(subscription);\n }\n\n static async publish(channel: string, message: any) {\n if (!process.env.NATS_HOST) {\n throw new Error(\"NATS_HOST ENV is not defined\");\n }\n const nc = await connect({ servers: process.env.NATS_HOST });\n const jc = JSONCodec();\n nc.publish(channel, jc.encode(message));\n await nc.drain();\n }\n}\n","import { MessagingBus } from \"./messaging-bus\";\nexport interface Notification {\n title?: string,\n body: string,\n badge?: number,\n payload?: any,\n target?: string\n}\nexport interface UserNotification extends Notification {\n userId: string\n}\nexport interface DeviceNotification extends Notification {\n deviceId: string\n}\nexport interface TopicNotification extends Notification {\n topic: string,\n}\nexport interface SmsNotification extends Notification {\n mobile: string,\n}\n\nexport class MiaNotifications {\n static async sendtoDevice(message: DeviceNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || \"general\"}`, message);\n }\n static async sendtoUserDevices(message: UserNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || \"general\"}`, message);\n }\n static async sendtoTopic(message: TopicNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || \"general\"}`, message);\n }\n static async sendtoSms(message: SmsNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.APP_HOSTNAME || \"general\"}`, message);\n }\n static topicFormatter = (topic: string) => \"/topics/\" + topic.replace(/\\//g, \"~\")\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAM,oBAAN,MAAwB;AA6B/B;AA7Ba,kBAKJ,OAAO,CAAC,QAAgB,SAAiB,SAAc;AAC5D,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO;AACT;AAZW,kBAaJ,WAAW,CAAC,MAAW,SAAiB,QAAQ;AACrD,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AApBW,kBAqBJ,YAAY,CAAC,OAAY,SAAiB,QAAQ;AACvD,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,SAAO;AACT;;;AC5BF,SAAS,SAAS,iBAAiB;AAE5B,IAAM,eAAN,MAAmB;AAAA,EACxB,OAAa,UAAU,SAAiB,OAAe,WAAqB;AAAA;AAC1E,UAAI,CAAC,QAAQ,IAAI,WAAW;AAC1B,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AACA,YAAM,KAAK,MAAM,QAAQ,EAAE,SAAS,QAAQ,IAAI,UAAU,CAAC;AAC3D,YAAM,KAAK,UAAU;AACrB,YAAM,eAAe,GAAG,UAAU,SAAS,EAAE,MAAa,CAAC;AAE3D,OAAC,CAAO,QAAQ;AAEd,gBAAQ,IAAI,iBAAiB,IAAI,WAAW,CAAC,cAAc;AAE3D;AAAA,qCAAsB,MAAtB,0EAA2B;AAAhB,kBAAM,IAAjB;AACE,kBAAM,MAAM,GAAG,OAAO,EAAE,IAAI;AAC5B,sBAAU,GAAG;AAAA,UACf;AAAA,iBAHA,MAfN;AAeM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,gBAAQ,IAAI,gBAAgB,IAAI,WAAW,CAAC,WAAW;AAAA,MACzD,IAAG,YAAY;AAAA,IACjB;AAAA;AAAA,EAEA,OAAa,QAAQ,SAAiB,SAAc;AAAA;AAClD,UAAI,CAAC,QAAQ,IAAI,WAAW;AAC1B,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AACA,YAAM,KAAK,MAAM,QAAQ,EAAE,SAAS,QAAQ,IAAI,UAAU,CAAC;AAC3D,YAAM,KAAK,UAAU;AACrB,SAAG,QAAQ,SAAS,GAAG,OAAO,OAAO,CAAC;AACtC,YAAM,GAAG,MAAM;AAAA,IACjB;AAAA;AACF;;;ACZO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,OAAa,aAAa,SAA6B;AAAA;AACrD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,gBAAgB,SAAS,IAAI,OAAO;AAAA,IAClG;AAAA;AAAA,EACA,OAAa,kBAAkB,SAA2B;AAAA;AACxD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,gBAAgB,SAAS,IAAI,OAAO;AAAA,IAClG;AAAA;AAAA,EACA,OAAa,YAAY,SAA4B;AAAA;AACnD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,gBAAgB,SAAS,IAAI,OAAO;AAAA,IAClG;AAAA;AAAA,EACA,OAAa,UAAU,SAA0B;AAAA;AAC/C,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,gBAAgB,SAAS,IAAI,OAAO;AAAA,IAClG;AAAA;AAEF;AAda,iBAaJ,iBAAiB,CAAC,UAAkB,aAAa,MAAM,QAAQ,OAAO,GAAG;","names":[]}
1
+ {"version":3,"sources":["../src/mia-server-response.ts","../src/messaging-bus.ts","../src/notifications.ts"],"sourcesContent":["export class MiaServerResponse {\n status?: number;\n message?: string;\n data: any;\n\n static send = (status: number, message: string, data: any) => {\n const response: MiaServerResponse = {\n status: status,\n message: message,\n data: data\n };\n return response;\n }\n static sendData = (data: any, status: number = 200) => {\n const response: MiaServerResponse = {\n status: status,\n message: \"Success\",\n data: data\n };\n return response;\n }\n static sendError = (error: any, status: number = 400) => {\n const response: MiaServerResponse = {\n status: status,\n message: \"Failed\",\n data: error\n };\n return response;\n }\n}\n","import { connect, JSONCodec } from \"nats\";\n\nexport class MessagingBus {\n static async subscribe(channel: string, queue: string, onMessage: Function) {\n if (!process.env.NATS_HOST) {\n throw new Error(\"NATS_HOST ENV is not defined\");\n }\n const nc = await connect({ servers: process.env.NATS_HOST });\n const sc = JSONCodec();\n const subscription = nc.subscribe(channel, { queue: queue });\n\n (async (sub) => {\n\n console.log(`listening for ${sub.getSubject()} requests...`);\n\n for await (const m of sub) {\n const msg = sc.decode(m.data);\n onMessage(msg);\n }\n\n console.log(`subscription ${sub.getSubject()} drained.`);\n })(subscription);\n }\n\n static async publish(channel: string, message: any) {\n if (!process.env.NATS_HOST) {\n throw new Error(\"NATS_HOST ENV is not defined\");\n }\n const nc = await connect({ servers: process.env.NATS_HOST });\n const jc = JSONCodec();\n nc.publish(channel, jc.encode(message));\n await nc.drain();\n }\n}\n","import { MessagingBus } from \"./messaging-bus\";\nexport interface Notification {\n title?: string,\n body: string,\n badge?: number,\n payload?: any,\n target?: string\n}\nexport interface UserNotification extends Notification {\n userId: string\n}\nexport interface DeviceNotification extends Notification {\n deviceId: string\n}\nexport interface TopicNotification extends Notification {\n topic: string,\n}\nexport interface SmsNotification extends Notification {\n mobile: string,\n}\n\nexport class MiaNotifications {\n static async sendtoDevice(message: DeviceNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || \"general\"}`, message);\n }\n static async sendtoUserDevices(message: UserNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || \"general\"}`, message);\n }\n static async sendtoTopic(message: TopicNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || \"general\"}`, message);\n }\n static async sendtoSms(message: SmsNotification) {\n await MessagingBus.publish(`mia.notifications.${process.env.HOSTNAME || \"general\"}`, message);\n }\n static topicFormatter = (topic: string) => \"/topics/\" + topic.replace(/\\//g, \"~\")\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,IAAM,oBAAN,MAAwB;AA6B/B;AA7Ba,kBAKJ,OAAO,CAAC,QAAgB,SAAiB,SAAc;AAC5D,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO;AACT;AAZW,kBAaJ,WAAW,CAAC,MAAW,SAAiB,QAAQ;AACrD,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA,SAAS;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AApBW,kBAqBJ,YAAY,CAAC,OAAY,SAAiB,QAAQ;AACvD,QAAM,WAA8B;AAAA,IAClC;AAAA,IACA,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACA,SAAO;AACT;;;AC5BF,SAAS,SAAS,iBAAiB;AAE5B,IAAM,eAAN,MAAmB;AAAA,EACxB,OAAa,UAAU,SAAiB,OAAe,WAAqB;AAAA;AAC1E,UAAI,CAAC,QAAQ,IAAI,WAAW;AAC1B,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AACA,YAAM,KAAK,MAAM,QAAQ,EAAE,SAAS,QAAQ,IAAI,UAAU,CAAC;AAC3D,YAAM,KAAK,UAAU;AACrB,YAAM,eAAe,GAAG,UAAU,SAAS,EAAE,MAAa,CAAC;AAE3D,OAAC,CAAO,QAAQ;AAEd,gBAAQ,IAAI,iBAAiB,IAAI,WAAW,CAAC,cAAc;AAE3D;AAAA,qCAAsB,MAAtB,0EAA2B;AAAhB,kBAAM,IAAjB;AACE,kBAAM,MAAM,GAAG,OAAO,EAAE,IAAI;AAC5B,sBAAU,GAAG;AAAA,UACf;AAAA,iBAHA,MAfN;AAeM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,gBAAQ,IAAI,gBAAgB,IAAI,WAAW,CAAC,WAAW;AAAA,MACzD,IAAG,YAAY;AAAA,IACjB;AAAA;AAAA,EAEA,OAAa,QAAQ,SAAiB,SAAc;AAAA;AAClD,UAAI,CAAC,QAAQ,IAAI,WAAW;AAC1B,cAAM,IAAI,MAAM,8BAA8B;AAAA,MAChD;AACA,YAAM,KAAK,MAAM,QAAQ,EAAE,SAAS,QAAQ,IAAI,UAAU,CAAC;AAC3D,YAAM,KAAK,UAAU;AACrB,SAAG,QAAQ,SAAS,GAAG,OAAO,OAAO,CAAC;AACtC,YAAM,GAAG,MAAM;AAAA,IACjB;AAAA;AACF;;;ACZO,IAAM,mBAAN,MAAuB;AAAA,EAC5B,OAAa,aAAa,SAA6B;AAAA;AACrD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,YAAY,SAAS,IAAI,OAAO;AAAA,IAC9F;AAAA;AAAA,EACA,OAAa,kBAAkB,SAA2B;AAAA;AACxD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,YAAY,SAAS,IAAI,OAAO;AAAA,IAC9F;AAAA;AAAA,EACA,OAAa,YAAY,SAA4B;AAAA;AACnD,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,YAAY,SAAS,IAAI,OAAO;AAAA,IAC9F;AAAA;AAAA,EACA,OAAa,UAAU,SAA0B;AAAA;AAC/C,YAAM,aAAa,QAAQ,qBAAqB,QAAQ,IAAI,YAAY,SAAS,IAAI,OAAO;AAAA,IAC9F;AAAA;AAEF;AAda,iBAaJ,iBAAiB,CAAC,UAAkB,aAAa,MAAM,QAAQ,OAAO,GAAG;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aghamdi/shared-types",
3
- "version": "0.2.13",
3
+ "version": "0.2.14",
4
4
  "description": "Provide typescript interfaces for common types and some classes",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.js",