- OpenAPI: add missing endpoints (add-from-url, subscriptions, public availability) - OpenAPI: CalendarSubscription schema, Subscriptions tag - Frontend app - Migrations: count_for_availability, subscriptions_sync, user_preferences, calendar_settings - Config, rate limit, auth, calendar, booking, ICS, availability, user service updates Made-with: Cursor
161 lines
6.3 KiB
Go
161 lines
6.3 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.30.0
|
|
|
|
package repository
|
|
|
|
import (
|
|
"github.com/jackc/pgx/v5/pgtype"
|
|
)
|
|
|
|
type ApiKey struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
UserID pgtype.UUID `json:"user_id"`
|
|
Name string `json:"name"`
|
|
KeyHash string `json:"key_hash"`
|
|
Scopes []byte `json:"scopes"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
RevokedAt pgtype.Timestamptz `json:"revoked_at"`
|
|
}
|
|
|
|
type AuditLog struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
EntityType string `json:"entity_type"`
|
|
EntityID pgtype.UUID `json:"entity_id"`
|
|
Action string `json:"action"`
|
|
UserID pgtype.UUID `json:"user_id"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type BookingLink struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
CalendarID pgtype.UUID `json:"calendar_id"`
|
|
Token string `json:"token"`
|
|
DurationMinutes int32 `json:"duration_minutes"`
|
|
BufferMinutes int32 `json:"buffer_minutes"`
|
|
Timezone string `json:"timezone"`
|
|
WorkingHours []byte `json:"working_hours"`
|
|
Active bool `json:"active"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
}
|
|
|
|
type Calendar struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
OwnerID pgtype.UUID `json:"owner_id"`
|
|
Name string `json:"name"`
|
|
Color string `json:"color"`
|
|
IsPublic bool `json:"is_public"`
|
|
PublicToken pgtype.Text `json:"public_token"`
|
|
CountForAvailability bool `json:"count_for_availability"`
|
|
DefaultReminderMinutes pgtype.Int4 `json:"default_reminder_minutes"`
|
|
SortOrder int32 `json:"sort_order"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
DeletedAt pgtype.Timestamptz `json:"deleted_at"`
|
|
}
|
|
|
|
type CalendarMember struct {
|
|
CalendarID pgtype.UUID `json:"calendar_id"`
|
|
UserID pgtype.UUID `json:"user_id"`
|
|
Role string `json:"role"`
|
|
}
|
|
|
|
type CalendarSubscription struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
CalendarID pgtype.UUID `json:"calendar_id"`
|
|
SourceUrl string `json:"source_url"`
|
|
LastSyncedAt pgtype.Timestamptz `json:"last_synced_at"`
|
|
SyncIntervalMinutes pgtype.Int4 `json:"sync_interval_minutes"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type Contact struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
OwnerID pgtype.UUID `json:"owner_id"`
|
|
FirstName pgtype.Text `json:"first_name"`
|
|
LastName pgtype.Text `json:"last_name"`
|
|
Email pgtype.Text `json:"email"`
|
|
Phone pgtype.Text `json:"phone"`
|
|
Company pgtype.Text `json:"company"`
|
|
Notes pgtype.Text `json:"notes"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
DeletedAt pgtype.Timestamptz `json:"deleted_at"`
|
|
}
|
|
|
|
type Event struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
CalendarID pgtype.UUID `json:"calendar_id"`
|
|
Title string `json:"title"`
|
|
Description pgtype.Text `json:"description"`
|
|
Location pgtype.Text `json:"location"`
|
|
StartTime pgtype.Timestamptz `json:"start_time"`
|
|
EndTime pgtype.Timestamptz `json:"end_time"`
|
|
Timezone string `json:"timezone"`
|
|
AllDay bool `json:"all_day"`
|
|
RecurrenceRule pgtype.Text `json:"recurrence_rule"`
|
|
Tags []string `json:"tags"`
|
|
CreatedBy pgtype.UUID `json:"created_by"`
|
|
UpdatedBy pgtype.UUID `json:"updated_by"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
DeletedAt pgtype.Timestamptz `json:"deleted_at"`
|
|
}
|
|
|
|
type EventAttachment struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
EventID pgtype.UUID `json:"event_id"`
|
|
FileUrl string `json:"file_url"`
|
|
}
|
|
|
|
type EventAttendee struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
EventID pgtype.UUID `json:"event_id"`
|
|
UserID pgtype.UUID `json:"user_id"`
|
|
Email pgtype.Text `json:"email"`
|
|
Status string `json:"status"`
|
|
}
|
|
|
|
type EventException struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
EventID pgtype.UUID `json:"event_id"`
|
|
ExceptionDate pgtype.Date `json:"exception_date"`
|
|
Action string `json:"action"`
|
|
}
|
|
|
|
type EventReminder struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
EventID pgtype.UUID `json:"event_id"`
|
|
MinutesBefore int32 `json:"minutes_before"`
|
|
}
|
|
|
|
type RefreshToken struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
UserID pgtype.UUID `json:"user_id"`
|
|
TokenHash string `json:"token_hash"`
|
|
ExpiresAt pgtype.Timestamptz `json:"expires_at"`
|
|
RevokedAt pgtype.Timestamptz `json:"revoked_at"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
}
|
|
|
|
type User struct {
|
|
ID pgtype.UUID `json:"id"`
|
|
Email string `json:"email"`
|
|
PasswordHash string `json:"password_hash"`
|
|
Timezone string `json:"timezone"`
|
|
IsActive bool `json:"is_active"`
|
|
WeekStartDay int16 `json:"week_start_day"`
|
|
DateFormat string `json:"date_format"`
|
|
TimeFormat string `json:"time_format"`
|
|
DefaultEventDurationMinutes int32 `json:"default_event_duration_minutes"`
|
|
DefaultReminderMinutes int32 `json:"default_reminder_minutes"`
|
|
ShowWeekends bool `json:"show_weekends"`
|
|
WorkingHoursStart string `json:"working_hours_start"`
|
|
WorkingHoursEnd string `json:"working_hours_end"`
|
|
NotificationsEmail bool `json:"notifications_email"`
|
|
CreatedAt pgtype.Timestamptz `json:"created_at"`
|
|
UpdatedAt pgtype.Timestamptz `json:"updated_at"`
|
|
DeletedAt pgtype.Timestamptz `json:"deleted_at"`
|
|
}
|