merged azure and user access changes to docker azure branch

This commit is contained in:
uppuv
2023-10-16 12:15:58 -04:00
95 changed files with 2796 additions and 565 deletions

View File

@ -2,6 +2,7 @@
using DamageAssesment.Api.DocuLinks.Interfaces;
using DamageAssesment.Api.DocuLinks.Models;
using DamageAssesment.Api.DocuLinks.Providers;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
@ -12,18 +13,20 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
{
private readonly IDoculinkProvider documentsProvider;
private readonly IUploadService uploadService;
private readonly IAzureBlobService azureBlobService;
public DoculinkController(IDoculinkProvider documentsProvider,IUploadService uploadService)
public DoculinkController(IDoculinkProvider documentsProvider, IAzureBlobService azureBlobService)
{
this.documentsProvider = documentsProvider;
this.uploadService = uploadService;
this.azureBlobService = azureBlobService;
}
/// <summary>
/// Get all Doculink type.
/// </summary>
[HttpGet]
[Authorize(Roles = "admin")]
[Route("doculinks/types")]
[Route("doculinks/types/{language:alpha}")]
public async Task<IActionResult> GetLinkTypesAsync(string? language)
@ -38,6 +41,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
/// <summary>
/// Get a Doculink type by id.
/// </summary>
[Authorize(Roles = "admin")]
[HttpGet]
[Route("doculinks/types/{id}")]
[Route("doculinks/types/{id}/{language:alpha}")]
@ -53,6 +57,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
/// <summary>
/// Update a existing Doculink type.
/// </summary>
[Authorize(Roles = "admin")]
[HttpPut]
[Route("doculinks/types/{id}")]
public async Task<IActionResult> UpdateLinkType(int id,Models.LinkType linkType)
@ -74,6 +79,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
/// <summary>
/// Create a new Doculink type.
/// </summary>
[Authorize(Roles = "admin")]
[HttpPost]
[Route("doculinks/types")]
public async Task<IActionResult> CreateLinkType(Models.LinkType linkType)
@ -92,6 +98,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
/// <summary>
/// Delete a existing Doculink type by id.
/// </summary>
[Authorize(Roles = "admin")]
[HttpDelete]
[Route("doculinks/types/{id}")]
public async Task<IActionResult> DeleteLinkType(int id)
@ -104,9 +111,10 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
return NotFound();
}
/// <summary>
/// Get all Doculink.
/// Get all documents.
/// </summary>
///
[Authorize(Roles = "admin")]
[Route("doculinks")]
[Route("doculinks/{linktype:alpha}")]
[Route("doculinks/{linktype:alpha}/{language:alpha}")]
@ -154,6 +162,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
/// <summary>
/// Get a Doculink by id.
/// </summary>
[Authorize(Roles = "admin")]
[HttpGet]
[Route("doculinks/{id}")]
[Route("doculinks/{id}/{linktype:alpha}")]
@ -170,6 +179,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
/// <summary>
/// update existing doclink.
/// </summary>
[Authorize(Roles = "admin")]
[HttpPut]
[Route("doculinks/{id}")]
public async Task<IActionResult> UpdateDocument(int id,ReqDoculink documentInfo)
@ -180,7 +190,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
if (dbdoc.IsSuccess)
{
var documents = await this.documentsProvider.GetDocumentCounter();
Models.Doculink DocuLink= uploadService.UpdateDocuments(documents.counter,dbdoc.Document, documentInfo);
Models.Doculink DocuLink= await azureBlobService.UpdateDocuments(documents.counter,dbdoc.Document, documentInfo);
var result = await this.documentsProvider.UpdateDocumentAsync(id, DocuLink);
if (result.IsSuccess)
{
@ -195,6 +205,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
/// <summary>
/// Create new doclink.
/// </summary>
// [Authorize(Roles = "admin")]
[HttpPost]
[Route("doculinks")]
public async Task<IActionResult> CreateDocument(ReqDoculink documentInfo)
@ -203,8 +214,8 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
{
if (documentInfo != null)
{
var documents = await this.documentsProvider.GetDocumentCounter();
Models.Doculink DocuLink= uploadService.UploadDocument(documents.counter, documentInfo);
//var documents = await this.documentsProvider.GetDocumentCounter();
Models.Doculink DocuLink= await azureBlobService.UploadDocument(1, documentInfo);
var result = await this.documentsProvider.PostDocumentAsync(DocuLink);
if (result.IsSuccess)
{
@ -222,6 +233,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
/// <summary>
/// Delete Doculink by id.
/// </summary>
[Authorize(Roles = "admin")]
[HttpDelete]
[Route("doculinks/{id}")]
public async Task<IActionResult> DeleteDocument(int id)
@ -233,7 +245,7 @@ namespace DamageAssesment.Api.DocuLinks.Controllers
// deleting file from folder
foreach (var item in result.Document.doclinksAttachments)
{
uploadService.Movefile(item.Path);
azureBlobService.Movefile(item.Path);
}
return Ok(result.Document);
}