2022-08-25 10:52:19 +00:00
|
|
|
import { Middleware } from "retes";
|
|
|
|
import { Response } from "retes/response";
|
|
|
|
|
|
|
|
import { APL } from "../APL";
|
|
|
|
import { getSaleorHeaders } from "../headers";
|
|
|
|
|
|
|
|
export const withRegisteredSaleorDomainHeader =
|
|
|
|
({ apl }: { apl: APL }): Middleware =>
|
|
|
|
(handler) =>
|
|
|
|
async (request) => {
|
|
|
|
const { domain: saleorDomain } = getSaleorHeaders(request.headers);
|
2022-09-02 14:52:44 +00:00
|
|
|
if (!saleorDomain) {
|
|
|
|
return Response.BadRequest({
|
|
|
|
success: false,
|
|
|
|
message: "Domain header missing.",
|
|
|
|
});
|
|
|
|
}
|
2022-08-25 10:52:19 +00:00
|
|
|
const authData = await apl.get(saleorDomain);
|
|
|
|
if (!authData) {
|
|
|
|
return Response.Forbidden({
|
|
|
|
success: false,
|
|
|
|
message: `Domain ${saleorDomain} not registered.`,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
return handler(request);
|
|
|
|
};
|