diff --git a/packages/ditto/controllers/api/accounts.ts b/packages/ditto/controllers/api/accounts.ts index 685ef70a..495e79b5 100644 --- a/packages/ditto/controllers/api/accounts.ts +++ b/packages/ditto/controllers/api/accounts.ts @@ -72,8 +72,8 @@ const verifyCredentialsController: AppController = async (c) => { } const account = author - ? await renderAccount(author, { withSource: true, settingsStore }) - : await accountFromPubkey(pubkey, { withSource: true, settingsStore }); + ? renderAccount(author, { withSource: true, settingsStore }) + : accountFromPubkey(pubkey, { withSource: true, settingsStore }); return c.json(account); }; diff --git a/packages/ditto/controllers/api/statuses.ts b/packages/ditto/controllers/api/statuses.ts index 4bf2ed23..8bc04151 100644 --- a/packages/ditto/controllers/api/statuses.ts +++ b/packages/ditto/controllers/api/statuses.ts @@ -1,5 +1,5 @@ import { HTTPException } from '@hono/hono/http-exception'; -import { paginated, paginatedList } from '@ditto/mastoapi/pagination'; +import { paginated, paginatedList, paginationSchema } from '@ditto/mastoapi/pagination'; import { NostrEvent, NSchema as n } from '@nostrify/nostrify'; import 'linkify-plugin-hashtag'; import linkify from 'linkifyjs'; @@ -10,7 +10,6 @@ import { type AppController } from '@/app.ts'; import { DittoUpload, dittoUploads } from '@/DittoUploads.ts'; import { DittoEvent } from '@/interfaces/DittoEvent.ts'; import { getAncestors, getAuthor, getDescendants, getEvent } from '@/queries.ts'; -import { paginationSchema } from '@/schemas/pagination.ts'; import { addTag, deleteTag } from '@/utils/tags.ts'; import { asyncReplaceAll } from '@/utils/text.ts'; import { lookupPubkey } from '@/utils/lookup.ts'; diff --git a/packages/ditto/controllers/api/suggestions.ts b/packages/ditto/controllers/api/suggestions.ts index 39cbd235..cb6a8206 100644 --- a/packages/ditto/controllers/api/suggestions.ts +++ b/packages/ditto/controllers/api/suggestions.ts @@ -1,9 +1,8 @@ -import { paginated, paginatedList } from '@ditto/mastoapi/pagination'; +import { paginated, paginatedList, paginationSchema } from '@ditto/mastoapi/pagination'; import { NostrFilter } from '@nostrify/nostrify'; import { matchFilter } from 'nostr-tools'; import { AppContext, AppController } from '@/app.ts'; -import { paginationSchema } from '@/schemas/pagination.ts'; import { hydrateEvents } from '@/storages/hydrate.ts'; import { getTagSet } from '@/utils/tags.ts'; import { accountFromPubkey, renderAccount } from '@/views/mastodon/accounts.ts'; diff --git a/packages/ditto/controllers/api/trends.ts b/packages/ditto/controllers/api/trends.ts index ce35601f..a687c2cc 100644 --- a/packages/ditto/controllers/api/trends.ts +++ b/packages/ditto/controllers/api/trends.ts @@ -1,11 +1,10 @@ import { type DittoConf } from '@ditto/conf'; -import { paginated } from '@ditto/mastoapi/pagination'; +import { paginated, paginationSchema } from '@ditto/mastoapi/pagination'; import { NostrEvent, NostrFilter, NStore } from '@nostrify/nostrify'; import { logi } from '@soapbox/logi'; import { z } from 'zod'; import { AppController } from '@/app.ts'; -import { paginationSchema } from '@/schemas/pagination.ts'; import { hydrateEvents } from '@/storages/hydrate.ts'; import { generateDateRange, Time } from '@/utils/time.ts'; import { PreviewCard, unfurlCardCached } from '@/utils/unfurl.ts'; diff --git a/packages/ditto/schemas/pagination.ts b/packages/ditto/schemas/pagination.ts deleted file mode 100644 index 89e3c5f6..00000000 --- a/packages/ditto/schemas/pagination.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { z } from 'zod'; - -/** Schema to parse pagination query params. */ -export const paginationSchema = z.object({ - max_id: z.string().transform((val) => { - if (!val.includes('-')) return val; - return val.split('-')[1]; - }).optional().catch(undefined), - min_id: z.string().optional().catch(undefined), - since: z.coerce.number().nonnegative().optional().catch(undefined), - until: z.coerce.number().nonnegative().optional().catch(undefined), - limit: z.coerce.number().catch(20).transform((value) => Math.min(Math.max(value, 0), 40)), - offset: z.coerce.number().nonnegative().catch(0), -}); diff --git a/packages/ditto/views.ts b/packages/ditto/views.ts index ae708360..79379e6c 100644 --- a/packages/ditto/views.ts +++ b/packages/ditto/views.ts @@ -1,8 +1,7 @@ -import { paginated, paginatedList } from '@ditto/mastoapi/pagination'; +import { paginated, paginatedList, paginationSchema } from '@ditto/mastoapi/pagination'; import { NostrEvent, NostrFilter } from '@nostrify/nostrify'; import { AppContext } from '@/app.ts'; -import { paginationSchema } from '@/schemas/pagination.ts'; import { renderAccount } from '@/views/mastodon/accounts.ts'; import { renderStatus } from '@/views/mastodon/statuses.ts'; import { hydrateEvents } from '@/storages/hydrate.ts';