// Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.20.0 package db import ( "database/sql" "database/sql/driver" "fmt" "time" "github.com/sqlc-dev/pqtype" ) type CommentType string const ( CommentTypeStories CommentType = "stories" CommentTypeNews CommentType = "news" CommentTypeReviews CommentType = "reviews" CommentTypeLocations CommentType = "locations" ) func (e *CommentType) Scan(src interface{}) error { switch s := src.(type) { case []byte: *e = CommentType(s) case string: *e = CommentType(s) default: return fmt.Errorf("unsupported scan type for CommentType: %T", src) } return nil } type NullCommentType struct { CommentType CommentType `json:"comment_type"` Valid bool `json:"valid"` // Valid is true if CommentType is not NULL } // Scan implements the Scanner interface. func (ns *NullCommentType) Scan(value interface{}) error { if value == nil { ns.CommentType, ns.Valid = "", false return nil } ns.Valid = true return ns.CommentType.Scan(value) } // Value implements the driver Valuer interface. func (ns NullCommentType) Value() (driver.Value, error) { if !ns.Valid { return nil, nil } return string(ns.CommentType), nil } type UserReportsType string const ( UserReportsTypeComments UserReportsType = "comments" UserReportsTypeReviews UserReportsType = "reviews" UserReportsTypeLocations UserReportsType = "locations" UserReportsTypeUsers UserReportsType = "users" UserReportsTypeStories UserReportsType = "stories" ) func (e *UserReportsType) Scan(src interface{}) error { switch s := src.(type) { case []byte: *e = UserReportsType(s) case string: *e = UserReportsType(s) default: return fmt.Errorf("unsupported scan type for UserReportsType: %T", src) } return nil } type NullUserReportsType struct { UserReportsType UserReportsType `json:"user_reports_type"` Valid bool `json:"valid"` // Valid is true if UserReportsType is not NULL } // Scan implements the Scanner interface. func (ns *NullUserReportsType) Scan(value interface{}) error { if value == nil { ns.UserReportsType, ns.Valid = "", false return nil } ns.Valid = true return ns.UserReportsType.Scan(value) } // Value implements the driver Valuer interface. func (ns NullUserReportsType) Value() (driver.Value, error) { if !ns.Valid { return nil, nil } return string(ns.UserReportsType), nil } type ClientIp struct { ID int32 `json:"id"` Ipv4 string `json:"ipv4"` Ipv6 sql.NullString `json:"ipv6"` BannedAt sql.NullTime `json:"banned_at"` BannedUntil sql.NullTime `json:"banned_until"` Reason sql.NullString `json:"reason"` IsPermaban sql.NullBool `json:"is_permaban"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type Comment struct { ID int32 `json:"id"` SubmittedBy int32 `json:"submitted_by"` CommentOn int32 `json:"comment_on"` CommentType CommentType `json:"comment_type"` ReplyTo sql.NullInt32 `json:"reply_to"` IsHide sql.NullBool `json:"is_hide"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type Image struct { ID int32 `json:"id"` ImageUrl string `json:"image_url"` UploadedBy int32 `json:"uploaded_by"` ImageType string `json:"image_type"` ImageOf int32 `json:"image_of"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type Location struct { ID int32 `json:"id"` Address string `json:"address"` Name string `json:"name"` GoogleMapsLink sql.NullString `json:"google_maps_link"` SubmittedBy int32 `json:"submitted_by"` TotalVisited sql.NullInt32 `json:"total_visited"` Thumbnail sql.NullString `json:"thumbnail"` RegencyID int16 `json:"regency_id"` IsDeleted sql.NullBool `json:"is_deleted"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` ApprovedBy sql.NullInt32 `json:"approved_by"` ApprovedAt sql.NullTime `json:"approved_at"` } type LocationImage struct { ID int32 `json:"id"` Url string `json:"url"` LocationID int32 `json:"location_id"` UploadedBy sql.NullInt32 `json:"uploaded_by"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type Province struct { ID int32 `json:"id"` ProvinceName sql.NullString `json:"province_name"` RegionID int16 `json:"region_id"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type Regency struct { ID int32 `json:"id"` RegencyName sql.NullString `json:"regency_name"` ProvinceID int16 `json:"province_id"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type Region struct { ID int32 `json:"id"` RegionName sql.NullString `json:"region_name"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type Review struct { ID int32 `json:"id"` SubmittedBy int32 `json:"submitted_by"` Comments string `json:"comments"` Score int16 `json:"score"` IsFromCritic bool `json:"is_from_critic"` IsHided bool `json:"is_hided"` LocationID int32 `json:"location_id"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type Tag struct { ID int32 `json:"id"` Name string `json:"name"` SubmittedBy int32 `json:"submitted_by"` TargetID int32 `json:"target_id"` TagsType string `json:"tags_type"` ApprovedBy sql.NullInt32 `json:"approved_by"` } type User struct { ID int32 `json:"id"` Email sql.NullString `json:"email"` Username string `json:"username"` Password string `json:"password"` AvatarPicture sql.NullString `json:"avatar_picture"` GoogleSignInPayload sql.NullString `json:"google_sign_in_payload"` BannedAt sql.NullTime `json:"banned_at"` BannedUntil sql.NullTime `json:"banned_until"` BanReason sql.NullString `json:"ban_reason"` IsPermaban sql.NullBool `json:"is_permaban"` IsAdmin sql.NullBool `json:"is_admin"` IsCritics sql.NullBool `json:"is_critics"` IsVerified sql.NullBool `json:"is_verified"` IsActive sql.NullBool `json:"is_active"` SocialMedia pqtype.NullRawMessage `json:"social_media"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type UserActivity struct { ID int32 `json:"id"` TargetID int32 `json:"target_id"` Target string `json:"target"` Action string `json:"action"` Link sql.NullString `json:"link"` Comment sql.NullString `json:"comment"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } type UserReport struct { ID int32 `json:"id"` Message string `json:"message"` Date time.Time `json:"date"` ReportTarget int32 `json:"report_target"` ReportType UserReportsType `json:"report_type"` SubmittedBy int32 `json:"submitted_by"` CreatedAt sql.NullTime `json:"created_at"` UpdatedAt sql.NullTime `json:"updated_at"` } type UserSession struct { ID int32 `json:"id"` IndexID int64 `json:"index_id"` Username string `json:"username"` RefreshToken string `json:"refresh_token"` UserAgent string `json:"user_agent"` ClientIp string `json:"client_ip"` IsBlocked bool `json:"is_blocked"` ExpiresAt time.Time `json:"expires_at"` CreatedAt sql.NullTime `json:"created_at"` }