feat: 운영 서비스 도메인 관리 기능 추가 및 UI 간격 조정
This commit is contained in:
26
server.js
26
server.js
@@ -93,6 +93,14 @@ async function ensureTables() {
|
||||
position VARCHAR(100), user_name VARCHAR(100), usage_period VARCHAR(255), doc_name VARCHAR(255)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
`);
|
||||
await connection.query(`
|
||||
CREATE TABLE IF NOT EXISTS ops_domain_assets (
|
||||
id VARCHAR(50) PRIMARY KEY, type VARCHAR(50), corp VARCHAR(100),
|
||||
service_name VARCHAR(255), domain_name VARCHAR(255), start_date VARCHAR(50),
|
||||
expiry_date VARCHAR(50), price VARCHAR(100), manager_main VARCHAR(100),
|
||||
manager_sub VARCHAR(100), remarks TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||
`);
|
||||
|
||||
console.log('✅ All ITAM tables ensured.');
|
||||
} finally {
|
||||
@@ -405,6 +413,24 @@ app.post('/api/sw-users/batch', async (req, res) => {
|
||||
} catch (err) { res.status(500).json({ error: err.message }); }
|
||||
});
|
||||
|
||||
// 도메인 관리 API
|
||||
app.get('/api/ops/domain', async (req, res) => {
|
||||
try {
|
||||
const [rows] = await pool.query('SELECT * FROM ops_domain_assets ORDER BY created_at DESC');
|
||||
res.json(rows);
|
||||
} catch (err) { res.status(500).json({ error: err.message }); }
|
||||
});
|
||||
|
||||
app.post('/api/ops/domain/batch', async (req, res) => {
|
||||
try {
|
||||
const result = await batchSave('ops_domain_assets', req.body, (assets) => ({
|
||||
sql: `INSERT INTO ops_domain_assets (id, type, corp, service_name, domain_name, start_date, expiry_date, price, manager_main, manager_sub, remarks) VALUES ?`,
|
||||
values: assets.map(a => [a.id, a.type||'', a.corp||'', a.service_name||'', a.domain_name||'', a.start_date||'', a.expiry_date||'', a.price||'', a.manager_main||'', a.manager_sub||'', a.remarks||''])
|
||||
}));
|
||||
res.json(result);
|
||||
} catch (err) { res.status(500).json({ error: err.message }); }
|
||||
});
|
||||
|
||||
// 자산번호 자동 생성 API
|
||||
app.get('/api/generate-asset-code', async (req, res) => {
|
||||
const { prefix } = req.query;
|
||||
|
||||
Reference in New Issue
Block a user