···104```
105106For more information, read the Bun API docs in `node_modules/bun-types/docs/**.mdx`.
0000000000
···104```
105106For more information, read the Bun API docs in `node_modules/bun-types/docs/**.mdx`.
107+108+## atproto
109+### Generating Lexicon
110+Using @atcute/lex-cli for creating Lexicon.
111+112+- [Reference](https://raw.githubusercontent.com/mary-ext/atcute/refs/heads/trunk/packages/lexicons/lex-cli/README.md)
113+114+```sh
115+just generate-lexicon
116+```
···1generate-lexicon:
2 cd ./packages/lexicon/ && bun run lex-cli generate && bun run lex-cli export
300
···1generate-lexicon:
2 cd ./packages/lexicon/ && bun run lex-cli generate && bun run lex-cli export
34+spawn-database:
5+ cd ./dev && docker compose up
···1+CREATE TABLE "artists" (
2+ "id" serial PRIMARY KEY NOT NULL,
3+ "did" text,
4+ "name" text,
5+ CONSTRAINT "artists_did_unique" UNIQUE("did"),
6+ CONSTRAINT "did_or_name" CHECK ("artists"."did" IS NOT NULL OR "artists"."name" IS NOT NULL)
7+);
8+--> statement-breakpoint
9+CREATE TABLE "track_artists" (
10+ "id" serial PRIMARY KEY NOT NULL,
11+ "track_uri" text NOT NULL,
12+ "artist_id" integer NOT NULL,
13+ "position" integer NOT NULL
14+);
15+--> statement-breakpoint
16+CREATE TABLE "tracks" (
17+ "uri" text PRIMARY KEY NOT NULL,
18+ "did" text NOT NULL,
19+ "rkey" text NOT NULL,
20+ "cid" text NOT NULL,
21+ "title" text NOT NULL,
22+ "description" text,
23+ "created_at" timestamp with time zone NOT NULL,
24+ "release_date" timestamp with time zone,
25+ "duration_ms" integer,
26+ "tags" text[],
27+ "language" text,
28+ "license" text,
29+ "lyrics" text,
30+ "album_art" jsonb,
31+ "audio" jsonb,
32+ "external_url" text,
33+ "indexed_at" timestamp with time zone DEFAULT now() NOT NULL
34+);
35+--> statement-breakpoint
36+ALTER TABLE "track_artists" ADD CONSTRAINT "track_artists_track_uri_tracks_uri_fk" FOREIGN KEY ("track_uri") REFERENCES "public"."tracks"("uri") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
37+ALTER TABLE "track_artists" ADD CONSTRAINT "track_artists_artist_id_artists_id_fk" FOREIGN KEY ("artist_id") REFERENCES "public"."artists"("id") ON DELETE cascade ON UPDATE no action;
···01export * as CaAnsxorCatnipTrack from "./types/ca/ansxor/catnip/track.js";
···1+export * as CaAnsxorCatnipGetTracks from "./types/ca/ansxor/catnip/getTracks.js";
2export * as CaAnsxorCatnipTrack from "./types/ca/ansxor/catnip/track.js";