File size: 3,719 Bytes
eb846d0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
import { Request, Response } from 'express';
import { ApiResponse } from '../types/index.js';
import {
getMarketServers,
getMarketServerByName,
getMarketCategories,
getMarketTags,
searchMarketServers,
filterMarketServersByCategory,
filterMarketServersByTag
} from '../services/marketService.js';
// Get all market servers
export const getAllMarketServers = (_: Request, res: Response): void => {
try {
const marketServers = Object.values(getMarketServers());
const response: ApiResponse = {
success: true,
data: marketServers,
};
res.json(response);
} catch (error) {
res.status(500).json({
success: false,
message: 'Failed to get market servers information',
});
}
};
// Get a specific market server by name
export const getMarketServer = (req: Request, res: Response): void => {
try {
const { name } = req.params;
if (!name) {
res.status(400).json({
success: false,
message: 'Server name is required',
});
return;
}
const server = getMarketServerByName(name);
if (!server) {
res.status(404).json({
success: false,
message: 'Market server not found',
});
return;
}
const response: ApiResponse = {
success: true,
data: server,
};
res.json(response);
} catch (error) {
res.status(500).json({
success: false,
message: 'Failed to get market server information',
});
}
};
// Get all market categories
export const getAllMarketCategories = (_: Request, res: Response): void => {
try {
const categories = getMarketCategories();
const response: ApiResponse = {
success: true,
data: categories,
};
res.json(response);
} catch (error) {
res.status(500).json({
success: false,
message: 'Failed to get market categories',
});
}
};
// Get all market tags
export const getAllMarketTags = (_: Request, res: Response): void => {
try {
const tags = getMarketTags();
const response: ApiResponse = {
success: true,
data: tags,
};
res.json(response);
} catch (error) {
res.status(500).json({
success: false,
message: 'Failed to get market tags',
});
}
};
// Search market servers
export const searchMarketServersByQuery = (req: Request, res: Response): void => {
try {
const { query } = req.query;
const searchQuery = typeof query === 'string' ? query : '';
const servers = searchMarketServers(searchQuery);
const response: ApiResponse = {
success: true,
data: servers,
};
res.json(response);
} catch (error) {
res.status(500).json({
success: false,
message: 'Failed to search market servers',
});
}
};
// Filter market servers by category
export const getMarketServersByCategory = (req: Request, res: Response): void => {
try {
const { category } = req.params;
const servers = filterMarketServersByCategory(category);
const response: ApiResponse = {
success: true,
data: servers,
};
res.json(response);
} catch (error) {
res.status(500).json({
success: false,
message: 'Failed to filter market servers by category',
});
}
};
// Filter market servers by tag
export const getMarketServersByTag = (req: Request, res: Response): void => {
try {
const { tag } = req.params;
const servers = filterMarketServersByTag(tag);
const response: ApiResponse = {
success: true,
data: servers,
};
res.json(response);
} catch (error) {
res.status(500).json({
success: false,
message: 'Failed to filter market servers by tag',
});
}
}; |