feat(ui): add content editor components for skills and thoughts
Some checks failed
CI / build-and-test (push) Failing after -31m24s
Some checks failed
CI / build-and-test (push) Failing after -31m24s
* Implement ContentEditorField for inline editing of content * Create ContentEditorModal for editing content in a modal * Introduce FormerShell for managing forms related to skills and thoughts * Enhance SkillsPage and ThoughtsPage with new components for better content management
This commit is contained in:
@@ -81,342 +81,342 @@ func storedFileFromModel(m generatedmodels.ModelPublicStoredFiles) ext.StoredFil
|
||||
}
|
||||
}
|
||||
|
||||
func maintenanceTaskFromModel(m generatedmodels.ModelPublicMaintenanceTasks) ext.MaintenanceTask {
|
||||
var frequencyDays *int
|
||||
if m.FrequencyDays.Valid {
|
||||
n := int(m.FrequencyDays.Int64())
|
||||
frequencyDays = &n
|
||||
}
|
||||
// func maintenanceTaskFromModel(m generatedmodels.ModelPublicMaintenanceTasks) ext.MaintenanceTask {
|
||||
// var frequencyDays *int
|
||||
// if m.FrequencyDays.Valid {
|
||||
// n := int(m.FrequencyDays.Int64())
|
||||
// frequencyDays = &n
|
||||
// }
|
||||
|
||||
var lastCompleted *time.Time
|
||||
if m.LastCompleted.Valid {
|
||||
t := m.LastCompleted.Time()
|
||||
lastCompleted = &t
|
||||
}
|
||||
// var lastCompleted *time.Time
|
||||
// if m.LastCompleted.Valid {
|
||||
// t := m.LastCompleted.Time()
|
||||
// lastCompleted = &t
|
||||
// }
|
||||
|
||||
var nextDue *time.Time
|
||||
if m.NextDue.Valid {
|
||||
t := m.NextDue.Time()
|
||||
nextDue = &t
|
||||
}
|
||||
// var nextDue *time.Time
|
||||
// if m.NextDue.Valid {
|
||||
// t := m.NextDue.Time()
|
||||
// nextDue = &t
|
||||
// }
|
||||
|
||||
return ext.MaintenanceTask{
|
||||
ID: m.ID.UUID(),
|
||||
Name: m.Name.String(),
|
||||
Category: m.Category.String(),
|
||||
FrequencyDays: frequencyDays,
|
||||
LastCompleted: lastCompleted,
|
||||
NextDue: nextDue,
|
||||
Priority: m.Priority.String(),
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
UpdatedAt: m.UpdatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.MaintenanceTask{
|
||||
// ID: m.ID.UUID(),
|
||||
// Name: m.Name.String(),
|
||||
// Category: m.Category.String(),
|
||||
// FrequencyDays: frequencyDays,
|
||||
// LastCompleted: lastCompleted,
|
||||
// NextDue: nextDue,
|
||||
// Priority: m.Priority.String(),
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// UpdatedAt: m.UpdatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func maintenanceLogFromModel(m generatedmodels.ModelPublicMaintenanceLogs) ext.MaintenanceLog {
|
||||
var cost *float64
|
||||
if m.Cost.Valid {
|
||||
v := m.Cost.Float64()
|
||||
cost = &v
|
||||
}
|
||||
// func maintenanceLogFromModel(m generatedmodels.ModelPublicMaintenanceLogs) ext.MaintenanceLog {
|
||||
// var cost *float64
|
||||
// if m.Cost.Valid {
|
||||
// v := m.Cost.Float64()
|
||||
// cost = &v
|
||||
// }
|
||||
|
||||
return ext.MaintenanceLog{
|
||||
ID: m.ID.UUID(),
|
||||
TaskID: m.TaskID.UUID(),
|
||||
CompletedAt: m.CompletedAt.Time(),
|
||||
PerformedBy: m.PerformedBy.String(),
|
||||
Cost: cost,
|
||||
Notes: m.Notes.String(),
|
||||
NextAction: m.NextAction.String(),
|
||||
}
|
||||
}
|
||||
// return ext.MaintenanceLog{
|
||||
// ID: m.ID.UUID(),
|
||||
// TaskID: m.TaskID.UUID(),
|
||||
// CompletedAt: m.CompletedAt.Time(),
|
||||
// PerformedBy: m.PerformedBy.String(),
|
||||
// Cost: cost,
|
||||
// Notes: m.Notes.String(),
|
||||
// NextAction: m.NextAction.String(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func householdItemFromModel(m generatedmodels.ModelPublicHouseholdItems) ext.HouseholdItem {
|
||||
details := map[string]any{}
|
||||
if len(m.Details) > 0 {
|
||||
if err := json.Unmarshal(m.Details, &details); err != nil {
|
||||
details = map[string]any{}
|
||||
}
|
||||
}
|
||||
// func householdItemFromModel(m generatedmodels.ModelPublicHouseholdItems) ext.HouseholdItem {
|
||||
// details := map[string]any{}
|
||||
// if len(m.Details) > 0 {
|
||||
// if err := json.Unmarshal(m.Details, &details); err != nil {
|
||||
// details = map[string]any{}
|
||||
// }
|
||||
// }
|
||||
|
||||
return ext.HouseholdItem{
|
||||
ID: m.ID.UUID(),
|
||||
Name: m.Name.String(),
|
||||
Category: m.Category.String(),
|
||||
Location: m.Location.String(),
|
||||
Details: details,
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
UpdatedAt: m.UpdatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.HouseholdItem{
|
||||
// ID: m.ID.UUID(),
|
||||
// Name: m.Name.String(),
|
||||
// Category: m.Category.String(),
|
||||
// Location: m.Location.String(),
|
||||
// Details: details,
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// UpdatedAt: m.UpdatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func householdVendorFromModel(m generatedmodels.ModelPublicHouseholdVendors) ext.HouseholdVendor {
|
||||
var rating *int
|
||||
if m.Rating.Valid {
|
||||
v := int(m.Rating.Int64())
|
||||
rating = &v
|
||||
}
|
||||
// func householdVendorFromModel(m generatedmodels.ModelPublicHouseholdVendors) ext.HouseholdVendor {
|
||||
// var rating *int
|
||||
// if m.Rating.Valid {
|
||||
// v := int(m.Rating.Int64())
|
||||
// rating = &v
|
||||
// }
|
||||
|
||||
var lastUsed *time.Time
|
||||
if m.LastUsed.Valid {
|
||||
t := m.LastUsed.Time()
|
||||
lastUsed = &t
|
||||
}
|
||||
// var lastUsed *time.Time
|
||||
// if m.LastUsed.Valid {
|
||||
// t := m.LastUsed.Time()
|
||||
// lastUsed = &t
|
||||
// }
|
||||
|
||||
return ext.HouseholdVendor{
|
||||
ID: m.ID.UUID(),
|
||||
Name: m.Name.String(),
|
||||
ServiceType: m.ServiceType.String(),
|
||||
Phone: m.Phone.String(),
|
||||
Email: m.Email.String(),
|
||||
Website: m.Website.String(),
|
||||
Notes: m.Notes.String(),
|
||||
Rating: rating,
|
||||
LastUsed: lastUsed,
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.HouseholdVendor{
|
||||
// ID: m.ID.UUID(),
|
||||
// Name: m.Name.String(),
|
||||
// ServiceType: m.ServiceType.String(),
|
||||
// Phone: m.Phone.String(),
|
||||
// Email: m.Email.String(),
|
||||
// Website: m.Website.String(),
|
||||
// Notes: m.Notes.String(),
|
||||
// Rating: rating,
|
||||
// LastUsed: lastUsed,
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func familyMemberFromModel(m generatedmodels.ModelPublicFamilyMembers) ext.FamilyMember {
|
||||
var birthDate *time.Time
|
||||
if m.BirthDate.Valid {
|
||||
t := m.BirthDate.Time()
|
||||
birthDate = &t
|
||||
}
|
||||
// func familyMemberFromModel(m generatedmodels.ModelPublicFamilyMembers) ext.FamilyMember {
|
||||
// var birthDate *time.Time
|
||||
// if m.BirthDate.Valid {
|
||||
// t := m.BirthDate.Time()
|
||||
// birthDate = &t
|
||||
// }
|
||||
|
||||
return ext.FamilyMember{
|
||||
ID: m.ID.UUID(),
|
||||
Name: m.Name.String(),
|
||||
Relationship: m.Relationship.String(),
|
||||
BirthDate: birthDate,
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.FamilyMember{
|
||||
// ID: m.ID.UUID(),
|
||||
// Name: m.Name.String(),
|
||||
// Relationship: m.Relationship.String(),
|
||||
// BirthDate: birthDate,
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func activityFromModel(m generatedmodels.ModelPublicActivities, memberName string) ext.Activity {
|
||||
var familyMemberID *uuid.UUID
|
||||
if m.FamilyMemberID.Valid {
|
||||
id := m.FamilyMemberID.UUID()
|
||||
familyMemberID = &id
|
||||
}
|
||||
// func activityFromModel(m generatedmodels.ModelPublicActivities, memberName string) ext.Activity {
|
||||
// var familyMemberID *uuid.UUID
|
||||
// if m.FamilyMemberID.Valid {
|
||||
// id := m.FamilyMemberID.UUID()
|
||||
// familyMemberID = &id
|
||||
// }
|
||||
|
||||
var startDate *time.Time
|
||||
if m.StartDate.Valid {
|
||||
t := m.StartDate.Time()
|
||||
startDate = &t
|
||||
}
|
||||
// var startDate *time.Time
|
||||
// if m.StartDate.Valid {
|
||||
// t := m.StartDate.Time()
|
||||
// startDate = &t
|
||||
// }
|
||||
|
||||
var endDate *time.Time
|
||||
if m.EndDate.Valid {
|
||||
t := m.EndDate.Time()
|
||||
endDate = &t
|
||||
}
|
||||
// var endDate *time.Time
|
||||
// if m.EndDate.Valid {
|
||||
// t := m.EndDate.Time()
|
||||
// endDate = &t
|
||||
// }
|
||||
|
||||
return ext.Activity{
|
||||
ID: m.ID.UUID(),
|
||||
FamilyMemberID: familyMemberID,
|
||||
MemberName: memberName,
|
||||
Title: m.Title.String(),
|
||||
ActivityType: m.ActivityType.String(),
|
||||
DayOfWeek: m.DayOfWeek.String(),
|
||||
StartTime: m.StartTime.String(),
|
||||
EndTime: m.EndTime.String(),
|
||||
StartDate: startDate,
|
||||
EndDate: endDate,
|
||||
Location: m.Location.String(),
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.Activity{
|
||||
// ID: m.ID.UUID(),
|
||||
// FamilyMemberID: familyMemberID,
|
||||
// MemberName: memberName,
|
||||
// Title: m.Title.String(),
|
||||
// ActivityType: m.ActivityType.String(),
|
||||
// DayOfWeek: m.DayOfWeek.String(),
|
||||
// StartTime: m.StartTime.String(),
|
||||
// EndTime: m.EndTime.String(),
|
||||
// StartDate: startDate,
|
||||
// EndDate: endDate,
|
||||
// Location: m.Location.String(),
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func importantDateFromModel(m generatedmodels.ModelPublicImportantDates, memberName string) ext.ImportantDate {
|
||||
var familyMemberID *uuid.UUID
|
||||
if m.FamilyMemberID.Valid {
|
||||
id := m.FamilyMemberID.UUID()
|
||||
familyMemberID = &id
|
||||
}
|
||||
// func importantDateFromModel(m generatedmodels.ModelPublicImportantDates, memberName string) ext.ImportantDate {
|
||||
// var familyMemberID *uuid.UUID
|
||||
// if m.FamilyMemberID.Valid {
|
||||
// id := m.FamilyMemberID.UUID()
|
||||
// familyMemberID = &id
|
||||
// }
|
||||
|
||||
return ext.ImportantDate{
|
||||
ID: m.ID.UUID(),
|
||||
FamilyMemberID: familyMemberID,
|
||||
MemberName: memberName,
|
||||
Title: m.Title.String(),
|
||||
DateValue: m.DateValue.Time(),
|
||||
RecurringYearly: m.RecurringYearly,
|
||||
ReminderDaysBefore: int(m.ReminderDaysBefore),
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.ImportantDate{
|
||||
// ID: m.ID.UUID(),
|
||||
// FamilyMemberID: familyMemberID,
|
||||
// MemberName: memberName,
|
||||
// Title: m.Title.String(),
|
||||
// DateValue: m.DateValue.Time(),
|
||||
// RecurringYearly: m.RecurringYearly,
|
||||
// ReminderDaysBefore: int(m.ReminderDaysBefore),
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func professionalContactFromModel(m generatedmodels.ModelPublicProfessionalContacts, tags []string) ext.ProfessionalContact {
|
||||
var lastContacted *time.Time
|
||||
if m.LastContacted.Valid {
|
||||
t := m.LastContacted.Time()
|
||||
lastContacted = &t
|
||||
}
|
||||
// func professionalContactFromModel(m generatedmodels.ModelPublicProfessionalContacts, tags []string) ext.ProfessionalContact {
|
||||
// var lastContacted *time.Time
|
||||
// if m.LastContacted.Valid {
|
||||
// t := m.LastContacted.Time()
|
||||
// lastContacted = &t
|
||||
// }
|
||||
|
||||
var followUpDate *time.Time
|
||||
if m.FollowUpDate.Valid {
|
||||
t := m.FollowUpDate.Time()
|
||||
followUpDate = &t
|
||||
}
|
||||
// var followUpDate *time.Time
|
||||
// if m.FollowUpDate.Valid {
|
||||
// t := m.FollowUpDate.Time()
|
||||
// followUpDate = &t
|
||||
// }
|
||||
|
||||
return ext.ProfessionalContact{
|
||||
ID: m.ID.UUID(),
|
||||
Name: m.Name.String(),
|
||||
Company: m.Company.String(),
|
||||
Title: m.Title.String(),
|
||||
Email: m.Email.String(),
|
||||
Phone: m.Phone.String(),
|
||||
LinkedInURL: m.LinkedinURL.String(),
|
||||
HowWeMet: m.HowWeMet.String(),
|
||||
Tags: tags,
|
||||
Notes: m.Notes.String(),
|
||||
LastContacted: lastContacted,
|
||||
FollowUpDate: followUpDate,
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
UpdatedAt: m.UpdatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.ProfessionalContact{
|
||||
// ID: m.ID.UUID(),
|
||||
// Name: m.Name.String(),
|
||||
// Company: m.Company.String(),
|
||||
// Title: m.Title.String(),
|
||||
// Email: m.Email.String(),
|
||||
// Phone: m.Phone.String(),
|
||||
// LinkedInURL: m.LinkedinURL.String(),
|
||||
// HowWeMet: m.HowWeMet.String(),
|
||||
// Tags: tags,
|
||||
// Notes: m.Notes.String(),
|
||||
// LastContacted: lastContacted,
|
||||
// FollowUpDate: followUpDate,
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// UpdatedAt: m.UpdatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func contactInteractionFromModel(m generatedmodels.ModelPublicContactInteractions) ext.ContactInteraction {
|
||||
return ext.ContactInteraction{
|
||||
ID: m.ID.UUID(),
|
||||
ContactID: m.ContactID.UUID(),
|
||||
InteractionType: m.InteractionType.String(),
|
||||
OccurredAt: m.OccurredAt.Time(),
|
||||
Summary: m.Summary.String(),
|
||||
FollowUpNeeded: m.FollowUpNeeded,
|
||||
FollowUpNotes: m.FollowUpNotes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// func contactInteractionFromModel(m generatedmodels.ModelPublicContactInteractions) ext.ContactInteraction {
|
||||
// return ext.ContactInteraction{
|
||||
// ID: m.ID.UUID(),
|
||||
// ContactID: m.ContactID.UUID(),
|
||||
// InteractionType: m.InteractionType.String(),
|
||||
// OccurredAt: m.OccurredAt.Time(),
|
||||
// Summary: m.Summary.String(),
|
||||
// FollowUpNeeded: m.FollowUpNeeded,
|
||||
// FollowUpNotes: m.FollowUpNotes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func opportunityFromModel(m generatedmodels.ModelPublicOpportunities) ext.Opportunity {
|
||||
var contactID *uuid.UUID
|
||||
if m.ContactID.Valid {
|
||||
id := m.ContactID.UUID()
|
||||
contactID = &id
|
||||
}
|
||||
// func opportunityFromModel(m generatedmodels.ModelPublicOpportunities) ext.Opportunity {
|
||||
// var contactID *uuid.UUID
|
||||
// if m.ContactID.Valid {
|
||||
// id := m.ContactID.UUID()
|
||||
// contactID = &id
|
||||
// }
|
||||
|
||||
var value *float64
|
||||
if m.Value.Valid {
|
||||
v := m.Value.Float64()
|
||||
value = &v
|
||||
}
|
||||
// var value *float64
|
||||
// if m.Value.Valid {
|
||||
// v := m.Value.Float64()
|
||||
// value = &v
|
||||
// }
|
||||
|
||||
var expectedCloseDate *time.Time
|
||||
if m.ExpectedCloseDate.Valid {
|
||||
t := m.ExpectedCloseDate.Time()
|
||||
expectedCloseDate = &t
|
||||
}
|
||||
// var expectedCloseDate *time.Time
|
||||
// if m.ExpectedCloseDate.Valid {
|
||||
// t := m.ExpectedCloseDate.Time()
|
||||
// expectedCloseDate = &t
|
||||
// }
|
||||
|
||||
return ext.Opportunity{
|
||||
ID: m.ID.UUID(),
|
||||
ContactID: contactID,
|
||||
Title: m.Title.String(),
|
||||
Description: m.Description.String(),
|
||||
Stage: m.Stage.String(),
|
||||
Value: value,
|
||||
ExpectedCloseDate: expectedCloseDate,
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
UpdatedAt: m.UpdatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.Opportunity{
|
||||
// ID: m.ID.UUID(),
|
||||
// ContactID: contactID,
|
||||
// Title: m.Title.String(),
|
||||
// Description: m.Description.String(),
|
||||
// Stage: m.Stage.String(),
|
||||
// Value: value,
|
||||
// ExpectedCloseDate: expectedCloseDate,
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// UpdatedAt: m.UpdatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func recipeFromModel(m generatedmodels.ModelPublicRecipes, tags []string) ext.Recipe {
|
||||
var prepTimeMinutes *int
|
||||
if m.PrepTimeMinutes.Valid {
|
||||
v := int(m.PrepTimeMinutes.Int64())
|
||||
prepTimeMinutes = &v
|
||||
}
|
||||
// func recipeFromModel(m generatedmodels.ModelPublicRecipes, tags []string) ext.Recipe {
|
||||
// var prepTimeMinutes *int
|
||||
// if m.PrepTimeMinutes.Valid {
|
||||
// v := int(m.PrepTimeMinutes.Int64())
|
||||
// prepTimeMinutes = &v
|
||||
// }
|
||||
|
||||
var cookTimeMinutes *int
|
||||
if m.CookTimeMinutes.Valid {
|
||||
v := int(m.CookTimeMinutes.Int64())
|
||||
cookTimeMinutes = &v
|
||||
}
|
||||
// var cookTimeMinutes *int
|
||||
// if m.CookTimeMinutes.Valid {
|
||||
// v := int(m.CookTimeMinutes.Int64())
|
||||
// cookTimeMinutes = &v
|
||||
// }
|
||||
|
||||
var servings *int
|
||||
if m.Servings.Valid {
|
||||
v := int(m.Servings.Int64())
|
||||
servings = &v
|
||||
}
|
||||
// var servings *int
|
||||
// if m.Servings.Valid {
|
||||
// v := int(m.Servings.Int64())
|
||||
// servings = &v
|
||||
// }
|
||||
|
||||
var rating *int
|
||||
if m.Rating.Valid {
|
||||
v := int(m.Rating.Int64())
|
||||
rating = &v
|
||||
}
|
||||
// var rating *int
|
||||
// if m.Rating.Valid {
|
||||
// v := int(m.Rating.Int64())
|
||||
// rating = &v
|
||||
// }
|
||||
|
||||
recipe := ext.Recipe{
|
||||
ID: m.ID.UUID(),
|
||||
Name: m.Name.String(),
|
||||
Cuisine: m.Cuisine.String(),
|
||||
PrepTimeMinutes: prepTimeMinutes,
|
||||
CookTimeMinutes: cookTimeMinutes,
|
||||
Servings: servings,
|
||||
Tags: tags,
|
||||
Rating: rating,
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
UpdatedAt: m.UpdatedAt.Time(),
|
||||
}
|
||||
// recipe := ext.Recipe{
|
||||
// ID: m.ID.UUID(),
|
||||
// Name: m.Name.String(),
|
||||
// Cuisine: m.Cuisine.String(),
|
||||
// PrepTimeMinutes: prepTimeMinutes,
|
||||
// CookTimeMinutes: cookTimeMinutes,
|
||||
// Servings: servings,
|
||||
// Tags: tags,
|
||||
// Rating: rating,
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// UpdatedAt: m.UpdatedAt.Time(),
|
||||
// }
|
||||
|
||||
if err := json.Unmarshal(m.Ingredients, &recipe.Ingredients); err != nil {
|
||||
recipe.Ingredients = []ext.Ingredient{}
|
||||
}
|
||||
if err := json.Unmarshal(m.Instructions, &recipe.Instructions); err != nil {
|
||||
recipe.Instructions = []string{}
|
||||
}
|
||||
return recipe
|
||||
}
|
||||
// if err := json.Unmarshal(m.Ingredients, &recipe.Ingredients); err != nil {
|
||||
// recipe.Ingredients = []ext.Ingredient{}
|
||||
// }
|
||||
// if err := json.Unmarshal(m.Instructions, &recipe.Instructions); err != nil {
|
||||
// recipe.Instructions = []string{}
|
||||
// }
|
||||
// return recipe
|
||||
// }
|
||||
|
||||
func mealPlanEntryFromModel(m generatedmodels.ModelPublicMealPlans, recipeName string) ext.MealPlanEntry {
|
||||
var recipeID *uuid.UUID
|
||||
if m.RecipeID.Valid {
|
||||
id := m.RecipeID.UUID()
|
||||
recipeID = &id
|
||||
}
|
||||
// func mealPlanEntryFromModel(m generatedmodels.ModelPublicMealPlans, recipeName string) ext.MealPlanEntry {
|
||||
// var recipeID *uuid.UUID
|
||||
// if m.RecipeID.Valid {
|
||||
// id := m.RecipeID.UUID()
|
||||
// recipeID = &id
|
||||
// }
|
||||
|
||||
var servings *int
|
||||
if m.Servings.Valid {
|
||||
v := int(m.Servings.Int64())
|
||||
servings = &v
|
||||
}
|
||||
// var servings *int
|
||||
// if m.Servings.Valid {
|
||||
// v := int(m.Servings.Int64())
|
||||
// servings = &v
|
||||
// }
|
||||
|
||||
return ext.MealPlanEntry{
|
||||
ID: m.ID.UUID(),
|
||||
WeekStart: m.WeekStart.Time(),
|
||||
DayOfWeek: m.DayOfWeek.String(),
|
||||
MealType: m.MealType.String(),
|
||||
RecipeID: recipeID,
|
||||
RecipeName: recipeName,
|
||||
CustomMeal: m.CustomMeal.String(),
|
||||
Servings: servings,
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
}
|
||||
}
|
||||
// return ext.MealPlanEntry{
|
||||
// ID: m.ID.UUID(),
|
||||
// WeekStart: m.WeekStart.Time(),
|
||||
// DayOfWeek: m.DayOfWeek.String(),
|
||||
// MealType: m.MealType.String(),
|
||||
// RecipeID: recipeID,
|
||||
// RecipeName: recipeName,
|
||||
// CustomMeal: m.CustomMeal.String(),
|
||||
// Servings: servings,
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// }
|
||||
// }
|
||||
|
||||
func shoppingListFromModel(m generatedmodels.ModelPublicShoppingLists) ext.ShoppingList {
|
||||
list := ext.ShoppingList{
|
||||
ID: m.ID.UUID(),
|
||||
WeekStart: m.WeekStart.Time(),
|
||||
Notes: m.Notes.String(),
|
||||
CreatedAt: m.CreatedAt.Time(),
|
||||
UpdatedAt: m.UpdatedAt.Time(),
|
||||
}
|
||||
if err := json.Unmarshal(m.Items, &list.Items); err != nil {
|
||||
list.Items = []ext.ShoppingItem{}
|
||||
}
|
||||
return list
|
||||
}
|
||||
// func shoppingListFromModel(m generatedmodels.ModelPublicShoppingLists) ext.ShoppingList {
|
||||
// list := ext.ShoppingList{
|
||||
// ID: m.ID.UUID(),
|
||||
// WeekStart: m.WeekStart.Time(),
|
||||
// Notes: m.Notes.String(),
|
||||
// CreatedAt: m.CreatedAt.Time(),
|
||||
// UpdatedAt: m.UpdatedAt.Time(),
|
||||
// }
|
||||
// if err := json.Unmarshal(m.Items, &list.Items); err != nil {
|
||||
// list.Items = []ext.ShoppingItem{}
|
||||
// }
|
||||
// return list
|
||||
// }
|
||||
|
||||
func planFromModel(m generatedmodels.ModelPublicPlans, tags []string) ext.Plan {
|
||||
var projectID *uuid.UUID
|
||||
|
||||
Reference in New Issue
Block a user