sakila/internal/sqlc/models.go
siyahas 54e36528bc Add actor, film, and category APIs with SQL query support
- Generated SQL queries for actors, films, categories.
- Introduced HTTP handlers for actor, film, and category endpoints.
- Included utility functions for parsing query parameters and building URLs.
- Enabled pagination, filtering, and HAL representation for responses.
2025-09-02 16:12:30 +03:00

193 lines
5.9 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.29.0
package sqlc
import (
"database/sql"
"time"
)
type Actor struct {
ActorID int64 `json:"actor_id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
LastUpdate time.Time `json:"last_update"`
}
type Address struct {
AddressID int64 `json:"address_id"`
Address string `json:"address"`
Address2 sql.NullString `json:"address2"`
District string `json:"district"`
CityID int64 `json:"city_id"`
PostalCode sql.NullString `json:"postal_code"`
Phone string `json:"phone"`
LastUpdate time.Time `json:"last_update"`
}
type Category struct {
CategoryID int64 `json:"category_id"`
Name string `json:"name"`
LastUpdate time.Time `json:"last_update"`
}
type City struct {
CityID int64 `json:"city_id"`
City string `json:"city"`
CountryID int64 `json:"country_id"`
LastUpdate time.Time `json:"last_update"`
}
type Country struct {
CountryID int64 `json:"country_id"`
Country string `json:"country"`
LastUpdate sql.NullTime `json:"last_update"`
}
type Customer struct {
CustomerID int64 `json:"customer_id"`
StoreID int64 `json:"store_id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email sql.NullString `json:"email"`
AddressID int64 `json:"address_id"`
Active interface{} `json:"active"`
CreateDate time.Time `json:"create_date"`
LastUpdate time.Time `json:"last_update"`
}
type CustomerList struct {
ID int64 `json:"id"`
Name interface{} `json:"name"`
Address string `json:"address"`
ZipCode sql.NullString `json:"zip_code"`
Phone string `json:"phone"`
City string `json:"city"`
Country string `json:"country"`
Notes string `json:"notes"`
Sid int64 `json:"sid"`
}
type Film struct {
FilmID int64 `json:"film_id"`
Title string `json:"title"`
Description interface{} `json:"description"`
ReleaseYear sql.NullString `json:"release_year"`
LanguageID int64 `json:"language_id"`
OriginalLanguageID sql.NullInt64 `json:"original_language_id"`
RentalDuration int64 `json:"rental_duration"`
RentalRate float64 `json:"rental_rate"`
Length sql.NullInt64 `json:"length"`
ReplacementCost float64 `json:"replacement_cost"`
Rating sql.NullString `json:"rating"`
SpecialFeatures sql.NullString `json:"special_features"`
LastUpdate time.Time `json:"last_update"`
}
type FilmActor struct {
ActorID int64 `json:"actor_id"`
FilmID int64 `json:"film_id"`
LastUpdate time.Time `json:"last_update"`
}
type FilmCategory struct {
FilmID int64 `json:"film_id"`
CategoryID int64 `json:"category_id"`
LastUpdate time.Time `json:"last_update"`
}
type FilmList struct {
Fid int64 `json:"fid"`
Title string `json:"title"`
Description interface{} `json:"description"`
Category string `json:"category"`
Price float64 `json:"price"`
Length sql.NullInt64 `json:"length"`
Rating sql.NullString `json:"rating"`
Actors interface{} `json:"actors"`
}
type FilmText struct {
FilmID int64 `json:"film_id"`
Title string `json:"title"`
Description interface{} `json:"description"`
}
type Inventory struct {
InventoryID int64 `json:"inventory_id"`
FilmID int64 `json:"film_id"`
StoreID int64 `json:"store_id"`
LastUpdate time.Time `json:"last_update"`
}
type Language struct {
LanguageID int64 `json:"language_id"`
Name interface{} `json:"name"`
LastUpdate time.Time `json:"last_update"`
}
type Payment struct {
PaymentID int64 `json:"payment_id"`
CustomerID int64 `json:"customer_id"`
StaffID int64 `json:"staff_id"`
RentalID sql.NullInt64 `json:"rental_id"`
Amount float64 `json:"amount"`
PaymentDate time.Time `json:"payment_date"`
LastUpdate time.Time `json:"last_update"`
}
type Rental struct {
RentalID int64 `json:"rental_id"`
RentalDate time.Time `json:"rental_date"`
InventoryID int64 `json:"inventory_id"`
CustomerID int64 `json:"customer_id"`
ReturnDate sql.NullTime `json:"return_date"`
StaffID int64 `json:"staff_id"`
LastUpdate time.Time `json:"last_update"`
}
type SalesByFilmCategory struct {
Category string `json:"category"`
TotalSales sql.NullFloat64 `json:"total_sales"`
}
type SalesByStore struct {
StoreID int64 `json:"store_id"`
Store interface{} `json:"store"`
Manager interface{} `json:"manager"`
TotalSales sql.NullFloat64 `json:"total_sales"`
}
type Staff struct {
StaffID int64 `json:"staff_id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
AddressID int64 `json:"address_id"`
Picture []byte `json:"picture"`
Email sql.NullString `json:"email"`
StoreID int64 `json:"store_id"`
Active int64 `json:"active"`
Username string `json:"username"`
Password sql.NullString `json:"password"`
LastUpdate time.Time `json:"last_update"`
}
type StaffList struct {
ID int64 `json:"id"`
Name interface{} `json:"name"`
Address string `json:"address"`
ZipCode sql.NullString `json:"zip_code"`
Phone string `json:"phone"`
City string `json:"city"`
Country string `json:"country"`
Sid int64 `json:"sid"`
}
type Store struct {
StoreID int64 `json:"store_id"`
ManagerStaffID int64 `json:"manager_staff_id"`
AddressID int64 `json:"address_id"`
LastUpdate time.Time `json:"last_update"`
}