From 22d049749445236c16025e08780e72d65a0f9927 Mon Sep 17 00:00:00 2001 From: thomkaptein Date: Sat, 4 Jan 2025 01:14:25 +0100 Subject: [PATCH] work on stripe integration --- .../FMBot.Persistence.EntityFrameWork.csproj | 1 + .../FMBotDbContext.cs | 3 +++ .../Enums/StripeSupporterType.cs} | 4 ++-- .../Models/StripeSupporter.cs} | 19 ++++++++++--------- src/Shared.Domain/Shared.Domain.csproj | 2 +- 5 files changed, 17 insertions(+), 12 deletions(-) rename src/{FMBot.Domain/Enums/SupporterStripeType.cs => Shared.Domain/Enums/StripeSupporterType.cs} (51%) rename src/{FMBot.Persistence.Domain/Models/SupporterStripe.cs => Shared.Domain/Models/StripeSupporter.cs} (52%) diff --git a/src/FMBot.Persistence.EntityFrameWork/FMBot.Persistence.EntityFrameWork.csproj b/src/FMBot.Persistence.EntityFrameWork/FMBot.Persistence.EntityFrameWork.csproj index 0cc91af1..96db6db5 100644 --- a/src/FMBot.Persistence.EntityFrameWork/FMBot.Persistence.EntityFrameWork.csproj +++ b/src/FMBot.Persistence.EntityFrameWork/FMBot.Persistence.EntityFrameWork.csproj @@ -29,5 +29,6 @@ + diff --git a/src/FMBot.Persistence.EntityFrameWork/FMBotDbContext.cs b/src/FMBot.Persistence.EntityFrameWork/FMBotDbContext.cs index 89d033b5..a273b614 100644 --- a/src/FMBot.Persistence.EntityFrameWork/FMBotDbContext.cs +++ b/src/FMBot.Persistence.EntityFrameWork/FMBotDbContext.cs @@ -3,6 +3,7 @@ using FMBot.Persistence.Domain.Models; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; +using Shared.Domain.Models; namespace FMBot.Persistence.EntityFrameWork { @@ -18,6 +19,8 @@ public class FMBotDbContext : DbContext public virtual DbSet Users { get; set; } public virtual DbSet Supporters { get; set; } + // public virtual DbSet StripeSupporters { get; set; } + public virtual DbSet DiscogsReleases { get; set; } public virtual DbSet UserDiscogsReleases { get; set; } public virtual DbSet UserDiscogs { get; set; } diff --git a/src/FMBot.Domain/Enums/SupporterStripeType.cs b/src/Shared.Domain/Enums/StripeSupporterType.cs similarity index 51% rename from src/FMBot.Domain/Enums/SupporterStripeType.cs rename to src/Shared.Domain/Enums/StripeSupporterType.cs index efccb6aa..f1d37916 100644 --- a/src/FMBot.Domain/Enums/SupporterStripeType.cs +++ b/src/Shared.Domain/Enums/StripeSupporterType.cs @@ -1,6 +1,6 @@ -namespace FMBot.Domain.Enums; +namespace Shared.Domain.Enums; -public enum SupporterStripeType +public enum StripeSupporterType { Supporter = 1, GiftedSupporter = 2, diff --git a/src/FMBot.Persistence.Domain/Models/SupporterStripe.cs b/src/Shared.Domain/Models/StripeSupporter.cs similarity index 52% rename from src/FMBot.Persistence.Domain/Models/SupporterStripe.cs rename to src/Shared.Domain/Models/StripeSupporter.cs index 709dadc8..4d73de11 100644 --- a/src/FMBot.Persistence.Domain/Models/SupporterStripe.cs +++ b/src/Shared.Domain/Models/StripeSupporter.cs @@ -1,19 +1,16 @@ -using System; -using FMBot.Domain.Enums; -using FMBot.Domain.Models; +using Shared.Domain.Enums; -namespace FMBot.Persistence.Domain.Models; +namespace Shared.Domain.Models; -public class SupporterStripe +// This file is managed in Shared.Domain and copied to child projects +public class StripeSupporter { public ulong PurchaserDiscordUserId { get; set; } - public ulong PurchaserLastFmUserName { get; set; } + public string PurchaserLastFmUserName { get; set; } public ulong? GiftReceiverDiscordUserId { get; set; } - public string Email { get; set; } - public string StripeCustomerId { get; set; } public string StripeSubscriptionId { get; set; } @@ -26,5 +23,9 @@ public class SupporterStripe public int Quantity { get; set; } - public SupporterStripeType Type { get; set; } + public int? TimesTransferred { get; set; } + + public DateTime? LastTimeTransferred { get; set; } + + public StripeSupporterType Type { get; set; } } diff --git a/src/Shared.Domain/Shared.Domain.csproj b/src/Shared.Domain/Shared.Domain.csproj index 21243640..86fcf166 100644 --- a/src/Shared.Domain/Shared.Domain.csproj +++ b/src/Shared.Domain/Shared.Domain.csproj @@ -3,7 +3,7 @@ net9.0 enable - enable + disable Shared.Domain Shared.Domain