@aether-baas/core 3.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.
- package/dist/adapters/storage.d.ts +126 -0
- package/dist/adapters/storage.d.ts.map +1 -0
- package/dist/adapters/storage.js +299 -0
- package/dist/adapters/storage.js.map +1 -0
- package/dist/client/index.d.ts +172 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +409 -0
- package/dist/client/index.js.map +1 -0
- package/dist/errors/index.d.ts +251 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +542 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/http/client.d.ts +40 -0
- package/dist/http/client.d.ts.map +1 -0
- package/dist/http/client.js +247 -0
- package/dist/http/client.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/ai.d.ts +165 -0
- package/dist/modules/ai.d.ts.map +1 -0
- package/dist/modules/ai.js +330 -0
- package/dist/modules/ai.js.map +1 -0
- package/dist/modules/database.d.ts +187 -0
- package/dist/modules/database.d.ts.map +1 -0
- package/dist/modules/database.js +428 -0
- package/dist/modules/database.js.map +1 -0
- package/dist/modules/functions.d.ts +48 -0
- package/dist/modules/functions.d.ts.map +1 -0
- package/dist/modules/functions.js +83 -0
- package/dist/modules/functions.js.map +1 -0
- package/dist/modules/push.d.ts +174 -0
- package/dist/modules/push.d.ts.map +1 -0
- package/dist/modules/push.js +181 -0
- package/dist/modules/push.js.map +1 -0
- package/dist/modules/storage.d.ts +69 -0
- package/dist/modules/storage.d.ts.map +1 -0
- package/dist/modules/storage.js +151 -0
- package/dist/modules/storage.js.map +1 -0
- package/dist/modules/tenant-auth.d.ts +167 -0
- package/dist/modules/tenant-auth.d.ts.map +1 -0
- package/dist/modules/tenant-auth.js +341 -0
- package/dist/modules/tenant-auth.js.map +1 -0
- package/dist/types/index.d.ts +470 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +19 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// @aether/core - Database Module
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Módulo de banco de dados com Query Builder fluente e Realtime.
|
|
5
|
+
// API 100% compatível com versão anterior do SDK.
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// =============================================================================
|
|
8
|
+
// WEBSOCKET HELPER
|
|
9
|
+
// =============================================================================
|
|
10
|
+
// Ajuste para WebSocket funcionar no Browser e Node
|
|
11
|
+
const WS = typeof window !== 'undefined'
|
|
12
|
+
? window.WebSocket
|
|
13
|
+
: global.WebSocket || null;
|
|
14
|
+
// =============================================================================
|
|
15
|
+
// QUERY BUILDER
|
|
16
|
+
// =============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Builder para construção fluente de queries.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* const adults = await aether.db.collection('users')
|
|
23
|
+
* .query()
|
|
24
|
+
* .eq('status', 'active')
|
|
25
|
+
* .gt('age', 18)
|
|
26
|
+
* .order('name', 'ASC')
|
|
27
|
+
* .limit(50)
|
|
28
|
+
* .get();
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export class QueryBuilder {
|
|
32
|
+
collectionRef;
|
|
33
|
+
filter = {};
|
|
34
|
+
sort;
|
|
35
|
+
limitVal;
|
|
36
|
+
offsetVal;
|
|
37
|
+
constructor(collectionRef) {
|
|
38
|
+
this.collectionRef = collectionRef;
|
|
39
|
+
}
|
|
40
|
+
/** Igual a */
|
|
41
|
+
eq(column, value) {
|
|
42
|
+
this.filter[column] = value;
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
/** Diferente de */
|
|
46
|
+
neq(column, value) {
|
|
47
|
+
this.filter[column] = { ...this.filter[column], $ne: value };
|
|
48
|
+
return this;
|
|
49
|
+
}
|
|
50
|
+
/** Maior que */
|
|
51
|
+
gt(column, value) {
|
|
52
|
+
this.filter[column] = { ...this.filter[column], $gt: value };
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
/** Maior ou igual */
|
|
56
|
+
gte(column, value) {
|
|
57
|
+
this.filter[column] = { ...this.filter[column], $gte: value };
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
/** Menor que */
|
|
61
|
+
lt(column, value) {
|
|
62
|
+
this.filter[column] = { ...this.filter[column], $lt: value };
|
|
63
|
+
return this;
|
|
64
|
+
}
|
|
65
|
+
/** Menor ou igual */
|
|
66
|
+
lte(column, value) {
|
|
67
|
+
this.filter[column] = { ...this.filter[column], $lte: value };
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/** Contém (LIKE %value%) */
|
|
71
|
+
like(column, value) {
|
|
72
|
+
this.filter[column] = { ...this.filter[column], $like: value };
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
/** Contém case-insensitive (ILIKE) */
|
|
76
|
+
ilike(column, value) {
|
|
77
|
+
this.filter[column] = { ...this.filter[column], $ilike: value };
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/** Está na lista */
|
|
81
|
+
in(column, values) {
|
|
82
|
+
this.filter[column] = { ...this.filter[column], $in: values };
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
/** Não está na lista */
|
|
86
|
+
notIn(column, values) {
|
|
87
|
+
this.filter[column] = { ...this.filter[column], $nin: values };
|
|
88
|
+
return this;
|
|
89
|
+
}
|
|
90
|
+
/** É nulo */
|
|
91
|
+
isNull(column) {
|
|
92
|
+
this.filter[column] = { $null: true };
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
/** Não é nulo */
|
|
96
|
+
isNotNull(column) {
|
|
97
|
+
this.filter[column] = { $notNull: true };
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
/** Ordenação */
|
|
101
|
+
order(column, direction = 'ASC') {
|
|
102
|
+
this.sort = { field: column, order: direction };
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
/** Limite de resultados */
|
|
106
|
+
limit(count) {
|
|
107
|
+
this.limitVal = count;
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
/** Offset para paginação */
|
|
111
|
+
offset(count) {
|
|
112
|
+
this.offsetVal = count;
|
|
113
|
+
return this;
|
|
114
|
+
}
|
|
115
|
+
/** Executa a query e retorna resultados */
|
|
116
|
+
async get() {
|
|
117
|
+
return this.collectionRef.list({
|
|
118
|
+
filter: this.filter,
|
|
119
|
+
sort: this.sort,
|
|
120
|
+
limit: this.limitVal,
|
|
121
|
+
offset: this.offsetVal,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
/** Executa e retorna primeiro resultado ou null */
|
|
125
|
+
async first() {
|
|
126
|
+
const results = await this.limit(1).get();
|
|
127
|
+
return results[0] ?? null;
|
|
128
|
+
}
|
|
129
|
+
/** Conta resultados */
|
|
130
|
+
async count() {
|
|
131
|
+
const results = await this.get();
|
|
132
|
+
return results.length;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// =============================================================================
|
|
136
|
+
// COLLECTION REFERENCE
|
|
137
|
+
// =============================================================================
|
|
138
|
+
/**
|
|
139
|
+
* Referência a uma coleção específica.
|
|
140
|
+
*/
|
|
141
|
+
export class CollectionReference {
|
|
142
|
+
client;
|
|
143
|
+
http;
|
|
144
|
+
collectionName;
|
|
145
|
+
wsUrl;
|
|
146
|
+
constructor(client, http, name) {
|
|
147
|
+
this.client = client;
|
|
148
|
+
this.http = http;
|
|
149
|
+
this.collectionName = name;
|
|
150
|
+
// Ajusta protocolo para WS/WSS
|
|
151
|
+
const protocol = client.apiUrl.startsWith('https') ? 'wss' : 'ws';
|
|
152
|
+
this.wsUrl = client.apiUrl.replace(/^https?/, protocol);
|
|
153
|
+
}
|
|
154
|
+
// ===========================================================================
|
|
155
|
+
// ATALHOS DE QUERY
|
|
156
|
+
// ===========================================================================
|
|
157
|
+
/** Atalho para query().eq() */
|
|
158
|
+
eq(column, value) {
|
|
159
|
+
return new QueryBuilder(this).eq(column, value);
|
|
160
|
+
}
|
|
161
|
+
/** Atalho para query().gt() */
|
|
162
|
+
gt(column, value) {
|
|
163
|
+
return new QueryBuilder(this).gt(column, value);
|
|
164
|
+
}
|
|
165
|
+
/** Inicia uma nova query */
|
|
166
|
+
query() {
|
|
167
|
+
return new QueryBuilder(this);
|
|
168
|
+
}
|
|
169
|
+
// ===========================================================================
|
|
170
|
+
// OPERAÇÕES CRUD
|
|
171
|
+
// ===========================================================================
|
|
172
|
+
/**
|
|
173
|
+
* Lista documentos da collection.
|
|
174
|
+
*/
|
|
175
|
+
async list(options) {
|
|
176
|
+
const params = {};
|
|
177
|
+
if (options?.filter) {
|
|
178
|
+
params.filter = JSON.stringify(options.filter);
|
|
179
|
+
}
|
|
180
|
+
if (options?.sort) {
|
|
181
|
+
params.sort = JSON.stringify([options.sort.field, options.sort.order]);
|
|
182
|
+
}
|
|
183
|
+
if (options?.limit)
|
|
184
|
+
params.limit = String(options.limit);
|
|
185
|
+
if (options?.offset)
|
|
186
|
+
params.offset = String(options.offset);
|
|
187
|
+
const { data } = await this.http.get(`/db/${this.collectionName}`, {
|
|
188
|
+
params,
|
|
189
|
+
});
|
|
190
|
+
return data.data;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Busca um documento por ID.
|
|
194
|
+
*/
|
|
195
|
+
async get(id) {
|
|
196
|
+
const { data } = await this.http.get(`/db/${this.collectionName}/${id}`);
|
|
197
|
+
return data.data;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Cria um novo documento.
|
|
201
|
+
*/
|
|
202
|
+
async create(newData) {
|
|
203
|
+
const { data } = await this.http.post(`/db/${this.collectionName}`, newData);
|
|
204
|
+
return data.data;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Atualiza um documento existente.
|
|
208
|
+
*/
|
|
209
|
+
async update(id, updates) {
|
|
210
|
+
const { data } = await this.http.put(`/db/${this.collectionName}/${id}`, updates);
|
|
211
|
+
return data.data;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Remove um documento.
|
|
215
|
+
*/
|
|
216
|
+
async delete(id) {
|
|
217
|
+
await this.http.delete(`/db/${this.collectionName}/${id}`);
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Cria ou atualiza documento (upsert).
|
|
222
|
+
*/
|
|
223
|
+
async upsert(data) {
|
|
224
|
+
if (data.id) {
|
|
225
|
+
return this.update(data.id, data);
|
|
226
|
+
}
|
|
227
|
+
return this.create(data);
|
|
228
|
+
}
|
|
229
|
+
// ===========================================================================
|
|
230
|
+
// REALTIME
|
|
231
|
+
// ===========================================================================
|
|
232
|
+
/**
|
|
233
|
+
* Inscreve para receber atualizações em tempo real.
|
|
234
|
+
*
|
|
235
|
+
* @param callback Função chamada quando há mudanças
|
|
236
|
+
* @returns Função para cancelar inscrição
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* ```typescript
|
|
240
|
+
* const unsubscribe = aether.db.collection('messages').subscribe((action, data) => {
|
|
241
|
+
* if (action === 'create') {
|
|
242
|
+
* console.log('Nova mensagem:', data);
|
|
243
|
+
* }
|
|
244
|
+
* });
|
|
245
|
+
*
|
|
246
|
+
* // Para cancelar:
|
|
247
|
+
* unsubscribe();
|
|
248
|
+
* ```
|
|
249
|
+
*/
|
|
250
|
+
subscribe(callback) {
|
|
251
|
+
if (!WS) {
|
|
252
|
+
console.warn('[Aether] WebSocket não disponível neste ambiente.');
|
|
253
|
+
return () => { };
|
|
254
|
+
}
|
|
255
|
+
const token = this.client.getToken();
|
|
256
|
+
const projectId = this.client.projectId;
|
|
257
|
+
if (!token || !projectId) {
|
|
258
|
+
console.warn('[Aether] Realtime falhou: Token ou ProjectId ausentes.');
|
|
259
|
+
return () => { };
|
|
260
|
+
}
|
|
261
|
+
const url = `${this.wsUrl}/v1/db/subscribe/${this.collectionName}?token=${token}&projectId=${projectId}`;
|
|
262
|
+
let ws = null;
|
|
263
|
+
let reconnectAttempts = 0;
|
|
264
|
+
const maxReconnectAttempts = 5;
|
|
265
|
+
let reconnectTimeout = null;
|
|
266
|
+
let pingInterval = null;
|
|
267
|
+
let isClosedManually = false;
|
|
268
|
+
const connect = () => {
|
|
269
|
+
try {
|
|
270
|
+
ws = new WS(url);
|
|
271
|
+
const socket = ws; // Non-null assertion pois acabamos de criar
|
|
272
|
+
socket.onopen = () => {
|
|
273
|
+
reconnectAttempts = 0;
|
|
274
|
+
// Ping a cada 30s para manter conexão viva
|
|
275
|
+
pingInterval = setInterval(() => {
|
|
276
|
+
if (ws?.readyState === WebSocket.OPEN) {
|
|
277
|
+
ws.send('ping');
|
|
278
|
+
}
|
|
279
|
+
}, 30000);
|
|
280
|
+
if (process.env.NODE_ENV === 'development') {
|
|
281
|
+
console.log(`[Aether] Realtime conectado: ${this.collectionName}`);
|
|
282
|
+
}
|
|
283
|
+
};
|
|
284
|
+
socket.onmessage = (event) => {
|
|
285
|
+
try {
|
|
286
|
+
const raw = typeof event.data === 'string' ? event.data : event.data.toString();
|
|
287
|
+
if (raw === 'pong')
|
|
288
|
+
return;
|
|
289
|
+
const payload = JSON.parse(raw);
|
|
290
|
+
// Mapeia 'insert' do Postgres para 'create' do SDK
|
|
291
|
+
let action = payload.action;
|
|
292
|
+
if (payload.action === 'insert') {
|
|
293
|
+
action = 'create';
|
|
294
|
+
}
|
|
295
|
+
callback(action, payload.data);
|
|
296
|
+
}
|
|
297
|
+
catch (e) {
|
|
298
|
+
console.error('[Aether] Erro ao parsear evento WebSocket:', e);
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
socket.onerror = (error) => {
|
|
302
|
+
console.error('[Aether] Erro WebSocket:', error);
|
|
303
|
+
};
|
|
304
|
+
socket.onclose = () => {
|
|
305
|
+
if (pingInterval) {
|
|
306
|
+
clearInterval(pingInterval);
|
|
307
|
+
pingInterval = null;
|
|
308
|
+
}
|
|
309
|
+
// Reconecta automaticamente se não foi fechado manualmente
|
|
310
|
+
if (!isClosedManually && reconnectAttempts < maxReconnectAttempts) {
|
|
311
|
+
reconnectAttempts++;
|
|
312
|
+
const delay = Math.min(1000 * Math.pow(2, reconnectAttempts), 30000);
|
|
313
|
+
if (process.env.NODE_ENV === 'development') {
|
|
314
|
+
console.log(`[Aether] Reconectando em ${delay}ms (tentativa ${reconnectAttempts})`);
|
|
315
|
+
}
|
|
316
|
+
reconnectTimeout = setTimeout(connect, delay);
|
|
317
|
+
}
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
catch (error) {
|
|
321
|
+
console.error('[Aether] Erro ao criar WebSocket:', error);
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
connect();
|
|
325
|
+
// Retorna função para cancelar inscrição
|
|
326
|
+
return () => {
|
|
327
|
+
isClosedManually = true;
|
|
328
|
+
if (reconnectTimeout) {
|
|
329
|
+
clearTimeout(reconnectTimeout);
|
|
330
|
+
}
|
|
331
|
+
if (pingInterval) {
|
|
332
|
+
clearInterval(pingInterval);
|
|
333
|
+
}
|
|
334
|
+
if (ws) {
|
|
335
|
+
ws.close();
|
|
336
|
+
ws = null;
|
|
337
|
+
}
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
// =============================================================================
|
|
342
|
+
// DATABASE MODULE
|
|
343
|
+
// =============================================================================
|
|
344
|
+
/**
|
|
345
|
+
* Módulo de banco de dados do Aether.
|
|
346
|
+
*/
|
|
347
|
+
export class DatabaseModule {
|
|
348
|
+
client;
|
|
349
|
+
http;
|
|
350
|
+
constructor(client, http) {
|
|
351
|
+
this.client = client;
|
|
352
|
+
this.http = http;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Seleciona uma coleção de dados.
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* ```typescript
|
|
359
|
+
* interface Product {
|
|
360
|
+
* id: string;
|
|
361
|
+
* name: string;
|
|
362
|
+
* price: number;
|
|
363
|
+
* }
|
|
364
|
+
*
|
|
365
|
+
* const products = aether.db.collection<Product>('products');
|
|
366
|
+
* ```
|
|
367
|
+
*/
|
|
368
|
+
collection(collectionName) {
|
|
369
|
+
return new CollectionReference(this.client, this.http, collectionName);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Método compatível com estilo Supabase/Drizzle.
|
|
373
|
+
*
|
|
374
|
+
* @example
|
|
375
|
+
* ```typescript
|
|
376
|
+
* const { data, error } = await aether.db.from('posts').select('*');
|
|
377
|
+
* ```
|
|
378
|
+
*/
|
|
379
|
+
from(tableName) {
|
|
380
|
+
const ref = this.collection(tableName);
|
|
381
|
+
return {
|
|
382
|
+
select: async (_columns = '*') => {
|
|
383
|
+
try {
|
|
384
|
+
const data = await ref.list();
|
|
385
|
+
return { data, error: null };
|
|
386
|
+
}
|
|
387
|
+
catch (err) {
|
|
388
|
+
const error = err;
|
|
389
|
+
return { data: null, error: error.response?.data || error.message };
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
insert: async (data) => {
|
|
393
|
+
try {
|
|
394
|
+
const res = await ref.create(data);
|
|
395
|
+
return { data: res, error: null };
|
|
396
|
+
}
|
|
397
|
+
catch (err) {
|
|
398
|
+
const error = err;
|
|
399
|
+
return { data: null, error: error.response?.data || error.message };
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
update: async (data) => {
|
|
403
|
+
try {
|
|
404
|
+
if (!data.id)
|
|
405
|
+
throw new Error('ID é obrigatório para update via .from()');
|
|
406
|
+
const { id, ...updates } = data;
|
|
407
|
+
const res = await ref.update(id, updates);
|
|
408
|
+
return { data: res, error: null };
|
|
409
|
+
}
|
|
410
|
+
catch (err) {
|
|
411
|
+
const error = err;
|
|
412
|
+
return { data: null, error: error.response?.data || error.message };
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
delete: async () => {
|
|
416
|
+
return { data: null, error: 'Delete via .from() requer implementação de filtros' };
|
|
417
|
+
},
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
/**
|
|
421
|
+
* Executa múltiplas operações em uma única transação.
|
|
422
|
+
*/
|
|
423
|
+
async batch(operations) {
|
|
424
|
+
const { data } = await this.http.post('/db/batch', { operations });
|
|
425
|
+
return data.results;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
//# sourceMappingURL=database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../src/modules/database.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { AxiosInstance } from 'axios';
|
|
2
|
+
import type { PlataformaClient } from '../client/index.js';
|
|
3
|
+
import type { InvokeFunctionOptions } from '../types/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* Módulo de functions serverless do Aether.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* // Invocar função
|
|
10
|
+
* const result = await aether.functions.invoke('send-email', {
|
|
11
|
+
* to: 'user@email.com',
|
|
12
|
+
* subject: 'Olá!',
|
|
13
|
+
* body: 'Bem-vindo!'
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare class FunctionsModule {
|
|
18
|
+
private client;
|
|
19
|
+
private http;
|
|
20
|
+
constructor(client: PlataformaClient, http: AxiosInstance);
|
|
21
|
+
/**
|
|
22
|
+
* Invoca uma function serverless.
|
|
23
|
+
*
|
|
24
|
+
* @param functionName Nome da função
|
|
25
|
+
* @param payload Dados a enviar para a função
|
|
26
|
+
* @param options Opções adicionais
|
|
27
|
+
*/
|
|
28
|
+
invoke<T = unknown>(functionName: string, payload?: unknown, options?: InvokeFunctionOptions): Promise<{
|
|
29
|
+
data: T;
|
|
30
|
+
error: null;
|
|
31
|
+
} | {
|
|
32
|
+
data: null;
|
|
33
|
+
error: string;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Atalho para invoke com POST.
|
|
37
|
+
*/
|
|
38
|
+
call<T = unknown>(functionName: string, payload?: unknown): Promise<T>;
|
|
39
|
+
/**
|
|
40
|
+
* Lista functions disponíveis no projeto.
|
|
41
|
+
*/
|
|
42
|
+
list(): Promise<Array<{
|
|
43
|
+
name: string;
|
|
44
|
+
description?: string;
|
|
45
|
+
createdAt: string;
|
|
46
|
+
}>>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.d.ts","sourceRoot":"","sources":["../../src/modules/functions.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM/D;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,IAAI,CAAgB;gBAEhB,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa;IAKzD;;;;;;OAMG;IACG,MAAM,CAAC,CAAC,GAAG,OAAO,EACtB,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAqCpE;;OAEG;IACG,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAU5E;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CASxF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// @aether/core - Functions Module
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Módulo para invocar serverless functions.
|
|
5
|
+
// =============================================================================
|
|
6
|
+
// =============================================================================
|
|
7
|
+
// FUNCTIONS MODULE
|
|
8
|
+
// =============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Módulo de functions serverless do Aether.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```typescript
|
|
14
|
+
* // Invocar função
|
|
15
|
+
* const result = await aether.functions.invoke('send-email', {
|
|
16
|
+
* to: 'user@email.com',
|
|
17
|
+
* subject: 'Olá!',
|
|
18
|
+
* body: 'Bem-vindo!'
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export class FunctionsModule {
|
|
23
|
+
client;
|
|
24
|
+
http;
|
|
25
|
+
constructor(client, http) {
|
|
26
|
+
this.client = client;
|
|
27
|
+
this.http = http;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Invoca uma function serverless.
|
|
31
|
+
*
|
|
32
|
+
* @param functionName Nome da função
|
|
33
|
+
* @param payload Dados a enviar para a função
|
|
34
|
+
* @param options Opções adicionais
|
|
35
|
+
*/
|
|
36
|
+
async invoke(functionName, payload, options) {
|
|
37
|
+
const projectId = this.client.projectId;
|
|
38
|
+
const method = options?.method ?? (payload ? 'POST' : 'GET');
|
|
39
|
+
const timeout = options?.timeout ?? 30000;
|
|
40
|
+
try {
|
|
41
|
+
let response;
|
|
42
|
+
if (method === 'GET') {
|
|
43
|
+
response = await this.http.get(`/projects/${projectId}/functions/${functionName}`, {
|
|
44
|
+
timeout,
|
|
45
|
+
headers: options?.headers,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
response = await this.http.post(`/projects/${projectId}/functions/${functionName}`, payload, {
|
|
50
|
+
timeout,
|
|
51
|
+
headers: options?.headers,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return { data: response.data.data, error: null };
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
const error = err;
|
|
58
|
+
return {
|
|
59
|
+
data: null,
|
|
60
|
+
error: error.response?.data?.message || error.message || 'Erro ao invocar função',
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Atalho para invoke com POST.
|
|
66
|
+
*/
|
|
67
|
+
async call(functionName, payload) {
|
|
68
|
+
const result = await this.invoke(functionName, payload, { method: 'POST' });
|
|
69
|
+
if (result.error) {
|
|
70
|
+
throw new Error(result.error);
|
|
71
|
+
}
|
|
72
|
+
return result.data;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Lista functions disponíveis no projeto.
|
|
76
|
+
*/
|
|
77
|
+
async list() {
|
|
78
|
+
const projectId = this.client.projectId;
|
|
79
|
+
const { data } = await this.http.get(`/projects/${projectId}/functions`);
|
|
80
|
+
return data.data;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=functions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../src/modules/functions.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kCAAkC;AAClC,gFAAgF;AAChF,4CAA4C;AAC5C,gFAAgF;AAMhF,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,eAAe;IAClB,MAAM,CAAmB;IACzB,IAAI,CAAgB;IAE5B,YAAY,MAAwB,EAAE,IAAmB;QACvD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,YAAoB,EACpB,OAAiB,EACjB,OAA+B;QAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;QAE1C,IAAI,CAAC;YACH,IAAI,QAAQ,CAAC;YAEb,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC5B,aAAa,SAAS,cAAc,YAAY,EAAE,EAClD;oBACE,OAAO;oBACP,OAAO,EAAE,OAAO,EAAE,OAAO;iBAC1B,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAC7B,aAAa,SAAS,cAAc,YAAY,EAAE,EAClD,OAAO,EACP;oBACE,OAAO;oBACP,OAAO,EAAE,OAAO,EAAE,OAAO;iBAC1B,CACF,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACnD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,GAAuE,CAAC;YACtF,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,wBAAwB;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAc,YAAoB,EAAE,OAAiB;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAI,YAAY,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAE/E,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC,IAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QAExC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAClC,aAAa,SAAS,YAAY,CACnC,CAAC;QAEF,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF"}
|