2023-09-08 22:24:58 +07:00
|
|
|
// Code generated by sqlc. DO NOT EDIT.
|
|
|
|
// versions:
|
|
|
|
// sqlc v1.20.0
|
|
|
|
|
|
|
|
package db
|
|
|
|
|
|
|
|
import (
|
|
|
|
"database/sql"
|
2023-09-12 17:07:03 +07:00
|
|
|
"database/sql/driver"
|
|
|
|
"fmt"
|
|
|
|
"time"
|
2023-09-08 22:24:58 +07:00
|
|
|
|
|
|
|
"github.com/sqlc-dev/pqtype"
|
|
|
|
)
|
|
|
|
|
2023-09-12 17:07:03 +07:00
|
|
|
type CommentType string
|
|
|
|
|
|
|
|
const (
|
|
|
|
CommentTypeStories CommentType = "stories"
|
|
|
|
CommentTypeNews CommentType = "news"
|
|
|
|
CommentTypeReviews CommentType = "reviews"
|
|
|
|
)
|
|
|
|
|
|
|
|
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"`
|
|
|
|
}
|
|
|
|
|
2023-09-19 21:49:48 +07:00
|
|
|
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"`
|
|
|
|
}
|
|
|
|
|
2023-09-08 22:24:58 +07:00
|
|
|
type Location struct {
|
|
|
|
ID int32 `json:"id"`
|
2023-09-13 21:42:04 +07:00
|
|
|
Address string `json:"address"`
|
|
|
|
Name string `json:"name"`
|
2023-09-08 22:24:58 +07:00
|
|
|
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"`
|
2023-09-13 21:42:04 +07:00
|
|
|
ApprovedBy sql.NullInt32 `json:"approved_by"`
|
|
|
|
ApprovedAt sql.NullTime `json:"approved_at"`
|
2023-09-08 22:24:58 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
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 {
|
2023-09-14 22:51:01 +07:00
|
|
|
ID int32 `json:"id"`
|
|
|
|
SubmittedBy int32 `json:"submitted_by"`
|
|
|
|
Comments string `json:"comments"`
|
|
|
|
Score int16 `json:"score"`
|
|
|
|
IsFromCritic bool `json:"is_from_critic"`
|
|
|
|
IsHided sql.NullBool `json:"is_hided"`
|
|
|
|
LocationID int32 `json:"location_id"`
|
|
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
2023-09-08 22:24:58 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
type Tag struct {
|
2023-09-19 21:49:48 +07:00
|
|
|
ID int32 `json:"id"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
SubmittedBy int32 `json:"submitted_by"`
|
|
|
|
TargetID sql.NullInt32 `json:"target_id"`
|
|
|
|
TagsType sql.NullString `json:"tags_type"`
|
|
|
|
ApprovedBy int32 `json:"approved_by"`
|
2023-09-08 22:24:58 +07:00
|
|
|
}
|
|
|
|
|
|
|
|
type User struct {
|
|
|
|
ID int32 `json:"id"`
|
|
|
|
Email sql.NullString `json:"email"`
|
2023-09-12 17:07:03 +07:00
|
|
|
Username string `json:"username"`
|
|
|
|
Password string `json:"password"`
|
2023-09-08 22:24:58 +07:00
|
|
|
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"`
|
2023-09-12 17:07:03 +07:00
|
|
|
BanReason sql.NullString `json:"ban_reason"`
|
|
|
|
IsPermaban sql.NullBool `json:"is_permaban"`
|
2023-09-08 22:24:58 +07:00
|
|
|
IsAdmin sql.NullBool `json:"is_admin"`
|
|
|
|
IsCritics sql.NullBool `json:"is_critics"`
|
|
|
|
IsVerified sql.NullBool `json:"is_verified"`
|
2023-09-13 21:42:04 +07:00
|
|
|
IsActive sql.NullBool `json:"is_active"`
|
2023-09-08 22:24:58 +07:00
|
|
|
SocialMedia pqtype.NullRawMessage `json:"social_media"`
|
|
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
|
|
}
|
2023-09-12 17:07:03 +07:00
|
|
|
|
2023-09-19 21:49:48 +07:00
|
|
|
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"`
|
|
|
|
}
|
|
|
|
|
2023-09-12 17:07:03 +07:00
|
|
|
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"`
|
|
|
|
}
|