new
This commit is contained in:
332
mock/user.ts
Normal file
332
mock/user.ts
Normal file
@@ -0,0 +1,332 @@
|
||||
import type { Request, Response } from 'express';
|
||||
// import userInfo from './userInfo.json';
|
||||
const waitTime = (time: number = 100) => {
|
||||
return new Promise((resolve) => {
|
||||
setTimeout(() => {
|
||||
resolve(true);
|
||||
}, time);
|
||||
});
|
||||
};
|
||||
|
||||
const userInfo = {}
|
||||
|
||||
const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env;
|
||||
|
||||
/**
|
||||
* Permissions of the current user. If empty, it means not logged in.
|
||||
* current user access, if is '', user need login
|
||||
* If it is a pro preview, it has permission by default.
|
||||
*/
|
||||
let access =
|
||||
ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site' ? 'admin' : '';
|
||||
|
||||
const getAccess = () => {
|
||||
return access;
|
||||
};
|
||||
|
||||
const successResponse = (data: any = null) => {
|
||||
return {
|
||||
code: 200,
|
||||
message: 'ok',
|
||||
success: true,
|
||||
data,
|
||||
};
|
||||
}
|
||||
|
||||
// The code will be compatible with local service mocks and static data of the deployment site
|
||||
export default {
|
||||
// Supported values are Object and Array
|
||||
'GET /api/auth/info': (_req: Request, res: Response) => {
|
||||
const token = _req.headers.authorization?.split(' ')[1];
|
||||
// res.status(401).send({
|
||||
// data: {
|
||||
// isLogin: false,
|
||||
// },
|
||||
// code: 401,
|
||||
// message: 'Please log in first!',
|
||||
// success: false,
|
||||
// });
|
||||
// return
|
||||
if (!token) {
|
||||
res.send({
|
||||
data: {
|
||||
isLogin: false,
|
||||
},
|
||||
code: 401,
|
||||
message: 'Please log in first!',
|
||||
success: false,
|
||||
});
|
||||
return;
|
||||
}
|
||||
res.send(successResponse(userInfo));
|
||||
},
|
||||
'POST /api/auth/login': async (req: Request, res: Response) => {
|
||||
const { password, username, type } = req.body;
|
||||
await waitTime(2000);
|
||||
if (password === '123456' && username === 'superadmin') {
|
||||
res.send(successResponse(userInfo));
|
||||
access = 'admin';
|
||||
return;
|
||||
}
|
||||
if (password === '123456' && username === 'user') {
|
||||
res.send({
|
||||
"token-prefix": "Bearer",
|
||||
"token": "user111111"
|
||||
});
|
||||
access = 'user';
|
||||
return;
|
||||
}
|
||||
|
||||
res.send({
|
||||
data: {
|
||||
status: 'error',
|
||||
type,
|
||||
currentAuthority: 'guest',
|
||||
},
|
||||
code: 400,
|
||||
message: 'Incorrect username or password!',
|
||||
success: true,
|
||||
});
|
||||
access = 'guest';
|
||||
},
|
||||
'POST /api/login/outLogin': (_req: Request, res: Response) => {
|
||||
access = '';
|
||||
res.send(successResponse());
|
||||
},
|
||||
'GET /api/company/list': (_req: Request, res: Response) => {
|
||||
res.send(
|
||||
successResponse([
|
||||
{
|
||||
id: "C001",
|
||||
name: 'Alpha Broker',
|
||||
email: 'admin@alpha.com',
|
||||
sourceNum: 5,
|
||||
userNum: 10,
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "C002",
|
||||
name: 'Beta Trading',
|
||||
email: 'admin@beta.com',
|
||||
sourceNum: 3,
|
||||
userNum: 5,
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "C003",
|
||||
name: 'Gamma FXr',
|
||||
email: 'admin@gamma.com',
|
||||
sourceNum: 1,
|
||||
userNum: 5,
|
||||
status: 0,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
])
|
||||
);
|
||||
},
|
||||
'GET /api/user/list': (_req: Request, res: Response) => {
|
||||
res.send(
|
||||
successResponse([
|
||||
{
|
||||
id: "U001",
|
||||
username: 'superadmin',
|
||||
nameStr: 'Super Administrator',
|
||||
email: 'sa@system.com',
|
||||
role: 'Super Administrator',
|
||||
companyName: 'Global',
|
||||
dataSource: '-',
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "U002",
|
||||
username: 'alpha_admin',
|
||||
nameStr: 'Alpha Broker Administrator',
|
||||
email: 'admin@alpha.com',
|
||||
role: 'Company Administrator',
|
||||
companyName: 'Alpha Broker',
|
||||
dataSource: 'Alpha MT4, Alpha MT5',
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "U003",
|
||||
username: 'alpha_user',
|
||||
nameStr: 'Alpha Broker User',
|
||||
email: 'user@alpha.com',
|
||||
role: 'Company User',
|
||||
companyName: 'Alpha Broker',
|
||||
dataSource: 'Alpha MT4',
|
||||
status: 0,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "U004",
|
||||
username: 'alpha_viewer',
|
||||
nameStr: 'Alpha Broker Viewer',
|
||||
email: 'viewer@alpha.com',
|
||||
role: 'Company Viewer',
|
||||
companyName: 'Alpha Broker',
|
||||
dataSource: 'Alpha MT4, Alpha MT5',
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "U005",
|
||||
username: 'beta_admin',
|
||||
nameStr: 'Beta Trading Administrator',
|
||||
email: 'admin@beta.com',
|
||||
role: 'Company Administrator',
|
||||
companyName: 'Beta Trading',
|
||||
dataSource: 'Beta MT5',
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "U006",
|
||||
username: 'beta_viewer',
|
||||
nameStr: 'Beta Trading Viewer',
|
||||
email: 'viewer@beta.com',
|
||||
role: 'Company Viewer',
|
||||
companyName: 'Beta Trading',
|
||||
dataSource: 'Beta MT5',
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
])
|
||||
);
|
||||
},
|
||||
'GET /api/data-source/list': (_req: Request, res: Response) => {
|
||||
res.send(
|
||||
successResponse([
|
||||
{
|
||||
id: "DS001",
|
||||
name: 'Alpha MT4',
|
||||
ip: '192.168.1.100',
|
||||
platformType: '4',
|
||||
companyName: 'Alpha Broker',
|
||||
ruleNum: 11,
|
||||
alertNum: 2,
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "DS002",
|
||||
name: 'Alpha MT5',
|
||||
ip: '192.168.1.101',
|
||||
platformType: '5',
|
||||
companyName: 'Alpha Broker',
|
||||
ruleNum: 1,
|
||||
alertNum: 1,
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "DS003",
|
||||
name: 'Beta MT5',
|
||||
ip: '192.168.1.102',
|
||||
platformType: '5',
|
||||
companyName: 'Beta Trading',
|
||||
ruleNum: 8,
|
||||
alertNum: 5,
|
||||
status: 1,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
{
|
||||
id: "DS004",
|
||||
name: 'Gamma MT4',
|
||||
ip: '192.168.1.103',
|
||||
platformType: '4',
|
||||
companyName: 'Gamma FX',
|
||||
ruleNum: 1,
|
||||
alertNum: 0,
|
||||
status: 0,
|
||||
createTime: '2023-01-01 00:00:00',
|
||||
},
|
||||
])
|
||||
);
|
||||
},
|
||||
'GET /api/roles/list': (_req: Request, res: Response) => {
|
||||
res.send(
|
||||
successResponse([
|
||||
{ role_id: 'R001', role_key: 'super_admin', role_name: 'Super Administrator', color: 'danger', level: 100, is_system: true, permissions: ['view_dashboard', 'manage_rules', 'manage_products', 'view_alerts', 'manage_accounts', 'manage_companies', 'manage_datasources', 'manage_users', 'manage_roles', 'manage_settings'], created_at: '2023-01-01' },
|
||||
{ role_id: 'R002', role_key: 'company_admin', role_name: 'Company Administrator', color: 'warning', level: 80, is_system: true, permissions: ['view_dashboard', 'manage_rules', 'manage_products', 'view_alerts', 'manage_accounts', 'manage_datasources', 'manage_users', 'manage_roles'], created_at: '2023-01-01' },
|
||||
{ role_id: 'R003', role_key: 'company_user', role_name: 'Company User', color: 'info', level: 60, is_system: true, permissions: ['view_dashboard', 'manage_rules', 'manage_products', 'view_alerts'], created_at: '2023-01-01' },
|
||||
{ role_id: 'R004', role_key: 'viewer', role_name: 'Company Viewer', color: 'secondary', level: 20, is_system: true, permissions: ['view_dashboard', 'view_alerts'], created_at: '2023-01-01' }
|
||||
])
|
||||
);
|
||||
},
|
||||
'GET /api/account/list': (_req: Request, res: Response) => {
|
||||
res.send(
|
||||
successResponse([
|
||||
{ account_id: 'ACC001', source_id: 'DS001', platform: 'MT4', account_currency: 'USD', balance: 125000, equity: 128500, margin_level: 450, status: 'active', risk_level: 'high', created_at: '2023-06-15', alert_count: 2 },
|
||||
{ account_id: 'ACC002', source_id: 'DS002', platform: 'MT5', account_currency: 'EUR', balance: 85000, equity: 82300, margin_level: 320, status: 'active', risk_level: 'medium', created_at: '2023-08-20', alert_count: 0 },
|
||||
{ account_id: 'ACC003', source_id: 'DS001', platform: 'MT4', account_currency: 'JPY', balance: 15000000, equity: 15250000, margin_level: 580, status: 'active', risk_level: 'high', created_at: '2023-04-10', alert_count: 1 },
|
||||
{ account_id: 'ACC004', source_id: 'DS003', platform: 'MT5', account_currency: 'GBP', balance: 45000, equity: 44200, margin_level: 280, status: 'active', risk_level: 'low', created_at: '2023-11-05', alert_count: 1 },
|
||||
{ account_id: 'ACC005', source_id: 'DS003', platform: 'MT5', account_currency: 'USD', balance: 520000, equity: 535000, margin_level: 620, status: 'active', risk_level: 'high', created_at: '2023-02-28', alert_count: 1 }
|
||||
])
|
||||
);
|
||||
},
|
||||
'GET /api/alert/list': (_req: Request, res: Response) => {
|
||||
res.send(
|
||||
successResponse([
|
||||
{ alert_id: 'A001', source_id: 'DS001', rule_type: 'large_trade', account_id: 'ACC001', product: 'EURUSD', trigger_time: '2024-01-15 10:35:00', trigger_value: 150000, status: 'new', platform: 'MT4' },
|
||||
{ alert_id: 'A002', source_id: 'DS001', rule_type: 'scalping', account_id: 'ACC003', product: 'USDJPY', trigger_time: '2024-01-15 12:00:45', trigger_value: 45, status: 'new', platform: 'MT4' },
|
||||
{ alert_id: 'A003', source_id: 'DS002', rule_type: 'large_trade', account_id: 'ACC001', product: 'XAUUSD', trigger_time: '2024-01-15 14:15:00', trigger_value: 180000, status: 'reviewed', platform: 'MT5' },
|
||||
{ alert_id: 'A004', source_id: 'DS003', rule_type: 'large_trade', account_id: 'ACC005', product: 'BTCUSD', trigger_time: '2024-01-15 15:30:00', trigger_value: 320000, status: 'new', platform: 'MT5' },
|
||||
{ alert_id: 'A005', source_id: 'DS003', rule_type: 'scalping', account_id: 'ACC004', product: 'EURUSD', trigger_time: '2024-01-15 14:00:25', trigger_value: 25, status: 'new', platform: 'MT5' }
|
||||
])
|
||||
);
|
||||
},
|
||||
'GET /api/product/list': (_req: Request, res: Response) => {
|
||||
res.send(
|
||||
successResponse([
|
||||
{ id: 1, source_id: 'DS001', platform: 'MT4', raw_product_name: 'EURUSD', unified_product_code: 'EURUSD', product_category: 'Forex Major', enabled: true },
|
||||
{ id: 2, source_id: 'DS002', platform: 'MT5', raw_product_name: 'EURUSD.', unified_product_code: 'EURUSD', product_category: 'Forex Major', enabled: true },
|
||||
{ id: 3, source_id: 'DS001', platform: 'MT4', raw_product_name: 'XAUUSD', unified_product_code: 'XAUUSD', product_category: 'Commodities', enabled: true },
|
||||
{ id: 4, source_id: 'DS002', platform: 'MT5', raw_product_name: 'GOLD', unified_product_code: 'XAUUSD', product_category: 'Commodities', enabled: true },
|
||||
{ id: 5, source_id: 'DS003', platform: 'MT5', raw_product_name: 'EURUSD.', unified_product_code: 'EURUSD', product_category: 'Forex Major', enabled: true },
|
||||
{ id: 6, source_id: 'DS003', platform: 'MT5', raw_product_name: 'BTCUSD', unified_product_code: 'BTCUSD', product_category: 'Crypto', enabled: true }
|
||||
])
|
||||
);
|
||||
},
|
||||
'GET /api/500': (_req: Request, res: Response) => {
|
||||
res.status(500).send({
|
||||
timestamp: 1513932555104,
|
||||
status: 500,
|
||||
error: 'error',
|
||||
message: 'error',
|
||||
path: '/base/category/list',
|
||||
});
|
||||
},
|
||||
'GET /api/404': (_req: Request, res: Response) => {
|
||||
res.status(404).send({
|
||||
timestamp: 1513932643431,
|
||||
status: 404,
|
||||
error: 'Not Found',
|
||||
message: 'No message available',
|
||||
path: '/base/category/list/2121212',
|
||||
});
|
||||
},
|
||||
'GET /api/403': (_req: Request, res: Response) => {
|
||||
res.status(403).send({
|
||||
timestamp: 1513932555104,
|
||||
status: 403,
|
||||
error: 'Forbidden',
|
||||
message: 'Forbidden',
|
||||
path: '/base/category/list',
|
||||
});
|
||||
},
|
||||
'GET /api/401': (_req: Request, res: Response) => {
|
||||
res.status(401).send({
|
||||
timestamp: 1513932555104,
|
||||
status: 401,
|
||||
error: 'Unauthorized',
|
||||
message: 'Unauthorized',
|
||||
path: '/base/category/list',
|
||||
});
|
||||
},
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user