Skip to content

New endpoint format for the ReArc backend #219

@IzKuipers

Description

@IzKuipers

Old:

export const AdminStoreVerificationGet: RouteArrayed = [
  "get",
  "/admin/store/verification/:itemId",
  async (req, res, stop) => {
    if (!req.headers.authorization) return stop();

    const [type, token] = req.headers.authorization.split(" ");

    if (type !== "Bearer" || !token) return stop();

    const user = await getUserByToken(token);

    if (await isTokenRestricted(token)) return stop(403);
    if (!user || !user.admin) return stop(403);
    if (!canAccess(user, AdminScopes.adminStoreVerificationGet))
      return stop(401);

    const pkg = await getPackageById(req.params.itemId);
    if (!pkg) return stop(404);

    res.json({
      version: pkg.verifiedVer,
      by: pkg.verifiedBy,
      note: pkg.verifiedNote,
    });

    return;
  },
  0,
];

New:

export class AdminStoreVerificationGet extends AdminEndpointBuilder<{ itemId: string }>(AdminScopes.adminStoreVerificationGet, Params("itemId")) {
  static method: Method = "get";
  static route = "/admin/store/verification/:itemId";

  async handler(_: Request, res: Response, stop: StopFn): Promise<any> {
    const pkg = await getPackageById(this.params.itemId);
    if (!pkg) return stop(404);

    res.json({
      version: pkg.verifiedVer,
      by: pkg.verifiedBy,
      note: pkg.verifiedNote,
    });
  }
}

Metadata

Metadata

Assignees

Labels

Proof of ConceptReArc BackendThis concerns either the backend itself or the client -> server connectionRefactoringThis issue refactors a part of the codebaseResearch

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions