R-01: a Rotation check decided drop now records the dinner's name at the decision in rotation_reviews.name (migration 0014, a table rebuild as 0012 did for suggestions; checks dropped before it take their dinner's name). ListPassedNames and ListRecentPassedNames read that name instead of the mutable dinners.name, so renaming the archived dinner no longer lets the dropped dish back into a Side quest batch. A CHECK keeps a name on drops only. R-02: deciding on a dinner that has never had a Rotation check is now ErrReviewNotFound, 404 not_found; a dinner whose checks are all decided, such as a second decision, stays 409 no_pending_review. Tests: TestLaterBatchNeverResuggestsRenamedDrop (drop, rename, next batch still refuses the original name), TestMigrateRotationReviewName (0013 to 0014 upgrade and constraints), TestPostRotationReviewNeverChecked (404), and TestDecideReview/TestDecideReviewRefused updated. Maestro: a1887d1c-c405-478c-ac7d-8cb8b40d280d Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
322 lines
6.4 KiB
Go
322 lines
6.4 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
|
|
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
)
|
|
|
|
type AiRun struct {
|
|
ID string
|
|
Skill string
|
|
SkillVersion string
|
|
Provider string
|
|
Model string
|
|
Temperature float64
|
|
Status string
|
|
LatencyMs sql.NullInt64
|
|
TokensIn sql.NullInt64
|
|
TokensOut sql.NullInt64
|
|
Error sql.NullString
|
|
RequestRedacted string
|
|
ResponseRedacted sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type AiSetting struct {
|
|
ID int64
|
|
Provider string
|
|
BaseUrl string
|
|
Model string
|
|
Temperature float64
|
|
SystemPrompt sql.NullString
|
|
ApiKeyCt []byte
|
|
ApiKeyLast4 sql.NullString
|
|
KeyVerifiedAt sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type ChatSetting struct {
|
|
ID int64
|
|
WebhookUrlCt []byte
|
|
SpaceLabel sql.NullString
|
|
LastTestAt sql.NullString
|
|
LastTestStatus sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type Dinner struct {
|
|
ID string
|
|
Name string
|
|
NormalizedName string
|
|
Status string
|
|
Origin string
|
|
Method sql.NullString
|
|
MinutesTotal sql.NullInt64
|
|
Difficulty sql.NullString
|
|
Cuisine sql.NullString
|
|
IsFavorite int64
|
|
RecipeID sql.NullString
|
|
PhotoID sql.NullString
|
|
GroundingStatus string
|
|
UpdatedBy sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
RecipeUrl sql.NullString
|
|
GroundingError sql.NullString
|
|
GroundingRevision int64
|
|
}
|
|
|
|
type HouseholdSetting struct {
|
|
ID int64
|
|
Timezone string
|
|
DinnerTime string
|
|
ReminderTime string
|
|
ReviewTime string
|
|
PlanDraftDow int64
|
|
PlanDraftTime string
|
|
SuggestionsDow int64
|
|
SuggestionsTime string
|
|
ChatAutosendDow int64
|
|
ChatAutosendTime string
|
|
OnboardingCompletedAt sql.NullString
|
|
UpdatesSeenAt sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
UpdatedBy sql.NullString
|
|
}
|
|
|
|
type IntegrationsGoogle struct {
|
|
ID int64
|
|
RefreshTokenCt []byte
|
|
CalendarID sql.NullString
|
|
CalendarName sql.NullString
|
|
ConnectedAt string
|
|
LastSyncError sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type Job struct {
|
|
ID string
|
|
Kind string
|
|
Status string
|
|
Payload string
|
|
Result sql.NullString
|
|
Error sql.NullString
|
|
StartedAt sql.NullString
|
|
FinishedAt sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type NotificationOutbox struct {
|
|
ID string
|
|
EventKey string
|
|
Channel string
|
|
Payload string
|
|
Status string
|
|
Attempts int64
|
|
NextAttemptAt sql.NullString
|
|
LastError sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type NotificationPref struct {
|
|
Event string
|
|
Push int64
|
|
Chat int64
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type Photo struct {
|
|
ID string
|
|
SourceUrl string
|
|
LocalPath string
|
|
Width int64
|
|
Height int64
|
|
Sha256 string
|
|
FetchedAt string
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type PlanDay struct {
|
|
ID string
|
|
PlanID string
|
|
Date string
|
|
DinnerID sql.NullString
|
|
IsNew int64
|
|
CalendarEventID sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type PushSubscription struct {
|
|
ID string
|
|
Endpoint string
|
|
P256dh string
|
|
Auth string
|
|
UserAgent sql.NullString
|
|
FailureCount int64
|
|
LastSuccessAt sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type Recipe struct {
|
|
ID string
|
|
SourceUrl string
|
|
SiteName sql.NullString
|
|
Title string
|
|
TotalMinutes sql.NullInt64
|
|
PrepMinutes sql.NullInt64
|
|
CookMinutes sql.NullInt64
|
|
Yield sql.NullString
|
|
RawJsonld string
|
|
FetchedAt string
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
PhotoID sql.NullString
|
|
Method sql.NullString
|
|
Difficulty sql.NullString
|
|
MinutesTotal sql.NullInt64
|
|
}
|
|
|
|
type RecipeIngredient struct {
|
|
ID string
|
|
RecipeID string
|
|
Position int64
|
|
RawText string
|
|
Name sql.NullString
|
|
Qty sql.NullString
|
|
Unit sql.NullString
|
|
Note sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type RecipeSearchSetting struct {
|
|
ID int64
|
|
Provider string
|
|
BaseUrl sql.NullString
|
|
ApiKeyCt []byte
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
ApiKeyLast4 sql.NullString
|
|
}
|
|
|
|
type RecipeStep struct {
|
|
ID string
|
|
RecipeID string
|
|
Position int64
|
|
Text string
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type RotationReview struct {
|
|
ID string
|
|
DinnerID string
|
|
PlanDate string
|
|
Status string
|
|
Decision sql.NullString
|
|
Name sql.NullString
|
|
DecidedAt sql.NullString
|
|
UpdatedBy sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type ScheduleRun struct {
|
|
ID string
|
|
Schedule string
|
|
PeriodKey string
|
|
CreatedAt string
|
|
}
|
|
|
|
type Session struct {
|
|
IDHash string
|
|
Subject string
|
|
Email string
|
|
Name string
|
|
Groups string
|
|
CsrfToken string
|
|
CreatedAt string
|
|
LastSeenAt string
|
|
ExpiresAt string
|
|
}
|
|
|
|
type ShoppingGroup struct {
|
|
ID string
|
|
ListID string
|
|
DinnerID string
|
|
Position int64
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type ShoppingItem struct {
|
|
ID string
|
|
GroupID string
|
|
Name string
|
|
Qty sql.NullString
|
|
Needed int64
|
|
Position int64
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type ShoppingList struct {
|
|
ID string
|
|
WeekStart string
|
|
PlanID string
|
|
Title string
|
|
Status string
|
|
SentToChatAt sql.NullString
|
|
FrozenAt sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type Suggestion struct {
|
|
ID string
|
|
DinnerID string
|
|
BatchID string
|
|
Name string
|
|
Reason string
|
|
CitedRegularIds string
|
|
Status string
|
|
DecidedAt sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type SuggestionBatch struct {
|
|
ID string
|
|
Trigger string
|
|
Status string
|
|
AiRunID sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
}
|
|
|
|
type WeekPlan struct {
|
|
ID string
|
|
WeekStart string
|
|
Status string
|
|
AiNote sql.NullString
|
|
AiRunID sql.NullString
|
|
CalendarSyncedAt sql.NullString
|
|
CreatedAt string
|
|
UpdatedAt string
|
|
Revision int64
|
|
}
|