diff --git a/ShoppingAssistantApi.Application/MappingProfiles/MessageProfile.cs b/ShoppingAssistantApi.Application/MappingProfiles/MessageProfile.cs new file mode 100644 index 0000000..e06161f --- /dev/null +++ b/ShoppingAssistantApi.Application/MappingProfiles/MessageProfile.cs @@ -0,0 +1,15 @@ +using AutoMapper; +using ShoppingAssistantApi.Application.Models.CreateDtos; +using ShoppingAssistantApi.Application.Models.Dtos; +using ShoppingAssistantApi.Domain.Entities; + +namespace ShoppingAssistantApi.Application.MappingProfiles; +public class MessageProfile : Profile +{ + public MessageProfile() + { + CreateMap().ReverseMap(); + + CreateMap().ReverseMap(); + } +} diff --git a/ShoppingAssistantApi.Application/MappingProfiles/WishlistProfile.cs b/ShoppingAssistantApi.Application/MappingProfiles/WishlistProfile.cs new file mode 100644 index 0000000..9b65411 --- /dev/null +++ b/ShoppingAssistantApi.Application/MappingProfiles/WishlistProfile.cs @@ -0,0 +1,15 @@ +using AutoMapper; +using ShoppingAssistantApi.Application.Models.CreateDtos; +using ShoppingAssistantApi.Application.Models.Dtos; +using ShoppingAssistantApi.Domain.Entities; + +namespace ShoppingAssistantApi.Application.MappingProfiles; +public class WishlistProfile : Profile +{ + public WishlistProfile() + { + CreateMap().ReverseMap(); + + CreateMap().ReverseMap(); + } +} diff --git a/ShoppingAssistantApi.Application/Models/CreateDtos/MessageCreateDto.cs b/ShoppingAssistantApi.Application/Models/CreateDtos/MessageCreateDto.cs new file mode 100644 index 0000000..b124a4f --- /dev/null +++ b/ShoppingAssistantApi.Application/Models/CreateDtos/MessageCreateDto.cs @@ -0,0 +1,6 @@ +namespace ShoppingAssistantApi.Application.Models.CreateDtos; + +public class MessageCreateDto +{ + public required string Text { get; set; } +} diff --git a/ShoppingAssistantApi.Application/Models/CreateDtos/WishlistCreateDto.cs b/ShoppingAssistantApi.Application/Models/CreateDtos/WishlistCreateDto.cs new file mode 100644 index 0000000..375f70d --- /dev/null +++ b/ShoppingAssistantApi.Application/Models/CreateDtos/WishlistCreateDto.cs @@ -0,0 +1,7 @@ +namespace ShoppingAssistantApi.Application.Models.CreateDtos; + +public class WishlistCreateDto +{ + public required string Type { get; set; } + public required string FirstMessageText { get; set; } +} diff --git a/ShoppingAssistantApi.Application/Models/Dtos/MessageDto.cs b/ShoppingAssistantApi.Application/Models/Dtos/MessageDto.cs new file mode 100644 index 0000000..d6882a1 --- /dev/null +++ b/ShoppingAssistantApi.Application/Models/Dtos/MessageDto.cs @@ -0,0 +1,11 @@ +namespace ShoppingAssistantApi.Application.Models.Dtos; + +public class MessageDto +{ + public required string Id { get; set; } + + public required string Text { get; set; } + public required string Role { get; set; } + + public string? CreatedById { get; set; } = null; +} diff --git a/ShoppingAssistantApi.Application/Models/Dtos/WishlistDto.cs b/ShoppingAssistantApi.Application/Models/Dtos/WishlistDto.cs new file mode 100644 index 0000000..6e21f8e --- /dev/null +++ b/ShoppingAssistantApi.Application/Models/Dtos/WishlistDto.cs @@ -0,0 +1,11 @@ +namespace ShoppingAssistantApi.Application.Models.Dtos; + +public class WishlistDto +{ + public required string Id { get; set; } + + public required string Name { get; set; } + public required string Type { get; set; } + + public string CreatedById { get; set; } = null!; +} diff --git a/ShoppingAssistantApi.Domain/Entities/Message.cs b/ShoppingAssistantApi.Domain/Entities/Message.cs new file mode 100644 index 0000000..a2621bf --- /dev/null +++ b/ShoppingAssistantApi.Domain/Entities/Message.cs @@ -0,0 +1,12 @@ +using MongoDB.Bson; +using ShoppingAssistantApi.Domain.Common; + +namespace ShoppingAssistantApi.Domain.Entities; + +public class Message : EntityBase +{ + public required string Text { get; set; } + public required string Role { get; set; } + + public ObjectId? WishlistId { get; set; } = null; +} diff --git a/ShoppingAssistantApi.Domain/Entities/Wishlist.cs b/ShoppingAssistantApi.Domain/Entities/Wishlist.cs new file mode 100644 index 0000000..0f3d9e6 --- /dev/null +++ b/ShoppingAssistantApi.Domain/Entities/Wishlist.cs @@ -0,0 +1,13 @@ +using MongoDB.Bson; +using ShoppingAssistantApi.Domain.Common; + +namespace ShoppingAssistantApi.Domain.Entities; + +public class Wishlist : EntityBase +{ + public required string Name { get; set; } + public required string Type { get; set; } + public ICollection? Messages { get; set; } = null; + + public required ObjectId UserId { get; set; } +} diff --git a/ShoppingAssistantApi.Domain/Enums/MessageRoles.cs b/ShoppingAssistantApi.Domain/Enums/MessageRoles.cs new file mode 100644 index 0000000..c33ee4b --- /dev/null +++ b/ShoppingAssistantApi.Domain/Enums/MessageRoles.cs @@ -0,0 +1,7 @@ +namespace ShoppingAssistantApi.Domain.Enums; + +public enum MessageRoles +{ + User = 0, + Application = 0 +} diff --git a/ShoppingAssistantApi.Domain/Enums/WishlistTypes.cs b/ShoppingAssistantApi.Domain/Enums/WishlistTypes.cs new file mode 100644 index 0000000..f846c98 --- /dev/null +++ b/ShoppingAssistantApi.Domain/Enums/WishlistTypes.cs @@ -0,0 +1,7 @@ +namespace ShoppingAssistantApi.Domain.Enums; + +public enum WishlistTypes +{ + Product = 0, + Gift = 1 +}