// Code generated by sqlc. DO NOT EDIT.
// versions:
//   sqlc v1.28.0

package data

import (
	"time"

	"github.com/google/uuid"
)

type Note struct {
	ID        uuid.UUID  `json:"id"`
	UserID    uuid.UUID  `json:"user_id"`
	CreatedAt *time.Time `json:"created_at"`
	UpdatedAt *time.Time `json:"updated_at"`
}

type NoteVersion struct {
	ID            uuid.UUID  `json:"id"`
	NoteID        uuid.UUID  `json:"note_id"`
	Title         string     `json:"title"`
	Content       string     `json:"content"`
	VersionNumber int32      `json:"version_number"`
	ContentHash   string     `json:"content_hash"`
	CreatedAt     *time.Time `json:"created_at"`
}

type RefreshToken struct {
	ID        uuid.UUID  `json:"id"`
	UserID    uuid.UUID  `json:"user_id"`
	TokenHash string     `json:"token_hash"`
	ExpiresAt time.Time  `json:"expires_at"`
	CreatedAt *time.Time `json:"created_at"`
	Revoked   bool       `json:"revoked"`
}

type SchemaMigration struct {
	Version   int64      `json:"version"`
	AppliedAt *time.Time `json:"applied_at"`
}

type User struct {
	ID           uuid.UUID  `json:"id"`
	Username     string     `json:"username"`
	PasswordHash string     `json:"password_hash"`
	IsAdmin      bool       `json:"is_admin"`
	CreatedAt    *time.Time `json:"created_at"`
	UpdatedAt    *time.Time `json:"updated_at"`
}