50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
/** `@app/trpc` 对外入口:appRouter 类型 + 可独立调用的 service。 */
|
||
// Router
|
||
export { appRouter } from "./router/index.js";
|
||
export type { AppRouter, RouterInputs, RouterOutputs, TrpcContext } from "./router/index.js";
|
||
export { mediaRouter } from "./router/media.router.js";
|
||
|
||
// Service layer — usable without tRPC (tests, scripts)
|
||
export { userService } from "./services/user.service.js";
|
||
export type {
|
||
ListUsersInput,
|
||
GetUserInput,
|
||
CreateUserInput,
|
||
UpdateUserInput,
|
||
DeleteUserInput,
|
||
UserListOutput,
|
||
} from "./services/user.service.js";
|
||
export {
|
||
authService,
|
||
AuthError,
|
||
sessionCookie,
|
||
clearSessionCookie,
|
||
} from "./services/auth.service.js";
|
||
export type {
|
||
RegisterInput,
|
||
LoginInput,
|
||
ChangePasswordInput,
|
||
SessionScope,
|
||
RequestResetInput,
|
||
ResetPasswordInput,
|
||
} from "./services/auth.service.js";
|
||
|
||
// Media / WebDAV
|
||
export { mountService } from "./services/mount.service.js";
|
||
export type { MountPublic } from "./services/mount.service.js";
|
||
export { libraryService } from "./services/library.service.js";
|
||
export {
|
||
scrapeService,
|
||
parseEpisodeFromFilename,
|
||
buildSearchQuery,
|
||
} from "./services/scrape.service.js";
|
||
export type { BangumiSearchHit } from "./services/scrape.service.js";
|
||
|
||
// Playback / danmaku
|
||
export { playbackService } from "./services/playback.service.js";
|
||
export { danmakuService } from "./services/danmaku.service.js";
|
||
|
||
// Stream range proxy
|
||
export { openRemoteFileStream, StreamSourceError } from "./services/stream.service.js";
|
||
export type { RemoteFileStream } from "./services/stream.service.js";
|