mirror of https://github.com/cloudreve/Cloudreve
144 lines
4.1 KiB
Go
144 lines
4.1 KiB
Go
package admin
|
|
|
|
import (
|
|
"encoding/gob"
|
|
"time"
|
|
|
|
"github.com/cloudreve/Cloudreve/v4/ent"
|
|
"github.com/cloudreve/Cloudreve/v4/inventory"
|
|
"github.com/cloudreve/Cloudreve/v4/pkg/filemanager/fs"
|
|
"github.com/cloudreve/Cloudreve/v4/pkg/queue"
|
|
"github.com/cloudreve/Cloudreve/v4/pkg/setting"
|
|
)
|
|
|
|
type ListShareResponse struct {
|
|
Pagination *inventory.PaginationResults `json:"pagination"`
|
|
Shares []GetShareResponse `json:"shares"`
|
|
}
|
|
|
|
type GetShareResponse struct {
|
|
*ent.Share
|
|
UserHashID string `json:"user_hash_id,omitempty"`
|
|
ShareLink string `json:"share_link,omitempty"`
|
|
}
|
|
|
|
type ListTaskResponse struct {
|
|
Pagination *inventory.PaginationResults `json:"pagination"`
|
|
Tasks []GetTaskResponse `json:"tasks"`
|
|
}
|
|
|
|
type GetTaskResponse struct {
|
|
*ent.Task
|
|
UserHashID string `json:"user_hash_id,omitempty"`
|
|
TaskHashID string `json:"task_hash_id,omitempty"`
|
|
Summary *queue.Summary `json:"summary,omitempty"`
|
|
Node *ent.Node `json:"node,omitempty"`
|
|
}
|
|
|
|
type ListEntityResponse struct {
|
|
Pagination *inventory.PaginationResults `json:"pagination"`
|
|
Entities []GetEntityResponse `json:"entities"`
|
|
}
|
|
|
|
type GetEntityResponse struct {
|
|
*ent.Entity
|
|
UserHashID string `json:"user_hash_id,omitempty"`
|
|
UserHashIDMap map[int]string `json:"user_hash_id_map,omitempty"`
|
|
}
|
|
|
|
type ListFileResponse struct {
|
|
Pagination *inventory.PaginationResults `json:"pagination"`
|
|
Files []GetFileResponse `json:"files"`
|
|
}
|
|
|
|
type GetFileResponse struct {
|
|
*ent.File
|
|
UserHashID string `json:"user_hash_id,omitempty"`
|
|
FileHashID string `json:"file_hash_id,omitempty"`
|
|
DirectLinkMap map[int]string `json:"direct_link_map,omitempty"`
|
|
}
|
|
|
|
type ListUserResponse struct {
|
|
Pagination *inventory.PaginationResults `json:"pagination"`
|
|
Users []GetUserResponse `json:"users"`
|
|
}
|
|
|
|
type GetUserResponse struct {
|
|
*ent.User
|
|
HashID string `json:"hash_id,omitempty"`
|
|
TwoFAEnabled bool `json:"two_fa_enabled,omitempty"`
|
|
Capacity *fs.Capacity `json:"capacity,omitempty"`
|
|
}
|
|
|
|
type GetNodeResponse struct {
|
|
*ent.Node
|
|
}
|
|
|
|
type GetGroupResponse struct {
|
|
*ent.Group
|
|
TotalUsers int `json:"total_users"`
|
|
}
|
|
|
|
type OauthCredentialStatus struct {
|
|
Valid bool `json:"valid"`
|
|
LastRefreshTime *time.Time `json:"last_refresh_time"`
|
|
}
|
|
|
|
type GetStoragePolicyResponse struct {
|
|
*ent.StoragePolicy
|
|
EntitiesCount int `json:"entities_count,omitempty"`
|
|
EntitiesSize int `json:"entities_size,omitempty"`
|
|
}
|
|
|
|
type ListNodeResponse struct {
|
|
Pagination *inventory.PaginationResults `json:"pagination"`
|
|
Nodes []*ent.Node `json:"nodes"`
|
|
}
|
|
|
|
type ListPolicyResponse struct {
|
|
Pagination *inventory.PaginationResults `json:"pagination"`
|
|
Policies []*ent.StoragePolicy `json:"policies"`
|
|
}
|
|
|
|
type QueueMetric struct {
|
|
Name setting.QueueType `json:"name"`
|
|
BusyWorkers int `json:"busy_workers"`
|
|
SuccessTasks int `json:"success_tasks"`
|
|
FailureTasks int `json:"failure_tasks"`
|
|
SubmittedTasks int `json:"submitted_tasks"`
|
|
SuspendingTasks int `json:"suspending_tasks"`
|
|
}
|
|
|
|
type ListGroupResponse struct {
|
|
Groups []*ent.Group `json:"groups"`
|
|
Pagination *inventory.PaginationResults `json:"pagination"`
|
|
}
|
|
|
|
type HomepageSummary struct {
|
|
MetricsSummary *MetricsSummary `json:"metrics_summary"`
|
|
SiteURls []string `json:"site_urls"`
|
|
Version *Version `json:"version"`
|
|
}
|
|
|
|
type MetricsSummary struct {
|
|
Dates []time.Time `json:"dates"`
|
|
Files []int `json:"files"`
|
|
Users []int `json:"users"`
|
|
Shares []int `json:"shares"`
|
|
FileTotal int `json:"file_total"`
|
|
UserTotal int `json:"user_total"`
|
|
ShareTotal int `json:"share_total"`
|
|
EntitiesTotal int `json:"entities_total"`
|
|
GeneratedAt time.Time `json:"generated_at"`
|
|
}
|
|
|
|
type Version struct {
|
|
Version string `json:"version"`
|
|
Pro bool `json:"pro"`
|
|
Commit string `json:"commit"`
|
|
}
|
|
|
|
func init() {
|
|
gob.Register(MetricsSummary{})
|
|
}
|