@atproto/ozone 0.0.12 → 0.0.14
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 +17 -0
- package/dist/api/label/queryLabels.d.ts +3 -0
- package/dist/api/label/subscribeLabels.d.ts +3 -0
- package/dist/config/config.d.ts +3 -0
- package/dist/config/env.d.ts +3 -0
- package/dist/context.d.ts +3 -0
- package/dist/db/index.js +3 -1
- package/dist/db/index.js.map +2 -2
- package/dist/db/schema/label.d.ts +4 -0
- package/dist/index.js +593 -244
- package/dist/index.js.map +3 -3
- package/dist/logger.d.ts +1 -0
- package/dist/mod-service/util.d.ts +3 -0
- package/dist/sequencer/index.d.ts +2 -0
- package/dist/sequencer/outbox.d.ts +16 -0
- package/dist/sequencer/sequencer.d.ts +33 -0
- package/package.json +10 -10
- package/src/api/admin/emitModerationEvent.ts +16 -10
- package/src/api/index.ts +4 -0
- package/src/api/label/queryLabels.ts +58 -0
- package/src/api/label/subscribeLabels.ts +25 -0
- package/src/api/temp/fetchLabels.ts +2 -4
- package/src/config/config.ts +6 -0
- package/src/config/env.ts +6 -0
- package/src/context.ts +12 -0
- package/src/db/migrations/20231219T205730722Z-init.ts +7 -1
- package/src/db/schema/label.ts +7 -0
- package/src/index.ts +2 -0
- package/src/lexicon/lexicons.ts +1 -1
- package/src/logger.ts +2 -0
- package/src/mod-service/index.ts +73 -72
- package/src/mod-service/status.ts +3 -0
- package/src/mod-service/util.ts +17 -0
- package/src/mod-service/views.ts +2 -5
- package/src/sequencer/index.ts +2 -0
- package/src/sequencer/outbox.ts +122 -0
- package/src/sequencer/sequencer.ts +143 -0
- package/tests/__snapshots__/moderation-events.test.ts.snap +53 -75
- package/tests/__snapshots__/moderation.test.ts.snap +4 -4
- package/tests/moderation-appeals.test.ts +19 -7
- package/tests/moderation-events.test.ts +7 -7
- package/tests/moderation-statuses.test.ts +2 -2
- package/tests/moderation.test.ts +14 -13
- package/tests/query-labels.test.ts +163 -0
- package/tests/repo-search.test.ts +0 -1
- package/tests/sequencer.test.ts +222 -0
- package/tests/server.test.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atproto/ozone
|
|
2
2
|
|
|
3
|
+
## 0.0.14
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [[`2a0ceb818`](https://github.com/bluesky-social/atproto/commit/2a0ceb8180faa17de8061d4fa6c361b57a2005ed), [`2a0ceb818`](https://github.com/bluesky-social/atproto/commit/2a0ceb8180faa17de8061d4fa6c361b57a2005ed), [`2a0ceb818`](https://github.com/bluesky-social/atproto/commit/2a0ceb8180faa17de8061d4fa6c361b57a2005ed), [`2a0ceb818`](https://github.com/bluesky-social/atproto/commit/2a0ceb8180faa17de8061d4fa6c361b57a2005ed)]:
|
|
8
|
+
- @atproto/api@0.10.3
|
|
9
|
+
|
|
10
|
+
## 0.0.13
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- Updated dependencies [[`0c815b964`](https://github.com/bluesky-social/atproto/commit/0c815b964c030aa0f277c40bf9786f130dc320f4), [`61b3d2525`](https://github.com/bluesky-social/atproto/commit/61b3d25253353db2da1336004f94e7dc5adb0410), [`43531905c`](https://github.com/bluesky-social/atproto/commit/43531905ce1aec6d36d9be5943782811ecca6e6d), [`61b3d2525`](https://github.com/bluesky-social/atproto/commit/61b3d25253353db2da1336004f94e7dc5adb0410)]:
|
|
15
|
+
- @atproto/syntax@0.2.0
|
|
16
|
+
- @atproto/api@0.10.2
|
|
17
|
+
- @atproto/lexicon@0.3.2
|
|
18
|
+
- @atproto/xrpc-server@0.4.3
|
|
19
|
+
|
|
3
20
|
## 0.0.12
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
package/dist/config/config.d.ts
CHANGED
package/dist/config/env.d.ts
CHANGED
|
@@ -11,6 +11,9 @@ export type OzoneEnvironment = {
|
|
|
11
11
|
pdsDid?: string;
|
|
12
12
|
dbPostgresUrl?: string;
|
|
13
13
|
dbPostgresSchema?: string;
|
|
14
|
+
dbPoolSize?: number;
|
|
15
|
+
dbPoolMaxUses?: number;
|
|
16
|
+
dbPoolIdleTimeoutMs?: number;
|
|
14
17
|
didPlcUrl?: string;
|
|
15
18
|
adminPassword?: string;
|
|
16
19
|
moderatorPassword?: string;
|
package/dist/context.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { Database } from './db';
|
|
|
8
8
|
import { OzoneConfig, OzoneSecrets } from './config';
|
|
9
9
|
import { ModerationServiceCreator } from './mod-service';
|
|
10
10
|
import { BackgroundQueue } from './background';
|
|
11
|
+
import Sequencer from './sequencer/sequencer';
|
|
11
12
|
import { CommunicationTemplateServiceCreator } from './communication-service/template';
|
|
12
13
|
export type AppContextOptions = {
|
|
13
14
|
db: Database;
|
|
@@ -19,6 +20,7 @@ export type AppContextOptions = {
|
|
|
19
20
|
signingKey: Keypair;
|
|
20
21
|
idResolver: IdResolver;
|
|
21
22
|
backgroundQueue: BackgroundQueue;
|
|
23
|
+
sequencer: Sequencer;
|
|
22
24
|
};
|
|
23
25
|
export declare class AppContext {
|
|
24
26
|
private opts;
|
|
@@ -36,6 +38,7 @@ export declare class AppContext {
|
|
|
36
38
|
get plcClient(): plc.Client;
|
|
37
39
|
get idResolver(): IdResolver;
|
|
38
40
|
get backgroundQueue(): BackgroundQueue;
|
|
41
|
+
get sequencer(): Sequencer;
|
|
39
42
|
get authVerifier(): (reqCtx: {
|
|
40
43
|
req: import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
|
|
41
44
|
res: import("express").Response<any, Record<string, any>>;
|
package/dist/db/index.js
CHANGED
|
@@ -33760,6 +33760,7 @@ var subsystemLogger = (name2) => {
|
|
|
33760
33760
|
|
|
33761
33761
|
// src/logger.ts
|
|
33762
33762
|
var dbLogger = subsystemLogger("ozone:db");
|
|
33763
|
+
var seqLogger = subsystemLogger("ozone:sequencer");
|
|
33763
33764
|
var httpLogger = subsystemLogger("ozone");
|
|
33764
33765
|
var langLogger = subsystemLogger("ozone:lang");
|
|
33765
33766
|
var loggerMiddleware = (0, import_pino_http.default)({
|
|
@@ -33796,7 +33797,8 @@ async function up(db) {
|
|
|
33796
33797
|
await db.schema.createTable("moderation_event").addColumn("id", "serial", (col) => col.primaryKey()).addColumn("action", "varchar", (col) => col.notNull()).addColumn("subjectType", "varchar", (col) => col.notNull()).addColumn("subjectDid", "varchar", (col) => col.notNull()).addColumn("subjectUri", "varchar").addColumn("subjectCid", "varchar").addColumn("comment", "text").addColumn("meta", "jsonb").addColumn("createdAt", "varchar", (col) => col.notNull()).addColumn("createdBy", "varchar", (col) => col.notNull()).addColumn("reversedAt", "varchar").addColumn("reversedBy", "varchar").addColumn("durationInHours", "integer").addColumn("expiresAt", "varchar").addColumn("reversedReason", "text").addColumn("createLabelVals", "varchar").addColumn("negateLabelVals", "varchar").addColumn("legacyRefId", "integer").execute();
|
|
33797
33798
|
await db.schema.createTable("moderation_subject_status").addColumn("id", "serial", (col) => col.primaryKey()).addColumn("did", "varchar", (col) => col.notNull()).addColumn("recordPath", "varchar", (col) => col.notNull().defaultTo("")).addColumn("blobCids", "jsonb").addColumn("recordCid", "varchar").addColumn("reviewState", "varchar", (col) => col.notNull()).addColumn("comment", "varchar").addColumn("muteUntil", "varchar").addColumn("lastReviewedAt", "varchar").addColumn("lastReviewedBy", "varchar").addColumn("lastReportedAt", "varchar").addColumn("lastAppealedAt", "varchar").addColumn("takendown", "boolean", (col) => col.defaultTo(false).notNull()).addColumn("suspendUntil", "varchar").addColumn("appealed", "boolean").addColumn("createdAt", "varchar", (col) => col.notNull()).addColumn("updatedAt", "varchar", (col) => col.notNull()).addUniqueConstraint("moderation_status_unique_idx", ["did", "recordPath"]).execute();
|
|
33798
33799
|
await db.schema.createIndex("moderation_subject_status_blob_cids_idx").on("moderation_subject_status").using("gin").column("blobCids").execute();
|
|
33799
|
-
await db.schema.createTable("label").addColumn("
|
|
33800
|
+
await db.schema.createTable("label").addColumn("id", "bigserial", (col) => col.primaryKey()).addColumn("src", "varchar", (col) => col.notNull()).addColumn("uri", "varchar", (col) => col.notNull()).addColumn("cid", "varchar", (col) => col.notNull()).addColumn("val", "varchar", (col) => col.notNull()).addColumn("neg", "boolean", (col) => col.notNull()).addColumn("cts", "varchar", (col) => col.notNull()).execute();
|
|
33801
|
+
await db.schema.createIndex("unique_label_idx").unique().on("label").columns(["src", "uri", "cid", "val"]).execute();
|
|
33800
33802
|
await db.schema.createIndex("label_uri_index").on("label").column("uri").execute();
|
|
33801
33803
|
await db.schema.createTable("repo_push_event").addColumn("id", "serial", (col) => col.primaryKey()).addColumn("eventType", "varchar", (col) => col.notNull()).addColumn("subjectDid", "varchar", (col) => col.notNull()).addColumn("takedownRef", "varchar").addColumn("confirmedAt", "timestamptz").addColumn("lastAttempted", "timestamptz").addColumn("attempts", "integer", (col) => col.notNull().defaultTo(0)).addUniqueConstraint("repo_push_event_unique_evt", [
|
|
33802
33804
|
"subjectDid",
|