package models

import "code.gitea.io/gitea/modules/timeutil"

type UserBusinessAnalysisCurrentYear struct {
	ID        int64 `xorm:"pk"`
	CountDate int64 `xorm:"pk"`
	//action :ActionMergePullRequest                         // 11
	CodeMergeCount int `xorm:"NOT NULL DEFAULT 0"`
	//action :ActionCommitRepo
	CommitCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue                              // 10
	IssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//comment table current date
	CommentCount int `xorm:"NOT NULL DEFAULT 0"`
	//watch table current date
	FocusRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//star table current date
	StarRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//follow table
	WatchedCount int `xorm:"NOT NULL DEFAULT 0"`
	// user table
	GiteaAgeMonth int `xorm:"NOT NULL DEFAULT 0"`
	//
	CommitCodeSize int `xorm:"NOT NULL DEFAULT 0"`
	//attachement table
	CommitDatasetSize int `xorm:"NOT NULL DEFAULT 0"`
	//0
	CommitModelCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue, issueassignees
	SolveIssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//baike
	EncyclopediasCount int `xorm:"NOT NULL DEFAULT 0"`
	//user
	RegistDate timeutil.TimeStamp `xorm:"NOT NULL"`
	//repo
	CreateRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//login count, from elk
	LoginCount int `xorm:"NOT NULL DEFAULT 0"`
	//openi index
	OpenIIndex float64 `xorm:"NOT NULL DEFAULT 0"`
	//user
	Email string `xorm:"NOT NULL"`
	//user
	Name     string `xorm:"NOT NULL"`
	DataDate string `xorm:"NULL"`
}

type UserBusinessAnalysisLast30Day struct {
	ID        int64 `xorm:"pk"`
	CountDate int64 `xorm:"pk"`
	//action :ActionMergePullRequest                         // 11
	CodeMergeCount int `xorm:"NOT NULL DEFAULT 0"`
	//action :ActionCommitRepo
	CommitCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue                              // 10
	IssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//comment table current date
	CommentCount int `xorm:"NOT NULL DEFAULT 0"`
	//watch table current date
	FocusRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//star table current date
	StarRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//follow table
	WatchedCount int `xorm:"NOT NULL DEFAULT 0"`
	// user table
	GiteaAgeMonth int `xorm:"NOT NULL DEFAULT 0"`
	//
	CommitCodeSize int `xorm:"NOT NULL DEFAULT 0"`
	//attachement table
	CommitDatasetSize int `xorm:"NOT NULL DEFAULT 0"`
	//0
	CommitModelCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue, issueassignees
	SolveIssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//baike
	EncyclopediasCount int `xorm:"NOT NULL DEFAULT 0"`
	//user
	RegistDate timeutil.TimeStamp `xorm:"NOT NULL"`
	//repo
	CreateRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//login count, from elk
	LoginCount int `xorm:"NOT NULL DEFAULT 0"`
	//openi index
	OpenIIndex float64 `xorm:"NOT NULL DEFAULT 0"`
	//user
	Email string `xorm:"NOT NULL"`
	//user
	Name     string `xorm:"NOT NULL"`
	DataDate string `xorm:"NULL"`
}

type UserBusinessAnalysisLastMonth struct {
	ID        int64 `xorm:"pk"`
	CountDate int64 `xorm:"pk"`
	//action :ActionMergePullRequest                         // 11
	CodeMergeCount int `xorm:"NOT NULL DEFAULT 0"`
	//action :ActionCommitRepo
	CommitCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue                              // 10
	IssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//comment table current date
	CommentCount int `xorm:"NOT NULL DEFAULT 0"`
	//watch table current date
	FocusRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//star table current date
	StarRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//follow table
	WatchedCount int `xorm:"NOT NULL DEFAULT 0"`
	// user table
	GiteaAgeMonth int `xorm:"NOT NULL DEFAULT 0"`
	//
	CommitCodeSize int `xorm:"NOT NULL DEFAULT 0"`
	//attachement table
	CommitDatasetSize int `xorm:"NOT NULL DEFAULT 0"`
	//0
	CommitModelCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue, issueassignees
	SolveIssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//baike
	EncyclopediasCount int `xorm:"NOT NULL DEFAULT 0"`
	//user
	RegistDate timeutil.TimeStamp `xorm:"NOT NULL"`
	//repo
	CreateRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//login count, from elk
	LoginCount int `xorm:"NOT NULL DEFAULT 0"`
	//openi index
	OpenIIndex float64 `xorm:"NOT NULL DEFAULT 0"`
	//user
	Email string `xorm:"NOT NULL"`
	//user
	Name     string `xorm:"NOT NULL"`
	DataDate string `xorm:"NULL"`
}

