@atproto/ozone 0.1.69 → 0.1.70
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/CHANGELOG.md +9 -0
- package/dist/api/moderation/queryStatuses.d.ts.map +1 -1
- package/dist/api/moderation/queryStatuses.js +1 -33
- package/dist/api/moderation/queryStatuses.js.map +1 -1
- package/dist/background.d.ts +49 -6
- package/dist/background.d.ts.map +1 -1
- package/dist/background.js +149 -14
- package/dist/background.js.map +1 -1
- package/dist/config/config.d.ts +1 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +1 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/env.d.ts +1 -0
- package/dist/config/env.d.ts.map +1 -1
- package/dist/config/env.js +1 -0
- package/dist/config/env.js.map +1 -1
- package/dist/daemon/context.d.ts +9 -3
- package/dist/daemon/context.d.ts.map +1 -1
- package/dist/daemon/context.js +33 -3
- package/dist/daemon/context.js.map +1 -1
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +3 -6
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/materialized-view-refresher.d.ts +5 -0
- package/dist/daemon/materialized-view-refresher.d.ts.map +1 -0
- package/dist/daemon/materialized-view-refresher.js +29 -0
- package/dist/daemon/materialized-view-refresher.js.map +1 -0
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.d.ts +5 -0
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.d.ts.map +1 -0
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.js +158 -0
- package/dist/db/migrations/20241220T144630860Z-stats-materialized-views.js.map +1 -0
- package/dist/db/migrations/index.d.ts +1 -0
- package/dist/db/migrations/index.d.ts.map +1 -1
- package/dist/db/migrations/index.js +2 -1
- package/dist/db/migrations/index.js.map +1 -1
- package/dist/db/schema/account_events_stats.d.ts +15 -0
- package/dist/db/schema/account_events_stats.d.ts.map +1 -0
- package/dist/db/schema/account_events_stats.js +5 -0
- package/dist/db/schema/account_events_stats.js.map +1 -0
- package/dist/db/schema/account_record_events_stats.d.ts +15 -0
- package/dist/db/schema/account_record_events_stats.d.ts.map +1 -0
- package/dist/db/schema/account_record_events_stats.js +5 -0
- package/dist/db/schema/account_record_events_stats.js.map +1 -0
- package/dist/db/schema/account_record_status_stats.d.ts +15 -0
- package/dist/db/schema/account_record_status_stats.d.ts.map +1 -0
- package/dist/db/schema/account_record_status_stats.js +5 -0
- package/dist/db/schema/account_record_status_stats.js.map +1 -0
- package/dist/db/schema/index.d.ts +5 -1
- package/dist/db/schema/index.d.ts.map +1 -1
- package/dist/db/schema/record_events_stats.d.ts +14 -0
- package/dist/db/schema/record_events_stats.d.ts.map +1 -0
- package/dist/db/schema/record_events_stats.js +5 -0
- package/dist/db/schema/record_events_stats.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/lexicon/lexicons.d.ts +174 -2
- package/dist/lexicon/lexicons.d.ts.map +1 -1
- package/dist/lexicon/lexicons.js +92 -1
- package/dist/lexicon/lexicons.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +40 -0
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/defs.js +20 -0
- package/dist/lexicon/types/tools/ozone/moderation/defs.js.map +1 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts +7 -1
- package/dist/lexicon/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
- package/dist/mod-service/index.d.ts +4 -62
- package/dist/mod-service/index.d.ts.map +1 -1
- package/dist/mod-service/index.js +80 -74
- package/dist/mod-service/index.js.map +1 -1
- package/dist/mod-service/status.d.ts +115 -4
- package/dist/mod-service/status.d.ts.map +1 -1
- package/dist/mod-service/status.js +51 -34
- package/dist/mod-service/status.js.map +1 -1
- package/dist/mod-service/types.d.ts +16 -1
- package/dist/mod-service/types.d.ts.map +1 -1
- package/dist/mod-service/views.d.ts.map +1 -1
- package/dist/mod-service/views.js +49 -41
- package/dist/mod-service/views.js.map +1 -1
- package/dist/util.d.ts +34 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +132 -0
- package/dist/util.js.map +1 -1
- package/package.json +3 -3
- package/src/api/moderation/queryStatuses.ts +1 -63
- package/src/background.ts +140 -14
- package/src/config/config.ts +2 -0
- package/src/config/env.ts +4 -0
- package/src/daemon/context.ts +43 -5
- package/src/daemon/index.ts +3 -6
- package/src/daemon/materialized-view-refresher.ts +27 -0
- package/src/db/migrations/20241220T144630860Z-stats-materialized-views.ts +218 -0
- package/src/db/migrations/index.ts +1 -0
- package/src/db/schema/account_events_stats.ts +16 -0
- package/src/db/schema/account_record_events_stats.ts +15 -0
- package/src/db/schema/account_record_status_stats.ts +15 -0
- package/src/db/schema/index.ts +10 -1
- package/src/db/schema/record_events_stats.ts +15 -0
- package/src/index.ts +1 -7
- package/src/lexicon/lexicons.ts +100 -1
- package/src/lexicon/types/tools/ozone/moderation/defs.ts +62 -0
- package/src/lexicon/types/tools/ozone/moderation/queryStatuses.ts +11 -1
- package/src/mod-service/index.ts +181 -118
- package/src/mod-service/status.ts +55 -28
- package/src/mod-service/types.ts +22 -1
- package/src/mod-service/views.ts +64 -50
- package/src/util.ts +145 -0
- package/tests/__snapshots__/get-record.test.ts.snap +28 -0
- package/tests/__snapshots__/get-records.test.ts.snap +14 -0
- package/tests/__snapshots__/get-repo.test.ts.snap +11 -0
- package/tests/__snapshots__/get-repos.test.ts.snap +11 -0
- package/tests/__snapshots__/moderation-events.test.ts.snap +19 -0
- package/tests/__snapshots__/moderation-statuses.test.ts.snap +114 -0
- package/tests/get-record.test.ts +4 -0
- package/tests/get-records.test.ts +4 -0
- package/tests/get-repo.test.ts +4 -0
- package/tests/get-repos.test.ts +4 -0
- package/tests/moderation-events.test.ts +4 -0
- package/tests/moderation-statuses.test.ts +4 -0
- package/tests/query-labels.test.ts +1 -0
- package/tsconfig.build.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @atproto/ozone
|
|
2
2
|
|
|
3
|
+
## 0.1.70
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#3416](https://github.com/bluesky-social/atproto/pull/3416) [`50603b4f2`](https://github.com/bluesky-social/atproto/commit/50603b4f2ef08bd618730107ec164a57f27dcca6) Thanks [@matthieusieben](https://github.com/matthieusieben)! - Add account and record level statistics when querring `tools.ozone.moderation.queryStatuses`.
|
|
8
|
+
|
|
9
|
+
- Updated dependencies [[`50603b4f2`](https://github.com/bluesky-social/atproto/commit/50603b4f2ef08bd618730107ec164a57f27dcca6)]:
|
|
10
|
+
- @atproto/api@0.13.29
|
|
11
|
+
|
|
3
12
|
## 0.1.69
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryStatuses.d.ts","sourceRoot":"","sources":["../../../src/api/moderation/queryStatuses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,UAAU,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"queryStatuses.d.ts","sourceRoot":"","sources":["../../../src/api/moderation/queryStatuses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AACtC,OAAO,UAAU,MAAM,eAAe,CAAA;AAEtC,MAAM,CAAC,OAAO,WAAW,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,QAmBvD"}
|
|
@@ -1,45 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = default_1;
|
|
4
|
-
const util_1 = require("../util");
|
|
5
4
|
function default_1(server, ctx) {
|
|
6
5
|
server.tools.ozone.moderation.queryStatuses({
|
|
7
6
|
auth: ctx.authVerifier.modOrAdminToken,
|
|
8
7
|
handler: async ({ params }) => {
|
|
9
|
-
const { includeAllUserRecords, subject, takendown, appealed, reviewState, reviewedAfter, reviewedBefore, reportedAfter, reportedBefore, ignoreSubjects, lastReviewedBy, hostingDeletedBefore, hostingDeletedAfter, hostingUpdatedBefore, hostingUpdatedAfter, hostingStatuses, sortDirection = 'desc', sortField = 'lastReportedAt', includeMuted = false, onlyMuted = false, limit = 50, cursor, tags = [], excludeTags = [], collections = [], subjectType, queueCount, queueIndex, queueSeed, } = params;
|
|
10
8
|
const db = ctx.db;
|
|
11
9
|
const modService = ctx.modService(db);
|
|
12
|
-
const results = await modService.getSubjectStatuses(
|
|
13
|
-
reviewState: (0, util_1.getReviewState)(reviewState),
|
|
14
|
-
includeAllUserRecords,
|
|
15
|
-
subject,
|
|
16
|
-
takendown,
|
|
17
|
-
appealed,
|
|
18
|
-
reviewedAfter,
|
|
19
|
-
reviewedBefore,
|
|
20
|
-
reportedAfter,
|
|
21
|
-
reportedBefore,
|
|
22
|
-
includeMuted,
|
|
23
|
-
hostingDeletedBefore,
|
|
24
|
-
hostingDeletedAfter,
|
|
25
|
-
hostingUpdatedBefore,
|
|
26
|
-
hostingUpdatedAfter,
|
|
27
|
-
hostingStatuses,
|
|
28
|
-
onlyMuted,
|
|
29
|
-
ignoreSubjects,
|
|
30
|
-
sortDirection,
|
|
31
|
-
lastReviewedBy,
|
|
32
|
-
sortField,
|
|
33
|
-
limit,
|
|
34
|
-
cursor,
|
|
35
|
-
tags,
|
|
36
|
-
excludeTags,
|
|
37
|
-
collections,
|
|
38
|
-
subjectType,
|
|
39
|
-
queueCount,
|
|
40
|
-
queueIndex,
|
|
41
|
-
queueSeed,
|
|
42
|
-
});
|
|
10
|
+
const results = await modService.getSubjectStatuses(params);
|
|
43
11
|
const subjectStatuses = results.statuses.map((status) => modService.views.formatSubjectStatus(status));
|
|
44
12
|
return {
|
|
45
13
|
encoding: 'application/json',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryStatuses.js","sourceRoot":"","sources":["../../../src/api/moderation/queryStatuses.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"queryStatuses.js","sourceRoot":"","sources":["../../../src/api/moderation/queryStatuses.ts"],"names":[],"mappings":";;AAGA,4BAmBC;AAnBD,mBAAyB,MAAc,EAAE,GAAe;IACtD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC;QAC1C,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,eAAe;QACtC,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;YAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAA;YACjB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACrC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;YAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACtD,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAC7C,CAAA;YACD,OAAO;gBACL,QAAQ,EAAE,kBAAkB;gBAC5B,IAAI,EAAE;oBACJ,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,eAAe;iBAChB;aACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/background.d.ts
CHANGED
|
@@ -1,14 +1,57 @@
|
|
|
1
|
-
import PQueue from 'p-queue';
|
|
2
1
|
import { Database } from './db';
|
|
2
|
+
type Task = (db: Database, signal: AbortSignal) => Promise<void>;
|
|
3
|
+
/**
|
|
4
|
+
* A simple queue for in-process, out-of-band/backgrounded work
|
|
5
|
+
*/
|
|
3
6
|
export declare class BackgroundQueue {
|
|
4
|
-
db: Database;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
protected db: Database;
|
|
8
|
+
private abortController;
|
|
9
|
+
private queue;
|
|
10
|
+
get signal(): AbortSignal;
|
|
11
|
+
get destroyed(): boolean;
|
|
7
12
|
constructor(db: Database);
|
|
8
|
-
|
|
13
|
+
getStats(): {
|
|
14
|
+
runningCount: number;
|
|
15
|
+
waitingCount: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Add a task that will be executed at some point in the future.
|
|
19
|
+
*
|
|
20
|
+
* The task will be executed even if the backgroundQueue is destroyed, unless
|
|
21
|
+
* the provided `signal` is aborted.
|
|
22
|
+
*
|
|
23
|
+
* The `signal` provided to the task will be aborted whenever either the
|
|
24
|
+
* backgroundQueue is destroyed or the provided `signal` is aborted.
|
|
25
|
+
*/
|
|
26
|
+
add(task: Task, signal?: AbortSignal): Promise<void>;
|
|
9
27
|
processAll(): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* On destroy we stop accepting new tasks, but complete all
|
|
30
|
+
* pending/in-progress tasks. Tasks can decide to abort their current
|
|
31
|
+
* operation based on the signal they received. The application calls this
|
|
32
|
+
* only once http connections have drained (tasks no longer being added).
|
|
33
|
+
*/
|
|
34
|
+
destroy(): Promise<void>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A simple periodic background task runner. This class will schedule a task to
|
|
38
|
+
* run through a provided {@link BackgroundQueue} at a fixed interval. The task
|
|
39
|
+
* will never run more than once concurrently, and will wait at least `interval`
|
|
40
|
+
* milliseconds between the end of one run and the start of the next.
|
|
41
|
+
*/
|
|
42
|
+
export declare class PeriodicBackgroundTask {
|
|
43
|
+
protected backgroundQueue: BackgroundQueue;
|
|
44
|
+
protected interval: number;
|
|
45
|
+
protected task: Task;
|
|
46
|
+
private abortController;
|
|
47
|
+
private intervalPromise?;
|
|
48
|
+
private runningPromise?;
|
|
49
|
+
get signal(): AbortSignal;
|
|
50
|
+
get destroyed(): boolean;
|
|
51
|
+
constructor(backgroundQueue: BackgroundQueue, interval: number, task: Task);
|
|
52
|
+
run(signal?: AbortSignal): Promise<void>;
|
|
53
|
+
start(): void;
|
|
10
54
|
destroy(): Promise<void>;
|
|
11
55
|
}
|
|
12
|
-
type Task = (db: Database) => Promise<void>;
|
|
13
56
|
export {};
|
|
14
57
|
//# sourceMappingURL=background.d.ts.map
|
package/dist/background.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"background.d.ts","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAI/B,KAAK,IAAI,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;AAEhE;;GAEG;AACH,qBAAa,eAAe;IAYd,SAAS,CAAC,EAAE,EAAE,QAAQ;IAXlC,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,KAAK,CAAkC;IAE/C,IAAW,MAAM,gBAEhB;IAED,IAAW,SAAS,YAEnB;gBAEqB,EAAE,EAAE,QAAQ;IAElC,QAAQ;;;;IAOR;;;;;;;;OAQG;IACG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BpD,UAAU;IAIhB;;;;;OAKG;IACG,OAAO;CAId;AAED;;;;;GAKG;AACH,qBAAa,sBAAsB;IAe/B,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,SAAS,CAAC,QAAQ,EAAE,MAAM;IAC1B,SAAS,CAAC,IAAI,EAAE,IAAI;IAhBtB,OAAO,CAAC,eAAe,CAAiB;IAExC,OAAO,CAAC,eAAe,CAAC,CAAe;IACvC,OAAO,CAAC,cAAc,CAAC,CAAe;IAEtC,IAAW,MAAM,gBAEhB;IAED,IAAW,SAAS,YAEnB;gBAGW,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,IAAI;IAWf,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxC,KAAK;IAUC,OAAO;CAWrB"}
|
package/dist/background.js
CHANGED
|
@@ -3,11 +3,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.BackgroundQueue = void 0;
|
|
6
|
+
exports.PeriodicBackgroundTask = exports.BackgroundQueue = void 0;
|
|
7
7
|
const p_queue_1 = __importDefault(require("p-queue"));
|
|
8
8
|
const logger_1 = require("./logger");
|
|
9
|
-
|
|
9
|
+
const util_1 = require("./util");
|
|
10
|
+
/**
|
|
11
|
+
* A simple queue for in-process, out-of-band/backgrounded work
|
|
12
|
+
*/
|
|
10
13
|
class BackgroundQueue {
|
|
14
|
+
get signal() {
|
|
15
|
+
return this.abortController.signal;
|
|
16
|
+
}
|
|
17
|
+
get destroyed() {
|
|
18
|
+
return this.signal.aborted;
|
|
19
|
+
}
|
|
11
20
|
constructor(db) {
|
|
12
21
|
Object.defineProperty(this, "db", {
|
|
13
22
|
enumerable: true,
|
|
@@ -15,38 +24,164 @@ class BackgroundQueue {
|
|
|
15
24
|
writable: true,
|
|
16
25
|
value: db
|
|
17
26
|
});
|
|
18
|
-
Object.defineProperty(this, "
|
|
27
|
+
Object.defineProperty(this, "abortController", {
|
|
19
28
|
enumerable: true,
|
|
20
29
|
configurable: true,
|
|
21
30
|
writable: true,
|
|
22
|
-
value: new
|
|
31
|
+
value: new AbortController()
|
|
23
32
|
});
|
|
24
|
-
Object.defineProperty(this, "
|
|
33
|
+
Object.defineProperty(this, "queue", {
|
|
25
34
|
enumerable: true,
|
|
26
35
|
configurable: true,
|
|
27
36
|
writable: true,
|
|
28
|
-
value:
|
|
37
|
+
value: new p_queue_1.default({ concurrency: 20 })
|
|
29
38
|
});
|
|
30
39
|
}
|
|
31
|
-
|
|
40
|
+
getStats() {
|
|
41
|
+
return {
|
|
42
|
+
runningCount: this.queue.pending,
|
|
43
|
+
waitingCount: this.queue.size,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Add a task that will be executed at some point in the future.
|
|
48
|
+
*
|
|
49
|
+
* The task will be executed even if the backgroundQueue is destroyed, unless
|
|
50
|
+
* the provided `signal` is aborted.
|
|
51
|
+
*
|
|
52
|
+
* The `signal` provided to the task will be aborted whenever either the
|
|
53
|
+
* backgroundQueue is destroyed or the provided `signal` is aborted.
|
|
54
|
+
*/
|
|
55
|
+
async add(task, signal) {
|
|
32
56
|
if (this.destroyed) {
|
|
33
57
|
return;
|
|
34
58
|
}
|
|
35
|
-
this.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
const abortController = (0, util_1.boundAbortController)(this.signal, signal);
|
|
60
|
+
return this.queue.add(async () => {
|
|
61
|
+
try {
|
|
62
|
+
// Do not run the task if the signal provided to the task has become
|
|
63
|
+
// aborted. Do not use `abortController.signal` here since we do not
|
|
64
|
+
// want to abort the task if the backgroundQueue is being destroyed.
|
|
65
|
+
if (signal?.aborted)
|
|
66
|
+
return;
|
|
67
|
+
// The task will receive a "combined signal" allowing it to abort if
|
|
68
|
+
// either the backgroundQueue is destroyed or the provided signal is
|
|
69
|
+
// aborted.
|
|
70
|
+
await task(this.db, abortController.signal);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
if (!(0, util_1.isCausedBySignal)(err, abortController.signal)) {
|
|
74
|
+
logger_1.dbLogger.error(err, 'background queue task failed');
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
abortController.abort();
|
|
79
|
+
}
|
|
39
80
|
});
|
|
40
81
|
}
|
|
41
82
|
async processAll() {
|
|
42
83
|
await this.queue.onIdle();
|
|
43
84
|
}
|
|
44
|
-
|
|
45
|
-
|
|
85
|
+
/**
|
|
86
|
+
* On destroy we stop accepting new tasks, but complete all
|
|
87
|
+
* pending/in-progress tasks. Tasks can decide to abort their current
|
|
88
|
+
* operation based on the signal they received. The application calls this
|
|
89
|
+
* only once http connections have drained (tasks no longer being added).
|
|
90
|
+
*/
|
|
46
91
|
async destroy() {
|
|
47
|
-
this.
|
|
92
|
+
this.abortController.abort();
|
|
48
93
|
await this.queue.onIdle();
|
|
49
94
|
}
|
|
50
95
|
}
|
|
51
96
|
exports.BackgroundQueue = BackgroundQueue;
|
|
97
|
+
/**
|
|
98
|
+
* A simple periodic background task runner. This class will schedule a task to
|
|
99
|
+
* run through a provided {@link BackgroundQueue} at a fixed interval. The task
|
|
100
|
+
* will never run more than once concurrently, and will wait at least `interval`
|
|
101
|
+
* milliseconds between the end of one run and the start of the next.
|
|
102
|
+
*/
|
|
103
|
+
class PeriodicBackgroundTask {
|
|
104
|
+
get signal() {
|
|
105
|
+
return this.abortController.signal;
|
|
106
|
+
}
|
|
107
|
+
get destroyed() {
|
|
108
|
+
return this.signal.aborted;
|
|
109
|
+
}
|
|
110
|
+
constructor(backgroundQueue, interval, task) {
|
|
111
|
+
Object.defineProperty(this, "backgroundQueue", {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
configurable: true,
|
|
114
|
+
writable: true,
|
|
115
|
+
value: backgroundQueue
|
|
116
|
+
});
|
|
117
|
+
Object.defineProperty(this, "interval", {
|
|
118
|
+
enumerable: true,
|
|
119
|
+
configurable: true,
|
|
120
|
+
writable: true,
|
|
121
|
+
value: interval
|
|
122
|
+
});
|
|
123
|
+
Object.defineProperty(this, "task", {
|
|
124
|
+
enumerable: true,
|
|
125
|
+
configurable: true,
|
|
126
|
+
writable: true,
|
|
127
|
+
value: task
|
|
128
|
+
});
|
|
129
|
+
Object.defineProperty(this, "abortController", {
|
|
130
|
+
enumerable: true,
|
|
131
|
+
configurable: true,
|
|
132
|
+
writable: true,
|
|
133
|
+
value: void 0
|
|
134
|
+
});
|
|
135
|
+
Object.defineProperty(this, "intervalPromise", {
|
|
136
|
+
enumerable: true,
|
|
137
|
+
configurable: true,
|
|
138
|
+
writable: true,
|
|
139
|
+
value: void 0
|
|
140
|
+
});
|
|
141
|
+
Object.defineProperty(this, "runningPromise", {
|
|
142
|
+
enumerable: true,
|
|
143
|
+
configurable: true,
|
|
144
|
+
writable: true,
|
|
145
|
+
value: void 0
|
|
146
|
+
});
|
|
147
|
+
if (!Number.isFinite(interval) || interval <= 0) {
|
|
148
|
+
throw new TypeError('interval must be a positive number');
|
|
149
|
+
}
|
|
150
|
+
// Bind this class's signal to the backgroundQueue's signal (destroying this
|
|
151
|
+
// instance if the backgroundQueue is destroyed)
|
|
152
|
+
this.abortController = (0, util_1.boundAbortController)(backgroundQueue.signal);
|
|
153
|
+
}
|
|
154
|
+
run(signal) {
|
|
155
|
+
// `startInterval` already ensures that only one run is in progress at a
|
|
156
|
+
// time. However, we want to be able to expose a `run()` method that can be
|
|
157
|
+
// used to force a run, which could cause concurrent executions. We prevent
|
|
158
|
+
// this using the `runningPromise` property.
|
|
159
|
+
if (this.runningPromise)
|
|
160
|
+
return this.runningPromise;
|
|
161
|
+
// Combine the `this.signal` with the provided `signal`, if any.
|
|
162
|
+
const abortController = (0, util_1.boundAbortController)(this.signal, signal);
|
|
163
|
+
const promise = this.backgroundQueue.add(this.task, abortController.signal);
|
|
164
|
+
return (this.runningPromise = promise).finally(() => {
|
|
165
|
+
if (this.runningPromise === promise)
|
|
166
|
+
this.runningPromise = undefined;
|
|
167
|
+
// Cleanup the listeners added by `boundAbortController`
|
|
168
|
+
abortController.abort();
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
start() {
|
|
172
|
+
// Noop if already started. Throws if this.signal is aborted (instance is
|
|
173
|
+
// destroyed).
|
|
174
|
+
this.intervalPromise || (this.intervalPromise = (0, util_1.startInterval)(async (signal) => this.run(signal), this.interval, this.signal));
|
|
175
|
+
}
|
|
176
|
+
async destroy() {
|
|
177
|
+
// @NOTE This instance does not "own" the backgroundQueue, so we do not
|
|
178
|
+
// destroy it here.
|
|
179
|
+
this.abortController.abort();
|
|
180
|
+
console.error('ABOOOORT');
|
|
181
|
+
await this.intervalPromise;
|
|
182
|
+
this.intervalPromise = undefined;
|
|
183
|
+
console.error('DONE -_-');
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
exports.PeriodicBackgroundTask = PeriodicBackgroundTask;
|
|
52
187
|
//# sourceMappingURL=background.js.map
|
package/dist/background.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA4B;AAE5B,qCAAmC;
|
|
1
|
+
{"version":3,"file":"background.js","sourceRoot":"","sources":["../src/background.ts"],"names":[],"mappings":"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"}
|
package/dist/config/config.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAMxC,eAAO,MAAM,QAAQ,QAAS,gBAAgB,KAAG,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAMxC,eAAO,MAAM,QAAQ,QAAS,gBAAgB,KAAG,WAqFhD,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,aAAa,CAAA;IACtB,EAAE,EAAE,cAAc,CAAA;IAClB,OAAO,EAAE,aAAa,CAAA;IACtB,GAAG,EAAE,SAAS,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IACvB,GAAG,EAAE,SAAS,CAAA;IACd,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACnC,MAAM,EAAE,YAAY,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iCAAiC,CAAC,EAAE,MAAM,CAAA;CAC3C,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA"}
|
package/dist/config/config.js
CHANGED
|
@@ -26,6 +26,7 @@ const envToCfg = (env) => {
|
|
|
26
26
|
poolSize: env.dbPoolSize,
|
|
27
27
|
poolMaxUses: env.dbPoolMaxUses,
|
|
28
28
|
poolIdleTimeoutMs: env.dbPoolIdleTimeoutMs,
|
|
29
|
+
materializedViewRefreshIntervalMs: env.dbMaterializedViewRefreshIntervalMs,
|
|
29
30
|
};
|
|
30
31
|
(0, node_assert_1.default)(env.appviewUrl, 'appviewUrl is required');
|
|
31
32
|
(0, node_assert_1.default)(env.appviewDid, 'appviewDid is required');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAgC;AAEhC,4CAA2C;AAE3C,iCAAiC;AACjC,gEAAgE;AAEzD,MAAM,QAAQ,GAAG,CAAC,GAAqB,EAAe,EAAE;IAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,CAAA;IAC7B,IAAA,qBAAM,EAAC,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAA;IAC9C,IAAA,qBAAM,EAAC,GAAG,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAA;IAC9C,MAAM,UAAU,GAA2B;QACzC,IAAI;QACJ,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,GAAG,EAAE,GAAG,CAAC,SAAS;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB,CAAA;IAED,IAAA,qBAAM,EAAC,GAAG,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAA;IACtD,MAAM,KAAK,GAAsB;QAC/B,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,cAAc,EAAE,GAAG,CAAC,gBAAgB;QACpC,QAAQ,EAAE,GAAG,CAAC,UAAU;QACxB,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config/env.d.ts
CHANGED
package/dist/config/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,QAAO,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,OAAO,QAAO,gBAmC1B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,mCAAmC,CAAC,EAAE,MAAM,CAAA;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,uBAAuB,CAAC,EAAE,MAAM,CAAA;CACjC,CAAA"}
|
package/dist/config/env.js
CHANGED
|
@@ -22,6 +22,7 @@ const readEnv = () => {
|
|
|
22
22
|
dbPoolSize: (0, common_1.envInt)('OZONE_DB_POOL_SIZE'),
|
|
23
23
|
dbPoolMaxUses: (0, common_1.envInt)('OZONE_DB_POOL_MAX_USES'),
|
|
24
24
|
dbPoolIdleTimeoutMs: (0, common_1.envInt)('OZONE_DB_POOL_IDLE_TIMEOUT_MS'),
|
|
25
|
+
dbMaterializedViewRefreshIntervalMs: (0, common_1.envInt)('OZONE_DB_MATERIALIZED_VIEW_REFRESH_INTERVAL_MS'),
|
|
25
26
|
didPlcUrl: (0, common_1.envStr)('OZONE_DID_PLC_URL'),
|
|
26
27
|
didCacheStaleTTL: (0, common_1.envInt)('OZONE_DID_CACHE_STALE_TTL'),
|
|
27
28
|
didCacheMaxTTL: (0, common_1.envInt)('OZONE_DID_CACHE_MAX_TTL'),
|
package/dist/config/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":";;;AAAA,4CAAkE;AAE3D,MAAM,OAAO,GAAG,GAAqB,EAAE;IAC5C,OAAO;QACL,OAAO,EAAE,IAAA,eAAM,EAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,IAAA,gBAAO,EAAC,gBAAgB,CAAC;QAClC,OAAO,EAAE,IAAA,eAAM,EAAC,eAAe,CAAC;QAChC,IAAI,EAAE,IAAA,eAAM,EAAC,YAAY,CAAC;QAC1B,SAAS,EAAE,IAAA,eAAM,EAAC,kBAAkB,CAAC;QACrC,SAAS,EAAE,IAAA,eAAM,EAAC,kBAAkB,CAAC;QACrC,UAAU,EAAE,IAAA,eAAM,EAAC,mBAAmB,CAAC;QACvC,UAAU,EAAE,IAAA,eAAM,EAAC,mBAAmB,CAAC;QACvC,iBAAiB,EAAE,IAAA,gBAAO,EAAC,2BAA2B,CAAC;QACvD,MAAM,EAAE,IAAA,eAAM,EAAC,eAAe,CAAC;QAC/B,MAAM,EAAE,IAAA,eAAM,EAAC,eAAe,CAAC;QAC/B,OAAO,EAAE,IAAA,eAAM,EAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,IAAA,eAAM,EAAC,gBAAgB,CAAC;QACjC,aAAa,EAAE,IAAA,eAAM,EAAC,uBAAuB,CAAC;QAC9C,gBAAgB,EAAE,IAAA,eAAM,EAAC,0BAA0B,CAAC;QACpD,UAAU,EAAE,IAAA,eAAM,EAAC,oBAAoB,CAAC;QACxC,aAAa,EAAE,IAAA,eAAM,EAAC,wBAAwB,CAAC;QAC/C,mBAAmB,EAAE,IAAA,eAAM,EAAC,+BAA+B,CAAC;QAC5D,SAAS,EAAE,IAAA,eAAM,EAAC,mBAAmB,CAAC;QACtC,gBAAgB,EAAE,IAAA,eAAM,EAAC,2BAA2B,CAAC;QACrD,cAAc,EAAE,IAAA,eAAM,EAAC,yBAAyB,CAAC;QACjD,QAAQ,EAAE,IAAA,gBAAO,EAAC,iBAAiB,CAAC;QACpC,SAAS,EAAE,IAAA,gBAAO,EAAC,kBAAkB,CAAC;QACtC,aAAa,EAAE,IAAA,gBAAO,EAAC,sBAAsB,CAAC;QAC9C,UAAU,EAAE,IAAA,gBAAO,EAAC,mBAAmB,CAAC;QACxC,aAAa,EAAE,IAAA,eAAM,EAAC,sBAAsB,CAAC;QAC7C,aAAa,EAAE,IAAA,eAAM,EAAC,uBAAuB,CAAC;QAC9C,aAAa,EAAE,IAAA,eAAM,EAAC,uBAAuB,CAAC;QAC9C,uBAAuB,EAAE,IAAA,eAAM,EAAC,kCAAkC,CAAC;KACpE,CAAA;AACH,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":";;;AAAA,4CAAkE;AAE3D,MAAM,OAAO,GAAG,GAAqB,EAAE;IAC5C,OAAO;QACL,OAAO,EAAE,IAAA,eAAM,EAAC,UAAU,CAAC;QAC3B,OAAO,EAAE,IAAA,gBAAO,EAAC,gBAAgB,CAAC;QAClC,OAAO,EAAE,IAAA,eAAM,EAAC,eAAe,CAAC;QAChC,IAAI,EAAE,IAAA,eAAM,EAAC,YAAY,CAAC;QAC1B,SAAS,EAAE,IAAA,eAAM,EAAC,kBAAkB,CAAC;QACrC,SAAS,EAAE,IAAA,eAAM,EAAC,kBAAkB,CAAC;QACrC,UAAU,EAAE,IAAA,eAAM,EAAC,mBAAmB,CAAC;QACvC,UAAU,EAAE,IAAA,eAAM,EAAC,mBAAmB,CAAC;QACvC,iBAAiB,EAAE,IAAA,gBAAO,EAAC,2BAA2B,CAAC;QACvD,MAAM,EAAE,IAAA,eAAM,EAAC,eAAe,CAAC;QAC/B,MAAM,EAAE,IAAA,eAAM,EAAC,eAAe,CAAC;QAC/B,OAAO,EAAE,IAAA,eAAM,EAAC,gBAAgB,CAAC;QACjC,OAAO,EAAE,IAAA,eAAM,EAAC,gBAAgB,CAAC;QACjC,aAAa,EAAE,IAAA,eAAM,EAAC,uBAAuB,CAAC;QAC9C,gBAAgB,EAAE,IAAA,eAAM,EAAC,0BAA0B,CAAC;QACpD,UAAU,EAAE,IAAA,eAAM,EAAC,oBAAoB,CAAC;QACxC,aAAa,EAAE,IAAA,eAAM,EAAC,wBAAwB,CAAC;QAC/C,mBAAmB,EAAE,IAAA,eAAM,EAAC,+BAA+B,CAAC;QAC5D,mCAAmC,EAAE,IAAA,eAAM,EACzC,gDAAgD,CACjD;QACD,SAAS,EAAE,IAAA,eAAM,EAAC,mBAAmB,CAAC;QACtC,gBAAgB,EAAE,IAAA,eAAM,EAAC,2BAA2B,CAAC;QACrD,cAAc,EAAE,IAAA,eAAM,EAAC,yBAAyB,CAAC;QACjD,QAAQ,EAAE,IAAA,gBAAO,EAAC,iBAAiB,CAAC;QACpC,SAAS,EAAE,IAAA,gBAAO,EAAC,kBAAkB,CAAC;QACtC,aAAa,EAAE,IAAA,gBAAO,EAAC,sBAAsB,CAAC;QAC9C,UAAU,EAAE,IAAA,gBAAO,EAAC,mBAAmB,CAAC;QACxC,aAAa,EAAE,IAAA,eAAM,EAAC,sBAAsB,CAAC;QAC7C,aAAa,EAAE,IAAA,eAAM,EAAC,uBAAuB,CAAC;QAC9C,aAAa,EAAE,IAAA,eAAM,EAAC,uBAAuB,CAAC;QAC9C,uBAAuB,EAAE,IAAA,eAAM,EAAC,kCAAkC,CAAC;KACpE,CAAA;AACH,CAAC,CAAA;AAnCY,QAAA,OAAO,WAmCnB"}
|
package/dist/daemon/context.d.ts
CHANGED
|
@@ -3,14 +3,16 @@ import { OzoneConfig, OzoneSecrets } from '../config';
|
|
|
3
3
|
import { Database } from '../db';
|
|
4
4
|
import { EventPusher } from './event-pusher';
|
|
5
5
|
import { EventReverser } from './event-reverser';
|
|
6
|
-
import {
|
|
6
|
+
import { BackgroundQueue } from '../background';
|
|
7
|
+
import { MaterializedViewRefresher } from './materialized-view-refresher';
|
|
7
8
|
export type DaemonContextOptions = {
|
|
8
9
|
db: Database;
|
|
9
10
|
cfg: OzoneConfig;
|
|
10
|
-
|
|
11
|
+
backgroundQueue: BackgroundQueue;
|
|
11
12
|
signingKey: Keypair;
|
|
12
13
|
eventPusher: EventPusher;
|
|
13
14
|
eventReverser: EventReverser;
|
|
15
|
+
materializedViewRefresher: MaterializedViewRefresher;
|
|
14
16
|
};
|
|
15
17
|
export declare class DaemonContext {
|
|
16
18
|
private opts;
|
|
@@ -18,9 +20,13 @@ export declare class DaemonContext {
|
|
|
18
20
|
static fromConfig(cfg: OzoneConfig, secrets: OzoneSecrets, overrides?: Partial<DaemonContextOptions>): Promise<DaemonContext>;
|
|
19
21
|
get db(): Database;
|
|
20
22
|
get cfg(): OzoneConfig;
|
|
21
|
-
get
|
|
23
|
+
get backgroundQueue(): BackgroundQueue;
|
|
22
24
|
get eventPusher(): EventPusher;
|
|
23
25
|
get eventReverser(): EventReverser;
|
|
26
|
+
get materializedViewRefresher(): MaterializedViewRefresher;
|
|
27
|
+
start(): Promise<void>;
|
|
28
|
+
processAll(): Promise<void>;
|
|
29
|
+
destroy(): Promise<void>;
|
|
24
30
|
}
|
|
25
31
|
export default DaemonContext;
|
|
26
32
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/daemon/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoB,MAAM,iBAAiB,CAAA;AAI3D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/daemon/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoB,MAAM,iBAAiB,CAAA;AAI3D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAGzE,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,QAAQ,CAAA;IACZ,GAAG,EAAE,WAAW,CAAA;IAChB,eAAe,EAAE,eAAe,CAAA;IAChC,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,WAAW,CAAA;IACxB,aAAa,EAAE,aAAa,CAAA;IAC5B,yBAAyB,EAAE,yBAAyB,CAAA;CACrD,CAAA;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,oBAAoB;WAEjC,UAAU,CACrB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACxC,OAAO,CAAC,aAAa,CAAC;IA0DzB,IAAI,EAAE,IAAI,QAAQ,CAEjB;IAED,IAAI,GAAG,IAAI,WAAW,CAErB;IAED,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,WAAW,IAAI,WAAW,CAE7B;IAED,IAAI,aAAa,IAAI,aAAa,CAEjC;IAED,IAAI,yBAAyB,IAAI,yBAAyB,CAEzD;IAEK,KAAK;IAML,UAAU;IAMV,OAAO;CAYd;AAED,eAAe,aAAa,CAAA"}
|
package/dist/daemon/context.js
CHANGED
|
@@ -11,6 +11,8 @@ const event_reverser_1 = require("./event-reverser");
|
|
|
11
11
|
const mod_service_1 = require("../mod-service");
|
|
12
12
|
const background_1 = require("../background");
|
|
13
13
|
const util_1 = require("../util");
|
|
14
|
+
const materialized_view_refresher_1 = require("./materialized-view-refresher");
|
|
15
|
+
const common_1 = require("@atproto/common");
|
|
14
16
|
class DaemonContext {
|
|
15
17
|
constructor(opts) {
|
|
16
18
|
Object.defineProperty(this, "opts", {
|
|
@@ -44,13 +46,15 @@ class DaemonContext {
|
|
|
44
46
|
const backgroundQueue = new background_1.BackgroundQueue(db);
|
|
45
47
|
const modService = mod_service_1.ModerationService.creator(signingKey, signingKeyId, cfg, backgroundQueue, idResolver, eventPusher, appviewAgent, createAuthHeaders);
|
|
46
48
|
const eventReverser = new event_reverser_1.EventReverser(db, modService);
|
|
49
|
+
const materializedViewRefresher = new materialized_view_refresher_1.MaterializedViewRefresher(backgroundQueue, cfg.db.materializedViewRefreshIntervalMs);
|
|
47
50
|
return new DaemonContext({
|
|
48
51
|
db,
|
|
49
52
|
cfg,
|
|
50
|
-
|
|
53
|
+
backgroundQueue,
|
|
51
54
|
signingKey,
|
|
52
55
|
eventPusher,
|
|
53
56
|
eventReverser,
|
|
57
|
+
materializedViewRefresher,
|
|
54
58
|
...(overrides ?? {}),
|
|
55
59
|
});
|
|
56
60
|
}
|
|
@@ -60,8 +64,8 @@ class DaemonContext {
|
|
|
60
64
|
get cfg() {
|
|
61
65
|
return this.opts.cfg;
|
|
62
66
|
}
|
|
63
|
-
get
|
|
64
|
-
return this.opts.
|
|
67
|
+
get backgroundQueue() {
|
|
68
|
+
return this.opts.backgroundQueue;
|
|
65
69
|
}
|
|
66
70
|
get eventPusher() {
|
|
67
71
|
return this.opts.eventPusher;
|
|
@@ -69,6 +73,32 @@ class DaemonContext {
|
|
|
69
73
|
get eventReverser() {
|
|
70
74
|
return this.opts.eventReverser;
|
|
71
75
|
}
|
|
76
|
+
get materializedViewRefresher() {
|
|
77
|
+
return this.opts.materializedViewRefresher;
|
|
78
|
+
}
|
|
79
|
+
async start() {
|
|
80
|
+
this.eventPusher.start();
|
|
81
|
+
this.eventReverser.start();
|
|
82
|
+
this.materializedViewRefresher.start();
|
|
83
|
+
}
|
|
84
|
+
async processAll() {
|
|
85
|
+
// Sequential because the materialized view values depend on the events.
|
|
86
|
+
await this.eventPusher.processAll();
|
|
87
|
+
await this.materializedViewRefresher.run();
|
|
88
|
+
}
|
|
89
|
+
async destroy() {
|
|
90
|
+
try {
|
|
91
|
+
await (0, common_1.allFulfilled)([
|
|
92
|
+
this.eventReverser.destroy(),
|
|
93
|
+
this.eventPusher.destroy(),
|
|
94
|
+
this.materializedViewRefresher.destroy(),
|
|
95
|
+
]);
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
await this.backgroundQueue.destroy();
|
|
99
|
+
await this.db.close();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
72
102
|
}
|
|
73
103
|
exports.DaemonContext = DaemonContext;
|
|
74
104
|
exports.default = DaemonContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/daemon/context.ts"],"names":[],"mappings":";;;AAAA,4CAA2D;AAC3D,sDAA+D;AAC/D,gDAA8C;AAC9C,sCAAuC;AAEvC,8BAAgC;AAChC,iDAA4C;AAC5C,qDAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/daemon/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,aAAa,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,WAAW;IACH,GAAG,EAAE,aAAa;gBAAlB,GAAG,EAAE,aAAa;WACxB,MAAM,CACjB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,OAAO,CAAC,WAAW,CAAC;IAKjB,KAAK;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACrD,OAAO,aAAa,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,qBAAa,WAAW;IACH,GAAG,EAAE,aAAa;gBAAlB,GAAG,EAAE,aAAa;WACxB,MAAM,CACjB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,YAAY,EACrB,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,OAAO,CAAC,WAAW,CAAC;IAKjB,KAAK;IAIL,UAAU;IAIV,OAAO;CAGd"}
|
package/dist/daemon/index.js
CHANGED
|
@@ -25,16 +25,13 @@ class OzoneDaemon {
|
|
|
25
25
|
return new OzoneDaemon(ctx);
|
|
26
26
|
}
|
|
27
27
|
async start() {
|
|
28
|
-
this.ctx.
|
|
29
|
-
this.ctx.eventReverser.start();
|
|
28
|
+
await this.ctx.start();
|
|
30
29
|
}
|
|
31
30
|
async processAll() {
|
|
32
|
-
await this.ctx.
|
|
31
|
+
await this.ctx.processAll();
|
|
33
32
|
}
|
|
34
33
|
async destroy() {
|
|
35
|
-
await this.ctx.
|
|
36
|
-
await this.ctx.eventPusher.destroy();
|
|
37
|
-
await this.ctx.db.close();
|
|
34
|
+
await this.ctx.destroy();
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
37
|
exports.OzoneDaemon = OzoneDaemon;
|
package/dist/daemon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":";;;;;;AACA,wDAAqC;AAGrC,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,iDAA8C;AAArC,6GAAA,YAAY,OAAA;AACrB,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AAEtB,MAAa,WAAW;IACtB,YAAmB,GAAkB;QAAzB;;;;mBAAO,GAAG;WAAe;IAAG,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,GAAgB,EAChB,OAAqB,EACrB,SAAsC;QAEtC,MAAM,GAAG,GAAG,MAAM,iBAAa,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QACnE,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/daemon/index.ts"],"names":[],"mappings":";;;;;;AACA,wDAAqC;AAGrC,+CAA4C;AAAnC,2GAAA,WAAW,OAAA;AACpB,iDAA8C;AAArC,6GAAA,YAAY,OAAA;AACrB,mDAAgD;AAAvC,+GAAA,aAAa,OAAA;AAEtB,MAAa,WAAW;IACtB,YAAmB,GAAkB;QAAzB;;;;mBAAO,GAAG;WAAe;IAAG,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,GAAgB,EAChB,OAAqB,EACrB,SAAsC;QAEtC,MAAM,GAAG,GAAG,MAAM,iBAAa,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;QACnE,OAAO,IAAI,WAAW,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF;AAtBD,kCAsBC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { BackgroundQueue, PeriodicBackgroundTask } from '../background';
|
|
2
|
+
export declare class MaterializedViewRefresher extends PeriodicBackgroundTask {
|
|
3
|
+
constructor(backgroundQueue: BackgroundQueue, interval?: number);
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=materialized-view-refresher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"materialized-view-refresher.d.ts","sourceRoot":"","sources":["../../src/daemon/materialized-view-refresher.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEvE,qBAAa,yBAA0B,SAAQ,sBAAsB;gBACvD,eAAe,EAAE,eAAe,EAAE,QAAQ,SAAc;CAqBrE"}
|