Add full project files
This commit is contained in:
37
controllers/panel/version/versionController.js
Normal file
37
controllers/panel/version/versionController.js
Normal file
@@ -0,0 +1,37 @@
|
||||
const VersionModel = require('../../../models/VersionModel')
|
||||
|
||||
// Endpoint برای دریافت نسخه فعلی
|
||||
const getVersion = async (req, res, next) => {
|
||||
try {
|
||||
const currentVersion = await VersionModel.findOne().sort({ _id: -1 }).exec()
|
||||
if (!currentVersion) {
|
||||
return res.status(200).json({ message: 'نسخهای پیدا نشد' })
|
||||
}
|
||||
res.json(currentVersion)
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: 'خطای سرور', error })
|
||||
}
|
||||
}
|
||||
// متد برای ایجاد یا ویرایش نسخه
|
||||
const upsertVersion = async (req, res, next) => {
|
||||
try {
|
||||
const { version, mandatory, releaseNotes, updateUrls } = req.body
|
||||
|
||||
if (!version || !Array.isArray(updateUrls) || updateUrls.length === 0) {
|
||||
return res.status(400).json({ message: 'اطلاعات ناقص است' })
|
||||
}
|
||||
|
||||
// پیدا کردن نسخهای که مشابه باشد و ویرایش یا ایجاد
|
||||
const updatedVersion = await VersionModel.findOneAndUpdate(
|
||||
{ version }, // شرط برای پیدا کردن نسخه با همین شماره
|
||||
{ mandatory, releaseNotes, updateUrls }, // بهروزرسانی مقادیر
|
||||
{ new: true, upsert: true } // ایجاد نسخه جدید اگر وجود ندارد
|
||||
)
|
||||
|
||||
res.status(200).json({ message: 'نسخه بهروزرسانی شد', version: updatedVersion })
|
||||
} catch (error) {
|
||||
res.status(500).json({ message: 'خطای سرور', error })
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { getVersion, upsertVersion }
|
||||
Reference in New Issue
Block a user