// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 // source: users.sql package repository import ( "context" "github.com/jackc/pgx/v5/pgtype" ) const createUser = `-- name: CreateUser :one INSERT INTO users (id, email, password_hash, timezone) VALUES ($1, $2, $3, $4) RETURNING id, email, password_hash, timezone, is_active, created_at, updated_at ` type CreateUserParams struct { ID pgtype.UUID `json:"id"` Email string `json:"email"` PasswordHash string `json:"password_hash"` Timezone string `json:"timezone"` } type CreateUserRow struct { ID pgtype.UUID `json:"id"` Email string `json:"email"` PasswordHash string `json:"password_hash"` Timezone string `json:"timezone"` IsActive bool `json:"is_active"` CreatedAt pgtype.Timestamptz `json:"created_at"` UpdatedAt pgtype.Timestamptz `json:"updated_at"` } func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (CreateUserRow, error) { row := q.db.QueryRow(ctx, createUser, arg.ID, arg.Email, arg.PasswordHash, arg.Timezone, ) var i CreateUserRow err := row.Scan( &i.ID, &i.Email, &i.PasswordHash, &i.Timezone, &i.IsActive, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const getUserByEmail = `-- name: GetUserByEmail :one SELECT id, email, password_hash, timezone, is_active, week_start_day, date_format, time_format, default_event_duration_minutes, default_reminder_minutes, show_weekends, working_hours_start, working_hours_end, notifications_email, created_at, updated_at FROM users WHERE email = $1 AND deleted_at IS NULL ` type GetUserByEmailRow 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"` } func (q *Queries) GetUserByEmail(ctx context.Context, email string) (GetUserByEmailRow, error) { row := q.db.QueryRow(ctx, getUserByEmail, email) var i GetUserByEmailRow err := row.Scan( &i.ID, &i.Email, &i.PasswordHash, &i.Timezone, &i.IsActive, &i.WeekStartDay, &i.DateFormat, &i.TimeFormat, &i.DefaultEventDurationMinutes, &i.DefaultReminderMinutes, &i.ShowWeekends, &i.WorkingHoursStart, &i.WorkingHoursEnd, &i.NotificationsEmail, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const getUserByID = `-- name: GetUserByID :one SELECT id, email, password_hash, timezone, is_active, week_start_day, date_format, time_format, default_event_duration_minutes, default_reminder_minutes, show_weekends, working_hours_start, working_hours_end, notifications_email, created_at, updated_at FROM users WHERE id = $1 AND deleted_at IS NULL ` type GetUserByIDRow 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"` } func (q *Queries) GetUserByID(ctx context.Context, id pgtype.UUID) (GetUserByIDRow, error) { row := q.db.QueryRow(ctx, getUserByID, id) var i GetUserByIDRow err := row.Scan( &i.ID, &i.Email, &i.PasswordHash, &i.Timezone, &i.IsActive, &i.WeekStartDay, &i.DateFormat, &i.TimeFormat, &i.DefaultEventDurationMinutes, &i.DefaultReminderMinutes, &i.ShowWeekends, &i.WorkingHoursStart, &i.WorkingHoursEnd, &i.NotificationsEmail, &i.CreatedAt, &i.UpdatedAt, ) return i, err } const softDeleteUser = `-- name: SoftDeleteUser :exec UPDATE users SET deleted_at = now(), is_active = false, updated_at = now() WHERE id = $1 AND deleted_at IS NULL ` func (q *Queries) SoftDeleteUser(ctx context.Context, id pgtype.UUID) error { _, err := q.db.Exec(ctx, softDeleteUser, id) return err } const updateUser = `-- name: UpdateUser :one UPDATE users SET timezone = COALESCE($1::TEXT, timezone), week_start_day = COALESCE($2::SMALLINT, week_start_day), date_format = COALESCE($3::TEXT, date_format), time_format = COALESCE($4::TEXT, time_format), default_event_duration_minutes = COALESCE($5::INTEGER, default_event_duration_minutes), default_reminder_minutes = COALESCE($6::INTEGER, default_reminder_minutes), show_weekends = COALESCE($7::BOOLEAN, show_weekends), working_hours_start = COALESCE($8::TEXT, working_hours_start), working_hours_end = COALESCE($9::TEXT, working_hours_end), notifications_email = COALESCE($10::BOOLEAN, notifications_email), updated_at = now() WHERE id = $11 AND deleted_at IS NULL RETURNING id, email, password_hash, timezone, is_active, week_start_day, date_format, time_format, default_event_duration_minutes, default_reminder_minutes, show_weekends, working_hours_start, working_hours_end, notifications_email, created_at, updated_at ` type UpdateUserParams struct { Timezone pgtype.Text `json:"timezone"` WeekStartDay pgtype.Int2 `json:"week_start_day"` DateFormat pgtype.Text `json:"date_format"` TimeFormat pgtype.Text `json:"time_format"` DefaultEventDurationMinutes pgtype.Int4 `json:"default_event_duration_minutes"` DefaultReminderMinutes pgtype.Int4 `json:"default_reminder_minutes"` ShowWeekends pgtype.Bool `json:"show_weekends"` WorkingHoursStart pgtype.Text `json:"working_hours_start"` WorkingHoursEnd pgtype.Text `json:"working_hours_end"` NotificationsEmail pgtype.Bool `json:"notifications_email"` ID pgtype.UUID `json:"id"` } type UpdateUserRow 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"` } func (q *Queries) UpdateUser(ctx context.Context, arg UpdateUserParams) (UpdateUserRow, error) { row := q.db.QueryRow(ctx, updateUser, arg.Timezone, arg.WeekStartDay, arg.DateFormat, arg.TimeFormat, arg.DefaultEventDurationMinutes, arg.DefaultReminderMinutes, arg.ShowWeekends, arg.WorkingHoursStart, arg.WorkingHoursEnd, arg.NotificationsEmail, arg.ID, ) var i UpdateUserRow err := row.Scan( &i.ID, &i.Email, &i.PasswordHash, &i.Timezone, &i.IsActive, &i.WeekStartDay, &i.DateFormat, &i.TimeFormat, &i.DefaultEventDurationMinutes, &i.DefaultReminderMinutes, &i.ShowWeekends, &i.WorkingHoursStart, &i.WorkingHoursEnd, &i.NotificationsEmail, &i.CreatedAt, &i.UpdatedAt, ) return i, err }