forked from OpenWF/SpaceNinjaServer
For buying crew members from ticker Reviewed-on: OpenWF/SpaceNinjaServer#2076 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
21 lines
916 B
TypeScript
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);
|
|
};
|