types

package
v0.0.0-...-7f3aa20 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2023 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DeviceFlowPending      = 0
	DeviceFlowErrorExpired = 1
	DeviceFlowErrorDenied  = 2
	DeviceFlowComplete     = 3
)
View Source
const (
	AuthCodePending  = 0
	AuthCodeComplete = 1
)
View Source
const (
	AuthScopeNone                 = ""
	AuthScopeAll                  = "all"
	AuthScopeIdentity             = "identity"
	AuthScopeProfileEdit          = "profile:edit"
	AuthScopeProfileAppsRead      = "profile:apps:read"
	AuthScopeUsersRead            = "users:read"
	AuthScopeSubmissionRead       = "submission:read"
	AuthScopeSubmissionReadFiles  = "submission:read-files"
	AuthScopeSubmissionEdit       = "submission:edit"
	AuthScopeSubmissionUpload     = "submission:upload"
	AuthScopeFlashfreezeRead      = "flashfreeze:read"
	AuthScopeFlashfreezeReadFiles = "flashfreeze:read-files"
	AuthScopeFlashfreezeUpload    = "flashfreeze:upload"
	AuthScopeTagEdit              = "tag:edit"
	AuthScopeGameDataRead         = "game-data:read"
	AuthScopeGameDataEdit         = "game-data:edit"
	AuthScopeGameRead             = "game:read"
	AuthScopeGameEdit             = "game:edit"
	AuthScopeHashCheck            = "hash-check"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AdditionalApp

type AdditionalApp struct {
	ID              string `json:"id,omitempty"`
	ApplicationPath string `json:"application_path"`
	AutoRunBefore   bool   `json:"auto_run_before"`
	LaunchCommand   string `json:"launch_command"`
	Name            string `json:"name"`
	WaitForExit     bool   `json:"wait_for_exit"`
	ParentGameID    string `json:"parent_game_id"`
}

type ApplyContentPatchPageData

type ApplyContentPatchPageData struct {
	BasePageData
	SubmissionID int64
	CurationMeta *CurationMeta
	ExistingMeta *Game
}

type ArchiveState

type ArchiveState int8
const (
	NotArchived ArchiveState = iota
	Archived
	Available
)

func (ArchiveState) String

func (as ArchiveState) String() string

type AuthCodeToken

type AuthCodeToken struct {
	Code        string
	UserID      int64
	RedirectUri string
	ClientID    string
	ExpiresAt   time.Time
	Scope       string
	IPAddr      string
	State       int64
}

type AuthScope

type AuthScope struct {
	Name        string
	Description string
}

type AuthTokenResponse

type AuthTokenResponse struct {
	AccessToken string `json:"access_token"`
	TokenType   string `json:"token_type"`
	ExpiresIn   int64  `json:"expires_in"`
}

type BasePageData

type BasePageData struct {
	Username      string
	UserID        int64
	AvatarURL     string
	UserRoles     []string
	IsDevInstance bool
}

type ClientApplication

type ClientApplication struct {
	UserID            int64    `json:"user_id"`
	UserRoles         []string `json:"user_roles"`
	ClientId          string   `json:"client_id"`
	Name              string   `json:"name"`
	ClientCredsScopes []string `json:"client_creds_scopes"`
	Scopes            []string `json:"scopes"`
	RedirectURIs      []string `json:"redirect_uris"`
	OwnerUID          int64    `json:"owner_uid"`
}

type Comment

type Comment struct {
	ID           int64
	AuthorID     int64
	SubmissionID int64
	Action       string
	Message      *string
	CreatedAt    time.Time
}

type CurationAdditionalApp

type CurationAdditionalApp struct {
	Heading         *string `json:"Heading"`
	ApplicationPath *string `json:"Application Path"`
	LaunchCommand   *string `json:"Launch Command"`
}

type CurationImage

type CurationImage struct {
	ID               int64
	SubmissionFileID int64
	Type             string
	Filename         string
}

type CurationMeta

type CurationMeta struct {
	SubmissionID        int64
	SubmissionFileID    int64
	GameExists          bool                     `json:"game_exists"`
	UUID                *string                  `json:"UUID"`
	ApplicationPath     *string                  `json:"Application Path"`
	Developer           *string                  `json:"Developer"`
	Extreme             *string                  `json:"Extreme"`
	GameNotes           *string                  `json:"Game Notes"`
	Languages           *string                  `json:"Languages"`
	LaunchCommand       *string                  `json:"Launch Command"`
	OriginalDescription *string                  `json:"Original Description"`
	PlayMode            *string                  `json:"Play Mode"`
	PrimaryPlatform     *string                  `json:"Primary Platform"`
	Platform            *string                  `json:"Platforms"`
	Publisher           *string                  `json:"Publisher"`
	ReleaseDate         *string                  `json:"Release Date"`
	Series              *string                  `json:"Series"`
	Source              *string                  `json:"Source"`
	Status              *string                  `json:"Status"`
	Tags                *string                  `json:"Tags"`
	TagCategories       *string                  `json:"Tag Categories"`
	Title               *string                  `json:"Title"`
	AlternateTitles     *string                  `json:"Alternate Titles"`
	Library             *string                  `json:"Library"`
	Version             *string                  `json:"Version"`
	CurationNotes       *string                  `json:"Curation Notes"`
	MountParameters     *string                  `json:"Mount Parameters"`
	Extras              *string                  `json:"Extras"`
	Message             *string                  `json:"Message"`
	AdditionalApps      []*CurationAdditionalApp `json:"Additional Applications"`
}

type DeleteUserSessionsRequest

type DeleteUserSessionsRequest struct {
	DiscordID int64 `schema:"discord-user-id"`
}

type DeletedGame

type DeletedGame struct {
	ID           string    `json:"id"`
	DateModified time.Time `json:"date_modified"`
	Reason       string    `json:"reason"`
}

type DeviceAuthPageData

type DeviceAuthPageData struct {
	BasePageData
	Token  *DeviceFlowToken
	States DeviceAuthStates
	Scopes []AuthScope
}

type DeviceAuthStates

type DeviceAuthStates struct {
	Pending  int64
	Complete int64
	Expired  int64
	Denied   int64
}

type DeviceFlowPollResponse

type DeviceFlowPollResponse struct {
	Error string `json:"error,omitempty"`
	Token string `json:"access_token,omitempty"`
}

type DeviceFlowToken

type DeviceFlowToken struct {
	DeviceCode              string             `json:"device_code"`
	Scope                   string             `json:"-"`
	UserCode                string             `json:"user_code"`
	VerificationURI         string             `json:"verification_uri"`
	VerificationURIComplete string             `json:"verification_uri_complete"`
	ExpiresIn               int64              `json:"expires_in"`
	Interval                int64              `json:"interval"`
	ClientApplication       *ClientApplication `json:"-"`
	ExpiresAt               time.Time          `json:"-"`
	FlowState               int64              `json:"-"`
	AuthToken               map[string]string  `json:"-"` // Explictly add this to responses when suitable
}

type DiscordRole

type DiscordRole struct {
	ID    int64  `json:"id"`
	Name  string `json:"name"`
	Color string `json:"color"`
}

type DiscordUser

type DiscordUser struct {
	ID            int64  `json:"id"`
	Username      string `json:"username"`
	Avatar        string `json:"avatar"`
	Discriminator string `json:"discriminator"`
	PublicFlags   int64  `json:"public_flags"`
	Flags         int64  `json:"flags"`
	Locale        string `json:"locale"`
	MFAEnabled    bool   `json:"mfa_enabled"`
}

type ExtendedComment

type ExtendedComment struct {
	CommentID    int64
	AuthorID     int64
	Username     string
	AvatarURL    string
	SubmissionID int64
	Action       string
	Message      *string
	CreatedAt    time.Time
}

type ExtendedFlashfreezeItem

type ExtendedFlashfreezeItem struct {
	FileID            int64
	SubmitterID       int64
	SubmitterUsername string
	OriginalFilename  string
	MD5Sum            string
	SHA256Sum         string
	Size              int64
	UploadedAt        *time.Time // only for root files
	Description       *string    // only for inner files
	IsRootFile        bool
	IsDeepFile        bool
	IndexingTime      *time.Duration // only for root files
	FileCount         *int64         // only for root files
	IndexingErrors    *int64         // only for root files
}

type ExtendedSubmission

type ExtendedSubmission struct {
	SubmissionID                int64
	SubmissionLevel             string
	SubmitterID                 int64     // oldest file
	SubmitterUsername           string    // oldest file
	SubmitterAvatarURL          string    // oldest file
	UpdaterID                   int64     // newest file
	UpdaterUsername             string    // newest file
	UpdaterAvatarURL            string    // newest file
	FileID                      int64     // newest file
	OriginalFilename            string    // newest file
	CurrentFilename             string    // newest file
	Size                        int64     // newest file
	UploadedAt                  time.Time // oldest file
	UpdatedAt                   time.Time // newest file
	LastUploaderID              int64     // newest file
	CurationTitle               *string   // newest file
	CurationAlternateTitles     *string   // newest file
	CurationPlatform            *string   // newest file
	CurationLaunchCommand       *string   // newest file
	CurationLibrary             *string   // newest file
	CurationExtreme             *string   // newest file
	BotAction                   string
	FileCount                   uint64
	AssignedTestingUserIDs      []int64
	AssignedVerificationUserIDs []int64
	RequestedChangesUserIDs     []int64
	ApprovedUserIDs             []int64
	VerifiedUserIDs             []int64
	DistinctActions             []string
	GameExists                  bool
	IsFrozen                    bool
	ShouldAutofreeze            bool
}

type ExtendedSubmissionFile

type ExtendedSubmissionFile struct {
	FileID             int64
	SubmissionID       int64
	SubmitterID        int64
	SubmitterUsername  string
	SubmitterAvatarURL string
	OriginalFilename   string
	CurrentFilename    string
	Size               int64
	UploadedAt         time.Time
	MD5Sum             string
	SHA256Sum          string
}

type FetchGamesRequest

type FetchGamesRequest struct {
	GameIDs []string `json:"game_ids"`
}

type FlashfreezeFile

type FlashfreezeFile struct {
	ID               int64
	UserID           int64
	OriginalFilename string
	CurrentFilename  string
	Size             int64
	UploadedAt       time.Time
	MD5Sum           string
	SHA256Sum        string
}

type FlashfreezeFilter

type FlashfreezeFilter struct {
	FileIDs     []int64 `schema:"file-id"`
	SubmitterID *int64  `schema:"submitter-id"`

	NameFulltext        *string `schema:"name-fulltext"`
	DescriptionFulltext *string `schema:"description-fulltext"` // only for inner files

	NamePrefix        *string `schema:"name-prefix"`
	DescriptionPrefix *string `schema:"description-prefix"` // only for inner files

	SizeMin *int64 `schema:"size-min"`
	SizeMax *int64 `schema:"size-max"`

	SubmitterUsernamePartial *string `schema:"submitter-username-partial"`
	MD5SumPartial            *string `schema:"md5sum-partial"`
	SHA256SumPartial         *string `schema:"sha256sum-partial"`

	SearchFiles            *bool `schema:"search-files"`
	SearchFilesRecursively *bool `schema:"search-files-recursively"`

	ResultsPerPage *int64 `schema:"results-per-page"`
	Page           *int64 `schema:"page"`
}

func (*FlashfreezeFilter) Validate

func (ff *FlashfreezeFilter) Validate() error

type FlashpointDiscordRole

type FlashpointDiscordRole struct {
	ID    string `json:"id"`
	Name  string `json:"name"`
	Color string `json:"color"`
}

type FlashpointDiscordUser

type FlashpointDiscordUser struct {
	ID    string                   `json:"id"`
	Roles []*FlashpointDiscordRole `json:"roles"`
	Color string                   `json:"color"`
}

type Game

type Game struct {
	ID              string           `json:"id"`
	ParentGameID    *string          `json:"parent_game_id,omitempty"`
	Title           string           `json:"title"`
	AlternateTitles string           `json:"alternate_titles"`
	Series          string           `json:"series"`
	Developer       string           `json:"developer"`
	Publisher       string           `json:"publisher"`
	PrimaryPlatform string           `json:"platform_name,omitempty"`
	Platforms       []*Platform      `json:"platforms,omitempty"`
	PlatformsStr    string           `json:"platforms_str"`
	DateAdded       time.Time        `json:"date_added"`
	DateModified    time.Time        `json:"date_modified"`
	PlayMode        string           `json:"play_mode"`
	Status          string           `json:"status"`
	Notes           string           `json:"notes"`
	Tags            []*Tag           `json:"tags,omitempty"`
	TagsStr         string           `json:"tags_str"`
	Source          string           `json:"source"`
	ApplicationPath string           `json:"application_path"`
	LaunchCommand   string           `json:"launch_command"`
	ReleaseDate     string           `json:"release_date"`
	Version         string           `json:"version"`
	OriginalDesc    string           `json:"original_description"`
	Language        string           `json:"language"`
	Library         string           `json:"library"`
	AddApps         []*AdditionalApp `json:"add_apps"`
	ActiveDataID    *int             `json:"active_data_id,omitempty"`
	Data            []*GameData      `json:"data,omitempty"`
	Action          string           `json:"action"`
	Reason          string           `json:"reason"`
	ArchiveState    ArchiveState     `json:"archive_state"`
	Deleted         bool
	UserID          int64
}

type GameContentPatch

type GameContentPatch struct {
	Title           *string `json:"Title,omitempty"`
	AlternateTitles *string `json:"AlternateTitles,omitempty"`
	Series          *string `json:"Series,omitempty"`
	Developer       *string `json:"Developer,omitempty"`
	Publisher       *string `json:"Publisher,omitempty"`
	PlayMode        *string `json:"PlayMode,omitempty"`
	Status          *string `json:"status,omitempty"`
	Notes           *string `json:"Notes,omitempty"`
	Source          *string `json:"Source,omitempty"`
	ReleaseDate     *string `json:"ReleaseDate,omitempty"`
	Version         *string `json:"Version,omitempty"`
	OriginalDesc    *string `json:"OriginalDesc,omitempty"`
	Language        *string `json:"Language,omitempty"`
	Library         *string `json:"Library,omitempty"`
}

type GameCountSinceDateJSON

type GameCountSinceDateJSON struct {
	Total int `json:"total"`
}

type GameData

type GameData struct {
	ID              int       `json:"id,omitempty"`
	GameID          string    `json:"game_id"`
	Title           string    `json:"title"`
	DateAdded       time.Time `json:"date_added,omitempty"`
	SHA256          string    `json:"sha_256"`
	CRC32           int       `json:"crc_32"`
	Size            int64     `json:"size"`
	Parameters      *string   `json:"parameters"`
	ApplicationPath string    `json:"application_path"`
	LaunchCommand   string    `json:"launch_command"`
	Indexed         bool      `json:"indexed"`
	IndexError      bool      `json:"index_error"`
}

type GameDataIndex

type GameDataIndex struct {
	GameID string              `json:"game_id"`
	Date   int64               `json:"date_added"`
	Data   []GameDataIndexFile `json:"data"`
}

type GameDataIndexFile

type GameDataIndexFile struct {
	SHA256 string `json:"sha256"`
	SHA1   string `json:"sha1"`
	CRC32  string `json:"crc32"`
	MD5    string `json:"md5"`
	Path   string `json:"path"`
	Size   int64  `json:"size"`
}

type GameDataIndexPageData

type GameDataIndexPageData struct {
	BasePageData
	Index *GameDataIndex
}

type GameDataPageData

type GameDataPageData struct {
	BasePageData
	GameData *GameData
}

type GameDump

type GameDump struct {
	ID              string           `json:"id"`
	ParentGameID    *string          `json:"parent_game_id,omitempty"`
	Title           string           `json:"title"`
	AlternateTitles string           `json:"alternate_titles"`
	Series          string           `json:"series"`
	Developer       string           `json:"developer"`
	Publisher       string           `json:"publisher"`
	PrimaryPlatform string           `json:"platform_name,omitempty"`
	Platforms       []*Platform      `json:"platforms,omitempty"`
	PlatformsStr    string           `json:"platforms_str"`
	DateAdded       time.Time        `json:"date_added"`
	DateModified    time.Time        `json:"date_modified"`
	PlayMode        string           `json:"play_mode"`
	Status          string           `json:"status"`
	Notes           string           `json:"notes"`
	Tags            []*Tag           `json:"tags,omitempty"`
	TagsStr         string           `json:"tags_str"`
	Source          string           `json:"source"`
	ApplicationPath string           `json:"legacy_application_path"`
	LaunchCommand   string           `json:"legacy_launch_command"`
	ReleaseDate     string           `json:"release_date"`
	Version         string           `json:"version"`
	OriginalDesc    string           `json:"original_description"`
	Language        string           `json:"language"`
	Library         string           `json:"library"`
	AddApps         []*AdditionalApp `json:"add_apps"`
	ActiveDataID    *int             `json:"active_data_id,omitempty"`
	Data            []*GameData      `json:"data,omitempty"`
	Action          string           `json:"action"`
	Reason          string           `json:"reason"`
	Deleted         bool
	UserID          int64
}

type GamePageData

type GamePageData struct {
	BasePageData
	Game                *Game
	GameAvatarURL       string
	GameAuthorID        int64
	GameUsername        string
	Revisions           []*RevisionInfo
	LogoUrl             string
	ScreenshotUrl       string
	ImagesCdn           string
	ValidDeleteReasons  []string
	ValidRestoreReasons []string
}

type GamePageResJSON

type GamePageResJSON struct {
	Games             []*Game          `json:"games"`
	AddApps           []*AdditionalApp `json:"add_apps"`
	GameData          []*GameData      `json:"game_data"`
	TagRelations      [][]string       `json:"tag_relations"`
	PlatformRelations [][]string       `json:"platform_relations"`
}

type GamesDeletedSinceDateJSON

type GamesDeletedSinceDateJSON struct {
	Games []*DeletedGame `json:"games"`
}

type IndexMatchData

type IndexMatchData struct {
	SHA256 string `json:"sha256"`
	SHA1   string `json:"sha1"`
	CRC32  string `json:"crc32"`
	MD5    string `json:"md5"`
	Path   string `json:"path"`
	Size   int64  `json:"size"`
	GameID string `json:"game_id"`
	Date   int64  `json:"date_added"`
}

type IndexMatchResult

type IndexMatchResult struct {
	Results []*IndexMatchResultData `json:"results"`
}

type IndexMatchResultData

type IndexMatchResultData struct {
	HashType string            `json:"type"`
	Hash     string            `json:"hash"`
	Matches  []*IndexMatchData `json:"data"`
}

type IndexedFileEntry

type IndexedFileEntry struct {
	Name             string `json:"name"`
	SizeCompressed   int64  `json:"size_compressed"`
	SizeUncompressed int64  `json:"size_uncompressed"`
	FileUtilOutput   string `json:"file_util_output"`
	SHA256           string `json:"sha256"`
	MD5              string `json:"md5"`
}

type IndexerResp

type IndexerResp struct {
	ArchiveFilename string              `json:"archive_filename"`
	Files           []*IndexedFileEntry `json:"files"`
	IndexingErrors  uint64              `json:"indexing_errors"`
}

type InvalidAddApps

type InvalidAddApps struct {
}

func (InvalidAddApps) Error

func (iaa InvalidAddApps) Error() string

type InvalidTagUpdate

type InvalidTagUpdate struct {
}

func (InvalidTagUpdate) Error

func (itu InvalidTagUpdate) Error() string

type LauncherDump

type LauncherDump struct {
	Games             LauncherDumpGames      `json:"games"`
	Tags              LauncherDumpTags       `json:"tags"`
	Platforms         LauncherDumpPlatforms  `json:"platforms"`
	TagRelations      []LauncherDumpRelation `json:"tag_relations"`
	PlatformRelations []LauncherDumpRelation `json:"platform_relations"`
}

type LauncherDumpGames

type LauncherDumpGames struct {
	AddApps  []AdditionalApp `json:"add_apps"`
	GameData []GameData      `json:"game_data"`
	Games    []GameDump      `json:"games"`
}

type LauncherDumpPlatforms

type LauncherDumpPlatforms struct {
	Aliases   []PlatformAlias                 `json:"aliases"`
	Platforms []LauncherDumpPlatformsPlatform `json:"platforms"`
}

type LauncherDumpPlatformsPlatform

type LauncherDumpPlatformsPlatform struct {
	ID           int64  `json:"id"`
	Description  string `json:"description"`
	PrimaryAlias string `json:"primary_alias"`
}

func (*LauncherDumpPlatformsPlatform) UnmarshalJSON

func (p *LauncherDumpPlatformsPlatform) UnmarshalJSON(data []byte) error

type LauncherDumpRelation

type LauncherDumpRelation struct {
	GameID string `json:"g"`
	Value  int64  `json:"v"`
}

type LauncherDumpTags

type LauncherDumpTags struct {
	Categories []TagCategory         `json:"categories"`
	Aliases    []TagAlias            `json:"aliases"`
	Tags       []LauncherDumpTagsTag `json:"tags"`
}

type LauncherDumpTagsAliases

type LauncherDumpTagsAliases struct {
	TagID int64  `json:"tagId"`
	Name  string `json:"name"`
}

type LauncherDumpTagsTag

type LauncherDumpTagsTag struct {
	ID           int64  `json:"id"`
	CategoryID   int64  `json:"category_id"`
	Description  string `json:"description"`
	PrimaryAlias string `json:"primary_alias"`
}

func (*LauncherDumpTagsTag) UnmarshalJSON

func (t *LauncherDumpTagsTag) UnmarshalJSON(data []byte) error

type MasterDatabaseGame

type MasterDatabaseGame struct {
	UUID                string
	Title               *string
	AlternateTitles     *string
	Series              *string
	Developer           *string
	Publisher           *string
	Platform            *string
	Extreme             *string
	PlayMode            *string
	Status              *string
	GameNotes           *string
	Source              *string
	LaunchCommand       *string
	ReleaseDate         *string
	Version             *string
	OriginalDescription *string
	Languages           *string
	Library             *string
	Tags                *string
	DateAdded           time.Time
	DateModified        time.Time
}

type MetadataStatsPageData

type MetadataStatsPageData struct {
	BasePageData
	MetadataStatsPageDataBare
}

type MetadataStatsPageDataBare

type MetadataStatsPageDataBare struct {
	TotalGames      int64
	TotalAnimations int64
	TotalTags       int64
	TotalPlatforms  int64
	TotalLegacy     int64
}

type MissingLaunchParams

type MissingLaunchParams struct {
}

func (MissingLaunchParams) Error

func (mlp MissingLaunchParams) Error() string

type NoGameDataFound

type NoGameDataFound struct {
}

func (NoGameDataFound) Error

func (ngdf NoGameDataFound) Error() string

type NotContentPatch

type NotContentPatch struct {
}

func (NotContentPatch) Error

func (ncp NotContentPatch) Error() string

type NotEnoughImages

type NotEnoughImages string

func (NotEnoughImages) Error

func (nei NotEnoughImages) Error() string

type Notification

type Notification struct {
	ID        int64
	Type      string
	Message   string
	CreatedAt time.Time
	SentAt    time.Time
}

type Platform

type Platform struct {
	ID           int64     `json:"id"`
	Name         string    `json:"name"`
	Description  string    `json:"description"`
	DateModified time.Time `json:"date_modified"`
	Aliases      *string   `json:"aliases,omitempty"`
	Action       string    `json:"action"`
	Reason       string    `json:"reason"`
	Deleted      bool
	UserID       int64 `json:"user_id"`
}

type PlatformAlias

type PlatformAlias struct {
	PlatformID int64  `json:"platform_id"`
	Name       string `json:"name"`
}

type PlatformsPageData

type PlatformsPageData struct {
	BasePageData
	Platforms  []*Platform
	TotalCount int64
}

type ProfilePageData

type ProfilePageData struct {
	BasePageData
	NotificationActions []string
}

type ReceiveFileResp

type ReceiveFileResp struct {
	Message string  `json:"message"`
	URL     *string `json:"url"`
}

type ReceiveFileTempNameResp

type ReceiveFileTempNameResp struct {
	Message  string  `json:"message"`
	TempName *string `json:"temp_name"`
}

type RepackError

type RepackError string

func (RepackError) Error

func (ce RepackError) Error() string

type ResumableParams

type ResumableParams struct {
	ResumableChunkNumber      int    `schema:"resumableChunkNumber"`
	ResumableChunkSize        uint64 `schema:"resumableChunkSize"`
	ResumableTotalSize        int64  `schema:"resumableTotalSize"`
	ResumableIdentifier       string `schema:"resumableIdentifier"`
	ResumableFilename         string `schema:"resumableFilename"`
	ResumableRelativePath     string `schema:"resumableRelativePath"`
	ResumableCurrentChunkSize int64  `schema:"resumableCurrentChunkSize"`
	ResumableTotalChunks      int    `schema:"resumableTotalChunks"`
}

type RevisionInfo

type RevisionInfo struct {
	Action    string
	Reason    string
	CreatedAt time.Time
	AvatarURL string
	AuthorID  int64
	Username  string
}

type SearchFlashfreezePageData

type SearchFlashfreezePageData struct {
	BasePageData
	FlashfreezeFiles []*ExtendedFlashfreezeItem
	TotalCount       int64
	Filter           FlashfreezeFilter
}

type SessionInfo

type SessionInfo struct {
	ID        int64  `json:"id"`
	UID       int64  `json:"uid"`
	Scope     string `json:"scope"`
	Client    string `json:"client"`
	ExpiresAt int64  `json:"expires_at"`
	IpAddr    string `json:"ip_addr"`
}

type SimilarityAttributes

type SimilarityAttributes struct {
	ID                 string
	Title              *string
	LaunchCommand      *string
	TitleRatio         float64
	LaunchCommandRatio float64
}

type StatisticsPageData

type StatisticsPageData struct {
	BasePageData
	SubmissionCount             int64
	SubmissionCountBotHappy     int64
	SubmissionCountBotSad       int64
	SubmissionCountApproved     int64
	SubmissionCountVerified     int64
	SubmissionCountRejected     int64
	SubmissionCountInFlashpoint int64
	UserCount                   int64
	CommentCount                int64
	FlashfreezeCount            int64
	FlashfreezeFileCount        int64
	TotalSubmissionSize         int64
	TotalFlashfreezeSize        int64
}

type SubmissionFile

type SubmissionFile struct {
	SubmitterID      int64
	SubmissionID     int64
	OriginalFilename string
	CurrentFilename  string
	Size             int64
	UploadedAt       time.Time
	MD5Sum           string
	SHA256Sum        string
}

type SubmissionStatus

type SubmissionStatus struct {
	Status       string  `json:"status"`
	Message      *string `json:"message"`
	SubmissionID *int64  `json:"submission_id"`
}

type SubmissionsFilesPageData

type SubmissionsFilesPageData struct {
	BasePageData
	SubmissionFiles []*ExtendedSubmissionFile
}

type SubmissionsFilter

type SubmissionsFilter struct {
	SubmissionIDs                  []int64  `schema:"submission-id"`
	SubmitterID                    *int64   `schema:"submitter-id"`
	TitlePartial                   *string  `schema:"title-partial"`
	SubmitterUsernamePartial       *string  `schema:"submitter-username-partial"`
	PlatformPartial                *string  `schema:"platform-partial"`
	LibraryPartial                 *string  `schema:"library-partial"`
	OriginalFilenamePartialAny     *string  `schema:"original-filename-partial-any"`
	CurrentFilenamePartialAny      *string  `schema:"current-filename-partial-any"`
	MD5SumPartialAny               *string  `schema:"md5sum-partial-any"`
	SHA256SumPartialAny            *string  `schema:"sha256sum-partial-any"`
	BotActions                     []string `schema:"bot-action"`
	ResultsPerPage                 *int64   `schema:"results-per-page"`
	Page                           *int64   `schema:"page"`
	AssignedStatusTesting          *string  `schema:"assigned-status-testing"`
	AssignedStatusVerification     *string  `schema:"assigned-status-verification"`
	RequestedChangedStatus         *string  `schema:"requested-changes-status"`
	ApprovalsStatus                *string  `schema:"approvals-status"`
	VerificationStatus             *string  `schema:"verification-status"`
	SubmissionLevels               []string `schema:"sumbission-level"`
	AssignedStatusTestingMe        *string  `schema:"assigned-status-testing-me"`
	AssignedStatusVerificationMe   *string  `schema:"assigned-status-verification-me"`
	RequestedChangedStatusMe       *string  `schema:"requested-changes-status-me"`
	ApprovalsStatusMe              *string  `schema:"approvals-status-me"`
	VerificationStatusMe           *string  `schema:"verification-status-me"`
	AssignedStatusUserID           *int64   `schema:"assigned-status-user-id"`
	AssignedStatusTestingUser      *string  `schema:"assigned-status-testing-user"`
	AssignedStatusVerificationUser *string  `schema:"assigned-status-verification-user"`
	RequestedChangedStatusUser     *string  `schema:"requested-changes-status-user"`
	ApprovalsStatusUser            *string  `schema:"approvals-status-user"`
	VerificationStatusUser         *string  `schema:"verification-status-user"`
	IsExtreme                      *string  `schema:"is-extreme"`
	DistinctActions                []string `schema:"distinct-action"`
	DistinctActionsNot             []string `schema:"distinct-action-not"`
	LaunchCommandFuzzy             *string  `schema:"launch-command-fuzzy"`
	LastUploaderNotMe              *string  `schema:"last-uploader-not-me"`
	OrderBy                        *string  `schema:"order-by"`
	AscDesc                        *string  `schema:"asc-desc"`
	SubscribedMe                   *string  `schema:"subscribed-me"`
	IsContentChange                *string  `schema:"is-content-change"`
	ExcludeLegacy                  bool
	UpdatedByID                    *int64
	IsFrozen                       *string `schema:"is-frozen"`
}

func (*SubmissionsFilter) Validate

func (sf *SubmissionsFilter) Validate() error

type SubmissionsPageData

type SubmissionsPageData struct {
	BasePageData
	Submissions  []*ExtendedSubmission
	TotalCount   int64
	Filter       SubmissionsFilter
	FilterLayout string
}

type Tag

type Tag struct {
	ID           int64     `json:"id"`
	Name         string    `json:"name"`
	Description  string    `json:"description"`
	DateModified time.Time `json:"date_modified"`
	Category     string    `json:"category"`
	Aliases      *string   `json:"aliases,omitempty"`
	Action       string    `json:"action"`
	Reason       string    `json:"reason"`
	Deleted      bool
	UserID       int64 `json:"user_id"`
}

type TagAlias

type TagAlias struct {
	TagID int64  `json:"tag_id"`
	Name  string `json:"name"`
}

type TagCategory

type TagCategory struct {
	ID          int64  `json:"id"`
	Name        string `json:"name"`
	Color       string `json:"color"`
	Description string `json:"description"`
}

type TagPageData

type TagPageData struct {
	BasePageData
	Tag        *Tag
	Categories []*TagCategory
	Revisions  []*RevisionInfo
	GamesUsing int64
}

type TagsPageData

type TagsPageData struct {
	BasePageData
	Tags       []*Tag
	Categories []*TagCategory
	TotalCount int64
}

type TagsPageDataJSON

type TagsPageDataJSON struct {
	Tags       []*Tag         `json:"tags"`
	Categories []*TagCategory `json:"categories"`
}

type UpdateNotificationSettings

type UpdateNotificationSettings struct {
	NotificationActions []string `schema:"notification-action"`
}

type UpdateSubscriptionSettings

type UpdateSubscriptionSettings struct {
	Subscribe bool `schema:"subscribe"`
}

type User

type User struct {
	ID       string `json:"id"`
	Username string `json:"username"`
}

type UserStatistics

type UserStatistics struct {
	UserID           int64
	Username         string
	Role             string
	LastUserActivity time.Time
	// these are actions by the user
	UserCommentedCount         int64
	UserRequestedChangesCount  int64
	UserApprovedCount          int64
	UserVerifiedCount          int64
	UserAddedToFlashpointCount int64
	UserRejectedCount          int64
	// these are action of other users on this user's submissions, and the latest state is counted (so, a verified submission is not counted as approved)
	SubmissionsCount                  int64
	SubmissionsBotHappyCount          int64
	SubmissionsBotUnhappyCount        int64
	SubmissionsRequestedChangesCount  int64
	SubmissionsApprovedCount          int64
	SubmissionsVerifiedCount          int64
	SubmissionsAddedToFlashpointCount int64
	SubmissionsRejectedCount          int64
}

type UserStatisticsPageData

type UserStatisticsPageData struct {
	BasePageData
	Users []*UserStatistics
}

type ValidatorRepackResponse

type ValidatorRepackResponse struct {
	Error    *string                  `json:"error,omitempty"`
	FilePath *string                  `json:"path,omitempty"`
	Meta     CurationMeta             `json:"meta"`
	Images   []ValidatorResponseImage `json:"images"`
}

type ValidatorResponse

type ValidatorResponse struct {
	Filename         string                   `json:"filename"`
	Path             string                   `json:"path"`
	CurationErrors   []string                 `json:"curation_errors"`
	CurationWarnings []string                 `json:"curation_warnings"`
	IsExtreme        bool                     `json:"is_extreme"`
	CurationType     int                      `json:"curation_type"`
	Meta             CurationMeta             `json:"meta"`
	Images           []ValidatorResponseImage `json:"images"`
}

type ValidatorResponseImage

type ValidatorResponseImage struct {
	Type string `json:"type"`
	Data string `json:"data"`
}

type ValidatorTagResponse

type ValidatorTagResponse struct {
	Tags []Tag `json:"tags"`
}

type ViewSubmissionPageData

type ViewSubmissionPageData struct {
	SubmissionsPageData
	CurationMeta         *CurationMeta
	Comments             []*ExtendedComment
	IsUserSubscribed     bool
	CurationImageIDs     []int64
	NextSubmissionID     *int64
	PreviousSubmissionID *int64
	TagList              []Tag
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL