@betterinternship/core 2.2.4 → 2.3.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.
package/dist/index.js CHANGED
@@ -1,22 +1,6 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./lib/chat/index.js"), exports);
18
- __exportStar(require("./lib/env.js"), exports);
19
- __exportStar(require("./lib/broker/index.js"), exports);
20
- __exportStar(require("./lib/email/index.js"), exports);
21
- __exportStar(require("./lib/forms/index.js"), exports);
1
+ export * from './lib/chat/index.js';
2
+ export * from './lib/env.js';
3
+ export * from './lib/broker/index.js';
4
+ export * from './lib/email/index.js';
5
+ export * from './lib/forms/index.js';
22
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,+CAA6B;AAC7B,wDAAsC;AACtC,uDAAqC;AACrC,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import * as amqp from 'amqplib';
2
2
  export declare const QueueName: (...args: string[]) => string;
3
- export declare const BrokerAPI: {
4
- assertQueue: (..._: any[]) => Promise<void>;
5
- sendToQueue: (..._: any[]) => Promise<void>;
6
- readFromQueue: (..._: any[]) => Promise<void>;
7
- } | {
8
- assertQueue: (queueId: string, options?: amqp.Options.AssertQueue) => Promise<amqp.Replies.AssertQueue>;
9
- sendToQueue: (queueId: string, content: any) => boolean;
10
- readFromQueue: <T>(queueId: string) => Promise<null>;
11
- };
3
+ export declare class BrokerAPI {
4
+ connection: amqp.ChannelModel;
5
+ channels: Record<string, amqp.Channel>;
6
+ private static __instance;
7
+ private constructor();
8
+ static instance(): Promise<BrokerAPI>;
9
+ assertQueue(queueId: string, options?: amqp.Options.AssertQueue): Promise<amqp.Replies.AssertQueue>;
10
+ sendToQueue(queueId: string, content: any): boolean;
11
+ readFromQueue<T>(queueId: string): Promise<null>;
12
+ }
@@ -1,75 +1,42 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.BrokerAPI = exports.QueueName = void 0;
37
- const amqp = __importStar(require("amqplib"));
38
- const env_js_1 = require("../env.js");
39
- const RABBITMQ_URL = env_js_1.ENV.RABBITMQ_URL;
40
- if (!RABBITMQ_URL && env_js_1.ENV.RABBITMQ_ENABLED)
1
+ import * as amqp from 'amqplib';
2
+ import { ENV } from '../env.js';
3
+ const RABBITMQ_ENABLED = ENV.RABBITMQ_ENABLED;
4
+ const RABBITMQ_URL = ENV.RABBITMQ_URL;
5
+ if (!RABBITMQ_URL && RABBITMQ_ENABLED)
41
6
  throw new Error('[ERROR:ENV] Missing RabbitMQ configuration.');
