types

package
v0.0.0-...-79683fd Latest Latest
Warning

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

Go to latest
Published: Jul 12, 2023 License: MIT Imports: 3 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BasePageData

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

type Comment

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

type CreateFixFirstStep

type CreateFixFirstStep struct {
	FixType     string  `schema:"fix-type"`
	Title       string  `schema:"title"`
	Description string  `schema:"description"`
	GameUUID    *string `schema:"game-uuid"`
}

func (*CreateFixFirstStep) Validate

func (c *CreateFixFirstStep) Validate() error

type CurationImage

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

type CurationMeta

type CurationMeta struct {
	SubmissionID        int64
	SubmissionFileID    int64
	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"`
	Platform            *string `json:"Platform"`
	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"`
}

type DeleteUserSessionsRequest

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

type DiscordRole

type DiscordRole struct {
	ID    int64
	Name  string
	Color string
}

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 ExtendedFixesFile

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

type ExtendedFixesItem

type ExtendedFixesItem struct {
	FixID             int64
	Title             string
	Description       string
	SubmitterID       int64
	SubmitterUsername string
	UploadedAt        *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
}

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 Fix

type Fix struct {
	ID             int64
	AuthorID       int64
	FixType        string
	SubmitFinished bool
	Title          string
	Description    string
	GameUUID       *string
	CreatedAt      time.Time
}

type FixesFile

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

type FixesFilter

type FixesFilter struct {
	FixIDs      []int64 `schema:"fix-id"`
	SubmitterID *int64  `schema:"submitter-id"`

	SubmitterUsernamePartial *string `schema:"submitter-username-partial"`

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

func (*FixesFilter) Validate

func (ff *FixesFilter) Validate() error

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 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 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 Notification

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

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 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 SearchFixesPageData

type SearchFixesPageData struct {
	BasePageData
	Fixes      []*ExtendedFixesItem
	TotalCount int64
	Filter     FixesFilter
}

type SearchFlashfreezePageData

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

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"`
	ExcludeLegacy                  bool
	UpdatedByID                    *int64
}

func (*SubmissionsFilter) Validate

func (sf *SubmissionsFilter) Validate() error

type SubmissionsPageData

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

type SubmitFixesFilesPageData

type SubmitFixesFilesPageData struct {
	BasePageData
	FixID int64
}

type Tag

type Tag struct {
	Name        string `json:"name"`
	Description string `json:"description"`
}

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 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 ViewFixPageData

type ViewFixPageData struct {
	SearchFixesPageData
	FixesFiles []*ExtendedFixesFile
}

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