check.ts 669 B

12345678910111213141516171819202122
  1. import { Request as ExpressRequest, Response as ExpressResponse, json } from "express";
  2. import { rpcClient } from "src/utils/rpc";
  3. export interface AuthInfo {
  4. loggedIn: boolean;
  5. moderator: boolean;
  6. }
  7. type CheckResult = Promise<ExpressResponse<CheckResult>>;
  8. export const get = async (req: ExpressRequest, res: ExpressResponse): CheckResult => {
  9. if (!req.session?.userId) {
  10. return res.json({
  11. loggedIn: false,
  12. moderator: false,
  13. });
  14. }
  15. const { authorised } = await rpcClient.userAuthorised({ userId: req.session.userId });
  16. return res.json({
  17. loggedIn: true,
  18. moderator: authorised,
  19. });
  20. };