SpaceNinjaServer/src/controllers/api/getVendorInfoController.ts
Sainan 0ca06e409f
All checks were successful
Build / build (push) Successful in 54s
Build / build (pull_request) Successful in 1m46s
feat: adjust server-side vendor prices according to syndicate standings
For buying crew members from ticker
2025-05-16 09:09:39 +02:00

21 lines
916 B
TypeScript

import { RequestHandler } from "express";
import { applyStandingToVendorManifest, getVendorManifestByTypeName } from "@/src/services/serversideVendorsService";
import { getInventory } from "@/src/services/inventoryService";
import { getAccountIdForRequest } from "@/src/services/loginService";
export const getVendorInfoController: RequestHandler = async (req, res) => {
let manifest = getVendorManifestByTypeName(req.query.vendor as string);
if (!manifest) {
throw new Error(`Unknown vendor: ${req.query.vendor as string}`);
}
// For testing purposes, authenticating with this endpoint is optional here, but would be required on live.
if (req.query.accountId) {
const accountId = await getAccountIdForRequest(req);
const inventory = await getInventory(accountId);
manifest = applyStandingToVendorManifest(inventory, manifest);
}
res.json(manifest);
};