type UserBusinessAnalysisCurrentMonth struct {
	ID        int64 `xorm:"pk"`
	CountDate int64 `xorm:"pk"`
	//action :ActionMergePullRequest                         // 11
	CodeMergeCount int `xorm:"NOT NULL DEFAULT 0"`
	//action :ActionCommitRepo
	CommitCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue                              // 10
	IssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//comment table current date
	CommentCount int `xorm:"NOT NULL DEFAULT 0"`
	//watch table current date
	FocusRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//star table current date
	StarRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//follow table
	WatchedCount int `xorm:"NOT NULL DEFAULT 0"`
	// user table
	GiteaAgeMonth int `xorm:"NOT NULL DEFAULT 0"`
	//
	CommitCodeSize int `xorm:"NOT NULL DEFAULT 0"`
	//attachement table
	CommitDatasetSize int `xorm:"NOT NULL DEFAULT 0"`
	//0
	CommitModelCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue, issueassignees
	SolveIssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//baike
	EncyclopediasCount int `xorm:"NOT NULL DEFAULT 0"`
	//user
	RegistDate timeutil.TimeStamp `xorm:"NOT NULL"`
	//repo
	CreateRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//login count, from elk
	LoginCount int `xorm:"NOT NULL DEFAULT 0"`
	//openi index
	OpenIIndex float64 `xorm:"NOT NULL DEFAULT 0"`
	//user
	Email string `xorm:"NOT NULL"`
	//user
	Name     string `xorm:"NOT NULL"`
	DataDate string `xorm:"NULL"`
}

type UserBusinessAnalysisCurrentWeek struct {
	ID        int64 `xorm:"pk"`
	CountDate int64 `xorm:"pk"`
	//action :ActionMergePullRequest                         // 11
	CodeMergeCount int `xorm:"NOT NULL DEFAULT 0"`
	//action :ActionCommitRepo
	CommitCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue                              // 10
	IssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//comment table current date
	CommentCount int `xorm:"NOT NULL DEFAULT 0"`
	//watch table current date
	FocusRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//star table current date
	StarRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//follow table
	WatchedCount int `xorm:"NOT NULL DEFAULT 0"`
	// user table
	GiteaAgeMonth int `xorm:"NOT NULL DEFAULT 0"`
	//
	CommitCodeSize int `xorm:"NOT NULL DEFAULT 0"`
	//attachement table
	CommitDatasetSize int `xorm:"NOT NULL DEFAULT 0"`
	//0
	CommitModelCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue, issueassignees
	SolveIssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//baike
	EncyclopediasCount int `xorm:"NOT NULL DEFAULT 0"`
	//user
	RegistDate timeutil.TimeStamp `xorm:"NOT NULL"`
	//repo
	CreateRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//login count, from elk
	LoginCount int `xorm:"NOT NULL DEFAULT 0"`
	//openi index
	OpenIIndex float64 `xorm:"NOT NULL DEFAULT 0"`
	//user
	Email string `xorm:"NOT NULL"`
	//user
	Name     string `xorm:"NOT NULL"`
	DataDate string `xorm:"NULL"`
}

type UserBusinessAnalysisYesterday struct {
	ID        int64 `xorm:"pk"`
	CountDate int64 `xorm:"pk"`
	//action :ActionMergePullRequest                         // 11
	CodeMergeCount int `xorm:"NOT NULL DEFAULT 0"`
	//action :ActionCommitRepo
	CommitCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue                              // 10
	IssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//comment table current date
	CommentCount int `xorm:"NOT NULL DEFAULT 0"`
	//watch table current date
	FocusRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//star table current date
	StarRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//follow table
	WatchedCount int `xorm:"NOT NULL DEFAULT 0"`
	// user table
	GiteaAgeMonth int `xorm:"NOT NULL DEFAULT 0"`
	//
	CommitCodeSize int `xorm:"NOT NULL DEFAULT 0"`
	//attachement table
	CommitDatasetSize int `xorm:"NOT NULL DEFAULT 0"`
	//0
	CommitModelCount int `xorm:"NOT NULL DEFAULT 0"`
	//issue, issueassignees
	SolveIssueCount int `xorm:"NOT NULL DEFAULT 0"`
	//baike
	EncyclopediasCount int `xorm:"NOT NULL DEFAULT 0"`
	//user
	RegistDate timeutil.TimeStamp `xorm:"NOT NULL"`
	//repo
	CreateRepoCount int `xorm:"NOT NULL DEFAULT 0"`
	//login count, from elk
	LoginCount int `xorm:"NOT NULL DEFAULT 0"`
	//openi index
	OpenIIndex float64 `xorm:"NOT NULL DEFAULT 0"`
	//user
	Email string `xorm:"NOT NULL"`
	//user
	Name     string `xorm:"NOT NULL"`
	DataDate string `xorm:"NULL"`
}
