cf2ef77bb0
RSVPs now carry a status ('yes'/'no'). When auth is enabled, answering
requires login for all events, not just capped ones. Answers are deduped
one per user and re-answering updates in place. A 'no' zeroes plus_one,
is excluded from Going counts and cap math, frees the person's slot
claims, and shows in a separate "Can't make it" list.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
83 lines
1.2 KiB
Go
83 lines
1.2 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.31.1
|
|
|
|
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
"time"
|
|
)
|
|
|
|
type Claim struct {
|
|
ID int64
|
|
SlotID int64
|
|
Name string
|
|
Note string
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type Event struct {
|
|
ID int64
|
|
Slug string
|
|
Title string
|
|
Date string
|
|
Time string
|
|
Location string
|
|
AdminToken string
|
|
Description string
|
|
AttendeeCap int64
|
|
UserID sql.NullInt64
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type Rsvp struct {
|
|
ID int64
|
|
EventID int64
|
|
Name string
|
|
Note string
|
|
PlusOne int64
|
|
Status string
|
|
UserID sql.NullInt64
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type Session struct {
|
|
Token string
|
|
UserID int64
|
|
ExpiresAt time.Time
|
|
}
|
|
|
|
type Slot struct {
|
|
ID int64
|
|
EventID int64
|
|
Name string
|
|
Emoji string
|
|
MaxClaims int64
|
|
SortOrder int64
|
|
}
|
|
|
|
type SmsConsent struct {
|
|
ID int64
|
|
Phone string
|
|
IpAddress string
|
|
UserAgent string
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type User struct {
|
|
ID int64
|
|
Phone sql.NullString
|
|
Email sql.NullString
|
|
Name string
|
|
CreatedAt time.Time
|
|
}
|
|
|
|
type VerificationCode struct {
|
|
ID int64
|
|
Identifier string
|
|
Code string
|
|
ExpiresAt time.Time
|
|
Used int64
|
|
}
|