@atproto/ozone 0.0.17-next.0 → 0.0.17-next.1
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/api/util.d.ts +10 -0
- package/dist/auth-verifier.d.ts +2 -2
- package/dist/communication-service/template.d.ts +2 -2
- package/dist/config/config.d.ts +5 -0
- package/dist/config/env.d.ts +2 -0
- package/dist/context.d.ts +6 -0
- package/dist/daemon/blob-diverter.d.ts +26 -0
- package/dist/daemon/event-pusher.d.ts +4 -0
- package/dist/daemon/index.d.ts +1 -0
- package/dist/db/index.js +21 -1
- package/dist/db/index.js.map +3 -3
- package/dist/db/migrations/20240228T003647759Z-add-label-sigs.d.ts +3 -0
- package/dist/db/migrations/index.d.ts +1 -0
- package/dist/db/schema/index.d.ts +2 -1
- package/dist/db/schema/label.d.ts +4 -0
- package/dist/db/schema/moderation_event.d.ts +1 -1
- package/dist/db/schema/moderation_subject_status.d.ts +1 -1
- package/dist/db/schema/signing_key.d.ts +9 -0
- package/dist/index.js +10949 -10628
- package/dist/index.js.map +3 -3
- package/dist/lexicon/index.d.ts +48 -28
- package/dist/lexicon/lexicons.d.ts +4641 -4650
- package/dist/lexicon/types/app/bsky/actor/defs.d.ts +7 -7
- package/dist/lexicon/types/app/bsky/feed/defs.d.ts +1 -0
- package/dist/lexicon/types/app/bsky/graph/defs.d.ts +3 -0
- package/dist/lexicon/types/com/atproto/admin/defs.d.ts +0 -305
- package/dist/lexicon/types/com/atproto/label/defs.d.ts +5 -0
- package/dist/lexicon/types/{com/atproto/admin/createCommunicationTemplate.d.ts → tools/ozone/communication/createTemplate.d.ts} +2 -2
- package/dist/lexicon/types/tools/ozone/communication/defs.d.ts +14 -0
- package/dist/lexicon/types/{com/atproto/admin/listCommunicationTemplates.d.ts → tools/ozone/communication/listTemplates.d.ts} +2 -2
- package/dist/lexicon/types/{com/atproto/admin/updateCommunicationTemplate.d.ts → tools/ozone/communication/updateTemplate.d.ts} +2 -2
- package/dist/lexicon/types/tools/ozone/moderation/defs.d.ts +269 -0
- package/dist/lexicon/types/{com/atproto/admin/emitModerationEvent.d.ts → tools/ozone/moderation/emitEvent.d.ts} +5 -4
- package/dist/lexicon/types/{com/atproto/admin/getModerationEvent.d.ts → tools/ozone/moderation/getEvent.d.ts} +2 -2
- package/dist/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/getRecord.d.ts +2 -2
- package/dist/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/getRepo.d.ts +2 -2
- package/dist/lexicon/types/{com/atproto/admin/queryModerationEvents.d.ts → tools/ozone/moderation/queryEvents.d.ts} +2 -2
- package/dist/lexicon/types/{com/atproto/admin/queryModerationStatuses.d.ts → tools/ozone/moderation/queryStatuses.d.ts} +2 -2
- package/dist/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/searchRepos.d.ts +2 -2
- package/dist/mod-service/index.d.ts +16 -15
- package/dist/mod-service/subject.d.ts +1 -1
- package/dist/mod-service/types.d.ts +2 -2
- package/dist/mod-service/util.d.ts +6 -0
- package/dist/mod-service/views.d.ts +9 -3
- package/dist/sequencer/sequencer.d.ts +6 -4
- package/dist/util.d.ts +2 -0
- package/package.json +7 -7
- package/src/api/{admin/createCommunicationTemplate.ts → communication/createTemplate.ts} +1 -1
- package/src/api/{admin/deleteCommunicationTemplate.ts → communication/deleteTemplate.ts} +1 -1
- package/src/api/{admin/listCommunicationTemplates.ts → communication/listTemplates.ts} +1 -1
- package/src/api/{admin/updateCommunicationTemplate.ts → communication/updateTemplate.ts} +1 -1
- package/src/api/index.ts +21 -21
- package/src/api/{temp → label}/fetchLabels.ts +4 -2
- package/src/api/label/queryLabels.ts +4 -2
- package/src/api/moderation/emitEvent.ts +218 -0
- package/src/api/{admin/getModerationEvent.ts → moderation/getEvent.ts} +1 -1
- package/src/api/{admin → moderation}/getRecord.ts +2 -2
- package/src/api/{admin → moderation}/getRepo.ts +2 -2
- package/src/api/{admin/queryModerationEvents.ts → moderation/queryEvents.ts} +2 -2
- package/src/api/{admin/queryModerationStatuses.ts → moderation/queryStatuses.ts} +2 -2
- package/src/api/{admin → moderation}/searchRepos.ts +1 -1
- package/src/api/{moderation → report}/createReport.ts +1 -1
- package/src/api/util.ts +119 -0
- package/src/auth-verifier.ts +2 -2
- package/src/communication-service/template.ts +2 -2
- package/src/config/config.ts +14 -0
- package/src/config/env.ts +4 -0
- package/src/context.ts +35 -9
- package/src/daemon/blob-diverter.ts +150 -0
- package/src/daemon/context.ts +9 -5
- package/src/daemon/event-pusher.ts +49 -14
- package/src/daemon/index.ts +1 -0
- package/src/db/migrations/20240228T003647759Z-add-label-sigs.ts +25 -0
- package/src/db/migrations/index.ts +1 -0
- package/src/db/schema/index.ts +2 -0
- package/src/db/schema/label.ts +3 -0
- package/src/db/schema/moderation_event.ts +11 -11
- package/src/db/schema/moderation_subject_status.ts +1 -1
- package/src/db/schema/signing_key.ts +10 -0
- package/src/lexicon/index.ts +178 -138
- package/src/lexicon/lexicons.ts +6078 -6106
- package/src/lexicon/types/app/bsky/actor/defs.ts +11 -11
- package/src/lexicon/types/app/bsky/feed/defs.ts +1 -0
- package/src/lexicon/types/app/bsky/graph/defs.ts +3 -0
- package/src/lexicon/types/com/atproto/admin/defs.ts +0 -697
- package/src/lexicon/types/com/atproto/label/defs.ts +10 -0
- package/src/lexicon/types/{com/atproto/admin/createCommunicationTemplate.ts → tools/ozone/communication/createTemplate.ts} +2 -2
- package/src/lexicon/types/tools/ozone/communication/defs.ts +35 -0
- package/src/lexicon/types/{com/atproto/admin/listCommunicationTemplates.ts → tools/ozone/communication/listTemplates.ts} +2 -2
- package/src/lexicon/types/{com/atproto/admin/updateCommunicationTemplate.ts → tools/ozone/communication/updateTemplate.ts} +2 -2
- package/src/lexicon/types/tools/ozone/moderation/defs.ts +641 -0
- package/src/lexicon/types/{com/atproto/admin/emitModerationEvent.ts → tools/ozone/moderation/emitEvent.ts} +15 -14
- package/src/lexicon/types/{com/atproto/admin/getModerationEvent.ts → tools/ozone/moderation/getEvent.ts} +2 -2
- package/src/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/getRecord.ts +2 -2
- package/src/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/getRepo.ts +2 -2
- package/src/lexicon/types/{com/atproto/admin/queryModerationEvents.ts → tools/ozone/moderation/queryEvents.ts} +3 -3
- package/src/lexicon/types/{com/atproto/admin/queryModerationStatuses.ts → tools/ozone/moderation/queryStatuses.ts} +2 -2
- package/src/lexicon/types/{com/atproto/admin → tools/ozone/moderation}/searchRepos.ts +2 -2
- package/src/mod-service/index.ts +42 -47
- package/src/mod-service/lang.ts +1 -1
- package/src/mod-service/status.ts +19 -16
- package/src/mod-service/subject.ts +1 -1
- package/src/mod-service/types.ts +10 -10
- package/src/mod-service/util.ts +49 -5
- package/src/mod-service/views.ts +45 -18
- package/src/sequencer/sequencer.ts +12 -11
- package/src/util.ts +21 -0
- package/tests/__snapshots__/blob-divert.test.ts.snap +22 -0
- package/tests/__snapshots__/get-record.test.ts.snap +10 -2
- package/tests/__snapshots__/get-repo.test.ts.snap +5 -1
- package/tests/__snapshots__/moderation-events.test.ts.snap +8 -8
- package/tests/__snapshots__/moderation-statuses.test.ts.snap +6 -6
- package/tests/_util.ts +5 -0
- package/tests/blob-divert.test.ts +87 -0
- package/tests/communication-templates.test.ts +30 -34
- package/tests/db.test.ts +6 -6
- package/tests/get-record.test.ts +6 -6
- package/tests/get-repo.test.ts +11 -11
- package/tests/moderation-appeals.test.ts +28 -28
- package/tests/moderation-events.test.ts +44 -44
- package/tests/moderation-status-tags.test.ts +8 -10
- package/tests/moderation-statuses.test.ts +27 -27
- package/tests/moderation.test.ts +50 -57
- package/tests/query-labels.test.ts +86 -10
- package/tests/repo-search.test.ts +8 -8
- package/tests/sequencer.test.ts +6 -3
- package/dist/api/admin/util.d.ts +0 -5
- package/dist/api/moderation/util.d.ts +0 -4
- package/src/api/admin/emitModerationEvent.ts +0 -174
- package/src/api/admin/util.ts +0 -54
- package/src/api/moderation/util.ts +0 -67
- /package/dist/api/{admin/createCommunicationTemplate.d.ts → communication/createTemplate.d.ts} +0 -0
- /package/dist/api/{admin/deleteCommunicationTemplate.d.ts → communication/deleteTemplate.d.ts} +0 -0
- /package/dist/api/{admin/emitModerationEvent.d.ts → communication/listTemplates.d.ts} +0 -0
- /package/dist/api/{admin/getModerationEvent.d.ts → communication/updateTemplate.d.ts} +0 -0
- /package/dist/api/{temp → label}/fetchLabels.d.ts +0 -0
- /package/dist/api/{admin/getRecord.d.ts → moderation/emitEvent.d.ts} +0 -0
- /package/dist/api/{admin/getRepo.d.ts → moderation/getEvent.d.ts} +0 -0
- /package/dist/api/{admin/listCommunicationTemplates.d.ts → moderation/getRecord.d.ts} +0 -0
- /package/dist/api/{admin/queryModerationEvents.d.ts → moderation/getRepo.d.ts} +0 -0
- /package/dist/api/{admin/queryModerationStatuses.d.ts → moderation/queryEvents.d.ts} +0 -0
- /package/dist/api/{admin/searchRepos.d.ts → moderation/queryStatuses.d.ts} +0 -0
- /package/dist/api/{admin/updateCommunicationTemplate.d.ts → moderation/searchRepos.d.ts} +0 -0
- /package/dist/api/{moderation → report}/createReport.d.ts +0 -0
- /package/dist/lexicon/types/{com/atproto/admin/deleteCommunicationTemplate.d.ts → tools/ozone/communication/deleteTemplate.d.ts} +0 -0
- /package/src/lexicon/types/{com/atproto/admin/deleteCommunicationTemplate.ts → tools/ozone/communication/deleteTemplate.ts} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InputSchema as ReportInput } from '../lexicon/types/com/atproto/moderation/createReport';
|
|
2
|
+
import { AccountView } from '../lexicon/types/com/atproto/admin/defs';
|
|
3
|
+
import { RepoView, RepoViewDetail } from '../lexicon/types/tools/ozone/moderation/defs';
|
|
4
|
+
import AppContext from '../context';
|
|
5
|
+
export declare const getPdsAccountInfo: (ctx: AppContext, did: string) => Promise<AccountView | null>;
|
|
6
|
+
export declare const addAccountInfoToRepoViewDetail: (repoView: RepoViewDetail, accountInfo: AccountView | null, includeEmail?: boolean) => RepoViewDetail;
|
|
7
|
+
export declare const addAccountInfoToRepoView: (repoView: RepoView, accountInfo: AccountView | null, includeEmail?: boolean) => RepoView;
|
|
8
|
+
export declare const getReasonType: (reasonType: ReportInput['reasonType']) => string | boolean;
|
|
9
|
+
export declare const getEventType: (type: string) => "tools.ozone.moderation.defs#modEventTakedown" | "tools.ozone.moderation.defs#modEventAcknowledge" | "tools.ozone.moderation.defs#modEventEscalate" | "tools.ozone.moderation.defs#modEventComment" | "tools.ozone.moderation.defs#modEventLabel" | "tools.ozone.moderation.defs#modEventReport" | "tools.ozone.moderation.defs#modEventMute" | "tools.ozone.moderation.defs#modEventReverseTakedown" | "tools.ozone.moderation.defs#modEventEmail" | "tools.ozone.moderation.defs#modEventResolveAppeal" | "tools.ozone.moderation.defs#modEventTag";
|
|
10
|
+
export declare const getReviewState: (reviewState?: string) => "tools.ozone.moderation.defs#reviewOpen" | "tools.ozone.moderation.defs#reviewEscalated" | "tools.ozone.moderation.defs#reviewClosed" | "tools.ozone.moderation.defs#reviewNone" | undefined;
|
package/dist/auth-verifier.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { IdResolver } from '@atproto/identity';
|
|
|
3
3
|
type ReqCtx = {
|
|
4
4
|
req: express.Request;
|
|
5
5
|
};
|
|
6
|
-
type AdminTokenOutput = {
|
|
6
|
+
export type AdminTokenOutput = {
|
|
7
7
|
credentials: {
|
|
8
8
|
type: 'admin_token';
|
|
9
9
|
isAdmin: true;
|
|
@@ -11,7 +11,7 @@ type AdminTokenOutput = {
|
|
|
11
11
|
isTriage: true;
|
|
12
12
|
};
|
|
13
13
|
};
|
|
14
|
-
type ModeratorOutput = {
|
|
14
|
+
export type ModeratorOutput = {
|
|
15
15
|
credentials: {
|
|
16
16
|
type: 'moderator';
|
|
17
17
|
aud: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Database from '../db';
|
|
2
2
|
import { Selectable } from 'kysely';
|
|
3
3
|
import { CommunicationTemplate } from '../db/schema/communication_template';
|
|
4
|
-
import {
|
|
4
|
+
import { TemplateView } from '../lexicon/types/tools/ozone/communication/defs';
|
|
5
5
|
export type CommunicationTemplateServiceCreator = (db: Database) => CommunicationTemplateService;
|
|
6
6
|
export declare class CommunicationTemplateService {
|
|
7
7
|
db: Database;
|
|
@@ -14,5 +14,5 @@ export declare class CommunicationTemplateService {
|
|
|
14
14
|
}): Promise<Selectable<CommunicationTemplate>>;
|
|
15
15
|
update(id: number, { name, contentMarkdown, subject, disabled, updatedAt, lastUpdatedBy, }: Partial<Omit<Selectable<CommunicationTemplate>, 'id' | 'createdAt'>>): Promise<Selectable<CommunicationTemplate>>;
|
|
16
16
|
delete(id: number): Promise<void>;
|
|
17
|
-
view(template: Selectable<CommunicationTemplate>):
|
|
17
|
+
view(template: Selectable<CommunicationTemplate>): TemplateView;
|
|
18
18
|
}
|
package/dist/config/config.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type OzoneConfig = {
|
|
|
7
7
|
pds: PdsConfig | null;
|
|
8
8
|
cdn: CdnConfig;
|
|
9
9
|
identity: IdentityConfig;
|
|
10
|
+
blobDivert: BlobDivertConfig | null;
|
|
10
11
|
access: AccessConfig;
|
|
11
12
|
};
|
|
12
13
|
export type ServiceConfig = {
|
|
@@ -16,6 +17,10 @@ export type ServiceConfig = {
|
|
|
16
17
|
version?: string;
|
|
17
18
|
devMode?: boolean;
|
|
18
19
|
};
|
|
20
|
+
export type BlobDivertConfig = {
|
|
21
|
+
url: string;
|
|
22
|
+
adminPassword: string;
|
|
23
|
+
};
|
|
19
24
|
export type DatabaseConfig = {
|
|
20
25
|
postgresUrl: string;
|
|
21
26
|
postgresSchema?: string;
|
package/dist/config/env.d.ts
CHANGED
package/dist/context.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { ModerationServiceCreator } from './mod-service';
|
|
|
8
8
|
import { BackgroundQueue } from './background';
|
|
9
9
|
import Sequencer from './sequencer/sequencer';
|
|
10
10
|
import { CommunicationTemplateServiceCreator } from './communication-service/template';
|
|
11
|
+
import { BlobDiverter } from './daemon/blob-diverter';
|
|
11
12
|
import { AuthVerifier } from './auth-verifier';
|
|
12
13
|
import { ImageInvalidator } from './image-invalidator';
|
|
13
14
|
export type AppContextOptions = {
|
|
@@ -17,7 +18,9 @@ export type AppContextOptions = {
|
|
|
17
18
|
communicationTemplateService: CommunicationTemplateServiceCreator;
|
|
18
19
|
appviewAgent: AtpAgent;
|
|
19
20
|
pdsAgent: AtpAgent | undefined;
|
|
21
|
+
blobDiverter?: BlobDiverter;
|
|
20
22
|
signingKey: Keypair;
|
|
23
|
+
signingKeyId: number;
|
|
21
24
|
idResolver: IdResolver;
|
|
22
25
|
imgInvalidator?: ImageInvalidator;
|
|
23
26
|
backgroundQueue: BackgroundQueue;
|
|
@@ -33,10 +36,12 @@ export declare class AppContext {
|
|
|
33
36
|
get db(): Database;
|
|
34
37
|
get cfg(): OzoneConfig;
|
|
35
38
|
get modService(): ModerationServiceCreator;
|
|
39
|
+
get blobDiverter(): BlobDiverter | undefined;
|
|
36
40
|
get communicationTemplateService(): CommunicationTemplateServiceCreator;
|
|
37
41
|
get appviewAgent(): AtpAgent;
|
|
38
42
|
get pdsAgent(): AtpAgent | undefined;
|
|
39
43
|
get signingKey(): Keypair;
|
|
44
|
+
get signingKeyId(): number;
|
|
40
45
|
get plcClient(): plc.Client;
|
|
41
46
|
get idResolver(): IdResolver;
|
|
42
47
|
get backgroundQueue(): BackgroundQueue;
|
|
@@ -57,5 +62,6 @@ export declare class AppContext {
|
|
|
57
62
|
authorization: string;
|
|
58
63
|
};
|
|
59
64
|
}>;
|
|
65
|
+
devOverride(overrides: Partial<AppContextOptions>): void;
|
|
60
66
|
}
|
|
61
67
|
export default AppContext;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IdResolver } from '@atproto/identity';
|
|
3
|
+
import { Readable } from 'stream';
|
|
4
|
+
import Database from '../db';
|
|
5
|
+
import { BlobDivertConfig } from '../config';
|
|
6
|
+
export declare class BlobDiverter {
|
|
7
|
+
db: Database;
|
|
8
|
+
serviceConfig: BlobDivertConfig;
|
|
9
|
+
idResolver: IdResolver;
|
|
10
|
+
constructor(db: Database, services: {
|
|
11
|
+
idResolver: IdResolver;
|
|
12
|
+
serviceConfig: BlobDivertConfig;
|
|
13
|
+
});
|
|
14
|
+
private getBlob;
|
|
15
|
+
sendImage({ url, imageStream, contentType, }: {
|
|
16
|
+
url: string;
|
|
17
|
+
imageStream: Readable;
|
|
18
|
+
contentType: string;
|
|
19
|
+
}): Promise<boolean>;
|
|
20
|
+
private uploadBlob;
|
|
21
|
+
uploadBlobOnService({ subjectDid, subjectUri, subjectBlobCids, }: {
|
|
22
|
+
subjectDid: string;
|
|
23
|
+
subjectUri: string;
|
|
24
|
+
subjectBlobCids: string[];
|
|
25
|
+
}): Promise<boolean>;
|
|
26
|
+
}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import AtpAgent from '@atproto/api';
|
|
3
3
|
import Database from '../db';
|
|
4
4
|
import { RepoPushEventType } from '../db/schema/repo_push_event';
|
|
5
|
+
import { BlobPushEvent } from '../db/schema/blob_push_event';
|
|
6
|
+
import { Insertable, Selectable } from 'kysely';
|
|
5
7
|
type PollState = {
|
|
6
8
|
timer?: NodeJS.Timer;
|
|
7
9
|
promise: Promise<void>;
|
|
@@ -46,5 +48,7 @@ export declare class EventPusher {
|
|
|
46
48
|
attemptRepoEvent(id: number): Promise<void>;
|
|
47
49
|
attemptRecordEvent(id: number): Promise<void>;
|
|
48
50
|
attemptBlobEvent(id: number): Promise<void>;
|
|
51
|
+
markBlobEventAttempt(dbTxn: Database, event: Selectable<BlobPushEvent>, succeeded: boolean): Promise<void>;
|
|
52
|
+
logBlobPushEvent(blobValues: Insertable<BlobPushEvent>[], takedownRef?: string | null): Promise<import("kysely").Selection<import("../db/schema").DatabaseSchemaType, "blob_push_event", "id" | "subjectDid" | "subjectUri" | "eventType" | "subjectBlobCid">[]>;
|
|
49
53
|
}
|
|
50
54
|
export {};
|
package/dist/daemon/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { OzoneConfig, OzoneSecrets } from '../config';
|
|
|
2
2
|
import DaemonContext from './context';
|
|
3
3
|
import { AppContextOptions } from '../context';
|
|
4
4
|
export { EventPusher } from './event-pusher';
|
|
5
|
+
export { BlobDiverter } from './blob-diverter';
|
|
5
6
|
export { EventReverser } from './event-reverser';
|
|
6
7
|
export declare class OzoneDaemon {
|
|
7
8
|
ctx: DaemonContext;
|
package/dist/db/index.js
CHANGED
|
@@ -33784,7 +33784,8 @@ __export(migrations_exports, {
|
|
|
33784
33784
|
_20231219T205730722Z: () => T205730722Z_init_exports,
|
|
33785
33785
|
_20240116T085607200Z: () => T085607200Z_communication_template_exports,
|
|
33786
33786
|
_20240201T051104136Z: () => T051104136Z_mod_event_blobs_exports,
|
|
33787
|
-
_20240208T213404429Z: () => T213404429Z_add_tags_column_to_moderation_subject_exports
|
|
33787
|
+
_20240208T213404429Z: () => T213404429Z_add_tags_column_to_moderation_subject_exports,
|
|
33788
|
+
_20240228T003647759Z: () => T003647759Z_add_label_sigs_exports
|
|
33788
33789
|
});
|
|
33789
33790
|
|
|
33790
33791
|
// src/db/migrations/20231219T205730722Z-init.ts
|
|
@@ -33873,6 +33874,25 @@ async function down4(db) {
|
|
|
33873
33874
|
await db.schema.alterTable("moderation_subject_status").dropColumn("tags").execute();
|
|
33874
33875
|
}
|
|
33875
33876
|
|
|
33877
|
+
// src/db/migrations/20240228T003647759Z-add-label-sigs.ts
|
|
33878
|
+
var T003647759Z_add_label_sigs_exports = {};
|
|
33879
|
+
__export(T003647759Z_add_label_sigs_exports, {
|
|
33880
|
+
down: () => down5,
|
|
33881
|
+
up: () => up5
|
|
33882
|
+
});
|
|
33883
|
+
async function up5(db) {
|
|
33884
|
+
await db.schema.alterTable("label").addColumn("exp", "varchar").execute();
|
|
33885
|
+
await db.schema.alterTable("label").addColumn("sig", sql`bytea`).execute();
|
|
33886
|
+
await db.schema.alterTable("label").addColumn("signingKeyId", "integer").execute();
|
|
33887
|
+
await db.schema.createTable("signing_key").addColumn("id", "serial", (col) => col.primaryKey()).addColumn("key", "varchar", (col) => col.notNull().unique()).execute();
|
|
33888
|
+
}
|
|
33889
|
+
async function down5(db) {
|
|
33890
|
+
await db.schema.dropTable("signing_key");
|
|
33891
|
+
await db.schema.alterTable("label").dropColumn("exp").execute();
|
|
33892
|
+
await db.schema.alterTable("label").dropColumn("sig").execute();
|
|
33893
|
+
await db.schema.alterTable("label").dropColumn("signingKey").execute();
|
|
33894
|
+
}
|
|
33895
|
+
|
|
33876
33896
|
// src/db/migrations/provider.ts
|
|
33877
33897
|
var CtxMigrationProvider = class {
|
|
33878
33898
|
constructor(migrations, ctx) {
|