mirror of
https://github.com/D4M13N-D3V/comissions-app-core-api.git
synced 2025-06-15 20:59:07 +00:00
feat: fixed naming
This commit is contained in:
parent
1dc7ecdc8f
commit
2b23da286e
@ -41,10 +41,10 @@ public class ApplicationDbContext:DbContext
|
||||
#region DB Sets
|
||||
|
||||
public DbSet<User> Users { get; set; } = null!;
|
||||
public DbSet<SellerProfilePageSettings> SellerProfilePageSettings { get; set; }= null!;
|
||||
public DbSet<UserSellerProfile> UserSellerProfiles { get; set; }= null!;
|
||||
public DbSet<SellerProfileRequest> SellerProfileRequests { get; set; }= null!;
|
||||
public DbSet<SellerProfilePortfolioPiece> SellerProfilePortfolioPieces { get; set; }= null!;
|
||||
public DbSet<SellerService> SellerServices { get; set; }= null!;
|
||||
public DbSet<ArtistPageSettings> ArtistPageSettings { get; set; }= null!;
|
||||
public DbSet<UserArtist> UserArtists { get; set; }= null!;
|
||||
public DbSet<ArtistRequest> ArtistRequests { get; set; }= null!;
|
||||
public DbSet<ArtistPortfolioPiece> ArtistPortfolioPieces { get; set; }= null!;
|
||||
public DbSet<Request> Requests { get; set; }= null!;
|
||||
#endregion
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
using comissions.app.api.Models.SellerProfileRequest;
|
||||
using comissions.app.api.Models.ArtistRequest;
|
||||
using comissions.app.api.Services.Payment;
|
||||
using comissions.app.database;
|
||||
using comissions.app.database.Entities;
|
||||
@ -11,12 +11,12 @@ namespace comissions.app.api.Controllers;
|
||||
[ApiController]
|
||||
[Authorize("admin")]
|
||||
[Route("api/admin/[controller]")]
|
||||
public class AdminSellerRequestsController : Controller
|
||||
public class AdminArtistRequestsController : Controller
|
||||
{
|
||||
private readonly ApplicationDbContext _dbContext;
|
||||
private readonly IPaymentService _paymentService;
|
||||
|
||||
public AdminSellerRequestsController(ApplicationDbContext dbContext, IPaymentService paymentService)
|
||||
public AdminArtistRequestsController(ApplicationDbContext dbContext, IPaymentService paymentService)
|
||||
{
|
||||
_paymentService = paymentService;
|
||||
_dbContext = dbContext;
|
||||
@ -30,9 +30,9 @@ public class AdminSellerRequestsController : Controller
|
||||
/// <returns>A list of seller profile requests</returns>
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile-request")]
|
||||
public async Task<IActionResult> GetSellerRequests(int offset = 0, int pageSize = 10)
|
||||
public async Task<IActionResult> GetArtistRequests(int offset = 0, int pageSize = 10)
|
||||
{
|
||||
var requests = _dbContext.SellerProfileRequests.Skip(offset).Take(pageSize).ToList();
|
||||
var requests = _dbContext.ArtistRequests.Skip(offset).Take(pageSize).ToList();
|
||||
var result = requests.Select(x=>x.ToModel()).ToList();
|
||||
return Ok(result);
|
||||
}
|
||||
@ -44,9 +44,9 @@ public class AdminSellerRequestsController : Controller
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile-request")]
|
||||
[Route("Count")]
|
||||
public async Task<IActionResult> GetSellerRequestsCount()
|
||||
public async Task<IActionResult> GetArtistRequestsCount()
|
||||
{
|
||||
var result = _dbContext.SellerProfileRequests.Count();
|
||||
var result = _dbContext.ArtistRequests.Count();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
@ -58,9 +58,9 @@ public class AdminSellerRequestsController : Controller
|
||||
[HttpPut]
|
||||
[Authorize("write:seller-profile-request")]
|
||||
[Route("{userId}")]
|
||||
public async Task<IActionResult> AcceptSellerRequest(string userId)
|
||||
public async Task<IActionResult> AcceptArtistRequest(string userId)
|
||||
{
|
||||
var request = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId);
|
||||
var request = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId);
|
||||
|
||||
if(request==null)
|
||||
return NotFound("No request for that user exists.");
|
||||
@ -70,8 +70,8 @@ public class AdminSellerRequestsController : Controller
|
||||
|
||||
request.Accepted = true;
|
||||
request.AcceptedDate = DateTime.UtcNow;
|
||||
var accountId = _paymentService.CreateSellerAccount();
|
||||
var newSellerProfile = new UserSellerProfile()
|
||||
var accountId = _paymentService.CreateArtistAccount();
|
||||
var newArtist = new UserArtist()
|
||||
{
|
||||
UserId = userId,
|
||||
AgeRestricted = false,
|
||||
@ -84,11 +84,11 @@ public class AdminSellerRequestsController : Controller
|
||||
RequestGuidelines = "",
|
||||
Name = "Default Shop",
|
||||
};
|
||||
var dbProfile = _dbContext.UserSellerProfiles.Add(newSellerProfile).Entity;
|
||||
var dbProfile = _dbContext.UserArtists.Add(newArtist).Entity;
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var newSettings = new SellerProfilePageSettings()
|
||||
var newSettings = new ArtistPageSettings()
|
||||
{
|
||||
SellerProfileId = dbProfile.Id,
|
||||
ArtistId = dbProfile.Id,
|
||||
BackgroundColor = "rgb(126, 115, 115)",
|
||||
HeaderColor = "rgb(194, 187, 187)",
|
||||
HeaderTextSize = 5,
|
||||
@ -123,10 +123,10 @@ public class AdminSellerRequestsController : Controller
|
||||
RequestButtonTextColor = "rgb(194, 187, 187)",
|
||||
RequestButtonHoverBGColor = "rgb(98, 98, 98)"
|
||||
};
|
||||
var dbSettings = _dbContext.SellerProfilePageSettings.Add(newSettings).Entity;
|
||||
var dbSettings = _dbContext.ArtistPageSettings.Add(newSettings).Entity;
|
||||
await _dbContext.SaveChangesAsync();
|
||||
|
||||
request = _dbContext.SellerProfileRequests.Update(request).Entity;
|
||||
request = _dbContext.ArtistRequests.Update(request).Entity;
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var result = request.ToModel();
|
||||
return Ok(result);
|
||||
|
@ -10,37 +10,37 @@ namespace comissions.app.api.Controllers;
|
||||
[ApiController]
|
||||
[Authorize("admin")]
|
||||
[Route("api/admin/[controller]")]
|
||||
public class AdminSellersController:ControllerBase
|
||||
public class AdminArtistsController:ControllerBase
|
||||
{
|
||||
private readonly ApplicationDbContext _dbContext;
|
||||
|
||||
public AdminSellersController(ApplicationDbContext dbContext)
|
||||
public AdminArtistsController(ApplicationDbContext dbContext)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<IActionResult> GetSellers(string search="", int offset = 0, int pageSize = 10)
|
||||
public async Task<IActionResult> GetArtists(string search="", int offset = 0, int pageSize = 10)
|
||||
{
|
||||
var sellers = await _dbContext.UserSellerProfiles.Include(x=>x.User)
|
||||
var sellers = await _dbContext.UserArtists.Include(x=>x.User)
|
||||
.Where(x=>x.User.DisplayName.Contains(search) || x.User.Email.Contains(search))
|
||||
.Skip(offset).Take(pageSize).ToListAsync();
|
||||
return Ok(sellers);
|
||||
}
|
||||
|
||||
[HttpGet("Count")]
|
||||
public async Task<IActionResult> GetSellersCount(string search="")
|
||||
public async Task<IActionResult> GetArtistsCount(string search="")
|
||||
{
|
||||
var result = await _dbContext.UserSellerProfiles.Include(x=>x.User)
|
||||
var result = await _dbContext.UserArtists.Include(x=>x.User)
|
||||
.Where(x=>x.User.DisplayName.Contains(search) || x.User.Email.Contains(search))
|
||||
.CountAsync();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet("{sellerId:int}")]
|
||||
public async Task<IActionResult> GetSeller(int sellerId)
|
||||
public async Task<IActionResult> GetArtist(int sellerId)
|
||||
{
|
||||
var seller = await _dbContext.UserSellerProfiles.Include(x=>x.User)
|
||||
var seller = await _dbContext.UserArtists.Include(x=>x.User)
|
||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||
|
||||
if (seller == null)
|
||||
@ -51,9 +51,9 @@ public class AdminSellersController:ControllerBase
|
||||
|
||||
|
||||
[HttpPut("{sellerId:int}/Suspend")]
|
||||
public async Task<IActionResult> SuspendSeller(int sellerId, [FromQuery]string reason, [FromQuery]int days)
|
||||
public async Task<IActionResult> SuspendArtist(int sellerId, [FromQuery]string reason, [FromQuery]int days)
|
||||
{
|
||||
var seller = _dbContext.UserSellerProfiles.FirstOrDefault(x=>x.Id==sellerId);
|
||||
var seller = _dbContext.UserArtists.FirstOrDefault(x=>x.Id==sellerId);
|
||||
|
||||
if (seller == null)
|
||||
return NotFound();
|
||||
@ -66,16 +66,16 @@ public class AdminSellersController:ControllerBase
|
||||
seller.UnsuspendDate = DateTime.UtcNow.AddDays(days);
|
||||
seller.SuspendedReason = reason;
|
||||
seller.SuspendAdminId = User.GetUserId();
|
||||
_dbContext.UserSellerProfiles.Update(seller);
|
||||
_dbContext.UserArtists.Update(seller);
|
||||
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[HttpPut("{sellerId:int}/Unsuspend")]
|
||||
public async Task<IActionResult> UnsuspendSeller(int sellerId)
|
||||
public async Task<IActionResult> UnsuspendArtist(int sellerId)
|
||||
{
|
||||
var seller = _dbContext.UserSellerProfiles.FirstOrDefault(x=>x.Id==sellerId);
|
||||
var seller = _dbContext.UserArtists.FirstOrDefault(x=>x.Id==sellerId);
|
||||
|
||||
if (seller == null)
|
||||
return NotFound();
|
||||
@ -88,16 +88,16 @@ public class AdminSellersController:ControllerBase
|
||||
seller.UnsuspendDate = null;
|
||||
seller.SuspendedReason = null;
|
||||
seller.SuspendAdminId = null;
|
||||
_dbContext.UserSellerProfiles.Update(seller);
|
||||
_dbContext.UserArtists.Update(seller);
|
||||
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[HttpPut("{sellerId:int}/Terminate")]
|
||||
public async Task<IActionResult> TerminateSeller(int sellerId)
|
||||
public async Task<IActionResult> TerminateArtist(int sellerId)
|
||||
{
|
||||
var seller = _dbContext.UserSellerProfiles.FirstOrDefault(x=>x.Id==sellerId);
|
||||
var seller = _dbContext.UserArtists.FirstOrDefault(x=>x.Id==sellerId);
|
||||
|
||||
if (seller == null)
|
||||
return NotFound();
|
||||
@ -105,7 +105,7 @@ public class AdminSellersController:ControllerBase
|
||||
if (!seller.Suspended)
|
||||
return BadRequest();
|
||||
|
||||
_dbContext.UserSellerProfiles.Remove(seller);
|
||||
_dbContext.UserArtists.Remove(seller);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok();
|
||||
}
|
||||
@ -113,7 +113,7 @@ public class AdminSellersController:ControllerBase
|
||||
[HttpPut("{sellerId:int}/SetBiography")]
|
||||
public async Task<IActionResult> SetBiography(int sellerId, [FromBody]string biography)
|
||||
{
|
||||
var seller = _dbContext.UserSellerProfiles.FirstOrDefault(x=>x.Id==sellerId);
|
||||
var seller = _dbContext.UserArtists.FirstOrDefault(x=>x.Id==sellerId);
|
||||
|
||||
if (seller == null)
|
||||
return NotFound();
|
||||
@ -122,7 +122,7 @@ public class AdminSellersController:ControllerBase
|
||||
return BadRequest();
|
||||
|
||||
seller.Description = biography;
|
||||
_dbContext.UserSellerProfiles.Update(seller);
|
||||
_dbContext.UserArtists.Update(seller);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok();
|
||||
}
|
||||
|
291
src/comissions.app.api/Controllers/ArtistController.cs
Normal file
291
src/comissions.app.api/Controllers/ArtistController.cs
Normal file
@ -0,0 +1,291 @@
|
||||
using comissions.app.api.Extensions;
|
||||
using comissions.app.api.Models.PortfolioModel;
|
||||
using comissions.app.api.Models.Artist;
|
||||
using comissions.app.api.Models.ArtistRequest;
|
||||
using comissions.app.api.Services.Payment;
|
||||
using comissions.app.api.Services.Storage;
|
||||
using comissions.app.database;
|
||||
using comissions.app.database.Entities;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace comissions.app.api.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class ArtistController : Controller
|
||||
{
|
||||
private readonly ApplicationDbContext _dbContext;
|
||||
private readonly IStorageService _storageService;
|
||||
private readonly IPaymentService _paymentService;
|
||||
|
||||
|
||||
public ArtistController(ApplicationDbContext dbContext, IPaymentService paymentService, IStorageService storageService)
|
||||
{
|
||||
_paymentService = paymentService;
|
||||
_storageService = storageService;
|
||||
_dbContext = dbContext;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile")]
|
||||
public async Task<IActionResult> GetArtist()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var Artist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if(Artist==null)
|
||||
{
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(ArtistRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
var result = Artist.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
[Authorize("write:seller-profile")]
|
||||
public async Task<IActionResult> UpdateArtist(ArtistModel model)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingArtist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist == null)
|
||||
{
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(ArtistRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
if (_dbContext.UserArtists.Any(x => x.Name.ToLower() == model.Name.ToLower()))
|
||||
return BadRequest();
|
||||
|
||||
var updatedArtist = model.ToModel(existingArtist);
|
||||
updatedArtist = _dbContext.UserArtists.Update(updatedArtist).Entity;
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var result = updatedArtist.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile")]
|
||||
[Route("Request")]
|
||||
public async Task<IActionResult> GetArtistRequest()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId);
|
||||
if(ArtistRequest==null)
|
||||
return NotFound();
|
||||
var result = ArtistRequest.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile")]
|
||||
[Route("Page")]
|
||||
public async Task<IActionResult> GetArtistPage()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var Artist = await _dbContext.UserArtists.Include(x=>x.ArtistPageSettings).FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if(Artist==null)
|
||||
return NotFound();
|
||||
var result = Artist.ArtistPageSettings.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
[Authorize("write:seller-profile")]
|
||||
[Route("Page")]
|
||||
public async Task<IActionResult> UpdateArtistPage([FromBody]ArtistPageSettingsModel model)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingArtist = await _dbContext.UserArtists
|
||||
.Include(x=>x.ArtistPageSettings).FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist == null)
|
||||
{
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(ArtistRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
var updatedArtist = model.ToModel(existingArtist.ArtistPageSettings);
|
||||
updatedArtist = _dbContext.ArtistPageSettings.Update(updatedArtist).Entity;
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var result = updatedArtist.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Authorize("write:seller-profile")]
|
||||
public async Task<IActionResult> RequestArtist()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
|
||||
var existingArtist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist != null)
|
||||
{
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId);
|
||||
if (ArtistRequest != null)
|
||||
return Ok(ArtistRequest.ToModel());
|
||||
|
||||
ArtistRequest = new ArtistRequest()
|
||||
{
|
||||
Accepted = false,
|
||||
RequestDate = DateTime.UtcNow,
|
||||
UserId = userId
|
||||
};
|
||||
_dbContext.ArtistRequests.Add(ArtistRequest);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok();
|
||||
}
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile")]
|
||||
[Route("{sellerServiceId:int}/Portfolio/{portfolioId:int}")]
|
||||
public async Task<IActionResult> GetPortfolio(int sellerServiceId, int portfolioId)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingArtist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist == null)
|
||||
{
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(ArtistRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
if(existingArtist.Suspended)
|
||||
return BadRequest();
|
||||
|
||||
var portfolio = await _dbContext.ArtistPortfolioPieces
|
||||
.FirstAsync(x => x.ArtistId == existingArtist.Id && x.Id==portfolioId);
|
||||
var content = await _storageService.DownloadImageAsync(portfolio.FileReference);
|
||||
return new FileStreamResult(content, "application/octet-stream");
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Portfolio")]
|
||||
[Authorize("read:seller-profile")]
|
||||
public async Task<IActionResult> GetPortfolio()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingArtist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist == null)
|
||||
{
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(ArtistRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
if(existingArtist.Suspended)
|
||||
return BadRequest();
|
||||
var portfolio = await _dbContext.ArtistPortfolioPieces.Where(x=>x.ArtistId==existingArtist.Id).ToListAsync();
|
||||
var result = portfolio.Select(x=>x.ToModel()).ToList();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("Portfolio")]
|
||||
[Authorize("write:seller-profile")]
|
||||
public async Task<IActionResult> AddPortfolio()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingArtist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist == null)
|
||||
{
|
||||
return BadRequest();
|
||||
}
|
||||
|
||||
if(existingArtist.Suspended)
|
||||
return BadRequest();
|
||||
var url = await _storageService.UploadImageAsync(HttpContext.Request.Body, Guid.NewGuid().ToString());
|
||||
var portfolio = new ArtistPortfolioPiece()
|
||||
{
|
||||
ArtistId = existingArtist.Id,
|
||||
FileReference = url
|
||||
};
|
||||
portfolio.ArtistId = existingArtist.Id;
|
||||
_dbContext.ArtistPortfolioPieces.Add(portfolio);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var result = portfolio.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpDelete]
|
||||
[Authorize("write:seller-profile")]
|
||||
[Route("Portfolio/{portfolioId:int}")]
|
||||
public async Task<IActionResult> DeletePortfolio(int portfolioId)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingArtist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist == null)
|
||||
{
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(ArtistRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
if(existingArtist.Suspended)
|
||||
return BadRequest();
|
||||
var portfolio = await _dbContext.ArtistPortfolioPieces.FirstOrDefaultAsync(x=>x.Id==portfolioId);
|
||||
if(portfolio==null)
|
||||
return NotFound();
|
||||
if(portfolio.ArtistId!=existingArtist.Id)
|
||||
return BadRequest();
|
||||
_dbContext.ArtistPortfolioPieces.Remove(portfolio);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("write:seller-profile")]
|
||||
[Route("Onboard")]
|
||||
public async Task<IActionResult> PaymentAccountStatus()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingArtist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist == null)
|
||||
{
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(ArtistRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
if(existingArtist.Suspended)
|
||||
return BadRequest();
|
||||
var result = _paymentService.ArtistAccountIsOnboarded(existingArtist.StripeAccountId);
|
||||
return Ok(new ArtistOnboardStatusModel(){ Onboarded= result });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("write:seller-profile")]
|
||||
[Route("Onboard/Url")]
|
||||
public async Task<IActionResult> GetPaymentAccount()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingArtist = await _dbContext.UserArtists.FirstOrDefaultAsync(Artist=>Artist.UserId==userId);
|
||||
if (existingArtist == null)
|
||||
{
|
||||
var ArtistRequest = await _dbContext.ArtistRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(ArtistRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
if(existingArtist.Suspended)
|
||||
return BadRequest();
|
||||
if(existingArtist.StripeAccountId==null)
|
||||
return BadRequest();
|
||||
|
||||
var result = _paymentService.CreateArtistAccountOnboardingUrl(existingArtist.StripeAccountId);
|
||||
return Ok(new ArtistOnboardUrlModel()
|
||||
{
|
||||
OnboardUrl = result
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -1,6 +1,4 @@
|
||||
using comissions.app.api.Models.SellerProfile;
|
||||
using comissions.app.api.Models.SellerService;
|
||||
using comissions.app.api.Models.Discovery;
|
||||
using comissions.app.api.Models.Artist;
|
||||
using comissions.app.api.Models.PortfolioModel;
|
||||
using comissions.app.api.Services.Storage;
|
||||
using comissions.app.database;
|
||||
@ -24,10 +22,10 @@ public class DiscoveryController : Controller
|
||||
|
||||
|
||||
[HttpGet]
|
||||
[Route("Sellers")]
|
||||
public async Task<IActionResult> GetSellers(string search="",int offset = 0, int pageSize = 10)
|
||||
[Route("Artists")]
|
||||
public async Task<IActionResult> GetArtists(string search="",int offset = 0, int pageSize = 10)
|
||||
{
|
||||
var sellers = await _dbContext.UserSellerProfiles
|
||||
var sellers = await _dbContext.UserArtists
|
||||
.Where(x=>x.User.DisplayName.Contains(search))
|
||||
.Include(x=>x.User)
|
||||
.Skip(offset).Take(pageSize).ToListAsync();
|
||||
@ -36,11 +34,10 @@ public class DiscoveryController : Controller
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Sellers/{sellerId:int}")]
|
||||
public async Task<IActionResult> GetSeller(int sellerId)
|
||||
[Route("Artists/{sellerId:int}")]
|
||||
public async Task<IActionResult> GetArtist(int sellerId)
|
||||
{
|
||||
var seller = await _dbContext.UserSellerProfiles
|
||||
.Include(x=>x.SellerServices)
|
||||
var seller = await _dbContext.UserArtists
|
||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||
if(seller==null)
|
||||
return NotFound();
|
||||
@ -50,59 +47,59 @@ public class DiscoveryController : Controller
|
||||
|
||||
|
||||
[HttpGet]
|
||||
[Route("Sellers/{sellerName}/Page")]
|
||||
public async Task<IActionResult> GetSellerPage(string sellerName)
|
||||
[Route("Artists/{sellerName}/Page")]
|
||||
public async Task<IActionResult> GetArtistPage(string sellerName)
|
||||
{
|
||||
var seller = await _dbContext.UserSellerProfiles
|
||||
.Include(x=>x.SellerProfilePageSettings)
|
||||
var seller = await _dbContext.UserArtists
|
||||
.Include(x=>x.ArtistPageSettings)
|
||||
.FirstOrDefaultAsync(x=>x.Name==sellerName.Replace('-', ' '));
|
||||
if(seller==null)
|
||||
return NotFound();
|
||||
var result = seller.SellerProfilePageSettings;
|
||||
var result = seller.ArtistPageSettings.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Sellers/{sellerId:int}/Portfolio")]
|
||||
public async Task<IActionResult> GetSellerPortfolio(int sellerId, int offset = 0, int pageSize = 10)
|
||||
[Route("Artists/{sellerId:int}/Portfolio")]
|
||||
public async Task<IActionResult> GetArtistPortfolio(int sellerId, int offset = 0, int pageSize = 10)
|
||||
{
|
||||
var seller = await _dbContext.UserSellerProfiles
|
||||
var seller = await _dbContext.UserArtists
|
||||
.Include(x=>x.User)
|
||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||
if(seller==null)
|
||||
return NotFound();
|
||||
var sellerPortfolio = await _dbContext.SellerProfilePortfolioPieces
|
||||
.Where(x=>x.SellerProfileId==sellerId)
|
||||
var sellerPortfolio = await _dbContext.ArtistPortfolioPieces
|
||||
.Where(x=>x.ArtistId==sellerId)
|
||||
.Skip(offset).Take(pageSize).ToListAsync();
|
||||
var result = sellerPortfolio.Select(x=>x.ToModel()).ToList();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Sellers/{sellerId:int}/Portfolio/Count")]
|
||||
public async Task<IActionResult> GetSellerPortfolioCount(int sellerId)
|
||||
[Route("Artists/{sellerId:int}/Portfolio/Count")]
|
||||
public async Task<IActionResult> GetArtistPortfolioCount(int sellerId)
|
||||
{
|
||||
var seller = await _dbContext.UserSellerProfiles
|
||||
var seller = await _dbContext.UserArtists
|
||||
.Include(x=>x.User)
|
||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||
if(seller==null)
|
||||
return NotFound();
|
||||
var sellerPortfolio = await _dbContext.SellerProfilePortfolioPieces
|
||||
.Where(x=>x.SellerProfileId==sellerId)
|
||||
var sellerPortfolio = await _dbContext.ArtistPortfolioPieces
|
||||
.Where(x=>x.ArtistId==sellerId)
|
||||
.CountAsync();
|
||||
return Ok(sellerPortfolio);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Sellers/{sellerId:int}/Portfolio/{portfolioId:int}")]
|
||||
public async Task<IActionResult> GetSellerPortfolioPiece(int sellerId, int portfolioId)
|
||||
[Route("Artists/{sellerId:int}/Portfolio/{portfolioId:int}")]
|
||||
public async Task<IActionResult> GetArtistPortfolioPiece(int sellerId, int portfolioId)
|
||||
{
|
||||
var seller = await _dbContext.UserSellerProfiles
|
||||
var seller = await _dbContext.UserArtists
|
||||
.Include(x=>x.User)
|
||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||
if(seller==null)
|
||||
return NotFound();
|
||||
var sellerPortfolio = await _dbContext.SellerProfilePortfolioPieces
|
||||
var sellerPortfolio = await _dbContext.ArtistPortfolioPieces
|
||||
.FirstOrDefaultAsync(x=>x.Id==portfolioId);
|
||||
if(sellerPortfolio==null)
|
||||
return NotFound("Portfolio piece not found.");
|
||||
@ -112,10 +109,10 @@ public class DiscoveryController : Controller
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Sellers/Count")]
|
||||
public async Task<IActionResult> GetSellersCount(string search="")
|
||||
[Route("Artists/Count")]
|
||||
public async Task<IActionResult> GetArtistsCount(string search="")
|
||||
{
|
||||
var result = await _dbContext.UserSellerProfiles
|
||||
var result = await _dbContext.UserArtists
|
||||
.Where(x=>x.User.DisplayName.Contains(search))
|
||||
.Include(x=>x.User)
|
||||
.CountAsync();
|
||||
|
66
src/comissions.app.api/Controllers/RequestsController.cs
Normal file
66
src/comissions.app.api/Controllers/RequestsController.cs
Normal file
@ -0,0 +1,66 @@
|
||||
using comissions.app.api.Services.Payment;
|
||||
using comissions.app.api.Services.Storage;
|
||||
using comissions.app.database;
|
||||
using comissions.app.database.Entities;
|
||||
using comissions.app.database.Models.Request;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace comissions.app.api.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class RequestsController : Controller
|
||||
{
|
||||
private readonly ApplicationDbContext _dbContext;
|
||||
private readonly IStorageService _storageService;
|
||||
private readonly IPaymentService _paymentService;
|
||||
|
||||
|
||||
public RequestsController(ApplicationDbContext dbContext, IPaymentService paymentService, IStorageService storageService)
|
||||
{
|
||||
_paymentService = paymentService;
|
||||
_storageService = storageService;
|
||||
_dbContext = dbContext;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Requests")]
|
||||
public async Task<IActionResult> GetRequests(string search="",int offset = 0, int pageSize = 10)
|
||||
{
|
||||
var requests = await _dbContext.Requests
|
||||
.Include(x=>x.Artist)
|
||||
.Where(x=>x.Artist.Name.Contains(search) || x.Message.Contains(search))
|
||||
.Skip(offset).Take(pageSize).ToListAsync();
|
||||
var result = requests.Select(x=>x.ToModel()).ToList();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Requests/{requestId:int}")]
|
||||
public async Task<IActionResult> GetRequest(int requestId)
|
||||
{
|
||||
var request = await _dbContext.Requests
|
||||
.Include(x=>x.Artist)
|
||||
.FirstOrDefaultAsync(x=>x.Id==requestId);
|
||||
if(request==null)
|
||||
return NotFound();
|
||||
var result = request.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("Requests")]
|
||||
public async Task<IActionResult> CreateRequest([FromBody] RequestModel model)
|
||||
{
|
||||
var request = new Request()
|
||||
{
|
||||
Amount = model.Amount,
|
||||
Message = model.Message,
|
||||
RequestDate = DateTime.Now
|
||||
};
|
||||
_dbContext.Requests.Add(request);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok(request.ToModel());
|
||||
}
|
||||
}
|
@ -1,291 +0,0 @@
|
||||
using comissions.app.api.Extensions;
|
||||
using comissions.app.api.Models.PortfolioModel;
|
||||
using comissions.app.api.Models.SellerProfile;
|
||||
using comissions.app.api.Models.SellerProfileRequest;
|
||||
using comissions.app.api.Services.Payment;
|
||||
using comissions.app.api.Services.Storage;
|
||||
using comissions.app.database;
|
||||
using comissions.app.database.Entities;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace comissions.app.api.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Route("api/[controller]")]
|
||||
public class SellerProfileController : Controller
|
||||
{
|
||||
private readonly ApplicationDbContext _dbContext;
|
||||
private readonly IStorageService _storageService;
|
||||
private readonly IPaymentService _paymentService;
|
||||
|
||||
|
||||
public SellerProfileController(ApplicationDbContext dbContext, IPaymentService paymentService, IStorageService storageService)
|
||||
{
|
||||
_paymentService = paymentService;
|
||||
_storageService = storageService;
|
||||
_dbContext = dbContext;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile")]
|
||||
public async Task<IActionResult> GetSellerProfile()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var sellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if(sellerProfile==null)
|
||||
{
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(sellerProfileRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
var result = sellerProfile.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
[Authorize("write:seller-profile")]
|
||||
public async Task<IActionResult> UpdateSellerProfile(SellerProfileModel model)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile == null)
|
||||
{
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(sellerProfileRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
if (_dbContext.UserSellerProfiles.Any(x => x.Name.ToLower() == model.Name.ToLower()))
|
||||
return BadRequest();
|
||||
|
||||
var updatedSellerProfile = model.ToModel(existingSellerProfile);
|
||||
updatedSellerProfile = _dbContext.UserSellerProfiles.Update(updatedSellerProfile).Entity;
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var result = updatedSellerProfile.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile")]
|
||||
[Route("Request")]
|
||||
public async Task<IActionResult> GetSellerProfileRequest()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId);
|
||||
if(sellerProfileRequest==null)
|
||||
return NotFound();
|
||||
var result = sellerProfileRequest.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile")]
|
||||
[Route("Page")]
|
||||
public async Task<IActionResult> GetSellerProfilePage()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var sellerProfile = await _dbContext.UserSellerProfiles.Include(x=>x.SellerProfilePageSettings).FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if(sellerProfile==null)
|
||||
return NotFound();
|
||||
var result = sellerProfile.SellerProfilePageSettings.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPut]
|
||||
[Authorize("write:seller-profile")]
|
||||
[Route("Page")]
|
||||
public async Task<IActionResult> UpdateSellerProfilePage([FromBody]SellerProfilePageSettingsModel model)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles
|
||||
.Include(x=>x.SellerProfilePageSettings).FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile == null)
|
||||
{
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(sellerProfileRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
var updatedSellerProfile = model.ToModel(existingSellerProfile.SellerProfilePageSettings);
|
||||
updatedSellerProfile = _dbContext.SellerProfilePageSettings.Update(updatedSellerProfile).Entity;
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var result = updatedSellerProfile.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Authorize("write:seller-profile")]
|
||||
public async Task<IActionResult> RequestSellerProfile()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile != null)
|
||||
{
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId);
|
||||
if (sellerProfileRequest != null)
|
||||
return Ok(sellerProfileRequest.ToModel());
|
||||
|
||||
sellerProfileRequest = new SellerProfileRequest()
|
||||
{
|
||||
Accepted = false,
|
||||
RequestDate = DateTime.UtcNow,
|
||||
UserId = userId
|
||||
};
|
||||
_dbContext.SellerProfileRequests.Add(sellerProfileRequest);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok();
|
||||
}
|
||||
[HttpGet]
|
||||
[Authorize("read:seller-profile")]
|
||||
[Route("{sellerServiceId:int}/Portfolio/{portfolioId:int}")]
|
||||
public async Task<IActionResult> GetPortfolio(int sellerServiceId, int portfolioId)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile == null)
|
||||
{
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(sellerProfileRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
if(existingSellerProfile.Suspended)
|
||||
return BadRequest();
|
||||
|
||||
var portfolio = await _dbContext.SellerProfilePortfolioPieces
|
||||
.FirstAsync(x => x.SellerProfileId == existingSellerProfile.Id && x.Id==portfolioId);
|
||||
var content = await _storageService.DownloadImageAsync(portfolio.FileReference);
|
||||
return new FileStreamResult(content, "application/octet-stream");
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Route("Portfolio")]
|
||||
[Authorize("read:seller-profile")]
|
||||
public async Task<IActionResult> GetPortfolio()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile == null)
|
||||
{
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(sellerProfileRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
if(existingSellerProfile.Suspended)
|
||||
return BadRequest();
|
||||
var portfolio = await _dbContext.SellerProfilePortfolioPieces.Where(x=>x.SellerProfileId==existingSellerProfile.Id).ToListAsync();
|
||||
var result = portfolio.Select(x=>x.ToModel()).ToList();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
[Route("Portfolio")]
|
||||
[Authorize("write:seller-profile")]
|
||||
public async Task<IActionResult> AddPortfolio()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile == null)
|
||||
{
|
||||
return BadRequest();
|
||||
}
|
||||
|
||||
if(existingSellerProfile.Suspended)
|
||||
return BadRequest();
|
||||
var url = await _storageService.UploadImageAsync(HttpContext.Request.Body, Guid.NewGuid().ToString());
|
||||
var portfolio = new SellerProfilePortfolioPiece()
|
||||
{
|
||||
SellerProfileId = existingSellerProfile.Id,
|
||||
FileReference = url
|
||||
};
|
||||
portfolio.SellerProfileId = existingSellerProfile.Id;
|
||||
_dbContext.SellerProfilePortfolioPieces.Add(portfolio);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
var result = portfolio.ToModel();
|
||||
return Ok(result);
|
||||
}
|
||||
|
||||
[HttpDelete]
|
||||
[Authorize("write:seller-profile")]
|
||||
[Route("Portfolio/{portfolioId:int}")]
|
||||
public async Task<IActionResult> DeletePortfolio(int portfolioId)
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile == null)
|
||||
{
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(sellerProfileRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
if(existingSellerProfile.Suspended)
|
||||
return BadRequest();
|
||||
var portfolio = await _dbContext.SellerProfilePortfolioPieces.FirstOrDefaultAsync(x=>x.Id==portfolioId);
|
||||
if(portfolio==null)
|
||||
return NotFound();
|
||||
if(portfolio.SellerProfileId!=existingSellerProfile.Id)
|
||||
return BadRequest();
|
||||
_dbContext.SellerProfilePortfolioPieces.Remove(portfolio);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return Ok();
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("write:seller-profile")]
|
||||
[Route("Onboard")]
|
||||
public async Task<IActionResult> PaymentAccountStatus()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile == null)
|
||||
{
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(sellerProfileRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
|
||||
if(existingSellerProfile.Suspended)
|
||||
return BadRequest();
|
||||
var result = _paymentService.SellerAccountIsOnboarded(existingSellerProfile.StripeAccountId);
|
||||
return Ok(new SellerOnboardStatusModel(){ Onboarded= result });
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
[Authorize("write:seller-profile")]
|
||||
[Route("Onboard/Url")]
|
||||
public async Task<IActionResult> GetPaymentAccount()
|
||||
{
|
||||
var userId = User.GetUserId();
|
||||
var existingSellerProfile = await _dbContext.UserSellerProfiles.FirstOrDefaultAsync(sellerProfile=>sellerProfile.UserId==userId);
|
||||
if (existingSellerProfile == null)
|
||||
{
|
||||
var sellerProfileRequest = await _dbContext.SellerProfileRequests.FirstOrDefaultAsync(request=>request.UserId==userId && request.Accepted==false);
|
||||
if(sellerProfileRequest!=null)
|
||||
return BadRequest();
|
||||
return Unauthorized();
|
||||
}
|
||||
if(existingSellerProfile.Suspended)
|
||||
return BadRequest();
|
||||
if(existingSellerProfile.StripeAccountId==null)
|
||||
return BadRequest();
|
||||
|
||||
var result = _paymentService.CreateSellerAccountOnboardingUrl(existingSellerProfile.StripeAccountId);
|
||||
return Ok(new SellerOnboardUrlModel()
|
||||
{
|
||||
OnboardUrl = result
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -2,13 +2,13 @@ using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace comissions.app.database.Entities;
|
||||
|
||||
public class SellerProfilePageSettings
|
||||
public class ArtistPageSettings
|
||||
{
|
||||
public int Id { get; set; }
|
||||
|
||||
[ForeignKey("SellerProfile")]
|
||||
public int SellerProfileId { get; set; }
|
||||
public virtual UserSellerProfile SellerProfile { get; set; } = null!;
|
||||
[ForeignKey("Artist")]
|
||||
public int ArtistId { get; set; }
|
||||
public virtual UserArtist Artist { get; set; } = null!;
|
||||
|
||||
public string RequestButtonHoverBGColor { get; set; }
|
||||
public string RequestButtonHoverTextColor { get; set; }
|
9
src/comissions.app.api/Entities/ArtistPortfolioPiece.cs
Normal file
9
src/comissions.app.api/Entities/ArtistPortfolioPiece.cs
Normal file
@ -0,0 +1,9 @@
|
||||
namespace comissions.app.database.Entities;
|
||||
|
||||
public class ArtistPortfolioPiece
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int ArtistId { get; set; }
|
||||
public string FileReference { get; set; }
|
||||
public virtual UserArtist Artist { get; set; } = null!;
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
namespace comissions.app.database.Entities;
|
||||
|
||||
public class SellerProfileRequest
|
||||
public class ArtistRequest
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string UserId { get; set; } = null!;
|
20
src/comissions.app.api/Entities/Request.cs
Normal file
20
src/comissions.app.api/Entities/Request.cs
Normal file
@ -0,0 +1,20 @@
|
||||
namespace comissions.app.database.Entities;
|
||||
|
||||
public class Request
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Message { get; set; }
|
||||
public decimal Amount { get; set; }
|
||||
public string UserId { get; set; }
|
||||
public int ArtistId { get; set; }
|
||||
public DateTime RequestDate { get; set; }
|
||||
public bool Accepted { get; set; } = false;
|
||||
public DateTime? AcceptedDate { get; set; }
|
||||
public bool Declined { get; set; } = false;
|
||||
public DateTime? DeclinedDate { get; set; }
|
||||
public bool Completed { get; set; } = false;
|
||||
public DateTime? CompletedDate { get; set; }
|
||||
|
||||
public virtual User User { get; set; } = null!;
|
||||
public virtual UserArtist Artist { get; set; } = null!;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
namespace comissions.app.database.Entities;
|
||||
|
||||
public class SellerProfilePortfolioPiece
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int SellerProfileId { get; set; }
|
||||
public string FileReference { get; set; }
|
||||
public int? SellerServiceId { get; set; }
|
||||
public virtual SellerService SellerService { get; set; } = null!;
|
||||
public virtual UserSellerProfile SellerProfile { get; set; } = null!;
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
namespace comissions.app.database.Entities;
|
||||
|
||||
public class SellerService
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int SellerProfileId { get; set; }
|
||||
public string Name { get; set; } = null!;
|
||||
public string Description { get; set; } = null!;
|
||||
public double Price { get; set; }
|
||||
public bool Archived { get; set; } = false;
|
||||
|
||||
public virtual ICollection<SellerProfilePortfolioPiece> PortfolioPieces { get; set; } = new List<SellerProfilePortfolioPiece>();
|
||||
public virtual UserSellerProfile SellerProfile { get; set; } = null!;
|
||||
}
|
@ -10,7 +10,7 @@ public record User
|
||||
public string DisplayName { get; set; } = null!;
|
||||
public string Biography { get; set; } = null!;
|
||||
public string Email { get; set; } = null!;
|
||||
public int? UserSellerProfileId { get; set; }
|
||||
public int? UserArtistId { get; set; }
|
||||
|
||||
public bool Banned { get; set; } = false;
|
||||
public DateTime? BannedDate { get; set; }
|
||||
@ -24,5 +24,5 @@ public record User
|
||||
public string? SuspendedReason { get; set; }
|
||||
public string? SuspendAdminId { get; set; }
|
||||
|
||||
[JsonIgnore] public virtual UserSellerProfile? UserSellerProfile { get; set; }
|
||||
[JsonIgnore] public virtual UserArtist? UserArtist { get; set; }
|
||||
}
|
@ -2,7 +2,7 @@ using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace comissions.app.database.Entities;
|
||||
|
||||
public record UserSellerProfile
|
||||
public record UserArtist
|
||||
{
|
||||
public int Id { get; set; }
|
||||
[ForeignKey(nameof(User))]
|
||||
@ -24,9 +24,7 @@ public record UserSellerProfile
|
||||
public string? SuspendAdminId { get; set; }
|
||||
public virtual User User { get; set; } = null!;
|
||||
|
||||
public int SellerProfilePageSettingsId { get; set; }
|
||||
public virtual SellerProfilePageSettings SellerProfilePageSettings { get; set; } = null!;
|
||||
|
||||
public virtual ICollection<SellerService> SellerServices { get; set; } = new List<SellerService>();
|
||||
public virtual ICollection<SellerProfilePortfolioPiece> PortfolioPieces { get; set; } = new List<SellerProfilePortfolioPiece>();
|
||||
public int ArtistPageSettingsId { get; set; }
|
||||
public virtual ArtistPageSettings ArtistPageSettings { get; set; } = null!;
|
||||
public virtual ICollection<ArtistPortfolioPiece> PortfolioPieces { get; set; } = new List<ArtistPortfolioPiece>();
|
||||
}
|
@ -22,7 +22,7 @@ public class UserMiddleware
|
||||
{
|
||||
var userId = context.User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value;
|
||||
|
||||
var user = await dbContext.Users.Include(x=>x.UserSellerProfile).FirstOrDefaultAsync(x=>x.Id==userId);
|
||||
var user = await dbContext.Users.Include(x=>x.UserArtist).FirstOrDefaultAsync(x=>x.Id==userId);
|
||||
|
||||
if (user == null)
|
||||
{
|
||||
@ -87,23 +87,23 @@ public class UserMiddleware
|
||||
}
|
||||
}
|
||||
|
||||
if (user.UserSellerProfile != null && user.UserSellerProfile.Suspended)
|
||||
if (user.UserArtist != null && user.UserArtist.Suspended)
|
||||
{
|
||||
if (user.UserSellerProfile.UnsuspendDate < DateTime.UtcNow)
|
||||
if (user.UserArtist.UnsuspendDate < DateTime.UtcNow)
|
||||
{
|
||||
user.UserSellerProfile.Suspended = false;
|
||||
user.UserSellerProfile.SuspendedDate = null;
|
||||
user.UserSellerProfile.UnsuspendDate = null;
|
||||
user.UserSellerProfile.SuspendedReason = null;
|
||||
user.UserSellerProfile.SuspendAdminId = null;
|
||||
user.UserArtist.Suspended = false;
|
||||
user.UserArtist.SuspendedDate = null;
|
||||
user.UserArtist.UnsuspendDate = null;
|
||||
user.UserArtist.SuspendedReason = null;
|
||||
user.UserArtist.SuspendAdminId = null;
|
||||
dbContext.Users.Update(user);
|
||||
await dbContext.SaveChangesAsync();
|
||||
}
|
||||
else
|
||||
{
|
||||
var suspendDate = user.UserSellerProfile.SuspendedDate.Value.ToString("MM/dd/yyyy");
|
||||
var unsuspendDate = user.UserSellerProfile.UnsuspendDate.Value.ToString("MM/dd/yyyy");
|
||||
await context.Response.WriteAsync($"Banned on {suspendDate} until {unsuspendDate} for {user.UserSellerProfile.SuspendedReason} by {user.UserSellerProfile.SuspendAdminId}.");
|
||||
var suspendDate = user.UserArtist.SuspendedDate.Value.ToString("MM/dd/yyyy");
|
||||
var unsuspendDate = user.UserArtist.UnsuspendDate.Value.ToString("MM/dd/yyyy");
|
||||
await context.Response.WriteAsync($"Banned on {suspendDate} until {unsuspendDate} for {user.UserArtist.SuspendedReason} by {user.UserArtist.SuspendAdminId}.");
|
||||
context.Response.StatusCode = StatusCodes.Status403Forbidden;
|
||||
return;
|
||||
}
|
||||
|
@ -26,7 +26,7 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -38,22 +38,22 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("SellerServiceId")
|
||||
b.Property<int?>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.ToTable("SellerProfilePortfolioPieces");
|
||||
b.ToTable("ArtistPortfolioPieces");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -78,10 +78,10 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("SellerProfileRequests");
|
||||
b.ToTable("ArtistRequests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -103,17 +103,17 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.ToTable("SellerServices");
|
||||
b.ToTable("ArtistServices");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -137,10 +137,10 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.Property<int>("SellerId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("SellerServiceId")
|
||||
b.Property<int>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("Status")
|
||||
@ -153,14 +153,14 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
b.HasIndex("BuyerId");
|
||||
|
||||
b.HasIndex("SellerId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.ToTable("SellerServiceOrders");
|
||||
b.ToTable("ArtistServiceOrders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrderReview", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -181,21 +181,21 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerServiceId")
|
||||
b.Property<int>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("SellerServiceOrderId")
|
||||
b.Property<int>("ArtistServiceOrderId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ReviewerId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.HasIndex("SellerServiceOrderId");
|
||||
b.HasIndex("ArtistServiceOrderId");
|
||||
|
||||
b.ToTable("SellerServiceOrderReviews");
|
||||
b.ToTable("ArtistServiceOrderReviews");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||
@ -245,7 +245,7 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<DateTime?>("UnsuspendDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("UserSellerProfileId")
|
||||
b.Property<int?>("UserArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
@ -253,7 +253,7 @@ namespace comissions.app.api.Migrations
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -302,27 +302,27 @@ namespace comissions.app.api.Migrations
|
||||
b.HasIndex("UserId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("UserSellerProfiles");
|
||||
b.ToTable("UserArtists");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("SellerProfileId")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("SellerServiceId");
|
||||
.HasForeignKey("ArtistServiceId");
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithMany()
|
||||
@ -333,18 +333,18 @@ namespace comissions.app.api.Migrations
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
.WithMany("SellerServices")
|
||||
.HasForeignKey("SellerProfileId")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany("ArtistServices")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "Buyer")
|
||||
.WithMany("Orders")
|
||||
@ -352,26 +352,26 @@ namespace comissions.app.api.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "Seller")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany()
|
||||
.HasForeignKey("SellerId")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany()
|
||||
.HasForeignKey("SellerServiceId")
|
||||
.HasForeignKey("ArtistServiceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Buyer");
|
||||
|
||||
b.Navigation("Seller");
|
||||
b.Navigation("Artist");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrderReview", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "Reviewer")
|
||||
.WithMany()
|
||||
@ -379,44 +379,44 @@ namespace comissions.app.api.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany("Reviews")
|
||||
.HasForeignKey("SellerServiceId")
|
||||
.HasForeignKey("ArtistServiceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerServiceOrder", "SellerServiceOrder")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistServiceOrder", "ArtistServiceOrder")
|
||||
.WithMany("Reviews")
|
||||
.HasForeignKey("SellerServiceOrderId")
|
||||
.HasForeignKey("ArtistServiceOrderId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Reviewer");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
|
||||
b.Navigation("SellerServiceOrder");
|
||||
b.Navigation("ArtistServiceOrder");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithOne("UserSellerProfile")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
|
||||
.WithOne("UserArtist")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.Navigation("PortfolioPieces");
|
||||
|
||||
b.Navigation("Reviews");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.Navigation("Reviews");
|
||||
});
|
||||
@ -425,14 +425,14 @@ namespace comissions.app.api.Migrations
|
||||
{
|
||||
b.Navigation("Orders");
|
||||
|
||||
b.Navigation("UserSellerProfile");
|
||||
b.Navigation("UserArtist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Navigation("PortfolioPieces");
|
||||
|
||||
b.Navigation("SellerServices");
|
||||
b.Navigation("ArtistServices");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ namespace comissions.app.api.Migrations
|
||||
DisplayName = table.Column<string>(type: "text", nullable: false),
|
||||
Biography = table.Column<string>(type: "text", nullable: false),
|
||||
Email = table.Column<string>(type: "text", nullable: false),
|
||||
UserSellerProfileId = table.Column<int>(type: "integer", nullable: true),
|
||||
UserArtistId = table.Column<int>(type: "integer", nullable: true),
|
||||
Banned = table.Column<bool>(type: "boolean", nullable: false),
|
||||
BannedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
||||
UnbanDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
||||
@ -39,7 +39,7 @@ namespace comissions.app.api.Migrations
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SellerProfileRequests",
|
||||
name: "ArtistRequests",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
@ -51,9 +51,9 @@ namespace comissions.app.api.Migrations
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SellerProfileRequests", x => x.Id);
|
||||
table.PrimaryKey("PK_ArtistRequests", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerProfileRequests_Users_UserId",
|
||||
name: "FK_ArtistRequests_Users_UserId",
|
||||
column: x => x.UserId,
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
@ -61,7 +61,7 @@ namespace comissions.app.api.Migrations
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "UserSellerProfiles",
|
||||
name: "UserArtists",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
@ -80,9 +80,9 @@ namespace comissions.app.api.Migrations
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_UserSellerProfiles", x => x.Id);
|
||||
table.PrimaryKey("PK_UserArtists", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_UserSellerProfiles_Users_UserId",
|
||||
name: "FK_UserArtists_Users_UserId",
|
||||
column: x => x.UserId,
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
@ -90,12 +90,12 @@ namespace comissions.app.api.Migrations
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SellerServices",
|
||||
name: "ArtistServices",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
SellerProfileId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistId = table.Column<int>(type: "integer", nullable: false),
|
||||
Name = table.Column<string>(type: "text", nullable: false),
|
||||
Description = table.Column<string>(type: "text", nullable: false),
|
||||
Price = table.Column<double>(type: "double precision", nullable: false),
|
||||
@ -103,50 +103,50 @@ namespace comissions.app.api.Migrations
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SellerServices", x => x.Id);
|
||||
table.PrimaryKey("PK_ArtistServices", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerServices_UserSellerProfiles_SellerProfileId",
|
||||
column: x => x.SellerProfileId,
|
||||
principalTable: "UserSellerProfiles",
|
||||
name: "FK_ArtistServices_UserArtists_ArtistId",
|
||||
column: x => x.ArtistId,
|
||||
principalTable: "UserArtists",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SellerProfilePortfolioPieces",
|
||||
name: "ArtistPortfolioPieces",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
SellerProfileId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistId = table.Column<int>(type: "integer", nullable: false),
|
||||
FileReference = table.Column<string>(type: "text", nullable: false),
|
||||
SellerServiceId = table.Column<int>(type: "integer", nullable: true)
|
||||
ArtistServiceId = table.Column<int>(type: "integer", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SellerProfilePortfolioPieces", x => x.Id);
|
||||
table.PrimaryKey("PK_ArtistPortfolioPieces", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerProfilePortfolioPieces_SellerServices_SellerServiceId",
|
||||
column: x => x.SellerServiceId,
|
||||
principalTable: "SellerServices",
|
||||
name: "FK_ArtistPortfolioPieces_ArtistServices_ArtistServiceId",
|
||||
column: x => x.ArtistServiceId,
|
||||
principalTable: "ArtistServices",
|
||||
principalColumn: "Id");
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerProfilePortfolioPieces_UserSellerProfiles_SellerProfi~",
|
||||
column: x => x.SellerProfileId,
|
||||
principalTable: "UserSellerProfiles",
|
||||
name: "FK_ArtistPortfolioPieces_UserArtists_ArtistProfi~",
|
||||
column: x => x.ArtistId,
|
||||
principalTable: "UserArtists",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SellerServiceOrders",
|
||||
name: "ArtistServiceOrders",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
BuyerId = table.Column<string>(type: "text", nullable: false),
|
||||
SellerServiceId = table.Column<int>(type: "integer", nullable: false),
|
||||
SellerId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistServiceId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistId = table.Column<int>(type: "integer", nullable: false),
|
||||
Status = table.Column<int>(type: "integer", nullable: false),
|
||||
Price = table.Column<double>(type: "double precision", nullable: false),
|
||||
CreatedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
@ -156,21 +156,21 @@ namespace comissions.app.api.Migrations
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SellerServiceOrders", x => x.Id);
|
||||
table.PrimaryKey("PK_ArtistServiceOrders", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerServiceOrders_SellerServices_SellerServiceId",
|
||||
column: x => x.SellerServiceId,
|
||||
principalTable: "SellerServices",
|
||||
name: "FK_ArtistServiceOrders_ArtistServices_ArtistServiceId",
|
||||
column: x => x.ArtistServiceId,
|
||||
principalTable: "ArtistServices",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerServiceOrders_UserSellerProfiles_SellerId",
|
||||
column: x => x.SellerId,
|
||||
principalTable: "UserSellerProfiles",
|
||||
name: "FK_ArtistServiceOrders_UserArtists_ArtistId",
|
||||
column: x => x.ArtistId,
|
||||
principalTable: "UserArtists",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerServiceOrders_Users_BuyerId",
|
||||
name: "FK_ArtistServiceOrders_Users_BuyerId",
|
||||
column: x => x.BuyerId,
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
@ -178,35 +178,35 @@ namespace comissions.app.api.Migrations
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SellerServiceOrderReviews",
|
||||
name: "ArtistServiceOrderReviews",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
ReviewerId = table.Column<string>(type: "text", nullable: false),
|
||||
SellerServiceOrderId = table.Column<int>(type: "integer", nullable: false),
|
||||
SellerServiceId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistServiceOrderId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistServiceId = table.Column<int>(type: "integer", nullable: false),
|
||||
ReviewDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
Review = table.Column<string>(type: "text", nullable: true),
|
||||
Rating = table.Column<int>(type: "integer", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SellerServiceOrderReviews", x => x.Id);
|
||||
table.PrimaryKey("PK_ArtistServiceOrderReviews", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerServiceOrderReviews_SellerServiceOrders_SellerService~",
|
||||
column: x => x.SellerServiceOrderId,
|
||||
principalTable: "SellerServiceOrders",
|
||||
name: "FK_ArtistServiceOrderReviews_ArtistServiceOrders_ArtistService~",
|
||||
column: x => x.ArtistServiceOrderId,
|
||||
principalTable: "ArtistServiceOrders",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerServiceOrderReviews_SellerServices_SellerServiceId",
|
||||
column: x => x.SellerServiceId,
|
||||
principalTable: "SellerServices",
|
||||
name: "FK_ArtistServiceOrderReviews_ArtistServices_ArtistServiceId",
|
||||
column: x => x.ArtistServiceId,
|
||||
principalTable: "ArtistServices",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerServiceOrderReviews_Users_ReviewerId",
|
||||
name: "FK_ArtistServiceOrderReviews_Users_ReviewerId",
|
||||
column: x => x.ReviewerId,
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
@ -214,58 +214,58 @@ namespace comissions.app.api.Migrations
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerProfilePortfolioPieces_SellerProfileId",
|
||||
table: "SellerProfilePortfolioPieces",
|
||||
column: "SellerProfileId");
|
||||
name: "IX_ArtistPortfolioPieces_ArtistId",
|
||||
table: "ArtistPortfolioPieces",
|
||||
column: "ArtistId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerProfilePortfolioPieces_SellerServiceId",
|
||||
table: "SellerProfilePortfolioPieces",
|
||||
column: "SellerServiceId");
|
||||
name: "IX_ArtistPortfolioPieces_ArtistServiceId",
|
||||
table: "ArtistPortfolioPieces",
|
||||
column: "ArtistServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerProfileRequests_UserId",
|
||||
table: "SellerProfileRequests",
|
||||
name: "IX_ArtistRequests_UserId",
|
||||
table: "ArtistRequests",
|
||||
column: "UserId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerServiceOrderReviews_ReviewerId",
|
||||
table: "SellerServiceOrderReviews",
|
||||
name: "IX_ArtistServiceOrderReviews_ReviewerId",
|
||||
table: "ArtistServiceOrderReviews",
|
||||
column: "ReviewerId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerServiceOrderReviews_SellerServiceId",
|
||||
table: "SellerServiceOrderReviews",
|
||||
column: "SellerServiceId");
|
||||
name: "IX_ArtistServiceOrderReviews_ArtistServiceId",
|
||||
table: "ArtistServiceOrderReviews",
|
||||
column: "ArtistServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerServiceOrderReviews_SellerServiceOrderId",
|
||||
table: "SellerServiceOrderReviews",
|
||||
column: "SellerServiceOrderId");
|
||||
name: "IX_ArtistServiceOrderReviews_ArtistServiceOrderId",
|
||||
table: "ArtistServiceOrderReviews",
|
||||
column: "ArtistServiceOrderId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerServiceOrders_BuyerId",
|
||||
table: "SellerServiceOrders",
|
||||
name: "IX_ArtistServiceOrders_BuyerId",
|
||||
table: "ArtistServiceOrders",
|
||||
column: "BuyerId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerServiceOrders_SellerId",
|
||||
table: "SellerServiceOrders",
|
||||
column: "SellerId");
|
||||
name: "IX_ArtistServiceOrders_ArtistId",
|
||||
table: "ArtistServiceOrders",
|
||||
column: "ArtistId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerServiceOrders_SellerServiceId",
|
||||
table: "SellerServiceOrders",
|
||||
column: "SellerServiceId");
|
||||
name: "IX_ArtistServiceOrders_ArtistServiceId",
|
||||
table: "ArtistServiceOrders",
|
||||
column: "ArtistServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerServices_SellerProfileId",
|
||||
table: "SellerServices",
|
||||
column: "SellerProfileId");
|
||||
name: "IX_ArtistServices_ArtistId",
|
||||
table: "ArtistServices",
|
||||
column: "ArtistId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_UserSellerProfiles_UserId",
|
||||
table: "UserSellerProfiles",
|
||||
name: "IX_UserArtists_UserId",
|
||||
table: "UserArtists",
|
||||
column: "UserId",
|
||||
unique: true);
|
||||
}
|
||||
@ -274,22 +274,22 @@ namespace comissions.app.api.Migrations
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "SellerProfilePortfolioPieces");
|
||||
name: "ArtistPortfolioPieces");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "SellerProfileRequests");
|
||||
name: "ArtistRequests");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "SellerServiceOrderReviews");
|
||||
name: "ArtistServiceOrderReviews");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "SellerServiceOrders");
|
||||
name: "ArtistServiceOrders");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "SellerServices");
|
||||
name: "ArtistServices");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "UserSellerProfiles");
|
||||
name: "UserArtists");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Users");
|
||||
|
@ -25,7 +25,7 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -152,18 +152,18 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId")
|
||||
b.HasIndex("ArtistId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("SellerProfilePageSettings");
|
||||
b.ToTable("ArtistPageSettings");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -175,22 +175,22 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("SellerServiceId")
|
||||
b.Property<int?>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.ToTable("SellerProfilePortfolioPieces");
|
||||
b.ToTable("ArtistPortfolioPieces");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -215,10 +215,10 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("SellerProfileRequests");
|
||||
b.ToTable("ArtistRequests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -240,17 +240,17 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.ToTable("SellerServices");
|
||||
b.ToTable("ArtistServices");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -274,10 +274,10 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.Property<int>("SellerId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("SellerServiceId")
|
||||
b.Property<int>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("Status")
|
||||
@ -290,14 +290,14 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
b.HasIndex("BuyerId");
|
||||
|
||||
b.HasIndex("SellerId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.ToTable("SellerServiceOrders");
|
||||
b.ToTable("ArtistServiceOrders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrderReview", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -318,21 +318,21 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerServiceId")
|
||||
b.Property<int>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("SellerServiceOrderId")
|
||||
b.Property<int>("ArtistServiceOrderId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ReviewerId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.HasIndex("SellerServiceOrderId");
|
||||
b.HasIndex("ArtistServiceOrderId");
|
||||
|
||||
b.ToTable("SellerServiceOrderReviews");
|
||||
b.ToTable("ArtistServiceOrderReviews");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||
@ -382,7 +382,7 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<DateTime?>("UnsuspendDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("UserSellerProfileId")
|
||||
b.Property<int?>("UserArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
@ -390,7 +390,7 @@ namespace comissions.app.api.Migrations
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -416,7 +416,7 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfilePageSettingsId")
|
||||
b.Property<int>("ArtistPageSettingsId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("SocialMediaLink1")
|
||||
@ -462,38 +462,38 @@ namespace comissions.app.api.Migrations
|
||||
b.HasIndex("UserId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("UserSellerProfiles");
|
||||
b.ToTable("UserArtists");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
.WithOne("SellerProfilePageSettings")
|
||||
.HasForeignKey("comissions.app.database.Entities.SellerProfilePageSettings", "SellerProfileId")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithOne("ArtistPageSettings")
|
||||
.HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("SellerProfileId")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("SellerServiceId");
|
||||
.HasForeignKey("ArtistServiceId");
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithMany()
|
||||
@ -504,18 +504,18 @@ namespace comissions.app.api.Migrations
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
.WithMany("SellerServices")
|
||||
.HasForeignKey("SellerProfileId")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany("ArtistServices")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "Buyer")
|
||||
.WithMany("Orders")
|
||||
@ -523,26 +523,26 @@ namespace comissions.app.api.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "Seller")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany()
|
||||
.HasForeignKey("SellerId")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany()
|
||||
.HasForeignKey("SellerServiceId")
|
||||
.HasForeignKey("ArtistServiceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Buyer");
|
||||
|
||||
b.Navigation("Seller");
|
||||
b.Navigation("Artist");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrderReview", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "Reviewer")
|
||||
.WithMany()
|
||||
@ -550,44 +550,44 @@ namespace comissions.app.api.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany("Reviews")
|
||||
.HasForeignKey("SellerServiceId")
|
||||
.HasForeignKey("ArtistServiceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerServiceOrder", "SellerServiceOrder")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistServiceOrder", "ArtistServiceOrder")
|
||||
.WithMany("Reviews")
|
||||
.HasForeignKey("SellerServiceOrderId")
|
||||
.HasForeignKey("ArtistServiceOrderId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Reviewer");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
|
||||
b.Navigation("SellerServiceOrder");
|
||||
b.Navigation("ArtistServiceOrder");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithOne("UserSellerProfile")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
|
||||
.WithOne("UserArtist")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.Navigation("PortfolioPieces");
|
||||
|
||||
b.Navigation("Reviews");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.Navigation("Reviews");
|
||||
});
|
||||
@ -596,17 +596,17 @@ namespace comissions.app.api.Migrations
|
||||
{
|
||||
b.Navigation("Orders");
|
||||
|
||||
b.Navigation("UserSellerProfile");
|
||||
b.Navigation("UserArtist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Navigation("PortfolioPieces");
|
||||
|
||||
b.Navigation("SellerProfilePageSettings")
|
||||
b.Navigation("ArtistPageSettings")
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerServices");
|
||||
b.Navigation("ArtistServices");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
|
@ -14,69 +14,69 @@ namespace comissions.app.api.Migrations
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "SocialMediaLinks",
|
||||
table: "UserSellerProfiles");
|
||||
table: "UserArtists");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "Biography",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
newName: "SocialMediaLink4");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Description",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
type: "text",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "Name",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
type: "text",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "RequestGuidelines",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
type: "text",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "SellerProfilePageSettingsId",
|
||||
table: "UserSellerProfiles",
|
||||
name: "ArtistPageSettingsId",
|
||||
table: "UserArtists",
|
||||
type: "integer",
|
||||
nullable: false,
|
||||
defaultValue: 0);
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "SocialMediaLink1",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
type: "text",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "SocialMediaLink2",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
type: "text",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "SocialMediaLink3",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
type: "text",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "SellerProfilePageSettings",
|
||||
name: "ArtistPageSettings",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
SellerProfileId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistId = table.Column<int>(type: "integer", nullable: false),
|
||||
RequestButtonHoverBGColor = table.Column<string>(type: "text", nullable: false),
|
||||
RequestButtonTextColor = table.Column<string>(type: "text", nullable: false),
|
||||
RequestButtonBGColor = table.Column<string>(type: "text", nullable: false),
|
||||
@ -113,19 +113,19 @@ namespace comissions.app.api.Migrations
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_SellerProfilePageSettings", x => x.Id);
|
||||
table.PrimaryKey("PK_ArtistPageSettings", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_SellerProfilePageSettings_UserSellerProfiles_SellerProfileId",
|
||||
column: x => x.SellerProfileId,
|
||||
principalTable: "UserSellerProfiles",
|
||||
name: "FK_ArtistPageSettings_UserArtists_ArtistId",
|
||||
column: x => x.ArtistId,
|
||||
principalTable: "UserArtists",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_SellerProfilePageSettings_SellerProfileId",
|
||||
table: "SellerProfilePageSettings",
|
||||
column: "SellerProfileId",
|
||||
name: "IX_ArtistPageSettings_ArtistId",
|
||||
table: "ArtistPageSettings",
|
||||
column: "ArtistId",
|
||||
unique: true);
|
||||
}
|
||||
|
||||
@ -133,44 +133,44 @@ namespace comissions.app.api.Migrations
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "SellerProfilePageSettings");
|
||||
name: "ArtistPageSettings");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Description",
|
||||
table: "UserSellerProfiles");
|
||||
table: "UserArtists");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "Name",
|
||||
table: "UserSellerProfiles");
|
||||
table: "UserArtists");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "RequestGuidelines",
|
||||
table: "UserSellerProfiles");
|
||||
table: "UserArtists");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "SellerProfilePageSettingsId",
|
||||
table: "UserSellerProfiles");
|
||||
name: "ArtistPageSettingsId",
|
||||
table: "UserArtists");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "SocialMediaLink1",
|
||||
table: "UserSellerProfiles");
|
||||
table: "UserArtists");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "SocialMediaLink2",
|
||||
table: "UserSellerProfiles");
|
||||
table: "UserArtists");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "SocialMediaLink3",
|
||||
table: "UserSellerProfiles");
|
||||
table: "UserArtists");
|
||||
|
||||
migrationBuilder.RenameColumn(
|
||||
name: "SocialMediaLink4",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
newName: "Biography");
|
||||
|
||||
migrationBuilder.AddColumn<List<string>>(
|
||||
name: "SocialMediaLinks",
|
||||
table: "UserSellerProfiles",
|
||||
table: "UserArtists",
|
||||
type: "text[]",
|
||||
nullable: false);
|
||||
}
|
||||
|
@ -25,7 +25,7 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -156,18 +156,18 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId")
|
||||
b.HasIndex("ArtistId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("SellerProfilePageSettings");
|
||||
b.ToTable("ArtistPageSettings");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -179,22 +179,22 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("SellerServiceId")
|
||||
b.Property<int?>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.ToTable("SellerProfilePortfolioPieces");
|
||||
b.ToTable("ArtistPortfolioPieces");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -219,10 +219,10 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("SellerProfileRequests");
|
||||
b.ToTable("ArtistRequests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -244,17 +244,17 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.ToTable("SellerServices");
|
||||
b.ToTable("ArtistServices");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -278,10 +278,10 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.Property<int>("SellerId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("SellerServiceId")
|
||||
b.Property<int>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("Status")
|
||||
@ -294,14 +294,14 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
b.HasIndex("BuyerId");
|
||||
|
||||
b.HasIndex("SellerId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.ToTable("SellerServiceOrders");
|
||||
b.ToTable("ArtistServiceOrders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrderReview", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -322,21 +322,21 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerServiceId")
|
||||
b.Property<int>("ArtistServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("SellerServiceOrderId")
|
||||
b.Property<int>("ArtistServiceOrderId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ReviewerId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
b.HasIndex("ArtistServiceId");
|
||||
|
||||
b.HasIndex("SellerServiceOrderId");
|
||||
b.HasIndex("ArtistServiceOrderId");
|
||||
|
||||
b.ToTable("SellerServiceOrderReviews");
|
||||
b.ToTable("ArtistServiceOrderReviews");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||
@ -386,7 +386,7 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<DateTime?>("UnsuspendDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("UserSellerProfileId")
|
||||
b.Property<int?>("UserArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
@ -394,7 +394,7 @@ namespace comissions.app.api.Migrations
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -420,7 +420,7 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfilePageSettingsId")
|
||||
b.Property<int>("ArtistPageSettingsId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("SocialMediaLink1")
|
||||
@ -466,38 +466,38 @@ namespace comissions.app.api.Migrations
|
||||
b.HasIndex("UserId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("UserSellerProfiles");
|
||||
b.ToTable("UserArtists");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
.WithOne("SellerProfilePageSettings")
|
||||
.HasForeignKey("comissions.app.database.Entities.SellerProfilePageSettings", "SellerProfileId")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithOne("ArtistPageSettings")
|
||||
.HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("SellerProfileId")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("SellerServiceId");
|
||||
.HasForeignKey("ArtistServiceId");
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithMany()
|
||||
@ -508,18 +508,18 @@ namespace comissions.app.api.Migrations
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
.WithMany("SellerServices")
|
||||
.HasForeignKey("SellerProfileId")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany("ArtistServices")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "Buyer")
|
||||
.WithMany("Orders")
|
||||
@ -527,26 +527,26 @@ namespace comissions.app.api.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "Seller")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany()
|
||||
.HasForeignKey("SellerId")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany()
|
||||
.HasForeignKey("SellerServiceId")
|
||||
.HasForeignKey("ArtistServiceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Buyer");
|
||||
|
||||
b.Navigation("Seller");
|
||||
b.Navigation("Artist");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrderReview", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "Reviewer")
|
||||
.WithMany()
|
||||
@ -554,44 +554,44 @@ namespace comissions.app.api.Migrations
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||
.WithMany("Reviews")
|
||||
.HasForeignKey("SellerServiceId")
|
||||
.HasForeignKey("ArtistServiceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerServiceOrder", "SellerServiceOrder")
|
||||
b.HasOne("comissions.app.database.Entities.ArtistServiceOrder", "ArtistServiceOrder")
|
||||
.WithMany("Reviews")
|
||||
.HasForeignKey("SellerServiceOrderId")
|
||||
.HasForeignKey("ArtistServiceOrderId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Reviewer");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("ArtistService");
|
||||
|
||||
b.Navigation("SellerServiceOrder");
|
||||
b.Navigation("ArtistServiceOrder");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithOne("UserSellerProfile")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
|
||||
.WithOne("UserArtist")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||
{
|
||||
b.Navigation("PortfolioPieces");
|
||||
|
||||
b.Navigation("Reviews");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||
{
|
||||
b.Navigation("Reviews");
|
||||
});
|
||||
@ -600,17 +600,17 @@ namespace comissions.app.api.Migrations
|
||||
{
|
||||
b.Navigation("Orders");
|
||||
|
||||
b.Navigation("UserSellerProfile");
|
||||
b.Navigation("UserArtist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Navigation("PortfolioPieces");
|
||||
|
||||
b.Navigation("SellerProfilePageSettings")
|
||||
b.Navigation("ArtistPageSettings")
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerServices");
|
||||
b.Navigation("ArtistServices");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
|
@ -12,7 +12,7 @@ namespace comissions.app.api.Migrations
|
||||
{
|
||||
migrationBuilder.AddColumn<string>(
|
||||
name: "RequestButtonHoverTextColor",
|
||||
table: "SellerProfilePageSettings",
|
||||
table: "ArtistPageSettings",
|
||||
type: "text",
|
||||
nullable: false,
|
||||
defaultValue: "");
|
||||
@ -23,7 +23,7 @@ namespace comissions.app.api.Migrations
|
||||
{
|
||||
migrationBuilder.DropColumn(
|
||||
name: "RequestButtonHoverTextColor",
|
||||
table: "SellerProfilePageSettings");
|
||||
table: "ArtistPageSettings");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
480
src/comissions.app.api/Migrations/20240219095038_naming fixes.Designer.cs
generated
Normal file
480
src/comissions.app.api/Migrations/20240219095038_naming fixes.Designer.cs
generated
Normal file
@ -0,0 +1,480 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
using comissions.app.database;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace comissions.app.api.Migrations
|
||||
{
|
||||
[DbContext(typeof(ApplicationDbContext))]
|
||||
[Migration("20240219095038_naming fixes")]
|
||||
partial class namingfixes
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "8.0.1")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("BackgroundColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("DescriptionBackgroundColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("DescriptionHeaderColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("DescriptionHeaderImageUrl")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("DescriptionHeaderSize")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("DescriptionHeaderText")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("DescriptionHeaderUseImage")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("DescriptionTextColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("DescriptionTextSize")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("HeaderColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("HeaderImageUrl")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("HeaderTextSize")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<bool>("HeaderUseImage")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("PortfolioBackgroundColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("PortfolioColumns")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<bool>("PortfolioEnabledScrolling")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<bool>("PortfolioMasonry")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<int>("PortfolioMaximumSize")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("PortfolionHeaderColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("PortfolionHeaderImageUrl")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("PortfolionHeaderSize")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("PortfolionHeaderText")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("PortfolionHeaderUseImage")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("RequestBackgroundColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("RequestButtonBGColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("RequestButtonHoverBGColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("RequestButtonHoverTextColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("RequestButtonTextColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("RequestHeaderColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("RequestHeaderImageUrl")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("RequestHeaderSize")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("RequestHeaderText")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("RequestHeaderUseImage")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("RequestTermsColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ArtistId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("ArtistPageSettings");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("FileReference")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.ToTable("ArtistPortfolioPieces");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<bool>("Accepted")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("AcceptedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<DateTime>("RequestDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("ArtistRequests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<bool>("Accepted")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("AcceptedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<decimal>("Amount")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<bool>("Completed")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("CompletedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<bool>("Declined")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("DeclinedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("Message")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime>("RequestDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("Requests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||
{
|
||||
b.Property<string>("Id")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("BanAdminId")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("Banned")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("BannedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("BannedReason")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Biography")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("DisplayName")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Email")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SuspendAdminId")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("Suspended")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("SuspendedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("SuspendedReason")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime?>("UnbanDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<DateTime?>("UnsuspendDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("UserArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<bool>("AgeRestricted")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<int>("ArtistPageSettingsId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("PrepaymentRequired")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("RequestGuidelines")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SocialMediaLink1")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SocialMediaLink2")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SocialMediaLink3")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SocialMediaLink4")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("StripeAccountId")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("SuspendAdminId")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("Suspended")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("SuspendedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("SuspendedReason")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime?>("UnsuspendDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("UserId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("UserArtists");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithOne("ArtistPageSettings")
|
||||
.HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany()
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Artist");
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithOne("UserArtist")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||
{
|
||||
b.Navigation("UserArtist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Navigation("ArtistPageSettings")
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("PortfolioPieces");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
240
src/comissions.app.api/Migrations/20240219095038_naming fixes.cs
Normal file
240
src/comissions.app.api/Migrations/20240219095038_naming fixes.cs
Normal file
@ -0,0 +1,240 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
|
||||
|
||||
#nullable disable
|
||||
|
||||
namespace comissions.app.api.Migrations
|
||||
{
|
||||
/// <inheritdoc />
|
||||
public partial class namingfixes : Migration
|
||||
{
|
||||
/// <inheritdoc />
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropForeignKey(
|
||||
name: "FK_ArtistPortfolioPieces_ArtistServices_ArtistServiceId",
|
||||
table: "ArtistPortfolioPieces");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ArtistServiceOrderReviews");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ArtistServiceOrders");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "ArtistServices");
|
||||
|
||||
migrationBuilder.DropIndex(
|
||||
name: "IX_ArtistPortfolioPieces_ArtistServiceId",
|
||||
table: "ArtistPortfolioPieces");
|
||||
|
||||
migrationBuilder.DropColumn(
|
||||
name: "ArtistServiceId",
|
||||
table: "ArtistPortfolioPieces");
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Requests",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
Message = table.Column<string>(type: "text", nullable: false),
|
||||
Amount = table.Column<decimal>(type: "numeric", nullable: false),
|
||||
UserId = table.Column<string>(type: "text", nullable: false),
|
||||
ArtistId = table.Column<int>(type: "integer", nullable: false),
|
||||
RequestDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
Accepted = table.Column<bool>(type: "boolean", nullable: false),
|
||||
AcceptedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
||||
Declined = table.Column<bool>(type: "boolean", nullable: false),
|
||||
DeclinedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
||||
Completed = table.Column<bool>(type: "boolean", nullable: false),
|
||||
CompletedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Requests", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Requests_UserArtists_ArtistId",
|
||||
column: x => x.ArtistId,
|
||||
principalTable: "UserArtists",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_Requests_Users_UserId",
|
||||
column: x => x.UserId,
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Requests_ArtistId",
|
||||
table: "Requests",
|
||||
column: "ArtistId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Requests_UserId",
|
||||
table: "Requests",
|
||||
column: "UserId");
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.DropTable(
|
||||
name: "Requests");
|
||||
|
||||
migrationBuilder.AddColumn<int>(
|
||||
name: "ArtistServiceId",
|
||||
table: "ArtistPortfolioPieces",
|
||||
type: "integer",
|
||||
nullable: true);
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ArtistServices",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
ArtistId = table.Column<int>(type: "integer", nullable: false),
|
||||
Archived = table.Column<bool>(type: "boolean", nullable: false),
|
||||
Description = table.Column<string>(type: "text", nullable: false),
|
||||
Name = table.Column<string>(type: "text", nullable: false),
|
||||
Price = table.Column<double>(type: "double precision", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ArtistServices", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ArtistServices_UserArtists_ArtistId",
|
||||
column: x => x.ArtistId,
|
||||
principalTable: "UserArtists",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ArtistServiceOrders",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
ArtistId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistServiceId = table.Column<int>(type: "integer", nullable: false),
|
||||
BuyerId = table.Column<string>(type: "text", nullable: false),
|
||||
CreatedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||
EndDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
||||
PaymentUrl = table.Column<string>(type: "text", nullable: true),
|
||||
Price = table.Column<double>(type: "double precision", nullable: false),
|
||||
Status = table.Column<int>(type: "integer", nullable: false),
|
||||
TermsAcceptedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ArtistServiceOrders", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ArtistServiceOrders_ArtistServices_ArtistServiceId",
|
||||
column: x => x.ArtistServiceId,
|
||||
principalTable: "ArtistServices",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ArtistServiceOrders_UserArtists_ArtistId",
|
||||
column: x => x.ArtistId,
|
||||
principalTable: "UserArtists",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ArtistServiceOrders_Users_BuyerId",
|
||||
column: x => x.BuyerId,
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "ArtistServiceOrderReviews",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<int>(type: "integer", nullable: false)
|
||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||
ArtistServiceId = table.Column<int>(type: "integer", nullable: false),
|
||||
ArtistServiceOrderId = table.Column<int>(type: "integer", nullable: false),
|
||||
ReviewerId = table.Column<string>(type: "text", nullable: false),
|
||||
Rating = table.Column<int>(type: "integer", nullable: false),
|
||||
Review = table.Column<string>(type: "text", nullable: true),
|
||||
ReviewDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_ArtistServiceOrderReviews", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_ArtistServiceOrderReviews_ArtistServiceOrders_ArtistService~",
|
||||
column: x => x.ArtistServiceOrderId,
|
||||
principalTable: "ArtistServiceOrders",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ArtistServiceOrderReviews_ArtistServices_ArtistServiceId",
|
||||
column: x => x.ArtistServiceId,
|
||||
principalTable: "ArtistServices",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
table.ForeignKey(
|
||||
name: "FK_ArtistServiceOrderReviews_Users_ReviewerId",
|
||||
column: x => x.ReviewerId,
|
||||
principalTable: "Users",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ArtistPortfolioPieces_ArtistServiceId",
|
||||
table: "ArtistPortfolioPieces",
|
||||
column: "ArtistServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ArtistServiceOrderReviews_ArtistServiceId",
|
||||
table: "ArtistServiceOrderReviews",
|
||||
column: "ArtistServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ArtistServiceOrderReviews_ArtistServiceOrderId",
|
||||
table: "ArtistServiceOrderReviews",
|
||||
column: "ArtistServiceOrderId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ArtistServiceOrderReviews_ReviewerId",
|
||||
table: "ArtistServiceOrderReviews",
|
||||
column: "ReviewerId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ArtistServiceOrders_ArtistId",
|
||||
table: "ArtistServiceOrders",
|
||||
column: "ArtistId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ArtistServiceOrders_ArtistServiceId",
|
||||
table: "ArtistServiceOrders",
|
||||
column: "ArtistServiceId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ArtistServiceOrders_BuyerId",
|
||||
table: "ArtistServiceOrders",
|
||||
column: "BuyerId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_ArtistServices_ArtistId",
|
||||
table: "ArtistServices",
|
||||
column: "ArtistId");
|
||||
|
||||
migrationBuilder.AddForeignKey(
|
||||
name: "FK_ArtistPortfolioPieces_ArtistServices_ArtistServiceId",
|
||||
table: "ArtistPortfolioPieces",
|
||||
column: "ArtistServiceId",
|
||||
principalTable: "ArtistServices",
|
||||
principalColumn: "Id");
|
||||
}
|
||||
}
|
||||
}
|
@ -22,7 +22,7 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -30,6 +30,9 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("BackgroundColor")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
@ -153,18 +156,15 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId")
|
||||
b.HasIndex("ArtistId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("SellerProfilePageSettings");
|
||||
b.ToTable("ArtistPageSettings");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -172,26 +172,21 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("FileReference")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int?>("SellerServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
|
||||
b.ToTable("SellerProfilePortfolioPieces");
|
||||
b.ToTable("ArtistPortfolioPieces");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -216,10 +211,10 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("SellerProfileRequests");
|
||||
b.ToTable("ArtistRequests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -227,113 +222,48 @@ namespace comissions.app.api.Migrations
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<bool>("Archived")
|
||||
b.Property<bool>("Accepted")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
b.Property<DateTime?>("AcceptedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
b.Property<decimal>("Amount")
|
||||
.HasColumnType("numeric");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.Property<int>("SellerProfileId")
|
||||
b.Property<int>("ArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<bool>("Completed")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("CompletedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<bool>("Declined")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<DateTime?>("DeclinedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("Message")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime>("RequestDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("SellerProfileId");
|
||||
b.HasIndex("ArtistId");
|
||||
|
||||
b.ToTable("SellerServices");
|
||||
});
|
||||
b.HasIndex("UserId");
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<string>("BuyerId")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime>("CreatedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<DateTime?>("EndDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("PaymentUrl")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<double>("Price")
|
||||
.HasColumnType("double precision");
|
||||
|
||||
b.Property<int>("SellerId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("SellerServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("Status")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<DateTime?>("TermsAcceptedDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("BuyerId");
|
||||
|
||||
b.HasIndex("SellerId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
|
||||
b.ToTable("SellerServiceOrders");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("integer");
|
||||
|
||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||
|
||||
b.Property<int>("Rating")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Review")
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<DateTime>("ReviewDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<string>("ReviewerId")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerServiceId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<int>("SellerServiceOrderId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("ReviewerId");
|
||||
|
||||
b.HasIndex("SellerServiceId");
|
||||
|
||||
b.HasIndex("SellerServiceOrderId");
|
||||
|
||||
b.ToTable("SellerServiceOrderReviews");
|
||||
b.ToTable("Requests");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||
@ -383,7 +313,7 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<DateTime?>("UnsuspendDate")
|
||||
.HasColumnType("timestamp with time zone");
|
||||
|
||||
b.Property<int?>("UserSellerProfileId")
|
||||
b.Property<int?>("UserArtistId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.HasKey("Id");
|
||||
@ -391,7 +321,7 @@ namespace comissions.app.api.Migrations
|
||||
b.ToTable("Users");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
@ -402,6 +332,9 @@ namespace comissions.app.api.Migrations
|
||||
b.Property<bool>("AgeRestricted")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.Property<int>("ArtistPageSettingsId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("Description")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
@ -417,9 +350,6 @@ namespace comissions.app.api.Migrations
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<int>("SellerProfilePageSettingsId")
|
||||
.HasColumnType("integer");
|
||||
|
||||
b.Property<string>("SocialMediaLink1")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
@ -463,38 +393,32 @@ namespace comissions.app.api.Migrations
|
||||
b.HasIndex("UserId")
|
||||
.IsUnique();
|
||||
|
||||
b.ToTable("UserSellerProfiles");
|
||||
b.ToTable("UserArtists");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
.WithOne("SellerProfilePageSettings")
|
||||
.HasForeignKey("comissions.app.database.Entities.SellerProfilePageSettings", "SellerProfileId")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithOne("ArtistPageSettings")
|
||||
.HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("SellerProfileId")
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
.WithMany("PortfolioPieces")
|
||||
.HasForeignKey("SellerServiceId");
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
b.Navigation("Artist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithMany()
|
||||
@ -505,109 +429,47 @@ namespace comissions.app.api.Migrations
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.Request", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "SellerProfile")
|
||||
.WithMany("SellerServices")
|
||||
.HasForeignKey("SellerProfileId")
|
||||
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||
.WithMany()
|
||||
.HasForeignKey("ArtistId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerProfile");
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithMany()
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Artist");
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "Buyer")
|
||||
.WithMany("Orders")
|
||||
.HasForeignKey("BuyerId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "Seller")
|
||||
.WithMany()
|
||||
.HasForeignKey("SellerId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
.WithMany()
|
||||
.HasForeignKey("SellerServiceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Buyer");
|
||||
|
||||
b.Navigation("Seller");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrderReview", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "Reviewer")
|
||||
.WithMany()
|
||||
.HasForeignKey("ReviewerId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
||||
.WithMany("Reviews")
|
||||
.HasForeignKey("SellerServiceId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.HasOne("comissions.app.database.Entities.SellerServiceOrder", "SellerServiceOrder")
|
||||
.WithMany("Reviews")
|
||||
.HasForeignKey("SellerServiceOrderId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("Reviewer");
|
||||
|
||||
b.Navigation("SellerService");
|
||||
|
||||
b.Navigation("SellerServiceOrder");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||
.WithOne("UserSellerProfile")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
|
||||
.WithOne("UserArtist")
|
||||
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("User");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
||||
{
|
||||
b.Navigation("PortfolioPieces");
|
||||
|
||||
b.Navigation("Reviews");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
||||
{
|
||||
b.Navigation("Reviews");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||
{
|
||||
b.Navigation("Orders");
|
||||
|
||||
b.Navigation("UserSellerProfile");
|
||||
b.Navigation("UserArtist");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
||||
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||
{
|
||||
b.Navigation("PortfolioPieces");
|
||||
|
||||
b.Navigation("SellerProfilePageSettings")
|
||||
b.Navigation("ArtistPageSettings")
|
||||
.IsRequired();
|
||||
|
||||
b.Navigation("SellerServices");
|
||||
b.Navigation("PortfolioPieces");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
namespace comissions.app.api.Models.Discovery;
|
||||
|
||||
public class DiscoverySellerModel
|
||||
public class DiscoveryArtistModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
@ -3,5 +3,4 @@ namespace comissions.app.api.Models.PortfolioModel;
|
||||
public class PortfolioModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int? SellerServiceId { get; set; }
|
||||
}
|
@ -4,12 +4,11 @@ namespace comissions.app.api.Models.PortfolioModel;
|
||||
|
||||
public static class PortfolioModelExtensions
|
||||
{
|
||||
public static PortfolioModel ToModel(this SellerProfilePortfolioPiece sellerProfileRequest)
|
||||
public static PortfolioModel ToModel(this ArtistPortfolioPiece sellerProfileRequest)
|
||||
{
|
||||
return new PortfolioModel()
|
||||
{
|
||||
Id = sellerProfileRequest.Id,
|
||||
SellerServiceId = sellerProfileRequest.SellerServiceId
|
||||
Id = sellerProfileRequest.Id
|
||||
};
|
||||
}
|
||||
}
|
16
src/comissions.app.api/Models/Request/RequestModel.cs
Normal file
16
src/comissions.app.api/Models/Request/RequestModel.cs
Normal file
@ -0,0 +1,16 @@
|
||||
namespace comissions.app.database.Models.Request;
|
||||
|
||||
public class RequestModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Message { get; set; }
|
||||
public decimal Amount { get; set; }
|
||||
public string UserId { get; set; }
|
||||
public DateTime RequestDate { get; set; }
|
||||
public bool Accepted { get; set; } = false;
|
||||
public DateTime? AcceptedDate { get; set; }
|
||||
public bool Declined { get; set; } = false;
|
||||
public DateTime? DeclinedDate { get; set; }
|
||||
public bool Completed { get; set; } = false;
|
||||
public DateTime? CompletedDate { get; set; }
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
namespace comissions.app.database.Models.Request;
|
||||
|
||||
public static class RequestModelExtensions
|
||||
{
|
||||
public static RequestModel ToModel(this Entities.Request sellerProfile)
|
||||
{
|
||||
return new RequestModel()
|
||||
{
|
||||
Id = sellerProfile.Id,
|
||||
UserId = sellerProfile.UserId,
|
||||
RequestDate = sellerProfile.RequestDate,
|
||||
AcceptedDate = sellerProfile.AcceptedDate,
|
||||
Accepted = sellerProfile.Accepted,
|
||||
Amount = sellerProfile.Amount,
|
||||
Completed = sellerProfile.Completed,
|
||||
CompletedDate = sellerProfile.CompletedDate,
|
||||
Declined = sellerProfile.Declined,
|
||||
DeclinedDate = sellerProfile.DeclinedDate,
|
||||
Message = sellerProfile.Message
|
||||
};
|
||||
}
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
namespace comissions.app.api.Models.Artist;
|
||||
|
||||
public class ArtistOnboardStatusModel
|
||||
{
|
||||
public bool Onboarded { get; set; }
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
namespace comissions.app.api.Models.Artist;
|
||||
|
||||
public class ArtistOnboardUrlModel
|
||||
{
|
||||
public string OnboardUrl { get; set; }
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
namespace comissions.app.api.Models.SellerProfile;
|
||||
namespace comissions.app.api.Models.Artist;
|
||||
|
||||
public class SellerProfileModel
|
||||
public class ArtistModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public bool PrepaymentRequired { get; set; }
|
@ -1,13 +1,13 @@
|
||||
using comissions.app.api.Models.Discovery;
|
||||
using comissions.app.database.Entities;
|
||||
|
||||
namespace comissions.app.api.Models.SellerProfile;
|
||||
namespace comissions.app.api.Models.Artist;
|
||||
|
||||
public static class SellerProfileModelExtensions
|
||||
public static class ArtistModelExtensions
|
||||
{
|
||||
public static SellerProfileModel ToModel(this UserSellerProfile sellerProfile)
|
||||
public static ArtistModel ToModel(this UserArtist sellerProfile)
|
||||
{
|
||||
return new SellerProfileModel()
|
||||
return new ArtistModel()
|
||||
{
|
||||
Id = sellerProfile.Id,
|
||||
Name = sellerProfile.Name,
|
||||
@ -21,9 +21,9 @@ public static class SellerProfileModelExtensions
|
||||
};
|
||||
}
|
||||
|
||||
public static DiscoverySellerModel ToDiscoveryModelWithoutReviews(this UserSellerProfile sellerProfile)
|
||||
public static DiscoveryArtistModel ToDiscoveryModelWithoutReviews(this UserArtist sellerProfile)
|
||||
{
|
||||
return new DiscoverySellerModel()
|
||||
return new DiscoveryArtistModel()
|
||||
{
|
||||
Name = sellerProfile.User.DisplayName,
|
||||
Id = sellerProfile.Id,
|
||||
@ -36,10 +36,10 @@ public static class SellerProfileModelExtensions
|
||||
PrepaymentRequired = sellerProfile.PrepaymentRequired,
|
||||
};
|
||||
}
|
||||
public static DiscoverySellerModel ToDiscoveryModel(this UserSellerProfile sellerProfile)
|
||||
public static DiscoveryArtistModel ToDiscoveryModel(this UserArtist sellerProfile)
|
||||
{
|
||||
|
||||
return new DiscoverySellerModel()
|
||||
return new DiscoveryArtistModel()
|
||||
{
|
||||
Name = sellerProfile.User.DisplayName,
|
||||
Id = sellerProfile.Id,
|
||||
@ -52,16 +52,16 @@ public static class SellerProfileModelExtensions
|
||||
PrepaymentRequired = sellerProfile.PrepaymentRequired
|
||||
};
|
||||
}
|
||||
public static UserSellerProfile ToModel(this SellerProfileModel sellerProfile, UserSellerProfile existingSellerProfile)
|
||||
public static UserArtist ToModel(this ArtistModel sellerProfile, UserArtist existingArtist)
|
||||
{
|
||||
existingSellerProfile.Name = sellerProfile.Name;
|
||||
existingSellerProfile.SocialMediaLink1 = sellerProfile.SocialMeidaLink1;
|
||||
existingSellerProfile.SocialMediaLink2 = sellerProfile.SocialMeidaLink2;
|
||||
existingSellerProfile.SocialMediaLink3 = sellerProfile.SocialMeidaLink3;
|
||||
existingSellerProfile.SocialMediaLink4 = sellerProfile.SocialMeidaLink4;
|
||||
existingSellerProfile.Description = sellerProfile.Description;
|
||||
existingSellerProfile.RequestGuidelines = sellerProfile.RequestGuidelines;
|
||||
existingSellerProfile.PrepaymentRequired = sellerProfile.PrepaymentRequired;
|
||||
return existingSellerProfile;
|
||||
existingArtist.Name = sellerProfile.Name;
|
||||
existingArtist.SocialMediaLink1 = sellerProfile.SocialMeidaLink1;
|
||||
existingArtist.SocialMediaLink2 = sellerProfile.SocialMeidaLink2;
|
||||
existingArtist.SocialMediaLink3 = sellerProfile.SocialMeidaLink3;
|
||||
existingArtist.SocialMediaLink4 = sellerProfile.SocialMeidaLink4;
|
||||
existingArtist.Description = sellerProfile.Description;
|
||||
existingArtist.RequestGuidelines = sellerProfile.RequestGuidelines;
|
||||
existingArtist.PrepaymentRequired = sellerProfile.PrepaymentRequired;
|
||||
return existingArtist;
|
||||
}
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
namespace comissions.app.api.Models.SellerProfile;
|
||||
using comissions.app.database.Entities;
|
||||
|
||||
public class SellerProfilePageSettingsModel
|
||||
namespace comissions.app.api.Models.Artist;
|
||||
|
||||
public class ArtistPageSettingsModel
|
||||
{
|
||||
|
||||
public string RequestButtonHoverBGColor { get; set; }
|
||||
@ -37,4 +39,5 @@ public class SellerProfilePageSettingsModel
|
||||
public string HeaderColor { get; set; }
|
||||
public string BackgroundColor { get; set; }
|
||||
public string RequestButtonHoverTextColor { get; set; }
|
||||
public ArtistModel Artist { get; set; }
|
||||
}
|
@ -1,14 +1,15 @@
|
||||
using comissions.app.database.Entities;
|
||||
|
||||
namespace comissions.app.api.Models.SellerProfile;
|
||||
namespace comissions.app.api.Models.Artist;
|
||||
|
||||
public static class SellerProfilePageSettingsModelExtensions
|
||||
public static class ArtistPageSettingsModelExtensions
|
||||
{
|
||||
|
||||
public static SellerProfilePageSettingsModel ToModel(this SellerProfilePageSettings sellerProfile)
|
||||
public static ArtistPageSettingsModel ToModel(this ArtistPageSettings sellerProfile)
|
||||
{
|
||||
return new SellerProfilePageSettingsModel()
|
||||
return new ArtistPageSettingsModel()
|
||||
{
|
||||
Artist = sellerProfile.Artist.ToModel(),
|
||||
BackgroundColor = sellerProfile.BackgroundColor,
|
||||
HeaderColor = sellerProfile.HeaderColor,
|
||||
HeaderTextSize = sellerProfile.HeaderTextSize,
|
||||
@ -45,7 +46,7 @@ public static class SellerProfilePageSettingsModelExtensions
|
||||
RequestButtonHoverTextColor = sellerProfile.RequestButtonHoverTextColor
|
||||
};
|
||||
}
|
||||
public static SellerProfilePageSettings ToModel(this SellerProfilePageSettingsModel sellerProfile, SellerProfilePageSettings existing)
|
||||
public static ArtistPageSettings ToModel(this ArtistPageSettingsModel sellerProfile, ArtistPageSettings existing)
|
||||
{
|
||||
existing.BackgroundColor = sellerProfile.BackgroundColor;
|
||||
existing.HeaderColor = sellerProfile.HeaderColor;
|
@ -1,6 +0,0 @@
|
||||
namespace comissions.app.api.Models.SellerProfile;
|
||||
|
||||
public class SellerOnboardStatusModel
|
||||
{
|
||||
public bool Onboarded { get; set; }
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
namespace comissions.app.api.Models.SellerProfile;
|
||||
|
||||
public class SellerOnboardUrlModel
|
||||
{
|
||||
public string OnboardUrl { get; set; }
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
namespace comissions.app.api.Models.SellerProfileRequest;
|
||||
namespace comissions.app.api.Models.ArtistRequest;
|
||||
|
||||
public class SellerProfileRequestModel
|
||||
public class ArtistRequestModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public DateTime RequestDate { get; set; }
|
||||
|
@ -1,10 +1,10 @@
|
||||
namespace comissions.app.api.Models.SellerProfileRequest;
|
||||
namespace comissions.app.api.Models.ArtistRequest;
|
||||
|
||||
public static class SellerProfileRequestModelExtensions
|
||||
public static class ArtistRequestModelExtensions
|
||||
{
|
||||
public static SellerProfileRequestModel ToModel(this database.Entities.SellerProfileRequest sellerProfileRequest)
|
||||
public static ArtistRequestModel ToModel(this database.Entities.ArtistRequest sellerProfileRequest)
|
||||
{
|
||||
return new SellerProfileRequestModel()
|
||||
return new ArtistRequestModel()
|
||||
{
|
||||
Id = sellerProfileRequest.Id,
|
||||
UserId = sellerProfileRequest.UserId,
|
||||
|
@ -1,8 +0,0 @@
|
||||
namespace comissions.app.api.Models.SellerService;
|
||||
|
||||
public class SellerServiceCreateModel
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Description { get; set; }
|
||||
public double Price { get; set; }
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
namespace comissions.app.api.Models.SellerService;
|
||||
|
||||
public class SellerServiceModel
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public string Name { get; set; } = null!;
|
||||
public string Description { get; set; } = null!;
|
||||
public double Price { get; set; }
|
||||
public double AverageRating { get; set; }
|
||||
public int NumberOfRatings { get; set; }
|
||||
}
|
@ -1,20 +0,0 @@
|
||||
namespace comissions.app.api.Models.SellerService;
|
||||
|
||||
public static class SellerServiceModelExtensions
|
||||
{
|
||||
|
||||
public static SellerServiceModel ToModel(this database.Entities.SellerService sellerProfileRequest)
|
||||
{
|
||||
double avgRating = 0;
|
||||
int reviewCount = 0;
|
||||
return new SellerServiceModel()
|
||||
{
|
||||
Id = sellerProfileRequest.Id,
|
||||
Name = sellerProfileRequest.Name,
|
||||
Description = sellerProfileRequest.Description,
|
||||
Price = sellerProfileRequest.Price,
|
||||
AverageRating = avgRating,
|
||||
NumberOfRatings = reviewCount
|
||||
};
|
||||
}
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
namespace comissions.app.api.Models.SellerService;
|
||||
|
||||
public class SellerServiceUpdateModel
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Description { get; set; }
|
||||
public double Price { get; set; }
|
||||
}
|
@ -4,8 +4,8 @@ namespace comissions.app.api.Services.Payment;
|
||||
public interface IPaymentService
|
||||
{
|
||||
public string CreateCustomer();
|
||||
string CreateSellerAccount();
|
||||
string CreateSellerAccountOnboardingUrl(string accountId);
|
||||
bool SellerAccountIsOnboarded(string accountId);
|
||||
string ChargeForService(int orderSellerServiceId, string? sellerStripeAccountId, double orderPrice);
|
||||
string CreateArtistAccount();
|
||||
string CreateArtistAccountOnboardingUrl(string accountId);
|
||||
bool ArtistAccountIsOnboarded(string accountId);
|
||||
string ChargeForService(int orderArtistServiceId, string? sellerStripeAccountId, double orderPrice);
|
||||
}
|
@ -48,7 +48,7 @@ public class StripePaymentServiceProvider:IPaymentService
|
||||
// var intent = service.Create(options, requestOptions);
|
||||
// throw new NotImplementedException();
|
||||
// }
|
||||
public string CreateSellerAccount()
|
||||
public string CreateArtistAccount()
|
||||
{
|
||||
var accountCreateOptions = new AccountCreateOptions { Type = "express",
|
||||
Capabilities
|
||||
@ -66,7 +66,7 @@ public class StripePaymentServiceProvider:IPaymentService
|
||||
return account.Id;
|
||||
}
|
||||
|
||||
public string CreateSellerAccountOnboardingUrl(string accountId)
|
||||
public string CreateArtistAccountOnboardingUrl(string accountId)
|
||||
{
|
||||
var options = new AccountLinkCreateOptions
|
||||
{
|
||||
@ -80,14 +80,14 @@ public class StripePaymentServiceProvider:IPaymentService
|
||||
return url.Url;
|
||||
}
|
||||
|
||||
public bool SellerAccountIsOnboarded(string accountId)
|
||||
public bool ArtistAccountIsOnboarded(string accountId)
|
||||
{
|
||||
var service = new AccountService();
|
||||
var account = service.Get(accountId);
|
||||
return account.Requirements.CurrentlyDue.Count == 0 && account.ChargesEnabled==true && account.DetailsSubmitted==true;
|
||||
}
|
||||
|
||||
public string ChargeForService(int orderSellerServiceOrderId, string? sellerStripeAccountId,
|
||||
public string ChargeForService(int orderArtistServiceOrderId, string? sellerStripeAccountId,
|
||||
double orderPrice)
|
||||
{
|
||||
var feeAmount = (long)Math.Round((orderPrice*0.05) * 100);
|
||||
@ -117,7 +117,7 @@ public class StripePaymentServiceProvider:IPaymentService
|
||||
CancelUrl = "https://example.com/failure",
|
||||
Metadata = new Dictionary<string, string>()
|
||||
{
|
||||
["orderId"] = orderSellerServiceOrderId.ToString()
|
||||
["orderId"] = orderArtistServiceOrderId.ToString()
|
||||
}
|
||||
};
|
||||
var requestOptions = new RequestOptions
|
||||
|
@ -13,7 +13,7 @@ using System.Reflection;
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("comissions.app.database.migrator")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0d63aae1311642c2e8c803966369f5da0ea18ce2")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1dc7ecdc8f45a8e7eebb50091a558ad010f54dc5")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("comissions.app.database.migrator")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("comissions.app.database.migrator")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
@ -1 +1 @@
|
||||
a4159fd41a43dc7f19501c196bc7d0764162eaaba63418d3ac373794c8e4237f
|
||||
7ecd7fd3ed0865bcfbf8e22720cbe9d2bfd825c1ff3b4a43eca6d079e64d08a0
|
||||
|
Loading…
x
Reference in New Issue
Block a user