2019-02-09 12:30:49 +00:00
|
|
|
package models
|
|
|
|
|
|
|
|
import (
|
|
|
|
"database/sql"
|
|
|
|
)
|
|
|
|
|
|
|
|
type ScrapedItem struct {
|
|
|
|
ID int `db:"id" json:"id"`
|
|
|
|
Title sql.NullString `db:"title" json:"title"`
|
|
|
|
Description sql.NullString `db:"description" json:"description"`
|
2019-02-14 22:53:32 +00:00
|
|
|
URL sql.NullString `db:"url" json:"url"`
|
2019-03-05 01:14:52 +00:00
|
|
|
Date SQLiteDate `db:"date" json:"date"`
|
2019-02-09 12:30:49 +00:00
|
|
|
Rating sql.NullString `db:"rating" json:"rating"`
|
|
|
|
Tags sql.NullString `db:"tags" json:"tags"`
|
|
|
|
Models sql.NullString `db:"models" json:"models"`
|
|
|
|
Episode sql.NullInt64 `db:"episode" json:"episode"`
|
|
|
|
GalleryFilename sql.NullString `db:"gallery_filename" json:"gallery_filename"`
|
2019-02-14 22:53:32 +00:00
|
|
|
GalleryURL sql.NullString `db:"gallery_url" json:"gallery_url"`
|
2019-02-09 12:30:49 +00:00
|
|
|
VideoFilename sql.NullString `db:"video_filename" json:"video_filename"`
|
2019-02-14 22:53:32 +00:00
|
|
|
VideoURL sql.NullString `db:"video_url" json:"video_url"`
|
2019-02-09 12:30:49 +00:00
|
|
|
StudioID sql.NullInt64 `db:"studio_id,omitempty" json:"studio_id"`
|
|
|
|
CreatedAt SQLiteTimestamp `db:"created_at" json:"created_at"`
|
|
|
|
UpdatedAt SQLiteTimestamp `db:"updated_at" json:"updated_at"`
|
|
|
|
}
|
2019-12-21 00:13:23 +00:00
|
|
|
|
|
|
|
type ScrapedPerformer struct {
|
|
|
|
Name *string `graphql:"name" json:"name"`
|
2020-04-11 03:26:53 +00:00
|
|
|
Gender *string `graphql:"gender" json:"gender"`
|
2019-12-21 00:13:23 +00:00
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
Twitter *string `graphql:"twitter" json:"twitter"`
|
|
|
|
Instagram *string `graphql:"instagram" json:"instagram"`
|
|
|
|
Birthdate *string `graphql:"birthdate" json:"birthdate"`
|
|
|
|
Ethnicity *string `graphql:"ethnicity" json:"ethnicity"`
|
|
|
|
Country *string `graphql:"country" json:"country"`
|
|
|
|
EyeColor *string `graphql:"eye_color" json:"eye_color"`
|
|
|
|
Height *string `graphql:"height" json:"height"`
|
|
|
|
Measurements *string `graphql:"measurements" json:"measurements"`
|
|
|
|
FakeTits *string `graphql:"fake_tits" json:"fake_tits"`
|
|
|
|
CareerLength *string `graphql:"career_length" json:"career_length"`
|
|
|
|
Tattoos *string `graphql:"tattoos" json:"tattoos"`
|
|
|
|
Piercings *string `graphql:"piercings" json:"piercings"`
|
|
|
|
Aliases *string `graphql:"aliases" json:"aliases"`
|
2020-03-11 00:41:55 +00:00
|
|
|
Image *string `graphql:"image" json:"image"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// this type has no Image field
|
|
|
|
type ScrapedPerformerStash struct {
|
|
|
|
Name *string `graphql:"name" json:"name"`
|
2020-04-11 03:26:53 +00:00
|
|
|
Gender *string `graphql:"gender" json:"gender"`
|
2020-03-11 00:41:55 +00:00
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
Twitter *string `graphql:"twitter" json:"twitter"`
|
|
|
|
Instagram *string `graphql:"instagram" json:"instagram"`
|
|
|
|
Birthdate *string `graphql:"birthdate" json:"birthdate"`
|
|
|
|
Ethnicity *string `graphql:"ethnicity" json:"ethnicity"`
|
|
|
|
Country *string `graphql:"country" json:"country"`
|
|
|
|
EyeColor *string `graphql:"eye_color" json:"eye_color"`
|
|
|
|
Height *string `graphql:"height" json:"height"`
|
|
|
|
Measurements *string `graphql:"measurements" json:"measurements"`
|
|
|
|
FakeTits *string `graphql:"fake_tits" json:"fake_tits"`
|
|
|
|
CareerLength *string `graphql:"career_length" json:"career_length"`
|
|
|
|
Tattoos *string `graphql:"tattoos" json:"tattoos"`
|
|
|
|
Piercings *string `graphql:"piercings" json:"piercings"`
|
|
|
|
Aliases *string `graphql:"aliases" json:"aliases"`
|
2019-12-21 00:13:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type ScrapedScene struct {
|
|
|
|
Title *string `graphql:"title" json:"title"`
|
|
|
|
Details *string `graphql:"details" json:"details"`
|
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
Date *string `graphql:"date" json:"date"`
|
2020-03-11 00:41:55 +00:00
|
|
|
Image *string `graphql:"image" json:"image"`
|
2019-12-21 00:13:23 +00:00
|
|
|
File *SceneFileType `graphql:"file" json:"file"`
|
|
|
|
Studio *ScrapedSceneStudio `graphql:"studio" json:"studio"`
|
2020-03-10 03:28:15 +00:00
|
|
|
Movies []*ScrapedSceneMovie `graphql:"movies" json:"movies"`
|
2019-12-21 00:13:23 +00:00
|
|
|
Tags []*ScrapedSceneTag `graphql:"tags" json:"tags"`
|
|
|
|
Performers []*ScrapedScenePerformer `graphql:"performers" json:"performers"`
|
|
|
|
}
|
|
|
|
|
2020-03-11 00:41:55 +00:00
|
|
|
// stash doesn't return image, and we need id
|
|
|
|
type ScrapedSceneStash struct {
|
|
|
|
ID string `graphql:"id" json:"id"`
|
|
|
|
Title *string `graphql:"title" json:"title"`
|
|
|
|
Details *string `graphql:"details" json:"details"`
|
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
Date *string `graphql:"date" json:"date"`
|
|
|
|
File *SceneFileType `graphql:"file" json:"file"`
|
2020-10-20 22:24:32 +00:00
|
|
|
Studio *ScrapedSceneStudio `graphql:"studio" json:"studio"`
|
|
|
|
Tags []*ScrapedSceneTag `graphql:"tags" json:"tags"`
|
|
|
|
Performers []*ScrapedScenePerformer `graphql:"performers" json:"performers"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ScrapedGalleryStash struct {
|
|
|
|
ID string `graphql:"id" json:"id"`
|
|
|
|
Title *string `graphql:"title" json:"title"`
|
|
|
|
Details *string `graphql:"details" json:"details"`
|
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
Date *string `graphql:"date" json:"date"`
|
|
|
|
File *SceneFileType `graphql:"file" json:"file"`
|
2020-03-11 00:41:55 +00:00
|
|
|
Studio *ScrapedSceneStudio `graphql:"studio" json:"studio"`
|
|
|
|
Tags []*ScrapedSceneTag `graphql:"tags" json:"tags"`
|
|
|
|
Performers []*ScrapedScenePerformer `graphql:"performers" json:"performers"`
|
|
|
|
}
|
|
|
|
|
2019-12-21 00:13:23 +00:00
|
|
|
type ScrapedScenePerformer struct {
|
|
|
|
// Set if performer matched
|
|
|
|
ID *string `graphql:"id" json:"id"`
|
|
|
|
Name string `graphql:"name" json:"name"`
|
2020-04-11 03:26:53 +00:00
|
|
|
Gender *string `graphql:"gender" json:"gender"`
|
2019-12-21 00:13:23 +00:00
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
Twitter *string `graphql:"twitter" json:"twitter"`
|
|
|
|
Instagram *string `graphql:"instagram" json:"instagram"`
|
|
|
|
Birthdate *string `graphql:"birthdate" json:"birthdate"`
|
|
|
|
Ethnicity *string `graphql:"ethnicity" json:"ethnicity"`
|
|
|
|
Country *string `graphql:"country" json:"country"`
|
|
|
|
EyeColor *string `graphql:"eye_color" json:"eye_color"`
|
|
|
|
Height *string `graphql:"height" json:"height"`
|
|
|
|
Measurements *string `graphql:"measurements" json:"measurements"`
|
|
|
|
FakeTits *string `graphql:"fake_tits" json:"fake_tits"`
|
|
|
|
CareerLength *string `graphql:"career_length" json:"career_length"`
|
|
|
|
Tattoos *string `graphql:"tattoos" json:"tattoos"`
|
|
|
|
Piercings *string `graphql:"piercings" json:"piercings"`
|
|
|
|
Aliases *string `graphql:"aliases" json:"aliases"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ScrapedSceneStudio struct {
|
|
|
|
// Set if studio matched
|
|
|
|
ID *string `graphql:"id" json:"id"`
|
|
|
|
Name string `graphql:"name" json:"name"`
|
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
}
|
|
|
|
|
2020-03-10 03:28:15 +00:00
|
|
|
type ScrapedSceneMovie struct {
|
|
|
|
// Set if movie matched
|
2020-04-11 03:26:53 +00:00
|
|
|
ID *string `graphql:"id" json:"id"`
|
|
|
|
Name string `graphql:"name" json:"name"`
|
|
|
|
Aliases string `graphql:"aliases" json:"aliases"`
|
|
|
|
Duration string `graphql:"duration" json:"duration"`
|
|
|
|
Date string `graphql:"date" json:"date"`
|
|
|
|
Rating string `graphql:"rating" json:"rating"`
|
|
|
|
Director string `graphql:"director" json:"director"`
|
|
|
|
Synopsis string `graphql:"synopsis" json:"synopsis"`
|
|
|
|
URL *string `graphql:"url" json:"url"`
|
2020-03-10 03:28:15 +00:00
|
|
|
}
|
|
|
|
|
2019-12-21 00:13:23 +00:00
|
|
|
type ScrapedSceneTag struct {
|
|
|
|
// Set if tag matched
|
2020-08-22 08:12:39 +00:00
|
|
|
ID *string `graphql:"stored_id" json:"stored_id"`
|
2019-12-21 00:13:23 +00:00
|
|
|
Name string `graphql:"name" json:"name"`
|
|
|
|
}
|
2020-08-10 05:34:15 +00:00
|
|
|
|
|
|
|
type ScrapedMovie struct {
|
|
|
|
Name *string `graphql:"name" json:"name"`
|
|
|
|
Aliases *string `graphql:"aliases" json:"aliases"`
|
|
|
|
Duration *string `graphql:"duration" json:"duration"`
|
|
|
|
Date *string `graphql:"date" json:"date"`
|
|
|
|
Rating *string `graphql:"rating" json:"rating"`
|
|
|
|
Director *string `graphql:"director" json:"director"`
|
|
|
|
Studio *ScrapedMovieStudio `graphql:"studio" json:"studio"`
|
|
|
|
Synopsis *string `graphql:"synopsis" json:"synopsis"`
|
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
FrontImage *string `graphql:"front_image" json:"front_image"`
|
|
|
|
BackImage *string `graphql:"back_image" json:"back_image"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ScrapedMovieStudio struct {
|
|
|
|
// Set if studio matched
|
|
|
|
ID *string `graphql:"id" json:"id"`
|
|
|
|
Name string `graphql:"name" json:"name"`
|
|
|
|
URL *string `graphql:"url" json:"url"`
|
|
|
|
}
|