update agent
This commit is contained in:
@@ -204,10 +204,14 @@ function helpers() {
|
||||
return statusClassMap[status] || 'badge-muted';
|
||||
},
|
||||
packageTypeLabel(type) {
|
||||
return type === 'docker' ? 'Docker' : '.deb';
|
||||
if (type === 'docker') return 'Docker';
|
||||
if (type === 'apt') return 'APT';
|
||||
return '.deb';
|
||||
},
|
||||
packageTypeClass(type) {
|
||||
return type === 'docker' ? 'badge-info' : 'badge-primary';
|
||||
if (type === 'docker') return 'badge-info';
|
||||
if (type === 'apt') return 'badge-warning';
|
||||
return 'badge-primary';
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -848,7 +852,8 @@ function requireAdmin(req, res, next) {
|
||||
}
|
||||
|
||||
function normalizePackageType(value) {
|
||||
return String(value || 'deb').toLowerCase() === 'docker' ? 'docker' : 'deb';
|
||||
const packageType = String(value || 'deb').toLowerCase();
|
||||
return ['deb', 'apt', 'docker'].includes(packageType) ? packageType : 'deb';
|
||||
}
|
||||
|
||||
function normalizeApplicationStatus(value) {
|
||||
@@ -1694,8 +1699,13 @@ app.get('/packages/export.csv', asyncRoute(async (req, res) => {
|
||||
|
||||
app.post('/packages', upload.single('packageFile'), asyncRoute(async (req, res) => {
|
||||
try {
|
||||
const artifact = await getArtifactFromUpload(req.file);
|
||||
const packageType = normalizePackageType(req.body.packageType);
|
||||
if (packageType === 'apt' && req.file) {
|
||||
await removeUploadedFile(req.file);
|
||||
}
|
||||
const artifact = packageType === 'apt'
|
||||
? { filePath: null, checksum: null, fileSizeBytes: null }
|
||||
: await getArtifactFromUpload(req.file);
|
||||
const packageCode = String(req.body.packageCode || '').trim();
|
||||
const packageName = String(req.body.packageName || '').trim();
|
||||
const version = String(req.body.version || '').trim();
|
||||
@@ -1742,7 +1752,14 @@ app.post('/packages', upload.single('packageFile'), asyncRoute(async (req, res)
|
||||
createdByUserId: req.currentUser.id
|
||||
});
|
||||
|
||||
redirectWithNotice(res, '/packages', 'success', 'Đã upload package và lưu vào database.');
|
||||
redirectWithNotice(
|
||||
res,
|
||||
'/packages',
|
||||
'success',
|
||||
packageType === 'apt'
|
||||
? 'Đã tạo APT package metadata; không cần upload artifact.'
|
||||
: 'Đã upload package và lưu vào database.'
|
||||
);
|
||||
} catch (error) {
|
||||
await removeUploadedFile(req.file);
|
||||
if (error.code === 'DUPLICATE_PACKAGE') {
|
||||
@@ -1758,7 +1775,6 @@ app.post('/package-versions', upload.single('packageFile'), asyncRoute(async (re
|
||||
let versionInput = null;
|
||||
|
||||
try {
|
||||
const artifact = await getArtifactFromUpload(req.file);
|
||||
const version = String(req.body.version || '').trim();
|
||||
|
||||
if (!req.body.packageId || !version) {
|
||||
@@ -1780,6 +1796,13 @@ app.post('/package-versions', upload.single('packageFile'), asyncRoute(async (re
|
||||
return;
|
||||
}
|
||||
|
||||
if (packageItem.type === 'apt' && req.file) {
|
||||
await removeUploadedFile(req.file);
|
||||
}
|
||||
const artifact = packageItem.type === 'apt'
|
||||
? { filePath: null, checksum: null, fileSizeBytes: null }
|
||||
: await getArtifactFromUpload(req.file);
|
||||
|
||||
if (packageItem.type === 'deb') {
|
||||
const metadataMessage = await getDebUploadMetadataValidationMessage(req.file, packageItem.code, version);
|
||||
if (metadataMessage) {
|
||||
|
||||
Reference in New Issue
Block a user