Files
2026-07-23 11:52:07 +05:30

67 lines
2.0 KiB
JavaScript

import http from 'http';
function request(path, token) {
return new Promise((resolve) => {
const start = Date.now();
const req = http.request({
hostname: 'localhost',
port: 5000,
path,
method: 'GET',
headers: {
'Authorization': `Bearer ${token}`
}
}, (res) => {
let body = '';
res.on('data', chunk => body += chunk);
res.on('end', () => {
resolve({ path, status: res.statusCode, time: Date.now() - start, len: body.length });
});
});
req.on('error', (err) => resolve({ path, error: err.message, time: Date.now() - start }));
req.setTimeout(5000, () => {
req.destroy();
resolve({ path, error: 'TIMEOUT (5s)', time: Date.now() - start });
});
req.end();
});
}
async function run() {
const loginData = JSON.stringify({ email: 'superadmin@maskan.com', password: 'Admin@123' });
const loginRes = await new Promise(resolve => {
const req = http.request({
hostname: 'localhost', port: 5000, path: '/api/v1/auth/login', method: 'POST',
headers: { 'Content-Type': 'application/json', 'Content-Length': Buffer.byteLength(loginData) }
}, res => {
let body = '';
res.on('data', c => body += c);
res.on('end', () => resolve(JSON.parse(body)));
});
req.write(loginData);
req.end();
});
console.log('Login response:', JSON.stringify(loginRes));
const token = loginRes.data?.token || loginRes.token || loginRes.accessToken || loginRes.data?.accessToken;
console.log('Token:', token ? 'Acquired' : 'NOT FOUND');
const endpoints = [
'/api/v1/families',
'/api/v1/attributes',
'/api/v1/channels',
'/api/v1/asset-families',
'/api/v1/workflows',
'/api/v1/attribute-sets',
'/api/v1/brands',
'/api/v1/units',
'/api/v1/categories'
];
for (const ep of endpoints) {
const res = await request(ep, token);
console.log(`Endpoint: ${ep.padEnd(25)} Status: ${res.status || res.error} Time: ${res.time}ms`);
}
}
run();