exodus-framework 2.0.737 → 2.0.739
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/lib/contracts/messaging.d.ts +23 -1
- package/lib/contracts/messaging.d.ts.map +1 -1
- package/lib/contracts/messaging.js +3 -0
- package/lib/controllers/messaging/application.d.ts +9 -0
- package/lib/controllers/messaging/application.d.ts.map +1 -0
- package/lib/controllers/messaging/application.js +56 -0
- package/lib/routes/messaging/index.d.ts.map +1 -1
- package/lib/routes/messaging/index.js +6 -0
- package/lib/utils/database.d.ts.map +1 -1
- package/lib/utils/database.js +8 -2
- package/package.json +1 -1
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Dialect } from 'sequelize';
|
2
2
|
import { IAccount, IEnvironment } from './entity';
|
3
3
|
import { Connection } from '@sequelize/core';
|
4
|
+
import { Application } from '../models';
|
4
5
|
export declare enum EMessagingQueue {
|
5
6
|
test = "exodus.queue.test",
|
6
7
|
accountCreated = "exodus.account.created",
|
@@ -10,7 +11,10 @@ export declare enum EMessagingQueue {
|
|
10
11
|
environmentUpdatedDatabase = "exodus.environment.updated.database",
|
11
12
|
databaseCreated = "exodus.database.created",
|
12
13
|
databaseUpdate = "exodus.database.updated",
|
13
|
-
databaseDeleted = "exodus.database.deleted"
|
14
|
+
databaseDeleted = "exodus.database.deleted",
|
15
|
+
applicationCreated = "exodus.application.created",
|
16
|
+
applicationUpdate = "exodus.application.updated",
|
17
|
+
applicationDeleted = "exodus.application.deleted"
|
14
18
|
}
|
15
19
|
export type TMessageQueueDataMap = {
|
16
20
|
[EMessagingQueue.test]: {
|
@@ -49,6 +53,24 @@ export type TMessageQueueDataMap = {
|
|
49
53
|
[EMessagingQueue.databaseDeleted]: {
|
50
54
|
uuid: string;
|
51
55
|
};
|
56
|
+
[EMessagingQueue.applicationCreated]: {
|
57
|
+
uuid: string;
|
58
|
+
name: string;
|
59
|
+
comments: string;
|
60
|
+
token: string;
|
61
|
+
acess: string;
|
62
|
+
expiresAt: string;
|
63
|
+
key: string;
|
64
|
+
active: boolean;
|
65
|
+
params?: Record<string, any>;
|
66
|
+
};
|
67
|
+
[EMessagingQueue.applicationUpdate]: {
|
68
|
+
uuid: string;
|
69
|
+
updated: Partial<Application>;
|
70
|
+
};
|
71
|
+
[EMessagingQueue.applicationDeleted]: {
|
72
|
+
uuid: string;
|
73
|
+
};
|
52
74
|
};
|
53
75
|
export type TMessagingQueueHandler<K extends keyof TMessageQueueDataMap = any> = (data: TMessageQueueDataMap[K], ack: () => void) => void;
|
54
76
|
export type TMessagingQueueEventList = Partial<Record<keyof TMessageQueueDataMap, TMessagingQueueHandler>>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/contracts/messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"messaging.d.ts","sourceRoot":"","sources":["../../src/contracts/messaging.ts"],"names":[],"mappings":"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"}
|
@@ -14,5 +14,8 @@ let EMessagingQueue = exports.EMessagingQueue = /*#__PURE__*/function (EMessagin
|
|
14
14
|
EMessagingQueue["databaseCreated"] = "exodus.database.created";
|
15
15
|
EMessagingQueue["databaseUpdate"] = "exodus.database.updated";
|
16
16
|
EMessagingQueue["databaseDeleted"] = "exodus.database.deleted";
|
17
|
+
EMessagingQueue["applicationCreated"] = "exodus.application.created";
|
18
|
+
EMessagingQueue["applicationUpdate"] = "exodus.application.updated";
|
19
|
+
EMessagingQueue["applicationDeleted"] = "exodus.application.deleted";
|
17
20
|
return EMessagingQueue;
|
18
21
|
}({}); // Mapeamento de tópicos para tipos
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { MessagingController } from '../../app';
|
2
|
+
import { EMessagingQueue, TMessagingQueueHandler } from '../../contracts';
|
3
|
+
declare class ApplicationController extends MessagingController {
|
4
|
+
created: TMessagingQueueHandler<EMessagingQueue.applicationCreated>;
|
5
|
+
update: TMessagingQueueHandler<EMessagingQueue.applicationUpdate>;
|
6
|
+
delete: TMessagingQueueHandler<EMessagingQueue.applicationDeleted>;
|
7
|
+
}
|
8
|
+
export default ApplicationController;
|
9
|
+
//# sourceMappingURL=application.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/controllers/messaging/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAI1E,cAAM,qBAAsB,SAAQ,mBAAmB;IACrD,OAAO,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAcjE;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAgB/D;IAEF,MAAM,EAAE,sBAAsB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAgBhE;CACH;AAED,eAAe,qBAAqB,CAAC"}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.default = void 0;
|
7
|
+
var _app = require("../../app");
|
8
|
+
var _models = require("../../models");
|
9
|
+
var _utils = require("../../utils");
|
10
|
+
class ApplicationController extends _app.MessagingController {
|
11
|
+
created = async (data, ack) => {
|
12
|
+
try {
|
13
|
+
const app = await _models.Application.create(data);
|
14
|
+
if (!app) {
|
15
|
+
(0, _utils.logger)().error(data, 'Não foi possível criar a aplicação');
|
16
|
+
return this.log('Não foi possível criar a aplicação', 'danger');
|
17
|
+
}
|
18
|
+
} catch (error) {
|
19
|
+
(0, _utils.logger)().error(error);
|
20
|
+
this.log('Houve um erro ao tentar criar a aplicação, check o log...', 'danger');
|
21
|
+
} finally {
|
22
|
+
ack();
|
23
|
+
}
|
24
|
+
};
|
25
|
+
update = async (data, ack) => {
|
26
|
+
try {
|
27
|
+
const app = await _models.Application.findByPk(data.uuid);
|
28
|
+
if (!app) {
|
29
|
+
(0, _utils.logger)().error(data, 'Não foi possível atualizar a aplicação. Banco não encontrado');
|
30
|
+
return this.log('Não foi possível atualizar a aplicação. Banco não encontrado', 'danger');
|
31
|
+
}
|
32
|
+
await app.update(data.updated);
|
33
|
+
} catch (error) {
|
34
|
+
(0, _utils.logger)().error(error);
|
35
|
+
this.log('Houve um erro ao tentar atualizar a aplicação, check o log...', 'danger');
|
36
|
+
} finally {
|
37
|
+
ack();
|
38
|
+
}
|
39
|
+
};
|
40
|
+
delete = async (data, ack) => {
|
41
|
+
try {
|
42
|
+
const app = await _models.Application.findByPk(data.uuid);
|
43
|
+
if (!app) {
|
44
|
+
(0, _utils.logger)().error(data, 'Não foi possível excluír a aplicação. Banco não encontrado');
|
45
|
+
return this.log('Não foi possível excluír a aplicação. Banco não encontrado', 'danger');
|
46
|
+
}
|
47
|
+
await app.destroy();
|
48
|
+
} catch (error) {
|
49
|
+
(0, _utils.logger)().error(error);
|
50
|
+
this.log('Houve um erro ao tentar excluír a aplicação, check o log...', 'danger');
|
51
|
+
} finally {
|
52
|
+
ack();
|
53
|
+
}
|
54
|
+
};
|
55
|
+
}
|
56
|
+
var _default = exports.default = ApplicationController;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/messaging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/routes/messaging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAW3D,QAAA,MAAM,qBAAqB,EAAE,wBAgB5B,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
@@ -4,12 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = void 0;
|
7
|
+
var _application = _interopRequireDefault(require("../../controllers/messaging/application"));
|
7
8
|
var _database = _interopRequireDefault(require("../../controllers/messaging/database"));
|
8
9
|
var _environment = _interopRequireDefault(require("../../controllers/messaging/environment"));
|
9
10
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
10
11
|
//* Controllers
|
11
12
|
const databaseController = new _database.default();
|
12
13
|
const envController = new _environment.default();
|
14
|
+
const appController = new _application.default();
|
13
15
|
|
14
16
|
//* Definitions
|
15
17
|
const NativeMessagingRoutes = {
|
@@ -17,6 +19,10 @@ const NativeMessagingRoutes = {
|
|
17
19
|
'exodus.database.created': databaseController.created,
|
18
20
|
'exodus.database.updated': databaseController.update,
|
19
21
|
'exodus.database.deleted': databaseController.delete,
|
22
|
+
/* Application Integrations */
|
23
|
+
'exodus.application.created': appController.created,
|
24
|
+
'exodus.application.updated': appController.update,
|
25
|
+
'exodus.application.deleted': appController.delete,
|
20
26
|
/* Environment Sync Database Relations */
|
21
27
|
'exodus.environment.created': envController.created,
|
22
28
|
'exodus.environment.deleted': envController.deleted,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/utils/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGzE,eAAO,MAAM,SAAS,WAYpB,CAAC;AAEH,eAAO,MAAM,QAAQ,WAYnB,CAAC;AA2CH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACnF,YAAY,CAAC,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/utils/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,SAAS,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGzE,eAAO,MAAM,SAAS,WAYpB,CAAC;AAEH,eAAO,MAAM,QAAQ,WAYnB,CAAC;AA2CH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GACnF,YAAY,CAAC,CAAC,CAAC,CA+BjB"}
|
package/lib/utils/database.js
CHANGED
@@ -79,11 +79,17 @@ function processFilters(filters) {
|
|
79
79
|
Object.entries(filters).forEach(([key, condition]) => {
|
80
80
|
if (key === 'or' || key === 'and') {
|
81
81
|
const logicalOp = key === 'or' ? _sequelize.Op.or : _sequelize.Op.and;
|
82
|
-
const
|
82
|
+
const t = [];
|
83
|
+
for (const c of condition) {
|
84
|
+
const [[key, value]] = Object.entries(c);
|
85
|
+
t.push({
|
86
|
+
[key]: processCondition(value)
|
87
|
+
});
|
88
|
+
}
|
83
89
|
if (!where[logicalOp]) {
|
84
90
|
where[logicalOp] = [];
|
85
91
|
}
|
86
|
-
where[logicalOp].push(...
|
92
|
+
where[logicalOp].push(...t);
|
87
93
|
} else {
|
88
94
|
const field = key;
|
89
95
|
const processedCondition = processCondition(condition);
|