Static Pages and fixes #38
@ -17,9 +17,11 @@ namespace InternshipSystem.Api.Controllers
|
|||||||
|
|
||||||
|
|
||||||
[HttpPost("fill")]
|
[HttpPost("fill")]
|
||||||
public async Task<IActionResult> Fill() {
|
public async Task<IActionResult> Fill()
|
||||||
|
{
|
||||||
await FillerService.FillCompanies();
|
await FillerService.FillCompanies();
|
||||||
await FillerService.FillEditions();
|
await FillerService.FillEditions();
|
||||||
|
await FillerService.FillStaticPages();
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,9 +33,17 @@ namespace InternshipSystem.Api.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpPost("fill/editions")]
|
[HttpPost("fill/editions")]
|
||||||
public async Task<IActionResult> FillEditionsAsync() {
|
public async Task<IActionResult> FillEditionsAsync()
|
||||||
|
{
|
||||||
await FillerService.FillEditions();
|
await FillerService.FillEditions();
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost("fill/staticPages")]
|
||||||
|
public async Task<IActionResult> FillStaticPagesAsync()
|
||||||
|
{
|
||||||
|
await FillerService.FillStaticPages();
|
||||||
|
return Ok();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -0,0 +1,56 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using InternshipSystem.Core;
|
||||||
|
using InternshipSystem.Repository;
|
||||||
|
using Microsoft.AspNetCore.Http;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
|
||||||
|
namespace InternshipSystem.Api.Controllers
|
||||||
|
{
|
||||||
|
[ApiController]
|
||||||
|
[Route("staticPage")]
|
||||||
|
public class StaticPagesController : ControllerBase
|
||||||
|
{
|
||||||
|
public StaticPagesController(InternshipDbContext context)
|
||||||
|
{
|
||||||
|
Context = context;
|
||||||
|
}
|
||||||
|
private InternshipDbContext Context { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get all static pages
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>List of static pages with titles and content</returns>
|
||||||
|
[HttpGet]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
public async Task<ActionResult<IList<StaticPage>>> GetStaticPages(CancellationToken cancellationToken) =>
|
||||||
|
await Context.StaticPages
|
||||||
|
.ToListAsync(cancellationToken);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get static page
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="accessName">Name of page</param>
|
||||||
|
/// <returns>Static page title and content</returns>
|
||||||
|
[HttpGet("{accessName}")]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status404NotFound)]
|
||||||
|
public async Task<ActionResult<StaticPage>> GetStaticPage(string accessName, CancellationToken cancellationToken)
|
||||||
|
{
|
||||||
|
var page =
|
||||||
|
await Context.StaticPages
|
||||||
|
.Where(p => p.AccessName.Trim().ToLower().Equals(accessName.Trim().ToLower()))
|
||||||
|
.FirstOrDefaultAsync(cancellationToken);
|
||||||
|
|
||||||
|
if (page == null)
|
||||||
|
{
|
||||||
|
return NotFound();
|
||||||
|
}
|
||||||
|
|
||||||
|
return Ok(page);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
10
src/InternshipSystem.Core/Entity/StaticPage.cs
Normal file
10
src/InternshipSystem.Core/Entity/StaticPage.cs
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
namespace InternshipSystem.Core
|
||||||
|
{
|
||||||
|
public class StaticPage
|
||||||
|
{
|
||||||
|
public long? Id { get; set; }
|
||||||
|
public string AccessName { get; set; }
|
||||||
|
public string Title { get; set; }
|
||||||
|
public string Content { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@ -253,6 +253,32 @@ namespace InternshipSystem.Repository
|
|||||||
await Context.SaveChangesAsync();
|
await Context.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task FillStaticPages()
|
||||||
|
{
|
||||||
|
var staticPages = new List<StaticPage>
|
||||||
|
{
|
||||||
|
new StaticPage
|
||||||
|
{
|
||||||
|
AccessName = "regulations",
|
||||||
|
Title = "Regulamin Praktyk",
|
||||||
|
Content =
|
||||||
|
"<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Bestiarum vero nullum iudicium puto. Quare ad ea primum, si videtur; <b>Duo Reges: constructio interrete.</b> <i>Eam tum adesse, cum dolor omnis absit;</i> Sed ad bona praeterita redeamus. <mark>Facillimum id quidem est, inquam.</mark> Apud ceteros autem philosophos, qui quaesivit aliquid, tacet; </p>" +
|
||||||
|
"<p><a href=\"http://loripsum.net/\" target=\"_blank\">Quorum altera prosunt, nocent altera.</a> Eam stabilem appellas. <i>Sed nimis multa.</i> Quo plebiscito decreta a senatu est consuli quaestio Cn. Sin laboramus, quis est, qui alienae modum statuat industriae? <mark>Quod quidem nobis non saepe contingit.</mark> Si autem id non concedatur, non continuo vita beata tollitur. " +
|
||||||
|
"<a href=\"http://loripsum.net/\" target=\"_blank\">Illum mallem levares, quo optimum atque humanissimum virum, Cn.</a> <i>Id est enim, de quo quaerimus.</i> </p><p>Ille vero, si insipiens-quo certe, quoniam tyrannus -, numquam beatus; Sin dicit obscurari quaedam nec apparere, quia valde parva sint, nos quoque concedimus; Et quod est munus, quod opus sapientiae? Ab hoc autem quaedam non melius quam veteres, quaedam omnino relicta. </p>" +
|
||||||
|
"Prosto spod bazy ;D"
|
||||||
|
},
|
||||||
|
new StaticPage
|
||||||
|
{
|
||||||
|
AccessName = "info",
|
||||||
|
Title = "Informacje",
|
||||||
|
Content =
|
||||||
|
"<p>Nowe zmiany: <a href=\"https://pl.wikipedia.org/wiki/Lorem_ipsum\" target=\"_blank\"></p>"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
await Context.StaticPages.AddRangeAsync(staticPages);
|
||||||
|
await Context.SaveChangesAsync();
|
||||||
|
}
|
||||||
|
|
||||||
// new InternshipType
|
// new InternshipType
|
||||||
// {
|
// {
|
||||||
// Type = "FreeInternship",
|
// Type = "FreeInternship",
|
||||||
|
@ -9,7 +9,7 @@ namespace InternshipSystem.Repository
|
|||||||
{
|
{
|
||||||
public DbSet<Company> Companies { get; set; }
|
public DbSet<Company> Companies { get; set; }
|
||||||
public DbSet<Edition> Editions { get; set; }
|
public DbSet<Edition> Editions { get; set; }
|
||||||
|
public DbSet<StaticPage> StaticPages { get; set; }
|
||||||
public DbSet<Student> Students { get; set; }
|
public DbSet<Student> Students { get; set; }
|
||||||
|
|
||||||
public InternshipDbContext(DbContextOptions<InternshipDbContext> options)
|
public InternshipDbContext(DbContextOptions<InternshipDbContext> options)
|
||||||
|
Loading…
Reference in New Issue
Block a user