diff --git a/Marechai.Server/Controllers/DocumentCompaniesController.cs b/Marechai.Server/Controllers/DocumentCompaniesController.cs index 38fd6ace..8949e379 100644 --- a/Marechai.Server/Controllers/DocumentCompaniesController.cs +++ b/Marechai.Server/Controllers/DocumentCompaniesController.cs @@ -54,7 +54,7 @@ public class DocumentCompaniesController(MarechaiContext context) : ControllerBa }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -113,7 +113,7 @@ public class DocumentCompaniesController(MarechaiContext context) : ControllerBa return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/DocumentPeopleController.cs b/Marechai.Server/Controllers/DocumentPeopleController.cs index 4e14295e..20d51249 100644 --- a/Marechai.Server/Controllers/DocumentPeopleController.cs +++ b/Marechai.Server/Controllers/DocumentPeopleController.cs @@ -36,7 +36,7 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/document-people")] +[Route("/documents/people")] [ApiController] public class DocumentPeopleController(MarechaiContext context) : ControllerBase { @@ -57,7 +57,7 @@ public class DocumentPeopleController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -125,7 +125,7 @@ public class DocumentPeopleController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/DocumentRolesController.cs b/Marechai.Server/Controllers/DocumentRolesController.cs index f9c5907c..99eea11a 100644 --- a/Marechai.Server/Controllers/DocumentRolesController.cs +++ b/Marechai.Server/Controllers/DocumentRolesController.cs @@ -35,7 +35,7 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/document-roles")] +[Route("/documents/roles")] [ApiController] public class DocumentRolesController(MarechaiContext context) : ControllerBase { @@ -52,7 +52,7 @@ public class DocumentRolesController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("enabled")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -66,7 +66,7 @@ public class DocumentRolesController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/DocumentScansController.cs b/Marechai.Server/Controllers/DocumentScansController.cs index 46d3915f..1f85e995 100644 --- a/Marechai.Server/Controllers/DocumentScansController.cs +++ b/Marechai.Server/Controllers/DocumentScansController.cs @@ -37,18 +37,20 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/document-scans")] +[Route("/documents/scans")] [ApiController] public class DocumentScansController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/documents/{documentId:long}/scans")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public async Task> GetGuidsByDocumentAsync(long bookId) => - await context.DocumentScans.Where(p => p.DocumentId == bookId).Select(p => p.Id).ToListAsync(); + public Task> GetGuidsByDocumentAsync(long documentId) => context.DocumentScans + .Where(p => p.DocumentId == documentId) + .Select(p => p.Id) + .ToListAsync(); - [HttpGet] + [HttpGet("{id:Guid}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -149,7 +151,7 @@ public class DocumentScansController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:Guid}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/DocumentsByMachineController.cs b/Marechai.Server/Controllers/DocumentsByMachineController.cs index f19f30fb..869ec6ae 100644 --- a/Marechai.Server/Controllers/DocumentsByMachineController.cs +++ b/Marechai.Server/Controllers/DocumentsByMachineController.cs @@ -36,16 +36,16 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/documents-by-machine")] +[Route("/machines/documents")] [ApiController] public class DocumentsByMachineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/documents/{documentId:long}/machines")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public Task> GetByDocument(long bookId) => context.DocumentsByMachines - .Where(p => p.DocumentId == bookId) + public Task> GetByDocument(long documentId) => context.DocumentsByMachines + .Where(p => p.DocumentId == documentId) .Select(p => new DocumentByMachineDto { Id = p.Id, @@ -56,7 +56,7 @@ public class DocumentsByMachineController(MarechaiContext context) : ControllerB .OrderBy(p => p.Machine) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/DocumentsByMachineFamilyController.cs b/Marechai.Server/Controllers/DocumentsByMachineFamilyController.cs index 9c635a4f..a9707881 100644 --- a/Marechai.Server/Controllers/DocumentsByMachineFamilyController.cs +++ b/Marechai.Server/Controllers/DocumentsByMachineFamilyController.cs @@ -36,16 +36,16 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/documents-by-machine-family")] +[Route("/machine-families/documents")] [ApiController] public class DocumentsByMachineFamilyController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/documents/{documentId:long}/machine-families")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public Task> GetByDocument(long bookId) => context.DocumentsByMachineFamilies - .Where(p => p.DocumentId == bookId) + public Task> GetByDocument(long documentId) => context.DocumentsByMachineFamilies + .Where(p => p.DocumentId == documentId) .Select(p => new DocumentByMachineFamilyDto { Id = p.Id, @@ -56,7 +56,7 @@ public class DocumentsByMachineFamilyController(MarechaiContext context) : Contr .OrderBy(p => p.MachineFamily) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/DocumentsController.cs b/Marechai.Server/Controllers/DocumentsController.cs index e9db9176..8213ee4f 100644 --- a/Marechai.Server/Controllers/DocumentsController.cs +++ b/Marechai.Server/Controllers/DocumentsController.cs @@ -59,7 +59,7 @@ public class DocumentsController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:long}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -127,14 +127,14 @@ public class DocumentsController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpGet] + [HttpGet("{id:long}/synopsis")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public async Task GetSynopsisTextAsync(int id) => + public async Task GetSynopsisTextAsync(long id) => (await context.Documents.FirstOrDefaultAsync(d => d.Id == id))?.Synopsis; - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/DumpsController.cs b/Marechai.Server/Controllers/DumpsController.cs index d865978a..f0eacdb3 100644 --- a/Marechai.Server/Controllers/DumpsController.cs +++ b/Marechai.Server/Controllers/DumpsController.cs @@ -62,7 +62,7 @@ public class DumpsController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:ulong}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -134,7 +134,7 @@ public class DumpsController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:ulong}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/GpusByMachineController.cs b/Marechai.Server/Controllers/GpusByMachineController.cs index fd8e0335..4373446c 100644 --- a/Marechai.Server/Controllers/GpusByMachineController.cs +++ b/Marechai.Server/Controllers/GpusByMachineController.cs @@ -36,11 +36,11 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/gpus-by-machine")] +[Route("/machines/gpus")] [ApiController] public class GpusByMachineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/machines/gpus/by-machine/{machineId:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -58,7 +58,7 @@ public class GpusByMachineController(MarechaiContext context) : ControllerBase .ThenBy(g => g.Name) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/GpusController.cs b/Marechai.Server/Controllers/GpusController.cs index d014393d..aa30187f 100644 --- a/Marechai.Server/Controllers/GpusController.cs +++ b/Marechai.Server/Controllers/GpusController.cs @@ -57,7 +57,7 @@ public class GpusController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("/machines/{machineId:int}/gpus")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -82,7 +82,7 @@ public class GpusController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -162,7 +162,7 @@ public class GpusController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/InstructionSetExtensionsByProcessorController.cs b/Marechai.Server/Controllers/InstructionSetExtensionsByProcessorController.cs index f4a7043f..13e40158 100644 --- a/Marechai.Server/Controllers/InstructionSetExtensionsByProcessorController.cs +++ b/Marechai.Server/Controllers/InstructionSetExtensionsByProcessorController.cs @@ -40,11 +40,11 @@ namespace Marechai.Server.Controllers; [ApiController] public class InstructionSetExtensionsByProcessorController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/processor/{processorId:int}/instruction-set-extensions")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public async Task> GetByProcessor(int processorId) => await context + public Task> GetByProcessor(int processorId) => context .InstructionSetExtensionsByProcessor.Where(e => e.ProcessorId == processorId) .Select(e => new InstructionSetExtensionByProcessorDto { @@ -57,7 +57,7 @@ public class InstructionSetExtensionsByProcessorController(MarechaiContext conte .OrderBy(e => e.Extension) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/InstructionSetExtensionsController.cs b/Marechai.Server/Controllers/InstructionSetExtensionsController.cs index 9bf93979..254b0bfe 100644 --- a/Marechai.Server/Controllers/InstructionSetExtensionsController.cs +++ b/Marechai.Server/Controllers/InstructionSetExtensionsController.cs @@ -52,7 +52,7 @@ public class InstructionSetExtensionsController(MarechaiContext context) : Contr }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -108,7 +108,7 @@ public class InstructionSetExtensionsController(MarechaiContext context) : Contr return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -130,12 +130,12 @@ public class InstructionSetExtensionsController(MarechaiContext context) : Contr return Ok(); } - [HttpGet] + [HttpGet("verify-unique/{extension}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] public bool VerifyUnique(string extension) => !context.InstructionSetExtensions.Any(i => string.Equals(i.Extension, extension, - StringComparison.InvariantCultureIgnoreCase)); + StringComparison.OrdinalIgnoreCase)); } \ No newline at end of file diff --git a/Marechai.Server/Controllers/InstructionSetsController.cs b/Marechai.Server/Controllers/InstructionSetsController.cs index 0318800a..71706ebd 100644 --- a/Marechai.Server/Controllers/InstructionSetsController.cs +++ b/Marechai.Server/Controllers/InstructionSetsController.cs @@ -52,7 +52,7 @@ public class InstructionSetsController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -108,7 +108,7 @@ public class InstructionSetsController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -130,10 +130,10 @@ public class InstructionSetsController(MarechaiContext context) : ControllerBase return Ok(); } - [HttpGet] + [HttpGet("verify-unique/{name}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] public bool VerifyUnique(string name) => - !context.InstructionSets.Any(i => string.Equals(i.Name, name, StringComparison.InvariantCultureIgnoreCase)); + !context.InstructionSets.Any(i => string.Equals(i.Name, name, StringComparison.OrdinalIgnoreCase)); } \ No newline at end of file diff --git a/Marechai.Server/Controllers/LicensesController.cs b/Marechai.Server/Controllers/LicensesController.cs index b889f751..44de8a49 100644 --- a/Marechai.Server/Controllers/LicensesController.cs +++ b/Marechai.Server/Controllers/LicensesController.cs @@ -55,7 +55,7 @@ public class LicensesController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -126,7 +126,7 @@ public class LicensesController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MachineFamiliesController.cs b/Marechai.Server/Controllers/MachineFamiliesController.cs index 8167feae..abc81d09 100644 --- a/Marechai.Server/Controllers/MachineFamiliesController.cs +++ b/Marechai.Server/Controllers/MachineFamiliesController.cs @@ -55,7 +55,7 @@ public class MachineFamiliesController(MarechaiContext context) : ControllerBase .OrderBy(m => m.Name) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -114,7 +114,7 @@ public class MachineFamiliesController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MachinePhotosController.cs b/Marechai.Server/Controllers/MachinePhotosController.cs index 6919739f..3b4e348c 100644 --- a/Marechai.Server/Controllers/MachinePhotosController.cs +++ b/Marechai.Server/Controllers/MachinePhotosController.cs @@ -37,18 +37,20 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/machine-photos")] +[Route("/machines/photos")] [ApiController] public class MachinePhotosController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/machines/{machineId:int}/photos")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public async Task> GetGuidsByMachineAsync(int machineId) => - await context.MachinePhotos.Where(p => p.MachineId == machineId).Select(p => p.Id).ToListAsync(); + public Task> GetGuidsByMachineAsync(int machineId) => context.MachinePhotos + .Where(p => p.MachineId == machineId) + .Select(p => p.Id) + .ToListAsync(); - [HttpGet] + [HttpGet("{id:Guid}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MagazineIssuesController.cs b/Marechai.Server/Controllers/MagazineIssuesController.cs index a5aa3668..924683c8 100644 --- a/Marechai.Server/Controllers/MagazineIssuesController.cs +++ b/Marechai.Server/Controllers/MagazineIssuesController.cs @@ -36,7 +36,7 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/magazine-issues")] +[Route("/magazines/issues")] [ApiController] public class MagazineIssuesController(MarechaiContext context) : ControllerBase { @@ -61,7 +61,7 @@ public class MagazineIssuesController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:long}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -135,7 +135,7 @@ public class MagazineIssuesController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MagazineScansController.cs b/Marechai.Server/Controllers/MagazineScansController.cs index cb0f603e..435ff56a 100644 --- a/Marechai.Server/Controllers/MagazineScansController.cs +++ b/Marechai.Server/Controllers/MagazineScansController.cs @@ -37,18 +37,20 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/magazine-scans")] +[Route("/magazines/scans")] [ApiController] public class MagazineScansController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/magazines/{magazineId:long}/scans")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public async Task> GetGuidsByMagazineAsync(long bookId) => - await context.MagazineScans.Where(p => p.MagazineId == bookId).Select(p => p.Id).ToListAsync(); + public Task> GetGuidsByMagazineAsync(long magazineId) => context.MagazineScans + .Where(p => p.MagazineId == magazineId) + .Select(p => p.Id) + .ToListAsync(); - [HttpGet] + [HttpGet("{id:Guid}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -149,7 +151,7 @@ public class MagazineScansController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:Guid}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MagazinesByMachineController.cs b/Marechai.Server/Controllers/MagazinesByMachineController.cs index 423ed337..4725f27b 100644 --- a/Marechai.Server/Controllers/MagazinesByMachineController.cs +++ b/Marechai.Server/Controllers/MagazinesByMachineController.cs @@ -40,12 +40,12 @@ namespace Marechai.Server.Controllers; [ApiController] public class MagazinesByMachineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/magazines/{magazineId:long}/machines")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public Task> GetByMagazine(long bookId) => context.MagazinesByMachines - .Where(p => p.MagazineId == bookId) + public Task> GetByMagazine(long magazineId) => context.MagazinesByMachines + .Where(p => p.MagazineId == magazineId) .Select(p => new MagazineByMachineDto { Id = p.Id, @@ -56,7 +56,7 @@ public class MagazinesByMachineController(MarechaiContext context) : ControllerB .OrderBy(p => p.Machine) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MagazinesByMachineFamilyController.cs b/Marechai.Server/Controllers/MagazinesByMachineFamilyController.cs index 95a143d0..e55b0005 100644 --- a/Marechai.Server/Controllers/MagazinesByMachineFamilyController.cs +++ b/Marechai.Server/Controllers/MagazinesByMachineFamilyController.cs @@ -40,12 +40,12 @@ namespace Marechai.Server.Controllers; [ApiController] public class MagazinesByMachineFamilyController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/magazines/{magazineId:long}/machine-families")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public Task> GetByMagazine(long bookId) => context.MagazinesByMachinesFamilies - .Where(p => p.MagazineId == bookId) + public Task> GetByMagazine(long magazineId) => context.MagazinesByMachinesFamilies + .Where(p => p.MagazineId == magazineId) .Select(p => new MagazineByMachineFamilyDto { Id = p.Id, @@ -56,7 +56,7 @@ public class MagazinesByMachineFamilyController(MarechaiContext context) : Contr .OrderBy(p => p.MachineFamily) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MagazinesController.cs b/Marechai.Server/Controllers/MagazinesController.cs index 0db21d00..fc6dbbc0 100644 --- a/Marechai.Server/Controllers/MagazinesController.cs +++ b/Marechai.Server/Controllers/MagazinesController.cs @@ -60,7 +60,7 @@ public class MagazinesController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("titles")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -73,7 +73,7 @@ public class MagazinesController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:long}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -144,14 +144,14 @@ public class MagazinesController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpGet] + [HttpGet("{id:int}/synopsis")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] public async Task GetSynopsisTextAsync(int id) => (await context.Magazines.FirstOrDefaultAsync(d => d.Id == id))?.Synopsis; - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MediaController.cs b/Marechai.Server/Controllers/MediaController.cs index b8ab1130..319e57cb 100644 --- a/Marechai.Server/Controllers/MediaController.cs +++ b/Marechai.Server/Controllers/MediaController.cs @@ -36,7 +36,7 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/media")] +[Route("/medias")] [ApiController] public class MediaController(MarechaiContext context) : ControllerBase { @@ -76,7 +76,7 @@ public class MediaController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("titles")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -88,7 +88,7 @@ public class MediaController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:ulong}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -215,7 +215,7 @@ public class MediaController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/MemoriesByMachineController.cs b/Marechai.Server/Controllers/MemoriesByMachineController.cs index 35162647..42370575 100644 --- a/Marechai.Server/Controllers/MemoriesByMachineController.cs +++ b/Marechai.Server/Controllers/MemoriesByMachineController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class MemoriesByMachineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/machines/{machineId:int}/memories")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -61,7 +61,7 @@ public class MemoriesByMachineController(MarechaiContext context) : ControllerBa .ThenBy(m => m.Speed) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/NewsController.cs b/Marechai.Server/Controllers/NewsController.cs index 6a0bebe1..659f4ca4 100644 --- a/Marechai.Server/Controllers/NewsController.cs +++ b/Marechai.Server/Controllers/NewsController.cs @@ -34,12 +34,13 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Localization; namespace Marechai.Server.Controllers; [Route("/news")] [ApiController] -public class NewsController(MarechaiContext context) : ControllerBase +public class NewsController(MarechaiContext context, IStringLocalizer localizer) : ControllerBase { [HttpGet] [AllowAnonymous] @@ -55,17 +56,30 @@ public class NewsController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("latest")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] public List GetNews() { - List news = new(); + List news = []; - foreach(News @new in context.News.OrderByDescending(t => t.Date).Take(10).ToList()) + var newsWithMachines = context.News.OrderByDescending(t => t.Date) + .Take(10) + .Join(context.Machines.Include(m => m.Company), + n => n.AddedId, + m => m.Id, + (n, m) => new + { + News = n, + Machine = m + }) + .ToList(); + + foreach(var item in newsWithMachines) { - Machine machine = context.Machines.Find(@new.AddedId); + News @new = item.News; + Machine machine = item.Machine; if(machine is null) continue; @@ -75,7 +89,7 @@ public class NewsController(MarechaiContext context) : ControllerBase news.Add(new NewsDto(@new.AddedId, localizer["New computer in database"], @new.Date, - "machine", + "computers", $"{machine.Company.Name} {machine.Name}")); break; @@ -83,7 +97,7 @@ public class NewsController(MarechaiContext context) : ControllerBase news.Add(new NewsDto(@new.AddedId, localizer["New console in database"], @new.Date, - "machine", + "consoles", $"{machine.Company.Name} {machine.Name}")); break; @@ -92,7 +106,7 @@ public class NewsController(MarechaiContext context) : ControllerBase news.Add(new NewsDto(@new.AddedId, localizer["New computer in collection"], @new.Date, - "machine", + "computers", $"{machine.Company.Name} {machine.Name}")); break; @@ -101,7 +115,7 @@ public class NewsController(MarechaiContext context) : ControllerBase news.Add(new NewsDto(@new.AddedId, localizer["New console in collection"], @new.Date, - "machine", + "consoles", $"{machine.Company.Name} {machine.Name}")); break; @@ -110,7 +124,7 @@ public class NewsController(MarechaiContext context) : ControllerBase news.Add(new NewsDto(@new.AddedId, localizer["Updated computer in database"], @new.Date, - "machine", + "computers", $"{machine.Company.Name} {machine.Name}")); break; @@ -119,7 +133,7 @@ public class NewsController(MarechaiContext context) : ControllerBase news.Add(new NewsDto(@new.AddedId, localizer["Updated console in database"], @new.Date, - "machine", + "consoles", $"{machine.Company.Name} {machine.Name}")); break; @@ -128,7 +142,7 @@ public class NewsController(MarechaiContext context) : ControllerBase news.Add(new NewsDto(@new.AddedId, localizer["Updated computer in collection"], @new.Date, - "machine", + "computers", $"{machine.Company.Name} {machine.Name}")); break; @@ -137,7 +151,7 @@ public class NewsController(MarechaiContext context) : ControllerBase news.Add(new NewsDto(@new.AddedId, localizer["Updated console in collection"], @new.Date, - "machine", + "consoles", $"{machine.Company.Name} {machine.Name}")); break; diff --git a/Marechai.Server/Controllers/PeopleByBookController.cs b/Marechai.Server/Controllers/PeopleByBookController.cs index a1766324..8fdcefec 100644 --- a/Marechai.Server/Controllers/PeopleByBookController.cs +++ b/Marechai.Server/Controllers/PeopleByBookController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class PeopleByBookController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/books/{bookId:int}/people")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -62,7 +62,7 @@ public class PeopleByBookController(MarechaiContext context) : ControllerBase .ThenBy(p => p.Role) .ToList(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/PeopleByDocumentController.cs b/Marechai.Server/Controllers/PeopleByDocumentController.cs index 9bb6ae3b..246b2fcd 100644 --- a/Marechai.Server/Controllers/PeopleByDocumentController.cs +++ b/Marechai.Server/Controllers/PeopleByDocumentController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class PeopleByDocumentController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/documents/{documentId:int}/people")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -62,7 +62,7 @@ public class PeopleByDocumentController(MarechaiContext context) : ControllerBas .ThenBy(p => p.Role) .ToList(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/PeopleByMagazineController.cs b/Marechai.Server/Controllers/PeopleByMagazineController.cs index c37dec84..c683b76a 100644 --- a/Marechai.Server/Controllers/PeopleByMagazineController.cs +++ b/Marechai.Server/Controllers/PeopleByMagazineController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class PeopleByMagazineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/magazines/{magazineId:long}/people")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -62,7 +62,7 @@ public class PeopleByMagazineController(MarechaiContext context) : ControllerBas .ThenBy(p => p.Role) .ToList(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/PeopleController.cs b/Marechai.Server/Controllers/PeopleController.cs index d5679260..924a7959 100644 --- a/Marechai.Server/Controllers/PeopleController.cs +++ b/Marechai.Server/Controllers/PeopleController.cs @@ -23,6 +23,7 @@ // Copyright © 2003-2025 Natalia Portillo *******************************************************************************/ +using System; using System.Collections.Generic; using System.Linq; using System.Security.Claims; @@ -65,7 +66,7 @@ public class PeopleController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -110,7 +111,7 @@ public class PeopleController(MarechaiContext context) : ControllerBase model.Webpage = dto.Webpage; model.Twitter = dto.Twitter; model.Facebook = dto.Facebook; - model.Photo = dto.Photo; + model.Photo = dto.Photo ?? Guid.Empty; model.Alias = dto.Alias; model.DisplayName = dto.DisplayName; @@ -140,7 +141,7 @@ public class PeopleController(MarechaiContext context) : ControllerBase Webpage = dto.Webpage, Twitter = dto.Twitter, Facebook = dto.Facebook, - Photo = dto.Photo, + Photo = dto.Photo ?? Guid.Empty, Alias = dto.Alias, DisplayName = dto.DisplayName }; @@ -151,7 +152,7 @@ public class PeopleController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/ProcessorsByMachineController.cs b/Marechai.Server/Controllers/ProcessorsByMachineController.cs index 80b1e18d..db24c831 100644 --- a/Marechai.Server/Controllers/ProcessorsByMachineController.cs +++ b/Marechai.Server/Controllers/ProcessorsByMachineController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class ProcessorsByMachineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("by-machine/{machineId:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -59,7 +59,7 @@ public class ProcessorsByMachineController(MarechaiContext context) : Controller .ThenBy(p => p.Name) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/ProcessorsController.cs b/Marechai.Server/Controllers/ProcessorsController.cs index bac450b0..37fa659a 100644 --- a/Marechai.Server/Controllers/ProcessorsController.cs +++ b/Marechai.Server/Controllers/ProcessorsController.cs @@ -81,7 +81,7 @@ public class ProcessorsController(MarechaiContext context) : ControllerBase .ThenBy(p => p.Name) .ToListAsync(); - [HttpGet] + [HttpGet("/machines/{machineId:int}/processors")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -122,7 +122,7 @@ public class ProcessorsController(MarechaiContext context) : ControllerBase .ThenBy(p => p.Name) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -251,7 +251,7 @@ public class ProcessorsController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/ResolutionsByGpuController.cs b/Marechai.Server/Controllers/ResolutionsByGpuController.cs index 55b70cf8..c0292b94 100644 --- a/Marechai.Server/Controllers/ResolutionsByGpuController.cs +++ b/Marechai.Server/Controllers/ResolutionsByGpuController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class ResolutionsByGpuController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("gpus/{gpuId:int}/resolutions")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -74,7 +74,7 @@ public class ResolutionsByGpuController(MarechaiContext context) : ControllerBas .ThenBy(r => r.Resolution.Palette) .ToList(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/ResolutionsByScreenController.cs b/Marechai.Server/Controllers/ResolutionsByScreenController.cs index 452f36c1..798ea8d5 100644 --- a/Marechai.Server/Controllers/ResolutionsByScreenController.cs +++ b/Marechai.Server/Controllers/ResolutionsByScreenController.cs @@ -40,12 +40,12 @@ namespace Marechai.Server.Controllers; [ApiController] public class ResolutionsByScreenController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/screens/{screenId:int}/resolutions")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public async Task> GetByScreen(int resolutionId) => (await context.ResolutionsByScreen - .Where(r => r.ResolutionId == resolutionId) + public async Task> GetByScreen(int screenId) => (await context.ResolutionsByScreen + .Where(r => r.ScreenId == screenId) .Select(r => new ResolutionByScreenDto { Id = r.Id, @@ -70,7 +70,7 @@ public class ResolutionsByScreenController(MarechaiContext context) : Controller .ThenBy(r => r.Resolution.Palette) .ToList(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/ResolutionsController.cs b/Marechai.Server/Controllers/ResolutionsController.cs index 563b4419..8668a1f7 100644 --- a/Marechai.Server/Controllers/ResolutionsController.cs +++ b/Marechai.Server/Controllers/ResolutionsController.cs @@ -62,7 +62,7 @@ public class ResolutionsController(MarechaiContext context) : ControllerBase .ThenBy(r => r.Palette) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -133,7 +133,7 @@ public class ResolutionsController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/ScreensByMachineController.cs b/Marechai.Server/Controllers/ScreensByMachineController.cs index e22f7dfe..1a4c8444 100644 --- a/Marechai.Server/Controllers/ScreensByMachineController.cs +++ b/Marechai.Server/Controllers/ScreensByMachineController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class ScreensByMachineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/machines/{machineId:int}/screens")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -74,7 +74,7 @@ public class ScreensByMachineController(MarechaiContext context) : ControllerBas }) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/ScreensController.cs b/Marechai.Server/Controllers/ScreensController.cs index 6e844af4..b373fd7f 100644 --- a/Marechai.Server/Controllers/ScreensController.cs +++ b/Marechai.Server/Controllers/ScreensController.cs @@ -71,7 +71,7 @@ public class ScreensController(MarechaiContext context) : ControllerBase .ThenBy(s => s.Size) .ToList(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -156,7 +156,7 @@ public class ScreensController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/SoftwareFamiliesController.cs b/Marechai.Server/Controllers/SoftwareFamiliesController.cs index 0616f12c..d9f6ec44 100644 --- a/Marechai.Server/Controllers/SoftwareFamiliesController.cs +++ b/Marechai.Server/Controllers/SoftwareFamiliesController.cs @@ -36,7 +36,7 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/software-families")] +[Route("/software/families")] [ApiController] public class SoftwareFamiliesController(MarechaiContext context) : ControllerBase { @@ -55,7 +55,7 @@ public class SoftwareFamiliesController(MarechaiContext context) : ControllerBas }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:ulong}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -117,7 +117,7 @@ public class SoftwareFamiliesController(MarechaiContext context) : ControllerBas return model.Id; } - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/SoftwareVariantsController.cs b/Marechai.Server/Controllers/SoftwareVariantsController.cs index fca36993..252f3dc1 100644 --- a/Marechai.Server/Controllers/SoftwareVariantsController.cs +++ b/Marechai.Server/Controllers/SoftwareVariantsController.cs @@ -36,7 +36,7 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/software-variants")] +[Route("/software/variants")] [ApiController] public class SoftwareVariantsController(MarechaiContext context) : ControllerBase { @@ -73,7 +73,7 @@ public class SoftwareVariantsController(MarechaiContext context) : ControllerBas }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:ulong}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -169,7 +169,7 @@ public class SoftwareVariantsController(MarechaiContext context) : ControllerBas return model.Id; } - [HttpDelete] + [HttpDelete("{id:ulong}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/SoftwareVersionsController.cs b/Marechai.Server/Controllers/SoftwareVersionsController.cs index 13fe00c3..3afd014c 100644 --- a/Marechai.Server/Controllers/SoftwareVersionsController.cs +++ b/Marechai.Server/Controllers/SoftwareVersionsController.cs @@ -36,7 +36,7 @@ using Microsoft.EntityFrameworkCore; namespace Marechai.Server.Controllers; -[Route("/software-versions")] +[Route("/software/versions")] [ApiController] public class SoftwareVersionsController(MarechaiContext context) : ControllerBase { @@ -63,7 +63,7 @@ public class SoftwareVersionsController(MarechaiContext context) : ControllerBas }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:ulong}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -139,7 +139,7 @@ public class SoftwareVersionsController(MarechaiContext context) : ControllerBas return model.Id; } - [HttpDelete] + [HttpDelete("{id:ulong}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/SoundSynthsByMachineController.cs b/Marechai.Server/Controllers/SoundSynthsByMachineController.cs index ccd879ed..f01afdd1 100644 --- a/Marechai.Server/Controllers/SoundSynthsByMachineController.cs +++ b/Marechai.Server/Controllers/SoundSynthsByMachineController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class SoundSynthsByMachineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("by-machine/{machineId:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -58,7 +58,7 @@ public class SoundSynthsByMachineController(MarechaiContext context) : Controlle .ThenBy(g => g.Name) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/SoundSynthsController.cs b/Marechai.Server/Controllers/SoundSynthsController.cs index 5bde8c27..6c613316 100644 --- a/Marechai.Server/Controllers/SoundSynthsController.cs +++ b/Marechai.Server/Controllers/SoundSynthsController.cs @@ -64,7 +64,7 @@ public class SoundSynthsController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("/machines/{machineId:int}/sound-synths")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -91,7 +91,7 @@ public class SoundSynthsController(MarechaiContext context) : ControllerBase }) .ToListAsync(); - [HttpGet] + [HttpGet("{id:int}")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -175,7 +175,7 @@ public class SoundSynthsController(MarechaiContext context) : ControllerBase return model.Id; } - [HttpDelete] + [HttpDelete("{id:int}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] diff --git a/Marechai.Server/Controllers/StorageByMachineController.cs b/Marechai.Server/Controllers/StorageByMachineController.cs index bd6f1263..43ea73b4 100644 --- a/Marechai.Server/Controllers/StorageByMachineController.cs +++ b/Marechai.Server/Controllers/StorageByMachineController.cs @@ -40,7 +40,7 @@ namespace Marechai.Server.Controllers; [ApiController] public class StorageByMachineController(MarechaiContext context) : ControllerBase { - [HttpGet] + [HttpGet("/machines/{machineId:int}/storage")] [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] @@ -59,7 +59,7 @@ public class StorageByMachineController(MarechaiContext context) : ControllerBas .ThenBy(s => s.Capacity) .ToListAsync(); - [HttpDelete] + [HttpDelete("{id:long}")] [Authorize(Roles = "Admin,UberAdmin")] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)]