feat: Add and refactor MIME type management
Some checks failed
CI Pipeline / japa-tests (push) Failing after 47s
Some checks failed
CI Pipeline / japa-tests (push) Failing after 47s
- Added BaseModel with fillable attributes and mergeFillableAttributes method - Refactored MimeType model to extend BaseModel - Implemented destroy method in MimetypeController for deleting MIME types - Updated Create.vue component with refactoring and improved type safety - Fixed issues with ref usage in Create.vue - Updated routes to include new and refactored endpoints
This commit is contained in:
parent
d1480b1240
commit
537c6fd81a
10 changed files with 321 additions and 449 deletions
|
@ -106,7 +106,7 @@ export default class MimetypeController {
|
|||
|
||||
public async down({ request, response }: HttpContext) {
|
||||
const id = request.param('id');
|
||||
const mimetype = await MimeType.findOrFail(id);
|
||||
const mimetype = (await MimeType.findOrFail(id)) as MimeType;
|
||||
mimetype.enabled = false;
|
||||
await mimetype.save();
|
||||
|
||||
|
@ -138,4 +138,46 @@ export default class MimetypeController {
|
|||
// // roleHasPermissions: Object.keys(rolerHasPermissions).map((key) => rolerHasPermissions[key]), //convert object to array with role ids
|
||||
// });
|
||||
// }
|
||||
public async delete({ request, inertia, response, session }: HttpContext) {
|
||||
const id = request.param('id');
|
||||
try {
|
||||
const mimetype = await MimeType.query()
|
||||
// .preload('user', (builder) => {
|
||||
// builder.select('id', 'login');
|
||||
// })
|
||||
.where('id', id)
|
||||
// .preload('files')
|
||||
.firstOrFail();
|
||||
// const validStates = ['inprogress', 'rejected_editor'];
|
||||
// if (!validStates.includes(dataset.server_state)) {
|
||||
// // session.flash('errors', 'Invalid server state!');
|
||||
// return response
|
||||
// .flash(
|
||||
// 'warning',
|
||||
// `Invalid server state. Dataset with id ${id} cannot be deleted. Datset has server state ${dataset.server_state}.`,
|
||||
// )
|
||||
// .redirect()
|
||||
// .toRoute('dataset.list');
|
||||
// }
|
||||
return inertia.render('Admin/Mimetype/Delete', {
|
||||
mimetype,
|
||||
});
|
||||
} catch (error) {
|
||||
if (error.code == 'E_ROW_NOT_FOUND') {
|
||||
session.flash({ warning: 'Mimetype is not found in database' });
|
||||
} else {
|
||||
session.flash({ warning: 'general error occured, you cannot delete the mimetype' });
|
||||
}
|
||||
return response.redirect().toRoute('mimetype.index');
|
||||
}
|
||||
}
|
||||
|
||||
public async deleteStore({ request, response, session }: HttpContext) {
|
||||
const id = request.param('id');
|
||||
const mimetype = await MimeType.findOrFail(id);
|
||||
await mimetype.delete();
|
||||
|
||||
session.flash('message', `Mimetype ${mimetype.name} has been deleted.`);
|
||||
return response.redirect().toRoute('settings.mimetype.index');
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue