decodePhoto checked the GIF logical screen size, but gif.Decode returns
the first frame, which may be smaller; a 400x400 screen with a 1x1 first
frame passed and was scaled. The short-side check now measures the
decoded image's bounds. The pixel cap still comes from the header, before
decoding.
OpenPhoto served any file whose name was a canonical ULID and stored
size, with no photos row required. It now looks the id up with the new
GetPhoto query and reports an id with no row as fs.ErrNotExist, so
GET /media/photos/{id}-{size}.jpg is 404 for it even when a file exists.
OpenPhoto takes the request context for the lookup.
The media test fixture records a photos row for its served photo and
adds an orphan photo whose files exist without a row; both its sizes
must be 404.
Maestro task: 8a432108-d3ba-4013-ae8c-11963981d641
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
93 lines
5.1 KiB
Go
93 lines
5.1 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
|
|
package db
|
|
|
|
import (
|
|
"context"
|
|
"database/sql"
|
|
)
|
|
|
|
type Querier interface {
|
|
// An unknown id returns sql.ErrNoRows.
|
|
ArchiveDinner(ctx context.Context, arg ArchiveDinnerParams) (Dinner, error)
|
|
// Marks the oldest queued job running and returns it. Returns sql.ErrNoRows
|
|
// when no job is queued.
|
|
ClaimNextJob(ctx context.Context, now sql.NullString) (Job, error)
|
|
// Drops references to the runs created before the cutoff, so the purge
|
|
// can delete them.
|
|
ClearSuggestionBatchAIRunsBefore(ctx context.Context, cutoff string) (int64, error)
|
|
// Drops references to the runs created before the cutoff, so the purge
|
|
// can delete them.
|
|
ClearWeekPlanAIRunsBefore(ctx context.Context, cutoff string) (int64, error)
|
|
CreateAIRun(ctx context.Context, arg CreateAIRunParams) error
|
|
CreateDinner(ctx context.Context, arg CreateDinnerParams) (Dinner, error)
|
|
CreateJob(ctx context.Context, arg CreateJobParams) error
|
|
CreatePhoto(ctx context.Context, arg CreatePhotoParams) (Photo, error)
|
|
CreateRecipeIngredient(ctx context.Context, arg CreateRecipeIngredientParams) error
|
|
CreateRecipeStep(ctx context.Context, arg CreateRecipeStepParams) error
|
|
DeleteAIRunsBefore(ctx context.Context, cutoff string) (int64, error)
|
|
DeleteRecipeIngredients(ctx context.Context, recipeID string) error
|
|
DeleteRecipeSteps(ctx context.Context, recipeID string) error
|
|
FailJob(ctx context.Context, arg FailJobParams) (int64, error)
|
|
// Fails every job left running, at boot before any worker starts.
|
|
FailRunningJobs(ctx context.Context, arg FailRunningJobsParams) (int64, error)
|
|
// Returns sql.ErrNoRows until the row exists.
|
|
GetAISettings(ctx context.Context) (AiSetting, error)
|
|
// Returns sql.ErrNoRows until the row exists.
|
|
GetChatSettings(ctx context.Context) (ChatSetting, error)
|
|
GetDinner(ctx context.Context, id string) (Dinner, error)
|
|
// Returns sql.ErrNoRows until the row exists.
|
|
GetHouseholdSettings(ctx context.Context) (HouseholdSetting, error)
|
|
// Returns sql.ErrNoRows until the row exists.
|
|
GetIntegrationsGoogle(ctx context.Context) (IntegrationsGoogle, error)
|
|
GetJob(ctx context.Context, id string) (Job, error)
|
|
GetPhoto(ctx context.Context, id string) (Photo, error)
|
|
// Finds stored image bytes by content hash. The schema does not make sha256
|
|
// unique, so the earliest-created (lowest id) match is returned.
|
|
GetPhotoBySHA256(ctx context.Context, sha256 string) (Photo, error)
|
|
GetRecipe(ctx context.Context, id string) (Recipe, error)
|
|
GetRecipeBySourceURL(ctx context.Context, sourceUrl string) (Recipe, error)
|
|
// Returns sql.ErrNoRows until the row exists.
|
|
GetRecipeSearchSettings(ctx context.Context) (RecipeSearchSetting, error)
|
|
ListDinnersByStatus(ctx context.Context, status string) ([]Dinner, error)
|
|
// The planned dinners dated from from_date up to but not including
|
|
// to_date, oldest first. Days with no dinner are left out.
|
|
ListPlannedDinners(ctx context.Context, arg ListPlannedDinnersParams) ([]ListPlannedDinnersRow, error)
|
|
// Reads for the AI household context block (internal/ai/harness).
|
|
// The names of the most recently declined suggestions, newest first.
|
|
ListRecentDeclinedNames(ctx context.Context, limit int64) ([]string, error)
|
|
ListRecipeIngredients(ctx context.Context, recipeID string) ([]RecipeIngredient, error)
|
|
ListRecipeSteps(ctx context.Context, recipeID string) ([]RecipeStep, error)
|
|
// Stores a partial result of a running job.
|
|
PublishJobResult(ctx context.Context, arg PublishJobResultParams) (int64, error)
|
|
// An unknown id returns sql.ErrNoRows.
|
|
SetDinnerFavorite(ctx context.Context, arg SetDinnerFavoriteParams) (Dinner, error)
|
|
SucceedJob(ctx context.Context, arg SucceedJobParams) (int64, error)
|
|
// An unknown id returns sql.ErrNoRows.
|
|
UpdateDinner(ctx context.Context, arg UpdateDinnerParams) (Dinner, error)
|
|
// Creates the single row (id 1) or replaces every column except id and
|
|
// created_at.
|
|
UpsertAISettings(ctx context.Context, arg UpsertAISettingsParams) (AiSetting, error)
|
|
// Creates the single row (id 1) or replaces every column except id and
|
|
// created_at.
|
|
UpsertChatSettings(ctx context.Context, arg UpsertChatSettingsParams) (ChatSetting, error)
|
|
// Creates the single row (id 1) or replaces every column except id and
|
|
// created_at.
|
|
UpsertHouseholdSettings(ctx context.Context, arg UpsertHouseholdSettingsParams) (HouseholdSetting, error)
|
|
// Creates the single row (id 1) or replaces every column except id and
|
|
// created_at.
|
|
UpsertIntegrationsGoogle(ctx context.Context, arg UpsertIntegrationsGoogleParams) (IntegrationsGoogle, error)
|
|
// A recipe is keyed by source_url: re-fetching the same URL updates the
|
|
// existing row and keeps its id and created_at, which the returned row
|
|
// carries. Replace its ingredients and steps in the same transaction with
|
|
// DeleteRecipeIngredients/DeleteRecipeSteps then the Create queries.
|
|
UpsertRecipe(ctx context.Context, arg UpsertRecipeParams) (Recipe, error)
|
|
// Creates the single row (id 1) or replaces every column except id and
|
|
// created_at.
|
|
UpsertRecipeSearchSettings(ctx context.Context, arg UpsertRecipeSearchSettingsParams) (RecipeSearchSetting, error)
|
|
}
|
|
|
|
var _ Querier = (*Queries)(nil)
|