a tool for shared writing and social publishing
1import { Inngest } from "inngest";
2import { EventSchemas } from "inngest";
3import { Json } from "supabase/database.types";
4
5export type Events = {
6 "feeds/index-follows": {
7 data: {
8 did: string;
9 };
10 };
11 "appview/profile-update": {
12 data: {
13 record: any;
14 did: string;
15 };
16 };
17 "appview/index-bsky-post-mention": {
18 data: {
19 post_uri: string;
20 document_link: string;
21 };
22 };
23 "appview/come-online": { data: {} };
24 "user/migrate-to-standard": {
25 data: {
26 did: string;
27 };
28 };
29 "user/cleanup-expired-oauth-sessions": {
30 data: {};
31 };
32 "user/check-oauth-session": {
33 data: {
34 identityId: string;
35 did: string;
36 tokenCount: number;
37 };
38 };
39 "documents/fix-publication-references": {
40 data: {
41 documentUris: string[];
42 };
43 };
44 "documents/fix-incorrect-site-values": {
45 data: {
46 did: string;
47 };
48 };
49 "documents/fix-postref": {
50 data: {
51 documentUris?: string[];
52 };
53 };
54 "appview/index-document": {
55 data: {
56 document_uri: string;
57 document_data: Json;
58 bsky_post_uri?: string;
59 publication: string | null;
60 did: string;
61 };
62 };
63 "user/write-records-to-pds": {
64 data: {
65 did: string;
66 records: Array<{
67 collection: string;
68 rkey: string;
69 record: unknown;
70 }>;
71 };
72 };
73};
74
75// Create a client to send and receive events
76export const inngest = new Inngest({
77 id: "leaflet",
78 schemas: new EventSchemas().fromRecord<Events>(),
79});