diff --git a/packages/ditto/interfaces/DittoEvent.ts b/packages/api/DittoEvent.ts similarity index 93% rename from packages/ditto/interfaces/DittoEvent.ts rename to packages/api/DittoEvent.ts index d1b0c280..ff6a76ac 100644 --- a/packages/ditto/interfaces/DittoEvent.ts +++ b/packages/api/DittoEvent.ts @@ -1,5 +1,5 @@ -import { NostrEvent } from '@nostrify/nostrify'; -import { LanguageCode } from 'iso-639-1'; +import type { NostrEvent } from '@nostrify/nostrify'; +import type { LanguageCode } from 'iso-639-1'; /** Ditto internal stats for the event's author. */ export interface AuthorStats { diff --git a/packages/api/deno.json b/packages/api/deno.json index f9befe4b..1e671c9e 100644 --- a/packages/api/deno.json +++ b/packages/api/deno.json @@ -3,6 +3,7 @@ "version": "1.1.0", "exports": { ".": "./mod.ts", - "./middleware": "./middleware/mod.ts" + "./middleware": "./middleware/mod.ts", + "./views": "./views/mod.ts" } } diff --git a/packages/api/mod.ts b/packages/api/mod.ts index 8e9d1d46..a23d007d 100644 --- a/packages/api/mod.ts +++ b/packages/api/mod.ts @@ -2,3 +2,4 @@ export { DittoApp } from './DittoApp.ts'; export { DittoRoute } from './DittoRoute.ts'; export type { DittoEnv } from './DittoEnv.ts'; +export type { DittoEvent } from './DittoEvent.ts'; diff --git a/packages/ditto/controllers/api/timelines.ts b/packages/api/routes/timelinesRoute.ts similarity index 100% rename from packages/ditto/controllers/api/timelines.ts rename to packages/api/routes/timelinesRoute.ts diff --git a/packages/ditto/views/mastodon/AccountView.ts b/packages/api/views/AccountView.ts similarity index 96% rename from packages/ditto/views/mastodon/AccountView.ts rename to packages/api/views/AccountView.ts index dff0cb5c..f53d011a 100644 --- a/packages/ditto/views/mastodon/AccountView.ts +++ b/packages/api/views/AccountView.ts @@ -1,7 +1,7 @@ -import { DittoConf } from '@ditto/conf'; -import { NSchema as n } from '@nostrify/nostrify'; -import { nip19, UnsignedEvent } from 'nostr-tools'; +import { type NostrEvent, NSchema as n } from '@nostrify/nostrify'; +import { nip19 } from 'nostr-tools'; +import type { DittoConf } from '@ditto/conf'; import { MastodonAccount } from '@/entities/MastodonAccount.ts'; import { type DittoEvent } from '@/interfaces/DittoEvent.ts'; import { metadataSchema } from '@/schemas/nostr.ts'; @@ -157,7 +157,7 @@ export class AccountView { } private accountFromPubkey(pubkey: string, opts: ToAccountOpts = {}): MastodonAccount { - const event: UnsignedEvent = { + const event: Omit = { kind: 0, pubkey, content: '', diff --git a/packages/ditto/views/mastodon/AdminAccountView.ts b/packages/api/views/AdminAccountView.ts similarity index 89% rename from packages/ditto/views/mastodon/AdminAccountView.ts rename to packages/api/views/AdminAccountView.ts index 20403ddb..3e3d27e5 100644 --- a/packages/ditto/views/mastodon/AdminAccountView.ts +++ b/packages/api/views/AdminAccountView.ts @@ -1,8 +1,7 @@ -import { DittoConf } from '@ditto/conf'; +import { AccountView } from './AccountView.ts'; -import { DittoEvent } from '@/interfaces/DittoEvent.ts'; -import { getTagSet } from '@/utils/tags.ts'; -import { AccountView } from '@/views/mastodon/AccountView.ts'; +import type { DittoEvent } from '@ditto/api'; +import type { DittoConf } from '@ditto/conf'; interface AdminAccountViewOpts { conf: DittoConf; diff --git a/packages/ditto/views/mastodon/StatusView.ts b/packages/api/views/StatusView.ts similarity index 100% rename from packages/ditto/views/mastodon/StatusView.ts rename to packages/api/views/StatusView.ts diff --git a/packages/api/views/mod.ts b/packages/api/views/mod.ts new file mode 100644 index 00000000..1bfa1383 --- /dev/null +++ b/packages/api/views/mod.ts @@ -0,0 +1,3 @@ +export { AccountView } from './AccountView.ts'; +export { AdminAccountView } from './AdminAccountView.ts'; +export { StatusView } from './StatusView.ts';