@superhero/eventflow-db 4.2.6 → 4.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/config.js +17 -15
- package/index.js +4 -1
- package/package.json +1 -1
- package/sql/certificate/persist.sql +1 -2
- package/sql/certificate/read.sql +1 -1
- package/sql/certificate/revoke-past-validity.sql +5 -2
- package/sql/certificate/revoke.sql +11 -5
- package/sql/certificate/schema.sql +2 -2
- package/sql/event/delete-by-id.sql +1 -1
- package/sql/event/delete-by-pid-domain.sql +2 -2
- package/sql/event/persist.sql +1 -3
- package/sql/event/read-by-id.sql +1 -1
- package/sql/event/read-by-pid-domain-betweeen-timestamps.sql +2 -2
- package/sql/event/read-by-pid-domain-names.sql +3 -3
- package/sql/event/read-by-pid-domain.sql +2 -2
- package/sql/event/schema.sql +5 -5
- package/sql/event_cpid/delete.sql +2 -2
- package/sql/event_cpid/persist.sql +4 -3
- package/sql/event_cpid/read-by-cpid-domain.sql +3 -3
- package/sql/event_cpid/read-by-event_id.sql +5 -2
- package/sql/event_cpid/schema.sql +3 -3
- package/sql/event_eid/delete.sql +2 -2
- package/sql/event_eid/persist.sql +4 -3
- package/sql/event_eid/read-by-eid-domain.sql +5 -3
- package/sql/event_eid/read-by-eid.sql +3 -2
- package/sql/event_eid/read-by-event_id.sql +1 -1
- package/sql/event_eid/schema.sql +2 -2
- package/sql/event_published/persist.sql +1 -3
- package/sql/event_published/schema.sql +4 -4
- package/sql/event_published/update-to-consumed-by-hub.sql +6 -3
- package/sql/event_published/update-to-consumed-by-spoke.sql +7 -4
- package/sql/event_published/update-to-failed.sql +2 -2
- package/sql/event_published/update-to-orphan.sql +2 -2
- package/sql/event_published/update-to-success.sql +2 -2
- package/sql/event_scheduled/persist.sql +1 -3
- package/sql/event_scheduled/schema.sql +1 -1
- package/sql/event_scheduled/update-executed.sql +2 -2
- package/sql/event_scheduled/update-failed.sql +2 -2
- package/sql/event_scheduled/update-success.sql +2 -2
- package/sql/hub/persist.sql +1 -3
- package/sql/hub/read-quit-hub.sql +1 -1
- package/sql/hub/schema.sql +3 -3
- package/sql/hub/update-to-quit.sql +1 -1
- package/sql/log/persist.sql +1 -3
- package/sql/log/schema.sql +2 -2
package/config.js
CHANGED
|
@@ -11,21 +11,23 @@ export default
|
|
|
11
11
|
{
|
|
12
12
|
db:
|
|
13
13
|
{
|
|
14
|
-
debug : process.env.EVENTFLOW_MYSQL_DEBUG
|
|
15
|
-
insecureAuth : process.env.EVENTFLOW_MYSQL_INSECURE_AUTH
|
|
16
|
-
enableKeepAlive : process.env.EVENTFLOW_MYSQL_ENABLE_KEEP_ALIVE
|
|
17
|
-
waitForConnections : process.env.EVENTFLOW_MYSQL_WAIT_FOR_CONN
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
debug : process.env.EVENTFLOW_MYSQL_DEBUG ?? false,
|
|
15
|
+
insecureAuth : process.env.EVENTFLOW_MYSQL_INSECURE_AUTH ?? false,
|
|
16
|
+
enableKeepAlive : process.env.EVENTFLOW_MYSQL_ENABLE_KEEP_ALIVE ?? true,
|
|
17
|
+
waitForConnections : process.env.EVENTFLOW_MYSQL_WAIT_FOR_CONN ?? true,
|
|
18
|
+
namedPlaceholders : process.env.EVENTFLOW_MYSQL_NAMED_PLACEHOLDERS ?? false,
|
|
19
|
+
idleTimeout : process.env.EVENTFLOW_MYSQL_IDLE_TIMEOUT ?? 0,
|
|
20
|
+
keepAliveInitialDelay : process.env.EVENTFLOW_MYSQL_KEEP_ALIVE_DELAY ?? 0,
|
|
21
|
+
queueLimit : process.env.EVENTFLOW_MYSQL_QUEUE_LIMIT ?? 0,
|
|
22
|
+
connectionLimit : process.env.EVENTFLOW_MYSQL_CONNECTION_LIMIT ?? 10,
|
|
23
|
+
flags : process.env.EVENTFLOW_MYSQL_FLAGS ?? '',
|
|
24
|
+
charset : process.env.EVENTFLOW_MYSQL_CHARSET ?? 'utf8mb4',
|
|
25
|
+
timezone : process.env.EVENTFLOW_MYSQL_TIMEZONE ?? 'Z',
|
|
26
|
+
host : process.env.EVENTFLOW_MYSQL_HOST ?? 'localhost',
|
|
27
|
+
port : process.env.EVENTFLOW_MYSQL_PORT ?? '3306',
|
|
28
|
+
user : process.env.EVENTFLOW_MYSQL_USER ?? 'root',
|
|
29
|
+
password : process.env.EVENTFLOW_MYSQL_PASS ?? 'root',
|
|
30
|
+
database : process.env.EVENTFLOW_MYSQL_DB ?? 'eventflow',
|
|
29
31
|
}
|
|
30
32
|
}
|
|
31
33
|
}
|
package/index.js
CHANGED
|
@@ -23,6 +23,8 @@ export function locate(locator)
|
|
|
23
23
|
*/
|
|
24
24
|
export default class DB
|
|
25
25
|
{
|
|
26
|
+
escape = mysql2.escape
|
|
27
|
+
|
|
26
28
|
constructor(gateway)
|
|
27
29
|
{
|
|
28
30
|
this.gateway = gateway
|
|
@@ -295,7 +297,8 @@ export default class DB
|
|
|
295
297
|
|
|
296
298
|
try
|
|
297
299
|
{
|
|
298
|
-
|
|
300
|
+
const castings = names.map(() => `CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin`).join(',')
|
|
301
|
+
result = await this.gateway.query('event/read-by-pid-domain-names', [ castings, pid, domain, ...names ])
|
|
299
302
|
}
|
|
300
303
|
catch(reason)
|
|
301
304
|
{
|
package/package.json
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
INSERT INTO certificate
|
|
2
|
-
SET ?
|
|
1
|
+
INSERT INTO certificate SET ?
|
package/sql/certificate/read.sql
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
UPDATE certificate AS c
|
|
2
2
|
LEFT JOIN
|
|
3
3
|
(
|
|
4
|
-
SELECT
|
|
4
|
+
SELECT
|
|
5
|
+
id,
|
|
6
|
+
COUNT(*) AS new_version
|
|
7
|
+
|
|
5
8
|
FROM certificate
|
|
6
|
-
WHERE id = ?
|
|
9
|
+
WHERE id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
7
10
|
) sub
|
|
8
11
|
ON c.id = sub.id
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
|
|
13
|
+
SET
|
|
14
|
+
c.revoked = UTC_TIMESTAMP(),
|
|
15
|
+
c.version = sub.new_version
|
|
16
|
+
|
|
17
|
+
WHERE c.id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
12
18
|
AND c.version = 0
|
|
13
19
|
AND c.revoked IS NULL
|
|
@@ -3,8 +3,8 @@ CREATE TABLE IF NOT EXISTS certificate
|
|
|
3
3
|
created DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
4
4
|
updated DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
|
|
5
5
|
version INT UNSIGNED NOT NULL DEFAULT 0,
|
|
6
|
-
id VARCHAR(64) NOT NULL,
|
|
7
|
-
cert TEXT NOT NULL,
|
|
6
|
+
id VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
7
|
+
cert TEXT NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
8
8
|
`key` BLOB NOT NULL,
|
|
9
9
|
key_iv VARBINARY(16) NOT NULL,
|
|
10
10
|
key_salt VARBINARY(16) NOT NULL,
|
package/sql/event/persist.sql
CHANGED
package/sql/event/read-by-id.sql
CHANGED
package/sql/event/schema.sql
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
CREATE TABLE IF NOT EXISTS event
|
|
2
2
|
(
|
|
3
|
-
id VARCHAR(64) NOT NULL,
|
|
3
|
+
id VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
4
4
|
timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
5
|
-
domain VARCHAR(64) NOT NULL,
|
|
6
|
-
rid VARCHAR(64) NULL,
|
|
7
|
-
pid VARCHAR(64) NOT NULL,
|
|
8
|
-
name VARCHAR(64) NOT NULL,
|
|
5
|
+
domain VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
6
|
+
rid VARCHAR(64) NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
7
|
+
pid VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
8
|
+
name VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
9
9
|
data JSON NOT NULL,
|
|
10
10
|
|
|
11
11
|
PRIMARY KEY (id),
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
INSERT
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
INSERT INTO event_cpid
|
|
2
|
+
SET
|
|
3
|
+
event_id = ?,
|
|
4
|
+
cpid = ?
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
SELECT event.*
|
|
2
2
|
FROM event_cpid
|
|
3
3
|
JOIN event
|
|
4
|
-
ON event_id = id AND event.domain = event_cpid.domain
|
|
5
|
-
WHERE event_cpid.cpid = ?
|
|
6
|
-
AND event_cpid.domain = ?
|
|
4
|
+
ON event_id = event.id AND event.domain = event_cpid.domain
|
|
5
|
+
WHERE event_cpid.cpid = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
6
|
+
AND event_cpid.domain = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
7
7
|
ORDER BY timestamp ASC
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
CREATE TABLE IF NOT EXISTS event_cpid
|
|
2
2
|
(
|
|
3
|
-
event_id VARCHAR(64) NOT NULL,
|
|
4
|
-
domain VARCHAR(64) NOT NULL,
|
|
5
|
-
cpid VARCHAR(64) NOT NULL,
|
|
3
|
+
event_id VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
4
|
+
domain VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
5
|
+
cpid VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
6
6
|
|
|
7
7
|
PRIMARY KEY (event_id, domain, cpid),
|
|
8
8
|
FOREIGN KEY (event_id) REFERENCES event (id)
|
package/sql/event_eid/delete.sql
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
INSERT
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
INSERT INTO event_eid
|
|
2
|
+
SET
|
|
3
|
+
event_id = ?,
|
|
4
|
+
eid = ?
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
SELECT event.*
|
|
2
2
|
FROM event_eid
|
|
3
3
|
JOIN event
|
|
4
|
-
ON event_id = id
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
ON event_id = event.id
|
|
5
|
+
|
|
6
|
+
WHERE eid = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
7
|
+
AND domain = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
8
|
+
|
|
7
9
|
ORDER BY timestamp ASC
|
package/sql/event_eid/schema.sql
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
CREATE TABLE IF NOT EXISTS event_eid
|
|
2
2
|
(
|
|
3
|
-
event_id VARCHAR(64) NOT NULL,
|
|
4
|
-
eid VARCHAR(64) NOT NULL,
|
|
3
|
+
event_id VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
4
|
+
eid VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
5
5
|
|
|
6
6
|
PRIMARY KEY (event_id, eid),
|
|
7
7
|
FOREIGN KEY (event_id) REFERENCES event (id)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
CREATE TABLE IF NOT EXISTS event_published
|
|
2
2
|
(
|
|
3
|
-
event_id VARCHAR(64) NOT NULL,
|
|
3
|
+
event_id VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
4
4
|
published DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
|
|
5
|
-
publisher VARCHAR(64) NOT NULL,
|
|
6
|
-
consumer VARCHAR(64) NULL,
|
|
7
|
-
hub VARCHAR(64) NULL,
|
|
5
|
+
publisher VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
6
|
+
consumer VARCHAR(64) NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
7
|
+
hub VARCHAR(64) NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
8
8
|
consumed_hub DATETIME NULL,
|
|
9
9
|
consumed_spoke DATETIME NULL,
|
|
10
10
|
success DATETIME NULL,
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
UPDATE event_published
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
|
|
3
|
+
SET
|
|
4
|
+
consumed_spoke = UTC_TIMESTAMP(),
|
|
5
|
+
consumer = ?
|
|
6
|
+
|
|
7
|
+
WHERE event_id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
8
|
+
AND consumed_spoke IS NULL
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
UPDATE event_published
|
|
2
|
-
SET failed
|
|
3
|
-
WHERE event_id = ?
|
|
2
|
+
SET failed = UTC_TIMESTAMP()
|
|
3
|
+
WHERE event_id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
UPDATE event_published
|
|
2
|
-
SET orphan
|
|
3
|
-
WHERE event_id = ?
|
|
2
|
+
SET orphan = UTC_TIMESTAMP()
|
|
3
|
+
WHERE event_id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
UPDATE event_published
|
|
2
|
-
SET success
|
|
3
|
-
WHERE event_id = ?
|
|
2
|
+
SET success = UTC_TIMESTAMP()
|
|
3
|
+
WHERE event_id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
UPDATE event_scheduled
|
|
2
|
-
SET executed
|
|
3
|
-
WHERE event_id = ?
|
|
2
|
+
SET executed = UTC_TIMESTAMP()
|
|
3
|
+
WHERE event_id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
UPDATE event_scheduled
|
|
2
|
-
SET failed
|
|
3
|
-
WHERE event_id = ?
|
|
2
|
+
SET failed = UTC_TIMESTAMP()
|
|
3
|
+
WHERE event_id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
UPDATE event_scheduled
|
|
2
|
-
SET success
|
|
3
|
-
WHERE event_id = ?
|
|
2
|
+
SET success = UTC_TIMESTAMP()
|
|
3
|
+
WHERE event_id = CAST(? AS CHAR CHARACTER SET ascii) COLLATE ascii_bin
|
package/sql/hub/persist.sql
CHANGED
package/sql/hub/schema.sql
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
CREATE TABLE IF NOT EXISTS hub
|
|
2
2
|
(
|
|
3
|
-
id VARCHAR(64) NOT NULL,
|
|
3
|
+
id VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
4
4
|
timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
|
|
5
|
-
external_ip VARCHAR(16) NOT NULL,
|
|
5
|
+
external_ip VARCHAR(16) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
6
6
|
external_port SMALLINT UNSIGNED NOT NULL,
|
|
7
|
-
internal_ip VARCHAR(16) NOT NULL,
|
|
7
|
+
internal_ip VARCHAR(16) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
8
8
|
internal_port SMALLINT UNSIGNED NOT NULL,
|
|
9
9
|
quit DATETIME NULL,
|
|
10
10
|
|
package/sql/log/persist.sql
CHANGED
package/sql/log/schema.sql
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
CREATE TABLE IF NOT EXISTS log
|
|
2
2
|
(
|
|
3
3
|
timestamp DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
4
|
-
agent VARCHAR(64) NOT NULL,
|
|
5
|
-
message TEXT NOT NULL,
|
|
4
|
+
agent VARCHAR(64) NOT NULL CHARACTER SET ascii COLLATE ascii_bin,
|
|
5
|
+
message TEXT NOT NULL CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci,
|
|
6
6
|
error JSON NOT NULL,
|
|
7
7
|
INDEX idx_timestamp (timestamp),
|
|
8
8
|
INDEX idx_agent (agent)
|