small improvements / api routes refactoring

This commit is contained in:
Hamid Reza Mohammadi 2021-06-23 19:21:18 +04:30
parent d7f8c725ea
commit 34d3a50354
4 changed files with 13 additions and 23 deletions

View File

@ -11,7 +11,7 @@
@if(!string.IsNullOrEmpty(Model.LastResult))
{
<p>
@Model.LastResult
@Html.Raw(Model.LastResult)
</p>
}
@ -75,16 +75,11 @@
</form>
</td>
</tr>
<tr>
<td colspan="2">
<a role="button" href="/Admin/Poet?id=@Model.Poet.Id" class="actionlink">برگشت به شاعر</a>
</td>
</tr>
</table>
<table>
<tr>
<td>تصحیح از طریق دیتابیس:</td>
<td>تصحیح از طریق پایگاه داده‌ها:</td>
<td>
<form method="post" enctype="multipart/form-data" action="/Admin/Poet/?Handler=UploadCorrectionDb&id=@Model.Poet.Id">
<input type="file" asp-for="CorrecionDbModel.Db" />
@ -93,11 +88,6 @@
</form>
</td>
</tr>
<tr>
<td colspan="2">
<a role="button" href="/Admin/Poet?id=@Model.Poet.Id" class="actionlink">برگشت به شاعر</a>
</td>
</tr>
</table>
<table>

View File

@ -138,7 +138,7 @@ namespace GanjooRazor.Areas.Admin.Pages
_memoryCache.Remove(cacheKey2);
}
LastResult = "ویرایش انجام شد.";
LastResult = $"ویرایش انجام شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش شاعر</a>";
await PreparePoet();
@ -169,7 +169,7 @@ namespace GanjooRazor.Areas.Admin.Pages
HttpResponseMessage response = await secureClient.PostAsync($"{APIRoot.Url}/api/ganjoor/poet/image/{Request.Query["id"]}", form);
response.EnsureSuccessStatusCode();
LastResult = "تصویر بارگذاری شد.";
LastResult = $"تصویر بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش شاعر</a>";
}
}
@ -195,10 +195,10 @@ namespace GanjooRazor.Areas.Admin.Pages
var fileContent = stream.ToArray();
form.Add(new ByteArrayContent(fileContent, 0, fileContent.Length), Poet.Nickname, SQLiteDb.FileName);
HttpResponseMessage response = await secureClient.PostAsync($"{APIRoot.Url}/api/ganjoor/sqliteimport/{Request.Query["id"]}", form);
HttpResponseMessage response = await secureClient.PostAsync($"{APIRoot.Url}/api/ganjoor/sqlite/import/{Request.Query["id"]}", form);
response.EnsureSuccessStatusCode();
LastResult = "پایگاه داده‌ها بارگذاری شد.";
LastResult = $"پایگاه داده‌ها بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش شاعر</a>";
}
}
@ -224,10 +224,10 @@ namespace GanjooRazor.Areas.Admin.Pages
var fileContent = stream.ToArray();
form.Add(new ByteArrayContent(fileContent, 0, fileContent.Length), Poet.Nickname, CorrecionDbModel.Db.FileName);
HttpResponseMessage response = await secureClient.PostAsync($"{APIRoot.Url}/api/ganjoor/sqliteupdate/{Request.Query["id"]}?note={CorrecionDbModel.Note}", form);
HttpResponseMessage response = await secureClient.PostAsync($"{APIRoot.Url}/api/ganjoor/sqlite/update/{Request.Query["id"]}?note={CorrecionDbModel.Note}", form);
response.EnsureSuccessStatusCode();
LastResult = "پایگاه داده‌ها بارگذاری شد.";
LastResult = $"پایگاه داده‌های اصلاحی بارگذاری شد. <a role=\"button\" href=\"/Admin/Poet?id={Request.Query["id"]}\" class=\"actionlink\">برگشت به صفحهٔ ویرایش شاعر</a>";
}
}

View File

@ -1160,7 +1160,7 @@ namespace RMuseum.Controllers
/// <returns></returns>
[HttpPost]
[Route("sqliteimport/{poetId}")]
[Route("sqlite/import/{poetId}")]
[Authorize(Policy = RMuseumSecurableItem.GanjoorEntityShortName + ":" + RMuseumSecurableItem.ImportOperationShortName)]
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(bool))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
@ -1182,7 +1182,7 @@ namespace RMuseum.Controllers
/// <param name="note"></param>
/// <returns></returns>
[HttpPost]
[Route("sqliteupdate/{poetId}")]
[Route("sqlite/update/{poetId}")]
[Authorize(Policy = RMuseumSecurableItem.GanjoorEntityShortName + ":" + RMuseumSecurableItem.ImportOperationShortName)]
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(bool))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
@ -1203,7 +1203,7 @@ namespace RMuseum.Controllers
/// <param name="poetId"></param>
/// <returns></returns>
[HttpGet]
[Route("sqliteexport/{poetId}")]
[Route("sqlite/export/{poetId}")]
[Authorize(Policy = RMuseumSecurableItem.GanjoorEntityShortName + ":" + RMuseumSecurableItem.ImportOperationShortName)]
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(FileStreamResult))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]
@ -1222,7 +1222,7 @@ namespace RMuseum.Controllers
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("mysqlimport")]
[Route("mysql/import")]
[Authorize(Policy = RMuseumSecurableItem.GanjoorEntityShortName + ":" + RMuseumSecurableItem.ImportOperationShortName)]
[ProducesResponseType((int)HttpStatusCode.OK, Type = typeof(bool))]
[ProducesResponseType((int)HttpStatusCode.BadRequest, Type = typeof(string))]

View File

@ -132,7 +132,7 @@ namespace RMuseum.Services.Implementation
using (RMuseumDbContext context = new RMuseumDbContext(new DbContextOptions<RMuseumDbContext>())) //this is long running job, so _context might be already been freed/collected by GC
{
LongRunningJobProgressServiceEF jobProgressServiceEF = new LongRunningJobProgressServiceEF(context);
var job = (await jobProgressServiceEF.NewJob("ImportFromSqlite", "Query data")).Result;
var job = (await jobProgressServiceEF.NewJob("ApplyCorrectionsFromSqlite", "Query data")).Result;
try
{