mirror of
https://github.com/D4M13N-D3V/comissions-app-core-api.git
synced 2025-06-16 13:19:08 +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
|
#region DB Sets
|
||||||
|
|
||||||
public DbSet<User> Users { get; set; } = null!;
|
public DbSet<User> Users { get; set; } = null!;
|
||||||
public DbSet<SellerProfilePageSettings> SellerProfilePageSettings { get; set; }= null!;
|
public DbSet<ArtistPageSettings> ArtistPageSettings { get; set; }= null!;
|
||||||
public DbSet<UserSellerProfile> UserSellerProfiles { get; set; }= null!;
|
public DbSet<UserArtist> UserArtists { get; set; }= null!;
|
||||||
public DbSet<SellerProfileRequest> SellerProfileRequests { get; set; }= null!;
|
public DbSet<ArtistRequest> ArtistRequests { get; set; }= null!;
|
||||||
public DbSet<SellerProfilePortfolioPiece> SellerProfilePortfolioPieces { get; set; }= null!;
|
public DbSet<ArtistPortfolioPiece> ArtistPortfolioPieces { get; set; }= null!;
|
||||||
public DbSet<SellerService> SellerServices { get; set; }= null!;
|
public DbSet<Request> Requests { get; set; }= null!;
|
||||||
#endregion
|
#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.api.Services.Payment;
|
||||||
using comissions.app.database;
|
using comissions.app.database;
|
||||||
using comissions.app.database.Entities;
|
using comissions.app.database.Entities;
|
||||||
@ -11,12 +11,12 @@ namespace comissions.app.api.Controllers;
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
[Authorize("admin")]
|
[Authorize("admin")]
|
||||||
[Route("api/admin/[controller]")]
|
[Route("api/admin/[controller]")]
|
||||||
public class AdminSellerRequestsController : Controller
|
public class AdminArtistRequestsController : Controller
|
||||||
{
|
{
|
||||||
private readonly ApplicationDbContext _dbContext;
|
private readonly ApplicationDbContext _dbContext;
|
||||||
private readonly IPaymentService _paymentService;
|
private readonly IPaymentService _paymentService;
|
||||||
|
|
||||||
public AdminSellerRequestsController(ApplicationDbContext dbContext, IPaymentService paymentService)
|
public AdminArtistRequestsController(ApplicationDbContext dbContext, IPaymentService paymentService)
|
||||||
{
|
{
|
||||||
_paymentService = paymentService;
|
_paymentService = paymentService;
|
||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
@ -30,9 +30,9 @@ public class AdminSellerRequestsController : Controller
|
|||||||
/// <returns>A list of seller profile requests</returns>
|
/// <returns>A list of seller profile requests</returns>
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Authorize("read:seller-profile-request")]
|
[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();
|
var result = requests.Select(x=>x.ToModel()).ToList();
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
@ -44,9 +44,9 @@ public class AdminSellerRequestsController : Controller
|
|||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Authorize("read:seller-profile-request")]
|
[Authorize("read:seller-profile-request")]
|
||||||
[Route("Count")]
|
[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);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -58,9 +58,9 @@ public class AdminSellerRequestsController : Controller
|
|||||||
[HttpPut]
|
[HttpPut]
|
||||||
[Authorize("write:seller-profile-request")]
|
[Authorize("write:seller-profile-request")]
|
||||||
[Route("{userId}")]
|
[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)
|
if(request==null)
|
||||||
return NotFound("No request for that user exists.");
|
return NotFound("No request for that user exists.");
|
||||||
@ -70,8 +70,8 @@ public class AdminSellerRequestsController : Controller
|
|||||||
|
|
||||||
request.Accepted = true;
|
request.Accepted = true;
|
||||||
request.AcceptedDate = DateTime.UtcNow;
|
request.AcceptedDate = DateTime.UtcNow;
|
||||||
var accountId = _paymentService.CreateSellerAccount();
|
var accountId = _paymentService.CreateArtistAccount();
|
||||||
var newSellerProfile = new UserSellerProfile()
|
var newArtist = new UserArtist()
|
||||||
{
|
{
|
||||||
UserId = userId,
|
UserId = userId,
|
||||||
AgeRestricted = false,
|
AgeRestricted = false,
|
||||||
@ -84,11 +84,11 @@ public class AdminSellerRequestsController : Controller
|
|||||||
RequestGuidelines = "",
|
RequestGuidelines = "",
|
||||||
Name = "Default Shop",
|
Name = "Default Shop",
|
||||||
};
|
};
|
||||||
var dbProfile = _dbContext.UserSellerProfiles.Add(newSellerProfile).Entity;
|
var dbProfile = _dbContext.UserArtists.Add(newArtist).Entity;
|
||||||
await _dbContext.SaveChangesAsync();
|
await _dbContext.SaveChangesAsync();
|
||||||
var newSettings = new SellerProfilePageSettings()
|
var newSettings = new ArtistPageSettings()
|
||||||
{
|
{
|
||||||
SellerProfileId = dbProfile.Id,
|
ArtistId = dbProfile.Id,
|
||||||
BackgroundColor = "rgb(126, 115, 115)",
|
BackgroundColor = "rgb(126, 115, 115)",
|
||||||
HeaderColor = "rgb(194, 187, 187)",
|
HeaderColor = "rgb(194, 187, 187)",
|
||||||
HeaderTextSize = 5,
|
HeaderTextSize = 5,
|
||||||
@ -123,10 +123,10 @@ public class AdminSellerRequestsController : Controller
|
|||||||
RequestButtonTextColor = "rgb(194, 187, 187)",
|
RequestButtonTextColor = "rgb(194, 187, 187)",
|
||||||
RequestButtonHoverBGColor = "rgb(98, 98, 98)"
|
RequestButtonHoverBGColor = "rgb(98, 98, 98)"
|
||||||
};
|
};
|
||||||
var dbSettings = _dbContext.SellerProfilePageSettings.Add(newSettings).Entity;
|
var dbSettings = _dbContext.ArtistPageSettings.Add(newSettings).Entity;
|
||||||
await _dbContext.SaveChangesAsync();
|
await _dbContext.SaveChangesAsync();
|
||||||
|
|
||||||
request = _dbContext.SellerProfileRequests.Update(request).Entity;
|
request = _dbContext.ArtistRequests.Update(request).Entity;
|
||||||
await _dbContext.SaveChangesAsync();
|
await _dbContext.SaveChangesAsync();
|
||||||
var result = request.ToModel();
|
var result = request.ToModel();
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
|
@ -10,37 +10,37 @@ namespace comissions.app.api.Controllers;
|
|||||||
[ApiController]
|
[ApiController]
|
||||||
[Authorize("admin")]
|
[Authorize("admin")]
|
||||||
[Route("api/admin/[controller]")]
|
[Route("api/admin/[controller]")]
|
||||||
public class AdminSellersController:ControllerBase
|
public class AdminArtistsController:ControllerBase
|
||||||
{
|
{
|
||||||
private readonly ApplicationDbContext _dbContext;
|
private readonly ApplicationDbContext _dbContext;
|
||||||
|
|
||||||
public AdminSellersController(ApplicationDbContext dbContext)
|
public AdminArtistsController(ApplicationDbContext dbContext)
|
||||||
{
|
{
|
||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[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))
|
.Where(x=>x.User.DisplayName.Contains(search) || x.User.Email.Contains(search))
|
||||||
.Skip(offset).Take(pageSize).ToListAsync();
|
.Skip(offset).Take(pageSize).ToListAsync();
|
||||||
return Ok(sellers);
|
return Ok(sellers);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("Count")]
|
[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))
|
.Where(x=>x.User.DisplayName.Contains(search) || x.User.Email.Contains(search))
|
||||||
.CountAsync();
|
.CountAsync();
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("{sellerId:int}")]
|
[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);
|
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||||
|
|
||||||
if (seller == null)
|
if (seller == null)
|
||||||
@ -51,9 +51,9 @@ public class AdminSellersController:ControllerBase
|
|||||||
|
|
||||||
|
|
||||||
[HttpPut("{sellerId:int}/Suspend")]
|
[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)
|
if (seller == null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
@ -66,16 +66,16 @@ public class AdminSellersController:ControllerBase
|
|||||||
seller.UnsuspendDate = DateTime.UtcNow.AddDays(days);
|
seller.UnsuspendDate = DateTime.UtcNow.AddDays(days);
|
||||||
seller.SuspendedReason = reason;
|
seller.SuspendedReason = reason;
|
||||||
seller.SuspendAdminId = User.GetUserId();
|
seller.SuspendAdminId = User.GetUserId();
|
||||||
_dbContext.UserSellerProfiles.Update(seller);
|
_dbContext.UserArtists.Update(seller);
|
||||||
|
|
||||||
await _dbContext.SaveChangesAsync();
|
await _dbContext.SaveChangesAsync();
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPut("{sellerId:int}/Unsuspend")]
|
[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)
|
if (seller == null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
@ -88,16 +88,16 @@ public class AdminSellersController:ControllerBase
|
|||||||
seller.UnsuspendDate = null;
|
seller.UnsuspendDate = null;
|
||||||
seller.SuspendedReason = null;
|
seller.SuspendedReason = null;
|
||||||
seller.SuspendAdminId = null;
|
seller.SuspendAdminId = null;
|
||||||
_dbContext.UserSellerProfiles.Update(seller);
|
_dbContext.UserArtists.Update(seller);
|
||||||
|
|
||||||
await _dbContext.SaveChangesAsync();
|
await _dbContext.SaveChangesAsync();
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpPut("{sellerId:int}/Terminate")]
|
[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)
|
if (seller == null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
@ -105,7 +105,7 @@ public class AdminSellersController:ControllerBase
|
|||||||
if (!seller.Suspended)
|
if (!seller.Suspended)
|
||||||
return BadRequest();
|
return BadRequest();
|
||||||
|
|
||||||
_dbContext.UserSellerProfiles.Remove(seller);
|
_dbContext.UserArtists.Remove(seller);
|
||||||
await _dbContext.SaveChangesAsync();
|
await _dbContext.SaveChangesAsync();
|
||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
@ -113,7 +113,7 @@ public class AdminSellersController:ControllerBase
|
|||||||
[HttpPut("{sellerId:int}/SetBiography")]
|
[HttpPut("{sellerId:int}/SetBiography")]
|
||||||
public async Task<IActionResult> SetBiography(int sellerId, [FromBody]string biography)
|
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)
|
if (seller == null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
@ -122,7 +122,7 @@ public class AdminSellersController:ControllerBase
|
|||||||
return BadRequest();
|
return BadRequest();
|
||||||
|
|
||||||
seller.Description = biography;
|
seller.Description = biography;
|
||||||
_dbContext.UserSellerProfiles.Update(seller);
|
_dbContext.UserArtists.Update(seller);
|
||||||
await _dbContext.SaveChangesAsync();
|
await _dbContext.SaveChangesAsync();
|
||||||
return Ok();
|
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.Artist;
|
||||||
using comissions.app.api.Models.SellerService;
|
|
||||||
using comissions.app.api.Models.Discovery;
|
|
||||||
using comissions.app.api.Models.PortfolioModel;
|
using comissions.app.api.Models.PortfolioModel;
|
||||||
using comissions.app.api.Services.Storage;
|
using comissions.app.api.Services.Storage;
|
||||||
using comissions.app.database;
|
using comissions.app.database;
|
||||||
@ -24,10 +22,10 @@ public class DiscoveryController : Controller
|
|||||||
|
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Sellers")]
|
[Route("Artists")]
|
||||||
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
|
var sellers = await _dbContext.UserArtists
|
||||||
.Where(x=>x.User.DisplayName.Contains(search))
|
.Where(x=>x.User.DisplayName.Contains(search))
|
||||||
.Include(x=>x.User)
|
.Include(x=>x.User)
|
||||||
.Skip(offset).Take(pageSize).ToListAsync();
|
.Skip(offset).Take(pageSize).ToListAsync();
|
||||||
@ -36,11 +34,10 @@ public class DiscoveryController : Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Sellers/{sellerId:int}")]
|
[Route("Artists/{sellerId:int}")]
|
||||||
public async Task<IActionResult> GetSeller(int sellerId)
|
public async Task<IActionResult> GetArtist(int sellerId)
|
||||||
{
|
{
|
||||||
var seller = await _dbContext.UserSellerProfiles
|
var seller = await _dbContext.UserArtists
|
||||||
.Include(x=>x.SellerServices)
|
|
||||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||||
if(seller==null)
|
if(seller==null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
@ -50,59 +47,59 @@ public class DiscoveryController : Controller
|
|||||||
|
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Sellers/{sellerName}/Page")]
|
[Route("Artists/{sellerName}/Page")]
|
||||||
public async Task<IActionResult> GetSellerPage(string sellerName)
|
public async Task<IActionResult> GetArtistPage(string sellerName)
|
||||||
{
|
{
|
||||||
var seller = await _dbContext.UserSellerProfiles
|
var seller = await _dbContext.UserArtists
|
||||||
.Include(x=>x.SellerProfilePageSettings)
|
.Include(x=>x.ArtistPageSettings)
|
||||||
.FirstOrDefaultAsync(x=>x.Name==sellerName.Replace('-', ' '));
|
.FirstOrDefaultAsync(x=>x.Name==sellerName.Replace('-', ' '));
|
||||||
if(seller==null)
|
if(seller==null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
var result = seller.SellerProfilePageSettings;
|
var result = seller.ArtistPageSettings.ToModel();
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Sellers/{sellerId:int}/Portfolio")]
|
[Route("Artists/{sellerId:int}/Portfolio")]
|
||||||
public async Task<IActionResult> GetSellerPortfolio(int sellerId, int offset = 0, int pageSize = 10)
|
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)
|
.Include(x=>x.User)
|
||||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||||
if(seller==null)
|
if(seller==null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
var sellerPortfolio = await _dbContext.SellerProfilePortfolioPieces
|
var sellerPortfolio = await _dbContext.ArtistPortfolioPieces
|
||||||
.Where(x=>x.SellerProfileId==sellerId)
|
.Where(x=>x.ArtistId==sellerId)
|
||||||
.Skip(offset).Take(pageSize).ToListAsync();
|
.Skip(offset).Take(pageSize).ToListAsync();
|
||||||
var result = sellerPortfolio.Select(x=>x.ToModel()).ToList();
|
var result = sellerPortfolio.Select(x=>x.ToModel()).ToList();
|
||||||
return Ok(result);
|
return Ok(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Sellers/{sellerId:int}/Portfolio/Count")]
|
[Route("Artists/{sellerId:int}/Portfolio/Count")]
|
||||||
public async Task<IActionResult> GetSellerPortfolioCount(int sellerId)
|
public async Task<IActionResult> GetArtistPortfolioCount(int sellerId)
|
||||||
{
|
{
|
||||||
var seller = await _dbContext.UserSellerProfiles
|
var seller = await _dbContext.UserArtists
|
||||||
.Include(x=>x.User)
|
.Include(x=>x.User)
|
||||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||||
if(seller==null)
|
if(seller==null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
var sellerPortfolio = await _dbContext.SellerProfilePortfolioPieces
|
var sellerPortfolio = await _dbContext.ArtistPortfolioPieces
|
||||||
.Where(x=>x.SellerProfileId==sellerId)
|
.Where(x=>x.ArtistId==sellerId)
|
||||||
.CountAsync();
|
.CountAsync();
|
||||||
return Ok(sellerPortfolio);
|
return Ok(sellerPortfolio);
|
||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Sellers/{sellerId:int}/Portfolio/{portfolioId:int}")]
|
[Route("Artists/{sellerId:int}/Portfolio/{portfolioId:int}")]
|
||||||
public async Task<IActionResult> GetSellerPortfolioPiece(int sellerId, int portfolioId)
|
public async Task<IActionResult> GetArtistPortfolioPiece(int sellerId, int portfolioId)
|
||||||
{
|
{
|
||||||
var seller = await _dbContext.UserSellerProfiles
|
var seller = await _dbContext.UserArtists
|
||||||
.Include(x=>x.User)
|
.Include(x=>x.User)
|
||||||
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
.FirstOrDefaultAsync(x=>x.Id==sellerId);
|
||||||
if(seller==null)
|
if(seller==null)
|
||||||
return NotFound();
|
return NotFound();
|
||||||
var sellerPortfolio = await _dbContext.SellerProfilePortfolioPieces
|
var sellerPortfolio = await _dbContext.ArtistPortfolioPieces
|
||||||
.FirstOrDefaultAsync(x=>x.Id==portfolioId);
|
.FirstOrDefaultAsync(x=>x.Id==portfolioId);
|
||||||
if(sellerPortfolio==null)
|
if(sellerPortfolio==null)
|
||||||
return NotFound("Portfolio piece not found.");
|
return NotFound("Portfolio piece not found.");
|
||||||
@ -112,10 +109,10 @@ public class DiscoveryController : Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route("Sellers/Count")]
|
[Route("Artists/Count")]
|
||||||
public async Task<IActionResult> GetSellersCount(string search="")
|
public async Task<IActionResult> GetArtistsCount(string search="")
|
||||||
{
|
{
|
||||||
var result = await _dbContext.UserSellerProfiles
|
var result = await _dbContext.UserArtists
|
||||||
.Where(x=>x.User.DisplayName.Contains(search))
|
.Where(x=>x.User.DisplayName.Contains(search))
|
||||||
.Include(x=>x.User)
|
.Include(x=>x.User)
|
||||||
.CountAsync();
|
.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;
|
namespace comissions.app.database.Entities;
|
||||||
|
|
||||||
public class SellerProfilePageSettings
|
public class ArtistPageSettings
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
[ForeignKey("SellerProfile")]
|
[ForeignKey("Artist")]
|
||||||
public int SellerProfileId { get; set; }
|
public int ArtistId { get; set; }
|
||||||
public virtual UserSellerProfile SellerProfile { get; set; } = null!;
|
public virtual UserArtist Artist { get; set; } = null!;
|
||||||
|
|
||||||
public string RequestButtonHoverBGColor { get; set; }
|
public string RequestButtonHoverBGColor { get; set; }
|
||||||
public string RequestButtonHoverTextColor { 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;
|
namespace comissions.app.database.Entities;
|
||||||
|
|
||||||
public class SellerProfileRequest
|
public class ArtistRequest
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public string UserId { get; set; } = null!;
|
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 DisplayName { get; set; } = null!;
|
||||||
public string Biography { get; set; } = null!;
|
public string Biography { get; set; } = null!;
|
||||||
public string Email { 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 bool Banned { get; set; } = false;
|
||||||
public DateTime? BannedDate { get; set; }
|
public DateTime? BannedDate { get; set; }
|
||||||
@ -24,5 +24,5 @@ public record User
|
|||||||
public string? SuspendedReason { get; set; }
|
public string? SuspendedReason { get; set; }
|
||||||
public string? SuspendAdminId { 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;
|
namespace comissions.app.database.Entities;
|
||||||
|
|
||||||
public record UserSellerProfile
|
public record UserArtist
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
[ForeignKey(nameof(User))]
|
[ForeignKey(nameof(User))]
|
||||||
@ -24,9 +24,7 @@ public record UserSellerProfile
|
|||||||
public string? SuspendAdminId { get; set; }
|
public string? SuspendAdminId { get; set; }
|
||||||
public virtual User User { get; set; } = null!;
|
public virtual User User { get; set; } = null!;
|
||||||
|
|
||||||
public int SellerProfilePageSettingsId { get; set; }
|
public int ArtistPageSettingsId { get; set; }
|
||||||
public virtual SellerProfilePageSettings SellerProfilePageSettings { get; set; } = null!;
|
public virtual ArtistPageSettings ArtistPageSettings { get; set; } = null!;
|
||||||
|
public virtual ICollection<ArtistPortfolioPiece> PortfolioPieces { get; set; } = new List<ArtistPortfolioPiece>();
|
||||||
public virtual ICollection<SellerService> SellerServices { get; set; } = new List<SellerService>();
|
|
||||||
public virtual ICollection<SellerProfilePortfolioPiece> PortfolioPieces { get; set; } = new List<SellerProfilePortfolioPiece>();
|
|
||||||
}
|
}
|
@ -22,7 +22,7 @@ public class UserMiddleware
|
|||||||
{
|
{
|
||||||
var userId = context.User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value;
|
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)
|
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.UserArtist.Suspended = false;
|
||||||
user.UserSellerProfile.SuspendedDate = null;
|
user.UserArtist.SuspendedDate = null;
|
||||||
user.UserSellerProfile.UnsuspendDate = null;
|
user.UserArtist.UnsuspendDate = null;
|
||||||
user.UserSellerProfile.SuspendedReason = null;
|
user.UserArtist.SuspendedReason = null;
|
||||||
user.UserSellerProfile.SuspendAdminId = null;
|
user.UserArtist.SuspendAdminId = null;
|
||||||
dbContext.Users.Update(user);
|
dbContext.Users.Update(user);
|
||||||
await dbContext.SaveChangesAsync();
|
await dbContext.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var suspendDate = user.UserSellerProfile.SuspendedDate.Value.ToString("MM/dd/yyyy");
|
var suspendDate = user.UserArtist.SuspendedDate.Value.ToString("MM/dd/yyyy");
|
||||||
var unsuspendDate = user.UserSellerProfile.UnsuspendDate.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.UserSellerProfile.SuspendedReason} by {user.UserSellerProfile.SuspendAdminId}.");
|
await context.Response.WriteAsync($"Banned on {suspendDate} until {unsuspendDate} for {user.UserArtist.SuspendedReason} by {user.UserArtist.SuspendAdminId}.");
|
||||||
context.Response.StatusCode = StatusCodes.Status403Forbidden;
|
context.Response.StatusCode = StatusCodes.Status403Forbidden;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -26,7 +26,7 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePortfolioPiece", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistPortfolioPiece", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -38,22 +38,22 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int?>("SellerServiceId")
|
b.Property<int?>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -78,10 +78,10 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
b.HasIndex("UserId");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -103,17 +103,17 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<double>("Price")
|
b.Property<double>("Price")
|
||||||
.HasColumnType("double precision");
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -137,10 +137,10 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<double>("Price")
|
b.Property<double>("Price")
|
||||||
.HasColumnType("double precision");
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
b.Property<int>("SellerId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceId")
|
b.Property<int>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("Status")
|
||||||
@ -153,14 +153,14 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
b.HasIndex("BuyerId");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -181,21 +181,21 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceId")
|
b.Property<int>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceOrderId")
|
b.Property<int>("ArtistServiceOrderId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("ReviewerId");
|
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 =>
|
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||||
@ -245,7 +245,7 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<DateTime?>("UnsuspendDate")
|
b.Property<DateTime?>("UnsuspendDate")
|
||||||
.HasColumnType("timestamp with time zone");
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
b.Property<int?>("UserSellerProfileId")
|
b.Property<int?>("UserArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
@ -253,7 +253,7 @@ namespace comissions.app.api.Migrations
|
|||||||
b.ToTable("Users");
|
b.ToTable("Users");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -302,27 +302,27 @@ namespace comissions.app.api.Migrations
|
|||||||
b.HasIndex("UserId")
|
b.HasIndex("UserId")
|
||||||
.IsUnique();
|
.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")
|
.WithMany("PortfolioPieces")
|
||||||
.HasForeignKey("SellerProfileId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany("PortfolioPieces")
|
.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")
|
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -333,18 +333,18 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Navigation("User");
|
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")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithMany("SellerServices")
|
.WithMany("ArtistServices")
|
||||||
.HasForeignKey("SellerProfileId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.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")
|
b.HasOne("comissions.app.database.Entities.User", "Buyer")
|
||||||
.WithMany("Orders")
|
.WithMany("Orders")
|
||||||
@ -352,26 +352,26 @@ namespace comissions.app.api.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "Seller")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("SellerId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("SellerServiceId")
|
.HasForeignKey("ArtistServiceId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("Buyer");
|
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")
|
b.HasOne("comissions.app.database.Entities.User", "Reviewer")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -379,44 +379,44 @@ namespace comissions.app.api.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany("Reviews")
|
.WithMany("Reviews")
|
||||||
.HasForeignKey("SellerServiceId")
|
.HasForeignKey("ArtistServiceId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerServiceOrder", "SellerServiceOrder")
|
b.HasOne("comissions.app.database.Entities.ArtistServiceOrder", "ArtistServiceOrder")
|
||||||
.WithMany("Reviews")
|
.WithMany("Reviews")
|
||||||
.HasForeignKey("SellerServiceOrderId")
|
.HasForeignKey("ArtistServiceOrderId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("Reviewer");
|
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")
|
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||||
.WithOne("UserSellerProfile")
|
.WithOne("UserArtist")
|
||||||
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
|
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("User");
|
b.Navigation("User");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("PortfolioPieces");
|
b.Navigation("PortfolioPieces");
|
||||||
|
|
||||||
b.Navigation("Reviews");
|
b.Navigation("Reviews");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("Reviews");
|
b.Navigation("Reviews");
|
||||||
});
|
});
|
||||||
@ -425,14 +425,14 @@ namespace comissions.app.api.Migrations
|
|||||||
{
|
{
|
||||||
b.Navigation("Orders");
|
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("PortfolioPieces");
|
||||||
|
|
||||||
b.Navigation("SellerServices");
|
b.Navigation("ArtistServices");
|
||||||
});
|
});
|
||||||
#pragma warning restore 612, 618
|
#pragma warning restore 612, 618
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ namespace comissions.app.api.Migrations
|
|||||||
DisplayName = table.Column<string>(type: "text", nullable: false),
|
DisplayName = table.Column<string>(type: "text", nullable: false),
|
||||||
Biography = table.Column<string>(type: "text", nullable: false),
|
Biography = table.Column<string>(type: "text", nullable: false),
|
||||||
Email = 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),
|
Banned = table.Column<bool>(type: "boolean", nullable: false),
|
||||||
BannedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
BannedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: true),
|
||||||
UnbanDate = 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(
|
migrationBuilder.CreateTable(
|
||||||
name: "SellerProfileRequests",
|
name: "ArtistRequests",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
{
|
{
|
||||||
Id = table.Column<int>(type: "integer", nullable: false)
|
Id = table.Column<int>(type: "integer", nullable: false)
|
||||||
@ -51,9 +51,9 @@ namespace comissions.app.api.Migrations
|
|||||||
},
|
},
|
||||||
constraints: table =>
|
constraints: table =>
|
||||||
{
|
{
|
||||||
table.PrimaryKey("PK_SellerProfileRequests", x => x.Id);
|
table.PrimaryKey("PK_ArtistRequests", x => x.Id);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerProfileRequests_Users_UserId",
|
name: "FK_ArtistRequests_Users_UserId",
|
||||||
column: x => x.UserId,
|
column: x => x.UserId,
|
||||||
principalTable: "Users",
|
principalTable: "Users",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
@ -61,7 +61,7 @@ namespace comissions.app.api.Migrations
|
|||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "UserSellerProfiles",
|
name: "UserArtists",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
{
|
{
|
||||||
Id = table.Column<int>(type: "integer", nullable: false)
|
Id = table.Column<int>(type: "integer", nullable: false)
|
||||||
@ -80,9 +80,9 @@ namespace comissions.app.api.Migrations
|
|||||||
},
|
},
|
||||||
constraints: table =>
|
constraints: table =>
|
||||||
{
|
{
|
||||||
table.PrimaryKey("PK_UserSellerProfiles", x => x.Id);
|
table.PrimaryKey("PK_UserArtists", x => x.Id);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_UserSellerProfiles_Users_UserId",
|
name: "FK_UserArtists_Users_UserId",
|
||||||
column: x => x.UserId,
|
column: x => x.UserId,
|
||||||
principalTable: "Users",
|
principalTable: "Users",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
@ -90,12 +90,12 @@ namespace comissions.app.api.Migrations
|
|||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "SellerServices",
|
name: "ArtistServices",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
{
|
{
|
||||||
Id = table.Column<int>(type: "integer", nullable: false)
|
Id = table.Column<int>(type: "integer", nullable: false)
|
||||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
.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),
|
Name = table.Column<string>(type: "text", nullable: false),
|
||||||
Description = table.Column<string>(type: "text", nullable: false),
|
Description = table.Column<string>(type: "text", nullable: false),
|
||||||
Price = table.Column<double>(type: "double precision", nullable: false),
|
Price = table.Column<double>(type: "double precision", nullable: false),
|
||||||
@ -103,50 +103,50 @@ namespace comissions.app.api.Migrations
|
|||||||
},
|
},
|
||||||
constraints: table =>
|
constraints: table =>
|
||||||
{
|
{
|
||||||
table.PrimaryKey("PK_SellerServices", x => x.Id);
|
table.PrimaryKey("PK_ArtistServices", x => x.Id);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerServices_UserSellerProfiles_SellerProfileId",
|
name: "FK_ArtistServices_UserArtists_ArtistId",
|
||||||
column: x => x.SellerProfileId,
|
column: x => x.ArtistId,
|
||||||
principalTable: "UserSellerProfiles",
|
principalTable: "UserArtists",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "SellerProfilePortfolioPieces",
|
name: "ArtistPortfolioPieces",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
{
|
{
|
||||||
Id = table.Column<int>(type: "integer", nullable: false)
|
Id = table.Column<int>(type: "integer", nullable: false)
|
||||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
.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),
|
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 =>
|
constraints: table =>
|
||||||
{
|
{
|
||||||
table.PrimaryKey("PK_SellerProfilePortfolioPieces", x => x.Id);
|
table.PrimaryKey("PK_ArtistPortfolioPieces", x => x.Id);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerProfilePortfolioPieces_SellerServices_SellerServiceId",
|
name: "FK_ArtistPortfolioPieces_ArtistServices_ArtistServiceId",
|
||||||
column: x => x.SellerServiceId,
|
column: x => x.ArtistServiceId,
|
||||||
principalTable: "SellerServices",
|
principalTable: "ArtistServices",
|
||||||
principalColumn: "Id");
|
principalColumn: "Id");
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerProfilePortfolioPieces_UserSellerProfiles_SellerProfi~",
|
name: "FK_ArtistPortfolioPieces_UserArtists_ArtistProfi~",
|
||||||
column: x => x.SellerProfileId,
|
column: x => x.ArtistId,
|
||||||
principalTable: "UserSellerProfiles",
|
principalTable: "UserArtists",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "SellerServiceOrders",
|
name: "ArtistServiceOrders",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
{
|
{
|
||||||
Id = table.Column<int>(type: "integer", nullable: false)
|
Id = table.Column<int>(type: "integer", nullable: false)
|
||||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
BuyerId = table.Column<string>(type: "text", nullable: false),
|
BuyerId = table.Column<string>(type: "text", nullable: false),
|
||||||
SellerServiceId = table.Column<int>(type: "integer", nullable: false),
|
ArtistServiceId = table.Column<int>(type: "integer", nullable: false),
|
||||||
SellerId = table.Column<int>(type: "integer", nullable: false),
|
ArtistId = table.Column<int>(type: "integer", nullable: false),
|
||||||
Status = table.Column<int>(type: "integer", nullable: false),
|
Status = table.Column<int>(type: "integer", nullable: false),
|
||||||
Price = table.Column<double>(type: "double precision", nullable: false),
|
Price = table.Column<double>(type: "double precision", nullable: false),
|
||||||
CreatedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
CreatedDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||||
@ -156,21 +156,21 @@ namespace comissions.app.api.Migrations
|
|||||||
},
|
},
|
||||||
constraints: table =>
|
constraints: table =>
|
||||||
{
|
{
|
||||||
table.PrimaryKey("PK_SellerServiceOrders", x => x.Id);
|
table.PrimaryKey("PK_ArtistServiceOrders", x => x.Id);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerServiceOrders_SellerServices_SellerServiceId",
|
name: "FK_ArtistServiceOrders_ArtistServices_ArtistServiceId",
|
||||||
column: x => x.SellerServiceId,
|
column: x => x.ArtistServiceId,
|
||||||
principalTable: "SellerServices",
|
principalTable: "ArtistServices",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerServiceOrders_UserSellerProfiles_SellerId",
|
name: "FK_ArtistServiceOrders_UserArtists_ArtistId",
|
||||||
column: x => x.SellerId,
|
column: x => x.ArtistId,
|
||||||
principalTable: "UserSellerProfiles",
|
principalTable: "UserArtists",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerServiceOrders_Users_BuyerId",
|
name: "FK_ArtistServiceOrders_Users_BuyerId",
|
||||||
column: x => x.BuyerId,
|
column: x => x.BuyerId,
|
||||||
principalTable: "Users",
|
principalTable: "Users",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
@ -178,35 +178,35 @@ namespace comissions.app.api.Migrations
|
|||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "SellerServiceOrderReviews",
|
name: "ArtistServiceOrderReviews",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
{
|
{
|
||||||
Id = table.Column<int>(type: "integer", nullable: false)
|
Id = table.Column<int>(type: "integer", nullable: false)
|
||||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
||||||
ReviewerId = table.Column<string>(type: "text", nullable: false),
|
ReviewerId = table.Column<string>(type: "text", nullable: false),
|
||||||
SellerServiceOrderId = table.Column<int>(type: "integer", nullable: false),
|
ArtistServiceOrderId = table.Column<int>(type: "integer", nullable: false),
|
||||||
SellerServiceId = 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),
|
ReviewDate = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
|
||||||
Review = table.Column<string>(type: "text", nullable: true),
|
Review = table.Column<string>(type: "text", nullable: true),
|
||||||
Rating = table.Column<int>(type: "integer", nullable: false)
|
Rating = table.Column<int>(type: "integer", nullable: false)
|
||||||
},
|
},
|
||||||
constraints: table =>
|
constraints: table =>
|
||||||
{
|
{
|
||||||
table.PrimaryKey("PK_SellerServiceOrderReviews", x => x.Id);
|
table.PrimaryKey("PK_ArtistServiceOrderReviews", x => x.Id);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerServiceOrderReviews_SellerServiceOrders_SellerService~",
|
name: "FK_ArtistServiceOrderReviews_ArtistServiceOrders_ArtistService~",
|
||||||
column: x => x.SellerServiceOrderId,
|
column: x => x.ArtistServiceOrderId,
|
||||||
principalTable: "SellerServiceOrders",
|
principalTable: "ArtistServiceOrders",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerServiceOrderReviews_SellerServices_SellerServiceId",
|
name: "FK_ArtistServiceOrderReviews_ArtistServices_ArtistServiceId",
|
||||||
column: x => x.SellerServiceId,
|
column: x => x.ArtistServiceId,
|
||||||
principalTable: "SellerServices",
|
principalTable: "ArtistServices",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerServiceOrderReviews_Users_ReviewerId",
|
name: "FK_ArtistServiceOrderReviews_Users_ReviewerId",
|
||||||
column: x => x.ReviewerId,
|
column: x => x.ReviewerId,
|
||||||
principalTable: "Users",
|
principalTable: "Users",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
@ -214,58 +214,58 @@ namespace comissions.app.api.Migrations
|
|||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerProfilePortfolioPieces_SellerProfileId",
|
name: "IX_ArtistPortfolioPieces_ArtistId",
|
||||||
table: "SellerProfilePortfolioPieces",
|
table: "ArtistPortfolioPieces",
|
||||||
column: "SellerProfileId");
|
column: "ArtistId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerProfilePortfolioPieces_SellerServiceId",
|
name: "IX_ArtistPortfolioPieces_ArtistServiceId",
|
||||||
table: "SellerProfilePortfolioPieces",
|
table: "ArtistPortfolioPieces",
|
||||||
column: "SellerServiceId");
|
column: "ArtistServiceId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerProfileRequests_UserId",
|
name: "IX_ArtistRequests_UserId",
|
||||||
table: "SellerProfileRequests",
|
table: "ArtistRequests",
|
||||||
column: "UserId");
|
column: "UserId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerServiceOrderReviews_ReviewerId",
|
name: "IX_ArtistServiceOrderReviews_ReviewerId",
|
||||||
table: "SellerServiceOrderReviews",
|
table: "ArtistServiceOrderReviews",
|
||||||
column: "ReviewerId");
|
column: "ReviewerId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerServiceOrderReviews_SellerServiceId",
|
name: "IX_ArtistServiceOrderReviews_ArtistServiceId",
|
||||||
table: "SellerServiceOrderReviews",
|
table: "ArtistServiceOrderReviews",
|
||||||
column: "SellerServiceId");
|
column: "ArtistServiceId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerServiceOrderReviews_SellerServiceOrderId",
|
name: "IX_ArtistServiceOrderReviews_ArtistServiceOrderId",
|
||||||
table: "SellerServiceOrderReviews",
|
table: "ArtistServiceOrderReviews",
|
||||||
column: "SellerServiceOrderId");
|
column: "ArtistServiceOrderId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerServiceOrders_BuyerId",
|
name: "IX_ArtistServiceOrders_BuyerId",
|
||||||
table: "SellerServiceOrders",
|
table: "ArtistServiceOrders",
|
||||||
column: "BuyerId");
|
column: "BuyerId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerServiceOrders_SellerId",
|
name: "IX_ArtistServiceOrders_ArtistId",
|
||||||
table: "SellerServiceOrders",
|
table: "ArtistServiceOrders",
|
||||||
column: "SellerId");
|
column: "ArtistId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerServiceOrders_SellerServiceId",
|
name: "IX_ArtistServiceOrders_ArtistServiceId",
|
||||||
table: "SellerServiceOrders",
|
table: "ArtistServiceOrders",
|
||||||
column: "SellerServiceId");
|
column: "ArtistServiceId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerServices_SellerProfileId",
|
name: "IX_ArtistServices_ArtistId",
|
||||||
table: "SellerServices",
|
table: "ArtistServices",
|
||||||
column: "SellerProfileId");
|
column: "ArtistId");
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_UserSellerProfiles_UserId",
|
name: "IX_UserArtists_UserId",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
column: "UserId",
|
column: "UserId",
|
||||||
unique: true);
|
unique: true);
|
||||||
}
|
}
|
||||||
@ -274,22 +274,22 @@ namespace comissions.app.api.Migrations
|
|||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
{
|
{
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "SellerProfilePortfolioPieces");
|
name: "ArtistPortfolioPieces");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "SellerProfileRequests");
|
name: "ArtistRequests");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "SellerServiceOrderReviews");
|
name: "ArtistServiceOrderReviews");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "SellerServiceOrders");
|
name: "ArtistServiceOrders");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "SellerServices");
|
name: "ArtistServices");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "UserSellerProfiles");
|
name: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "Users");
|
name: "Users");
|
||||||
|
@ -25,7 +25,7 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -152,18 +152,18 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("SellerProfileId")
|
b.HasIndex("ArtistId")
|
||||||
.IsUnique();
|
.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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -175,22 +175,22 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int?>("SellerServiceId")
|
b.Property<int?>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -215,10 +215,10 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
b.HasIndex("UserId");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -240,17 +240,17 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<double>("Price")
|
b.Property<double>("Price")
|
||||||
.HasColumnType("double precision");
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -274,10 +274,10 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<double>("Price")
|
b.Property<double>("Price")
|
||||||
.HasColumnType("double precision");
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
b.Property<int>("SellerId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceId")
|
b.Property<int>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("Status")
|
||||||
@ -290,14 +290,14 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
b.HasIndex("BuyerId");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -318,21 +318,21 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceId")
|
b.Property<int>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceOrderId")
|
b.Property<int>("ArtistServiceOrderId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("ReviewerId");
|
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 =>
|
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||||
@ -382,7 +382,7 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<DateTime?>("UnsuspendDate")
|
b.Property<DateTime?>("UnsuspendDate")
|
||||||
.HasColumnType("timestamp with time zone");
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
b.Property<int?>("UserSellerProfileId")
|
b.Property<int?>("UserArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
@ -390,7 +390,7 @@ namespace comissions.app.api.Migrations
|
|||||||
b.ToTable("Users");
|
b.ToTable("Users");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -416,7 +416,7 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfilePageSettingsId")
|
b.Property<int>("ArtistPageSettingsId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<string>("SocialMediaLink1")
|
b.Property<string>("SocialMediaLink1")
|
||||||
@ -462,38 +462,38 @@ namespace comissions.app.api.Migrations
|
|||||||
b.HasIndex("UserId")
|
b.HasIndex("UserId")
|
||||||
.IsUnique();
|
.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")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithOne("SellerProfilePageSettings")
|
.WithOne("ArtistPageSettings")
|
||||||
.HasForeignKey("comissions.app.database.Entities.SellerProfilePageSettings", "SellerProfileId")
|
.HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.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")
|
.WithMany("PortfolioPieces")
|
||||||
.HasForeignKey("SellerProfileId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany("PortfolioPieces")
|
.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")
|
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -504,18 +504,18 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Navigation("User");
|
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")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithMany("SellerServices")
|
.WithMany("ArtistServices")
|
||||||
.HasForeignKey("SellerProfileId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.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")
|
b.HasOne("comissions.app.database.Entities.User", "Buyer")
|
||||||
.WithMany("Orders")
|
.WithMany("Orders")
|
||||||
@ -523,26 +523,26 @@ namespace comissions.app.api.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "Seller")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("SellerId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("SellerServiceId")
|
.HasForeignKey("ArtistServiceId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("Buyer");
|
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")
|
b.HasOne("comissions.app.database.Entities.User", "Reviewer")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -550,44 +550,44 @@ namespace comissions.app.api.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany("Reviews")
|
.WithMany("Reviews")
|
||||||
.HasForeignKey("SellerServiceId")
|
.HasForeignKey("ArtistServiceId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerServiceOrder", "SellerServiceOrder")
|
b.HasOne("comissions.app.database.Entities.ArtistServiceOrder", "ArtistServiceOrder")
|
||||||
.WithMany("Reviews")
|
.WithMany("Reviews")
|
||||||
.HasForeignKey("SellerServiceOrderId")
|
.HasForeignKey("ArtistServiceOrderId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("Reviewer");
|
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")
|
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||||
.WithOne("UserSellerProfile")
|
.WithOne("UserArtist")
|
||||||
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
|
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("User");
|
b.Navigation("User");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("PortfolioPieces");
|
b.Navigation("PortfolioPieces");
|
||||||
|
|
||||||
b.Navigation("Reviews");
|
b.Navigation("Reviews");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("Reviews");
|
b.Navigation("Reviews");
|
||||||
});
|
});
|
||||||
@ -596,17 +596,17 @@ namespace comissions.app.api.Migrations
|
|||||||
{
|
{
|
||||||
b.Navigation("Orders");
|
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("PortfolioPieces");
|
||||||
|
|
||||||
b.Navigation("SellerProfilePageSettings")
|
b.Navigation("ArtistPageSettings")
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("SellerServices");
|
b.Navigation("ArtistServices");
|
||||||
});
|
});
|
||||||
#pragma warning restore 612, 618
|
#pragma warning restore 612, 618
|
||||||
}
|
}
|
||||||
|
@ -14,69 +14,69 @@ namespace comissions.app.api.Migrations
|
|||||||
{
|
{
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "SocialMediaLinks",
|
name: "SocialMediaLinks",
|
||||||
table: "UserSellerProfiles");
|
table: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.RenameColumn(
|
migrationBuilder.RenameColumn(
|
||||||
name: "Biography",
|
name: "Biography",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
newName: "SocialMediaLink4");
|
newName: "SocialMediaLink4");
|
||||||
|
|
||||||
migrationBuilder.AddColumn<string>(
|
migrationBuilder.AddColumn<string>(
|
||||||
name: "Description",
|
name: "Description",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
type: "text",
|
type: "text",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
defaultValue: "");
|
defaultValue: "");
|
||||||
|
|
||||||
migrationBuilder.AddColumn<string>(
|
migrationBuilder.AddColumn<string>(
|
||||||
name: "Name",
|
name: "Name",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
type: "text",
|
type: "text",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
defaultValue: "");
|
defaultValue: "");
|
||||||
|
|
||||||
migrationBuilder.AddColumn<string>(
|
migrationBuilder.AddColumn<string>(
|
||||||
name: "RequestGuidelines",
|
name: "RequestGuidelines",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
type: "text",
|
type: "text",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
defaultValue: "");
|
defaultValue: "");
|
||||||
|
|
||||||
migrationBuilder.AddColumn<int>(
|
migrationBuilder.AddColumn<int>(
|
||||||
name: "SellerProfilePageSettingsId",
|
name: "ArtistPageSettingsId",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
type: "integer",
|
type: "integer",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
defaultValue: 0);
|
defaultValue: 0);
|
||||||
|
|
||||||
migrationBuilder.AddColumn<string>(
|
migrationBuilder.AddColumn<string>(
|
||||||
name: "SocialMediaLink1",
|
name: "SocialMediaLink1",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
type: "text",
|
type: "text",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
defaultValue: "");
|
defaultValue: "");
|
||||||
|
|
||||||
migrationBuilder.AddColumn<string>(
|
migrationBuilder.AddColumn<string>(
|
||||||
name: "SocialMediaLink2",
|
name: "SocialMediaLink2",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
type: "text",
|
type: "text",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
defaultValue: "");
|
defaultValue: "");
|
||||||
|
|
||||||
migrationBuilder.AddColumn<string>(
|
migrationBuilder.AddColumn<string>(
|
||||||
name: "SocialMediaLink3",
|
name: "SocialMediaLink3",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
type: "text",
|
type: "text",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
defaultValue: "");
|
defaultValue: "");
|
||||||
|
|
||||||
migrationBuilder.CreateTable(
|
migrationBuilder.CreateTable(
|
||||||
name: "SellerProfilePageSettings",
|
name: "ArtistPageSettings",
|
||||||
columns: table => new
|
columns: table => new
|
||||||
{
|
{
|
||||||
Id = table.Column<int>(type: "integer", nullable: false)
|
Id = table.Column<int>(type: "integer", nullable: false)
|
||||||
.Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
|
.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),
|
RequestButtonHoverBGColor = table.Column<string>(type: "text", nullable: false),
|
||||||
RequestButtonTextColor = table.Column<string>(type: "text", nullable: false),
|
RequestButtonTextColor = table.Column<string>(type: "text", nullable: false),
|
||||||
RequestButtonBGColor = 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 =>
|
constraints: table =>
|
||||||
{
|
{
|
||||||
table.PrimaryKey("PK_SellerProfilePageSettings", x => x.Id);
|
table.PrimaryKey("PK_ArtistPageSettings", x => x.Id);
|
||||||
table.ForeignKey(
|
table.ForeignKey(
|
||||||
name: "FK_SellerProfilePageSettings_UserSellerProfiles_SellerProfileId",
|
name: "FK_ArtistPageSettings_UserArtists_ArtistId",
|
||||||
column: x => x.SellerProfileId,
|
column: x => x.ArtistId,
|
||||||
principalTable: "UserSellerProfiles",
|
principalTable: "UserArtists",
|
||||||
principalColumn: "Id",
|
principalColumn: "Id",
|
||||||
onDelete: ReferentialAction.Cascade);
|
onDelete: ReferentialAction.Cascade);
|
||||||
});
|
});
|
||||||
|
|
||||||
migrationBuilder.CreateIndex(
|
migrationBuilder.CreateIndex(
|
||||||
name: "IX_SellerProfilePageSettings_SellerProfileId",
|
name: "IX_ArtistPageSettings_ArtistId",
|
||||||
table: "SellerProfilePageSettings",
|
table: "ArtistPageSettings",
|
||||||
column: "SellerProfileId",
|
column: "ArtistId",
|
||||||
unique: true);
|
unique: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -133,44 +133,44 @@ namespace comissions.app.api.Migrations
|
|||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
{
|
{
|
||||||
migrationBuilder.DropTable(
|
migrationBuilder.DropTable(
|
||||||
name: "SellerProfilePageSettings");
|
name: "ArtistPageSettings");
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "Description",
|
name: "Description",
|
||||||
table: "UserSellerProfiles");
|
table: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "Name",
|
name: "Name",
|
||||||
table: "UserSellerProfiles");
|
table: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "RequestGuidelines",
|
name: "RequestGuidelines",
|
||||||
table: "UserSellerProfiles");
|
table: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "SellerProfilePageSettingsId",
|
name: "ArtistPageSettingsId",
|
||||||
table: "UserSellerProfiles");
|
table: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "SocialMediaLink1",
|
name: "SocialMediaLink1",
|
||||||
table: "UserSellerProfiles");
|
table: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "SocialMediaLink2",
|
name: "SocialMediaLink2",
|
||||||
table: "UserSellerProfiles");
|
table: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "SocialMediaLink3",
|
name: "SocialMediaLink3",
|
||||||
table: "UserSellerProfiles");
|
table: "UserArtists");
|
||||||
|
|
||||||
migrationBuilder.RenameColumn(
|
migrationBuilder.RenameColumn(
|
||||||
name: "SocialMediaLink4",
|
name: "SocialMediaLink4",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
newName: "Biography");
|
newName: "Biography");
|
||||||
|
|
||||||
migrationBuilder.AddColumn<List<string>>(
|
migrationBuilder.AddColumn<List<string>>(
|
||||||
name: "SocialMediaLinks",
|
name: "SocialMediaLinks",
|
||||||
table: "UserSellerProfiles",
|
table: "UserArtists",
|
||||||
type: "text[]",
|
type: "text[]",
|
||||||
nullable: false);
|
nullable: false);
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -156,18 +156,18 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("SellerProfileId")
|
b.HasIndex("ArtistId")
|
||||||
.IsUnique();
|
.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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -179,22 +179,22 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int?>("SellerServiceId")
|
b.Property<int?>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -219,10 +219,10 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
b.HasIndex("UserId");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -244,17 +244,17 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<double>("Price")
|
b.Property<double>("Price")
|
||||||
.HasColumnType("double precision");
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -278,10 +278,10 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<double>("Price")
|
b.Property<double>("Price")
|
||||||
.HasColumnType("double precision");
|
.HasColumnType("double precision");
|
||||||
|
|
||||||
b.Property<int>("SellerId")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceId")
|
b.Property<int>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("Status")
|
b.Property<int>("Status")
|
||||||
@ -294,14 +294,14 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
b.HasIndex("BuyerId");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -322,21 +322,21 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceId")
|
b.Property<int>("ArtistServiceId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<int>("SellerServiceOrderId")
|
b.Property<int>("ArtistServiceOrderId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("ReviewerId");
|
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 =>
|
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||||
@ -386,7 +386,7 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<DateTime?>("UnsuspendDate")
|
b.Property<DateTime?>("UnsuspendDate")
|
||||||
.HasColumnType("timestamp with time zone");
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
b.Property<int?>("UserSellerProfileId")
|
b.Property<int?>("UserArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
@ -394,7 +394,7 @@ namespace comissions.app.api.Migrations
|
|||||||
b.ToTable("Users");
|
b.ToTable("Users");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -420,7 +420,7 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfilePageSettingsId")
|
b.Property<int>("ArtistPageSettingsId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<string>("SocialMediaLink1")
|
b.Property<string>("SocialMediaLink1")
|
||||||
@ -466,38 +466,38 @@ namespace comissions.app.api.Migrations
|
|||||||
b.HasIndex("UserId")
|
b.HasIndex("UserId")
|
||||||
.IsUnique();
|
.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")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithOne("SellerProfilePageSettings")
|
.WithOne("ArtistPageSettings")
|
||||||
.HasForeignKey("comissions.app.database.Entities.SellerProfilePageSettings", "SellerProfileId")
|
.HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.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")
|
.WithMany("PortfolioPieces")
|
||||||
.HasForeignKey("SellerProfileId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany("PortfolioPieces")
|
.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")
|
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -508,18 +508,18 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Navigation("User");
|
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")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithMany("SellerServices")
|
.WithMany("ArtistServices")
|
||||||
.HasForeignKey("SellerProfileId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.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")
|
b.HasOne("comissions.app.database.Entities.User", "Buyer")
|
||||||
.WithMany("Orders")
|
.WithMany("Orders")
|
||||||
@ -527,26 +527,26 @@ namespace comissions.app.api.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.UserSellerProfile", "Seller")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("SellerId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("SellerServiceId")
|
.HasForeignKey("ArtistServiceId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("Buyer");
|
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")
|
b.HasOne("comissions.app.database.Entities.User", "Reviewer")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -554,44 +554,44 @@ namespace comissions.app.api.Migrations
|
|||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.HasOne("comissions.app.database.Entities.ArtistService", "ArtistService")
|
||||||
.WithMany("Reviews")
|
.WithMany("Reviews")
|
||||||
.HasForeignKey("SellerServiceId")
|
.HasForeignKey("ArtistServiceId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerServiceOrder", "SellerServiceOrder")
|
b.HasOne("comissions.app.database.Entities.ArtistServiceOrder", "ArtistServiceOrder")
|
||||||
.WithMany("Reviews")
|
.WithMany("Reviews")
|
||||||
.HasForeignKey("SellerServiceOrderId")
|
.HasForeignKey("ArtistServiceOrderId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("Reviewer");
|
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")
|
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||||
.WithOne("UserSellerProfile")
|
.WithOne("UserArtist")
|
||||||
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
|
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("User");
|
b.Navigation("User");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerService", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistService", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("PortfolioPieces");
|
b.Navigation("PortfolioPieces");
|
||||||
|
|
||||||
b.Navigation("Reviews");
|
b.Navigation("Reviews");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistServiceOrder", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("Reviews");
|
b.Navigation("Reviews");
|
||||||
});
|
});
|
||||||
@ -600,17 +600,17 @@ namespace comissions.app.api.Migrations
|
|||||||
{
|
{
|
||||||
b.Navigation("Orders");
|
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("PortfolioPieces");
|
||||||
|
|
||||||
b.Navigation("SellerProfilePageSettings")
|
b.Navigation("ArtistPageSettings")
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("SellerServices");
|
b.Navigation("ArtistServices");
|
||||||
});
|
});
|
||||||
#pragma warning restore 612, 618
|
#pragma warning restore 612, 618
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@ namespace comissions.app.api.Migrations
|
|||||||
{
|
{
|
||||||
migrationBuilder.AddColumn<string>(
|
migrationBuilder.AddColumn<string>(
|
||||||
name: "RequestButtonHoverTextColor",
|
name: "RequestButtonHoverTextColor",
|
||||||
table: "SellerProfilePageSettings",
|
table: "ArtistPageSettings",
|
||||||
type: "text",
|
type: "text",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
defaultValue: "");
|
defaultValue: "");
|
||||||
@ -23,7 +23,7 @@ namespace comissions.app.api.Migrations
|
|||||||
{
|
{
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "RequestButtonHoverTextColor",
|
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);
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfilePageSettings", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistPageSettings", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -30,6 +30,9 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ArtistId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<string>("BackgroundColor")
|
b.Property<string>("BackgroundColor")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
@ -153,18 +156,15 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
|
||||||
.HasColumnType("integer");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("SellerProfileId")
|
b.HasIndex("ArtistId")
|
||||||
.IsUnique();
|
.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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -172,26 +172,21 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("ArtistId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<string>("FileReference")
|
b.Property<string>("FileReference")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
|
||||||
.HasColumnType("integer");
|
|
||||||
|
|
||||||
b.Property<int?>("SellerServiceId")
|
|
||||||
.HasColumnType("integer");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("SellerProfileId");
|
b.HasIndex("ArtistId");
|
||||||
|
|
||||||
b.HasIndex("SellerServiceId");
|
b.ToTable("ArtistPortfolioPieces");
|
||||||
|
|
||||||
b.ToTable("SellerProfilePortfolioPieces");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -216,10 +211,10 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
b.HasIndex("UserId");
|
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")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -227,113 +222,48 @@ namespace comissions.app.api.Migrations
|
|||||||
|
|
||||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
b.Property<bool>("Archived")
|
b.Property<bool>("Accepted")
|
||||||
.HasColumnType("boolean");
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
b.Property<string>("Description")
|
b.Property<DateTime?>("AcceptedDate")
|
||||||
.IsRequired()
|
.HasColumnType("timestamp with time zone");
|
||||||
.HasColumnType("text");
|
|
||||||
|
|
||||||
b.Property<string>("Name")
|
b.Property<decimal>("Amount")
|
||||||
.IsRequired()
|
.HasColumnType("numeric");
|
||||||
.HasColumnType("text");
|
|
||||||
|
|
||||||
b.Property<double>("Price")
|
b.Property<int>("ArtistId")
|
||||||
.HasColumnType("double precision");
|
|
||||||
|
|
||||||
b.Property<int>("SellerProfileId")
|
|
||||||
.HasColumnType("integer");
|
.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.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("SellerProfileId");
|
b.HasIndex("ArtistId");
|
||||||
|
|
||||||
b.ToTable("SellerServices");
|
b.HasIndex("UserId");
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerServiceOrder", b =>
|
b.ToTable("Requests");
|
||||||
{
|
|
||||||
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");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||||
@ -383,7 +313,7 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<DateTime?>("UnsuspendDate")
|
b.Property<DateTime?>("UnsuspendDate")
|
||||||
.HasColumnType("timestamp with time zone");
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
b.Property<int?>("UserSellerProfileId")
|
b.Property<int?>("UserArtistId")
|
||||||
.HasColumnType("integer");
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
@ -391,7 +321,7 @@ namespace comissions.app.api.Migrations
|
|||||||
b.ToTable("Users");
|
b.ToTable("Users");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
.ValueGeneratedOnAdd()
|
.ValueGeneratedOnAdd()
|
||||||
@ -402,6 +332,9 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Property<bool>("AgeRestricted")
|
b.Property<bool>("AgeRestricted")
|
||||||
.HasColumnType("boolean");
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
|
b.Property<int>("ArtistPageSettingsId")
|
||||||
|
.HasColumnType("integer");
|
||||||
|
|
||||||
b.Property<string>("Description")
|
b.Property<string>("Description")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
@ -417,9 +350,6 @@ namespace comissions.app.api.Migrations
|
|||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<int>("SellerProfilePageSettingsId")
|
|
||||||
.HasColumnType("integer");
|
|
||||||
|
|
||||||
b.Property<string>("SocialMediaLink1")
|
b.Property<string>("SocialMediaLink1")
|
||||||
.IsRequired()
|
.IsRequired()
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
@ -463,38 +393,32 @@ namespace comissions.app.api.Migrations
|
|||||||
b.HasIndex("UserId")
|
b.HasIndex("UserId")
|
||||||
.IsUnique();
|
.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")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithOne("SellerProfilePageSettings")
|
.WithOne("ArtistPageSettings")
|
||||||
.HasForeignKey("comissions.app.database.Entities.SellerProfilePageSettings", "SellerProfileId")
|
.HasForeignKey("comissions.app.database.Entities.ArtistPageSettings", "ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.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")
|
.WithMany("PortfolioPieces")
|
||||||
.HasForeignKey("SellerProfileId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.HasOne("comissions.app.database.Entities.SellerService", "SellerService")
|
b.Navigation("Artist");
|
||||||
.WithMany("PortfolioPieces")
|
|
||||||
.HasForeignKey("SellerServiceId");
|
|
||||||
|
|
||||||
b.Navigation("SellerProfile");
|
|
||||||
|
|
||||||
b.Navigation("SellerService");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.SellerProfileRequest", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.ArtistRequest", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
@ -505,109 +429,47 @@ namespace comissions.app.api.Migrations
|
|||||||
b.Navigation("User");
|
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")
|
b.HasOne("comissions.app.database.Entities.UserArtist", "Artist")
|
||||||
.WithMany("SellerServices")
|
.WithMany()
|
||||||
.HasForeignKey("SellerProfileId")
|
.HasForeignKey("ArtistId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.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 =>
|
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", 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 =>
|
|
||||||
{
|
{
|
||||||
b.HasOne("comissions.app.database.Entities.User", "User")
|
b.HasOne("comissions.app.database.Entities.User", "User")
|
||||||
.WithOne("UserSellerProfile")
|
.WithOne("UserArtist")
|
||||||
.HasForeignKey("comissions.app.database.Entities.UserSellerProfile", "UserId")
|
.HasForeignKey("comissions.app.database.Entities.UserArtist", "UserId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("User");
|
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 =>
|
modelBuilder.Entity("comissions.app.database.Entities.User", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("Orders");
|
b.Navigation("UserArtist");
|
||||||
|
|
||||||
b.Navigation("UserSellerProfile");
|
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("comissions.app.database.Entities.UserSellerProfile", b =>
|
modelBuilder.Entity("comissions.app.database.Entities.UserArtist", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("PortfolioPieces");
|
b.Navigation("ArtistPageSettings")
|
||||||
|
|
||||||
b.Navigation("SellerProfilePageSettings")
|
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("SellerServices");
|
b.Navigation("PortfolioPieces");
|
||||||
});
|
});
|
||||||
#pragma warning restore 612, 618
|
#pragma warning restore 612, 618
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
namespace comissions.app.api.Models.Discovery;
|
namespace comissions.app.api.Models.Discovery;
|
||||||
|
|
||||||
public class DiscoverySellerModel
|
public class DiscoveryArtistModel
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
@ -3,5 +3,4 @@ namespace comissions.app.api.Models.PortfolioModel;
|
|||||||
public class PortfolioModel
|
public class PortfolioModel
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
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 class PortfolioModelExtensions
|
||||||
{
|
{
|
||||||
public static PortfolioModel ToModel(this SellerProfilePortfolioPiece sellerProfileRequest)
|
public static PortfolioModel ToModel(this ArtistPortfolioPiece sellerProfileRequest)
|
||||||
{
|
{
|
||||||
return new PortfolioModel()
|
return new PortfolioModel()
|
||||||
{
|
{
|
||||||
Id = sellerProfileRequest.Id,
|
Id = sellerProfileRequest.Id
|
||||||
SellerServiceId = sellerProfileRequest.SellerServiceId
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
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 int Id { get; set; }
|
||||||
public bool PrepaymentRequired { get; set; }
|
public bool PrepaymentRequired { get; set; }
|
@ -1,13 +1,13 @@
|
|||||||
using comissions.app.api.Models.Discovery;
|
using comissions.app.api.Models.Discovery;
|
||||||
using comissions.app.database.Entities;
|
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,
|
Id = sellerProfile.Id,
|
||||||
Name = sellerProfile.Name,
|
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,
|
Name = sellerProfile.User.DisplayName,
|
||||||
Id = sellerProfile.Id,
|
Id = sellerProfile.Id,
|
||||||
@ -36,10 +36,10 @@ public static class SellerProfileModelExtensions
|
|||||||
PrepaymentRequired = sellerProfile.PrepaymentRequired,
|
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,
|
Name = sellerProfile.User.DisplayName,
|
||||||
Id = sellerProfile.Id,
|
Id = sellerProfile.Id,
|
||||||
@ -52,16 +52,16 @@ public static class SellerProfileModelExtensions
|
|||||||
PrepaymentRequired = sellerProfile.PrepaymentRequired
|
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;
|
existingArtist.Name = sellerProfile.Name;
|
||||||
existingSellerProfile.SocialMediaLink1 = sellerProfile.SocialMeidaLink1;
|
existingArtist.SocialMediaLink1 = sellerProfile.SocialMeidaLink1;
|
||||||
existingSellerProfile.SocialMediaLink2 = sellerProfile.SocialMeidaLink2;
|
existingArtist.SocialMediaLink2 = sellerProfile.SocialMeidaLink2;
|
||||||
existingSellerProfile.SocialMediaLink3 = sellerProfile.SocialMeidaLink3;
|
existingArtist.SocialMediaLink3 = sellerProfile.SocialMeidaLink3;
|
||||||
existingSellerProfile.SocialMediaLink4 = sellerProfile.SocialMeidaLink4;
|
existingArtist.SocialMediaLink4 = sellerProfile.SocialMeidaLink4;
|
||||||
existingSellerProfile.Description = sellerProfile.Description;
|
existingArtist.Description = sellerProfile.Description;
|
||||||
existingSellerProfile.RequestGuidelines = sellerProfile.RequestGuidelines;
|
existingArtist.RequestGuidelines = sellerProfile.RequestGuidelines;
|
||||||
existingSellerProfile.PrepaymentRequired = sellerProfile.PrepaymentRequired;
|
existingArtist.PrepaymentRequired = sellerProfile.PrepaymentRequired;
|
||||||
return existingSellerProfile;
|
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; }
|
public string RequestButtonHoverBGColor { get; set; }
|
||||||
@ -37,4 +39,5 @@ public class SellerProfilePageSettingsModel
|
|||||||
public string HeaderColor { get; set; }
|
public string HeaderColor { get; set; }
|
||||||
public string BackgroundColor { get; set; }
|
public string BackgroundColor { get; set; }
|
||||||
public string RequestButtonHoverTextColor { get; set; }
|
public string RequestButtonHoverTextColor { get; set; }
|
||||||
|
public ArtistModel Artist { get; set; }
|
||||||
}
|
}
|
@ -1,14 +1,15 @@
|
|||||||
using comissions.app.database.Entities;
|
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,
|
BackgroundColor = sellerProfile.BackgroundColor,
|
||||||
HeaderColor = sellerProfile.HeaderColor,
|
HeaderColor = sellerProfile.HeaderColor,
|
||||||
HeaderTextSize = sellerProfile.HeaderTextSize,
|
HeaderTextSize = sellerProfile.HeaderTextSize,
|
||||||
@ -45,7 +46,7 @@ public static class SellerProfilePageSettingsModelExtensions
|
|||||||
RequestButtonHoverTextColor = sellerProfile.RequestButtonHoverTextColor
|
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.BackgroundColor = sellerProfile.BackgroundColor;
|
||||||
existing.HeaderColor = sellerProfile.HeaderColor;
|
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 int Id { get; set; }
|
||||||
public DateTime RequestDate { 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,
|
Id = sellerProfileRequest.Id,
|
||||||
UserId = sellerProfileRequest.UserId,
|
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 interface IPaymentService
|
||||||
{
|
{
|
||||||
public string CreateCustomer();
|
public string CreateCustomer();
|
||||||
string CreateSellerAccount();
|
string CreateArtistAccount();
|
||||||
string CreateSellerAccountOnboardingUrl(string accountId);
|
string CreateArtistAccountOnboardingUrl(string accountId);
|
||||||
bool SellerAccountIsOnboarded(string accountId);
|
bool ArtistAccountIsOnboarded(string accountId);
|
||||||
string ChargeForService(int orderSellerServiceId, string? sellerStripeAccountId, double orderPrice);
|
string ChargeForService(int orderArtistServiceId, string? sellerStripeAccountId, double orderPrice);
|
||||||
}
|
}
|
@ -48,7 +48,7 @@ public class StripePaymentServiceProvider:IPaymentService
|
|||||||
// var intent = service.Create(options, requestOptions);
|
// var intent = service.Create(options, requestOptions);
|
||||||
// throw new NotImplementedException();
|
// throw new NotImplementedException();
|
||||||
// }
|
// }
|
||||||
public string CreateSellerAccount()
|
public string CreateArtistAccount()
|
||||||
{
|
{
|
||||||
var accountCreateOptions = new AccountCreateOptions { Type = "express",
|
var accountCreateOptions = new AccountCreateOptions { Type = "express",
|
||||||
Capabilities
|
Capabilities
|
||||||
@ -66,7 +66,7 @@ public class StripePaymentServiceProvider:IPaymentService
|
|||||||
return account.Id;
|
return account.Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string CreateSellerAccountOnboardingUrl(string accountId)
|
public string CreateArtistAccountOnboardingUrl(string accountId)
|
||||||
{
|
{
|
||||||
var options = new AccountLinkCreateOptions
|
var options = new AccountLinkCreateOptions
|
||||||
{
|
{
|
||||||
@ -80,14 +80,14 @@ public class StripePaymentServiceProvider:IPaymentService
|
|||||||
return url.Url;
|
return url.Url;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool SellerAccountIsOnboarded(string accountId)
|
public bool ArtistAccountIsOnboarded(string accountId)
|
||||||
{
|
{
|
||||||
var service = new AccountService();
|
var service = new AccountService();
|
||||||
var account = service.Get(accountId);
|
var account = service.Get(accountId);
|
||||||
return account.Requirements.CurrentlyDue.Count == 0 && account.ChargesEnabled==true && account.DetailsSubmitted==true;
|
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)
|
double orderPrice)
|
||||||
{
|
{
|
||||||
var feeAmount = (long)Math.Round((orderPrice*0.05) * 100);
|
var feeAmount = (long)Math.Round((orderPrice*0.05) * 100);
|
||||||
@ -117,7 +117,7 @@ public class StripePaymentServiceProvider:IPaymentService
|
|||||||
CancelUrl = "https://example.com/failure",
|
CancelUrl = "https://example.com/failure",
|
||||||
Metadata = new Dictionary<string, string>()
|
Metadata = new Dictionary<string, string>()
|
||||||
{
|
{
|
||||||
["orderId"] = orderSellerServiceOrderId.ToString()
|
["orderId"] = orderArtistServiceOrderId.ToString()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var requestOptions = new RequestOptions
|
var requestOptions = new RequestOptions
|
||||||
|
@ -13,7 +13,7 @@ using System.Reflection;
|
|||||||
[assembly: System.Reflection.AssemblyCompanyAttribute("comissions.app.database.migrator")]
|
[assembly: System.Reflection.AssemblyCompanyAttribute("comissions.app.database.migrator")]
|
||||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
[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.AssemblyProductAttribute("comissions.app.database.migrator")]
|
||||||
[assembly: System.Reflection.AssemblyTitleAttribute("comissions.app.database.migrator")]
|
[assembly: System.Reflection.AssemblyTitleAttribute("comissions.app.database.migrator")]
|
||||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||||
|
@ -1 +1 @@
|
|||||||
a4159fd41a43dc7f19501c196bc7d0764162eaaba63418d3ac373794c8e4237f
|
7ecd7fd3ed0865bcfbf8e22720cbe9d2bfd825c1ff3b4a43eca6d079e64d08a0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user