42
- const QueueName = (...args) => {
43
- if (env_js_1.ENV.ENVIRONMENT === 'production')
7
+ export const QueueName = (...args) => {
8
+ if (ENV.ENVIRONMENT === 'production')
44
9
  return args.join('.');
45
10
  else
46
11
  return ['dev', ...args].join('.');
47
12
  };
48
- exports.QueueName = QueueName;
49
- exports.BrokerAPI = await (async () => {
50
- if (!RABBITMQ_URL) {
51
- return {
52
- assertQueue: async (..._) => { },
53
- sendToQueue: async (..._) => { },
54
- readFromQueue: async (..._) => { },
13
+ export class BrokerAPI {
14
+ connection;
15
+ channels;
16
+ static __instance;
17
+ constructor() { }
18
+ static async instance() {
19
+ if (BrokerAPI.__instance || !RABBITMQ_ENABLED)
20
+ return BrokerAPI.__instance;
21
+ BrokerAPI.__instance = new BrokerAPI();
22
+ BrokerAPI.__instance.connection = await amqp.connect(RABBITMQ_URL);
23
+ BrokerAPI.__instance.channels = {
24
+ asserter: await BrokerAPI.__instance.connection.createChannel(),
25
+ reader: await BrokerAPI.__instance.connection.createChannel(),
26
+ writer: await BrokerAPI.__instance.connection.createChannel(),
55
27
  };
28
+ return BrokerAPI.__instance;
56
29
  }
57
- const connection = await amqp.connect(RABBITMQ_URL);
58
- const channels = {
59
- asserter: await connection.createChannel(),
60
- reader: await connection.createChannel(),
61
- writer: await connection.createChannel(),
62
- };
63
- const assertQueue = async (queueId, options) => {
64
- const result = await channels.asserter.assertQueue(queueId, {
30
+ async assertQueue(queueId, options) {
31
+ const result = await this.channels.asserter.assertQueue(queueId, {
65
32
  durable: true,
66
33
  ...options,
67
34
  });
68
35
  console.log(`[BROKER] Queue "${queueId}" has been asserted.`);
69
36
  return result;
70
- };
71
- const sendToQueue = (queueId, content) => {
72
- const result = channels.writer.sendToQueue(queueId, Buffer.from(JSON.stringify(content)));
37
+ }
38
+ sendToQueue(queueId, content) {
39
+ const result = this.channels.writer.sendToQueue(queueId, Buffer.from(JSON.stringify(content)));
73
40
  if (result) {
74
41
  console.log(`[BROKER] Message sent to queue "${queueId}": ${JSON.stringify(content)}.`);
75
42
  }
@@ -77,18 +44,18 @@ exports.BrokerAPI = await (async () => {
77
44
  console.log(`[BROKER] Message could not sent to queue "${queueId}": ${JSON.stringify(content)}.`);
78
45
  }
79
46
  return result;
80
- };
81
- const readFromQueue = async (queueId) => {
47
+ }
48
+ async readFromQueue(queueId) {
82
49
  const resolveFromQueue = (message) => {
83
- channels.writer.ack(message);
50
+ this.channels.writer.ack(message);
84
51
  console.log(`[BROKER] Message "${message.properties.messageId}" resolved from queue "${queueId}".`);
85
52
  };
86
53
  const rejectFromQueue = (message) => {
87
- channels.writer.nack(message);
54
+ this.channels.writer.nack(message);
88
55
  console.log(`[BROKER] Message "${message.properties.messageId}" rejected from queue "${queueId}".`);
89
56
  };
90
57
  let result = null;
91
- await channels.reader.consume(queueId, (message) => {
58
+ await this.channels.reader.consume(queueId, (message) => {
92
59
  const content = message?.content?.toString?.();
93
60
  result = {
94
61
  content: content ? JSON.parse(content) : null,
@@ -98,11 +65,6 @@ exports.BrokerAPI = await (async () => {
98
65
  return message ? result : null;
99
66
  });
100
67
  return result;
101
- };
102
- return {
103
- assertQueue,
104
- sendToQueue,
105
- readFromQueue,
106
- };
107
- })();
68
+ }
69
+ }
108
70
  //# sourceMappingURL=broker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../lib/broker/broker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../lib/broker/broker.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./broker.js"), exports);
1
+ export * from './broker.js';
18
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/broker/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/broker/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -28,7 +28,7 @@ export declare class ConsumerService {
28
28
  setLastRead(id: string, conversationId: string, message: Message): Promise<RecordModel>;
29
29
  authenticateAs(id: string): Promise<{
30
30
  token: string;
31
- user: import("pocketbase", { with: { "resolution-mode": "import" } }).AuthRecord;
31
+ user: import("pocketbase").AuthRecord;
32
32
  }>;
33
33
  }
34
34
  export declare class MessageService {
@@ -1,52 +1,16 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ConversationService = exports.MessageService = exports.ConsumerService = void 0;
37
- const uuid_1 = require("uuid");
38
- const pb_js_1 = require("./pb.js");
39
- const generator = __importStar(require("generate-password"));
40
- class ConsumerService {
1
+ import { v4 as uuid } from 'uuid';
2
+ import { pb } from './pb.js';
3
+ import * as generator from 'generate-password';
4
+ export class ConsumerService {
41
5
  async findOne(id) {
42
- return await pb_js_1.pb.collection('users').getOne(id);
6
+ return await pb.collection('users').getOne(id);
43
7
  }
44
8
  async findAll() {
45
- return await pb_js_1.pb.collection('users').getFullList();
9
+ return await pb.collection('users').getFullList();
46
10
  }
47
11
  async register(id, email) {
48
12
  try {
49
- return await pb_js_1.pb.collection('users').getOne(id);
13
+ return await pb.collection('users').getOne(id);
50
14
  }
51
15
  catch (error) {
52
16
  const e = error;
@@ -61,7 +25,7 @@ class ConsumerService {
61
25
  lowercase: true,
62
26
  strict: true,
63
27
  });
64
- return await pb_js_1.pb.collection('users').create({
28
+ return await pb.collection('users').create({
65
29
  id,
66
30
  email,
67
31
  password,
@@ -72,10 +36,10 @@ class ConsumerService {
72
36
  });
73
37
  }
74
38
  async setLastRead(id, conversationId, message) {
75
- const subscriber = await pb_js_1.pb.collection('users').getOne(id);
39
+ const subscriber = await pb.collection('users').getOne(id);
76
40
  const last_reads = subscriber.last_reads;
77
41
  const last_unreads = subscriber.last_unreads;
78
- return await pb_js_1.pb.collection('users').update(id, {
42
+ return await pb.collection('users').update(id, {
79
43
  last_reads: {
80
44
  ...last_reads,
81
45
  [conversationId]: last_reads?.[conversationId]?.timestamp < message.timestamp
@@ -91,14 +55,13 @@ class ConsumerService {
91
55
  });
92
56
  }
93
57
  async authenticateAs(id) {
94
- const asUser = await pb_js_1.pb.collection('users').impersonate(id, 60 * 60 * 24);
58
+ const asUser = await pb.collection('users').impersonate(id, 60 * 60 * 24);
95
59
  const token = asUser.authStore.token;
96
60
  const record = asUser.authStore.record;
97
61
  return { token, user: record };
98
62
  }
99
63
  }
100
- exports.ConsumerService = ConsumerService;
101
- class MessageService {
64
+ export class MessageService {
102
65
  consumerService = new ConsumerService();
103
66
  conversationService = new ConversationService();
104
67
  async updateConversationUnread(subscriberId, conversationId, message) {
@@ -112,7 +75,7 @@ class MessageService {
112
75
  throw error;
113
76
  subscriber = await this.consumerService.register(subscriberId, '');
114
77
  }
115
- await pb_js_1.pb.collection('users').update(subscriberId, {
78
+ await pb.collection('users').update(subscriberId, {
116
79
  last_unreads: {
117
80
  ...subscriber.last_unreads,
118
81
  [conversationId]: subscriber.last_unreads?.[conversationId]?.timestamp <
@@ -134,11 +97,11 @@ class MessageService {
134
97
  return message;
135
98
  }
136
99
  async read(consumerId, conversationId) {
137
- const consumer = await pb_js_1.pb.collection('users').getOne(consumerId);
138
- const conversation = await pb_js_1.pb
100
+ const consumer = await pb.collection('users').getOne(consumerId);
101
+ const conversation = await pb
139
102
  .collection('conversations')
140
103
  .getOne(conversationId);
141
- await pb_js_1.pb.collection('users').update(consumerId, {
104
+ await pb.collection('users').update(consumerId, {
142
105
  last_reads: {
143
106
  ...consumer.last_reads,
144
107
  [conversationId]: conversation.last_message,
@@ -151,11 +114,11 @@ class MessageService {
151
114
  return conversation.last_message;
152
115
  }
153
116
  async digest(consumerId, conversationId) {
154
- const consumer = await pb_js_1.pb.collection('users').getOne(consumerId);
155
- const conversation = await pb_js_1.pb
117
+ const consumer = await pb.collection('users').getOne(consumerId);
118
+ const conversation = await pb
156
119
  .collection('conversations')
157
120
  .getOne(conversationId);
158
- await pb_js_1.pb.collection('users').update(consumerId, {
121
+ await pb.collection('users').update(consumerId, {
159
122
  last_unreads: {
160
123
  ...consumer.last_unreads,
161
124
  [conversationId]: {
@@ -167,15 +130,14 @@ class MessageService {
167
130
  return { ...conversation.last_message, digested: true };
168
131
  }
169
132
  }
170
- exports.MessageService = MessageService;
171
- class ConversationService {
133
+ export class ConversationService {
172
134
  consumerService = new ConsumerService();
173
135
  async findOne(id) {
174
- return await pb_js_1.pb.collection('conversations').getOne(id);
136
+ return await pb.collection('conversations').getOne(id);
175
137
  }
176
138
  async appendMessage(conversationId, message) {
177
139
  const conversation = await this.findOne(conversationId);
178
- return await pb_js_1.pb.collection('conversations').update(conversationId, {
140
+ return await pb.collection('conversations').update(conversationId, {
179
141
  contents: [...conversation.contents, message],
180
142
  last_message: message,
181
143
  });
@@ -183,20 +145,20 @@ class ConversationService {
183
145
  async subscribe(subscriberId, conversationId) {
184
146
  const conversation = await this.findOne(conversationId);
185
147
  const subscriber = await this.consumerService.findOne(subscriberId);
186
- await pb_js_1.pb.collection('users').update(subscriberId, {
148
+ await pb.collection('users').update(subscriberId, {
187
149
  conversations: [...subscriber.conversations, conversationId],
188
150
  });
189
- return await pb_js_1.pb.collection('conversations').update(conversationId, {
151
+ return await pb.collection('conversations').update(conversationId, {
190
152
  subscribers: [...conversation.subscribers, subscriberId],
191
153
  });
192
154
  }
193
155
  async getSubscriptions(subscriberId) {
194
- return await pb_js_1.pb.collection('conversations').getFullList({
156
+ return await pb.collection('conversations').getFullList({
195
157
  filter: `subscribers ~ '${subscriberId}'`,
196
158
  });
197
159
  }
198
160
  async findExisting(userId, employerId) {
199
- return await pb_js_1.pb
161
+ return await pb
200
162
  .collection('conversations')
201
163
  .getFirstListItem(`subscribers ~ '${userId}' && subscribers ~ '${employerId}'`);
202
164
  }
@@ -209,8 +171,8 @@ class ConversationService {
209
171
  return true;
210
172
  }
211
173
  async create(userId, employerId) {
212
- const conversationId = (0, uuid_1.v4)();
213
- const newConversation = await pb_js_1.pb.collection('conversations').create({
174
+ const conversationId = uuid();
175
+ const newConversation = await pb.collection('conversations').create({
214
176
  id: conversationId,
215
177
  subscribers: [userId, employerId],
216
178
  contents: [],
@@ -219,5 +181,4 @@ class ConversationService {
219
181
  return newConversation;
220
182
  }
221
183
  }
222
- exports.ConversationService = ConversationService;
223
184
  //# sourceMappingURL=chat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../lib/chat/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../lib/chat/chat.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./chat.js"), exports);
18
- __exportStar(require("./pb.js"), exports);
1
+ export * from './chat.js';
2
+ export * from './pb.js';
19
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/chat/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/chat/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -1,23 +1,16 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.authenticatePocketbase = exports.pb = void 0;
7
- const pocketbase_1 = __importDefault(require("pocketbase"));
8
- const env_js_1 = require("../env.js");
1
+ import PocketBase from 'pocketbase';
2
+ import { ENV } from '../env.js';
9
3
  let _pb = {};
10
- if (!env_js_1.ENV.BICORE_IGNORE_POCKETBASE) {
11
- _pb = new pocketbase_1.default(env_js_1.ENV.PB_URL);
4
+ if (!ENV.BICORE_IGNORE_POCKETBASE) {
5
+ _pb = new PocketBase(ENV.PB_URL);
12
6
  _pb.autoCancellation(false);
13
7
  }
14
- exports.pb = _pb;
15
- const authenticatePocketbase = async () => {
8
+ export const pb = _pb;
9
+ export const authenticatePocketbase = async () => {
16
10
  await _pb
17
11
  .collection('_superusers')
18
- .authWithPassword(env_js_1.ENV.PB_ADMIN_EMAIL, env_js_1.ENV.PB_ADMIN_PASSWORD, { autoRefreshThreshold: 30 * 60 });
12
+ .authWithPassword(ENV.PB_ADMIN_EMAIL, ENV.PB_ADMIN_PASSWORD, { autoRefreshThreshold: 30 * 60 });
19
13
  };
20
- exports.authenticatePocketbase = authenticatePocketbase;
21
- if (!env_js_1.ENV.BICORE_IGNORE_POCKETBASE)
22
- (0, exports.authenticatePocketbase)();
14
+ if (!ENV.BICORE_IGNORE_POCKETBASE)
15
+ authenticatePocketbase();
23
16
  //# sourceMappingURL=pb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pb.js","sourceRoot":"","sources":["../../../lib/chat/pb.ts"],"names":[],"mappings":";;;;;;AASA,4DAAoC;AACpC,sCAAgC;AAEhC,IAAI,GAAG,GAAe,EAAgB,CAAC;AAEvC,IAAI,CAAC,YAAG,CAAC,wBAAwB,EAAE,CAAC;IAClC,GAAG,GAAG,IAAI,oBAAU,CAAC,YAAG,CAAC,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAEY,QAAA,EAAE,GAAG,GAAG,CAAC;AACf,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC/C,MAAM,GAAG;SACN,UAAU,CAAC,aAAa,CAAC;SACzB,gBAAgB,CACf,YAAG,CAAC,cAAwB,EAC5B,YAAG,CAAC,iBAA2B,EAC/B,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,EAAE,CAClC,CAAC;AACN,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC;AAGF,IAAI,CAAC,YAAG,CAAC,wBAAwB;IAAE,IAAA,8BAAsB,GAAE,CAAC"}
1
+ {"version":3,"file":"pb.js","sourceRoot":"","sources":["../../../lib/chat/pb.ts"],"names":[],"mappings":"AASA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,IAAI,GAAG,GAAe,EAAgB,CAAC;AAEvC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;IAClC,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;AACtB,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC/C,MAAM,GAAG;SACN,UAAU,CAAC,aAAa,CAAC;SACzB,gBAAgB,CACf,GAAG,CAAC,cAAwB,EAC5B,GAAG,CAAC,iBAA2B,EAC/B,EAAE,oBAAoB,EAAE,EAAE,GAAG,EAAE,EAAE,CAClC,CAAC;AACN,CAAC,CAAC;AAGF,IAAI,CAAC,GAAG,CAAC,wBAAwB;IAAE,sBAAsB,EAAE,CAAC"}
@@ -1,45 +1,9 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.sendSingleEmail = void 0;
37
- const brevo_1 = require("@getbrevo/brevo");
38
- const nodemailer = __importStar(require("nodemailer"));
39
- const uuid_1 = require("uuid");
40
- const env_js_1 = require("../env.js");
41
- const SMTP_EMAIL = env_js_1.ENV.SMTP_EMAIL;
42
- const SMTP_PASSWORD = env_js_1.ENV.SMTP_PASSWORD;
1
+ import { TransactionalEmailsApi } from '@getbrevo/brevo';
2
+ import * as nodemailer from 'nodemailer';
3
+ import { v4 } from 'uuid';
4
+ import { ENV } from '../env.js';
5
+ const SMTP_EMAIL = ENV.SMTP_EMAIL;
6
+ const SMTP_PASSWORD = ENV.SMTP_PASSWORD;
43
7
  if (!SMTP_EMAIL || !SMTP_PASSWORD)
44
8
  throw Error('[ERROR:ENV]: Missing SMTP setup.');
45
9
  let transacApi = null;
@@ -47,7 +11,7 @@ if (process.env.NODE_ENV !== 'development') {
47
11
  const BREVO_API_KEY = process.env.BREVO_API_KEY;
48
12
  if (!BREVO_API_KEY)
49
13
  throw Error('[ERROR:ENV]: Missing Brevo setup.');
50
- transacApi = new brevo_1.TransactionalEmailsApi();
14
+ transacApi = new TransactionalEmailsApi();
51
15
  transacApi.setApiKey(0, BREVO_API_KEY);
52
16
  }
53
17
  const transporter = nodemailer.createTransport({
@@ -59,9 +23,9 @@ const transporter = nodemailer.createTransport({
59
23
  user: SMTP_EMAIL,
60
24
  pass: SMTP_PASSWORD,
61
25
  },
62
- messageId: `${(0, uuid_1.v4)()}${SMTP_EMAIL}`,
26
+ messageId: `${v4()}${SMTP_EMAIL}`,
63
27
  });
64
- const sendSingleEmail = async ({ sender, subject, recipient, content, alias = 'hello', }) => {
28
+ export const sendSingleEmail = async ({ sender, subject, recipient, content, alias = 'hello', }) => {
65
29
  if (process.env.NODE_ENV === 'development' || true) {
66
30
  return new Promise((resolve, reject) => {
67
31
  transporter.sendMail({
@@ -100,5 +64,4 @@ const sendSingleEmail = async ({ sender, subject, recipient, content, alias = 'h
100
64
  };
101
65
  }
102
66
  };
103
- exports.sendSingleEmail = sendSingleEmail;
104
67
  //# sourceMappingURL=email.js.map