userMiddleware -> tokenMiddleware

This commit is contained in:
Alex Gleason 2025-02-21 13:27:19 -06:00
parent f83925331a
commit 5ad7f1d5d7
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
2 changed files with 6 additions and 6 deletions

View file

@ -1,2 +1,2 @@
export { paginationMiddleware } from './paginationMiddleware.ts';
export { userMiddleware } from './userMiddleware.ts';
export { tokenMiddleware } from './tokenMiddleware.ts';

View file

@ -20,12 +20,12 @@ interface User {
/** We only accept "Bearer" type. */
const BEARER_REGEX = new RegExp(`^Bearer (${nip19.BECH32_REGEX.source})$`);
export function userMiddleware(opts: { privileged: true; required: false }): never;
export function tokenMiddleware(opts: { privileged: true; required: false }): never;
// @ts-ignore The types are right.
export function userMiddleware(opts: { privileged: false; required: true }): DittoMiddleware<{ user: User }>;
export function userMiddleware(opts: { privileged: true; required?: boolean }): DittoMiddleware<{ user: User }>;
export function userMiddleware(opts: { privileged: false; required?: boolean }): DittoMiddleware<{ user?: User }>;
export function userMiddleware(opts: { privileged: boolean; required?: boolean }): DittoMiddleware<{ user?: User }> {
export function tokenMiddleware(opts: { privileged: false; required: true }): DittoMiddleware<{ user: User }>;
export function tokenMiddleware(opts: { privileged: true; required?: boolean }): DittoMiddleware<{ user: User }>;
export function tokenMiddleware(opts: { privileged: false; required?: boolean }): DittoMiddleware<{ user?: User }>;
export function tokenMiddleware(opts: { privileged: boolean; required?: boolean }): DittoMiddleware<{ user?: User }> {
const { privileged, required = privileged } = opts;
if (privileged && !required) {