mirror of
https://github.com/cloudreve/cloudreve.git
synced 2025-11-01 10:36:30 +08:00
Init V4 community edition (#2265)
* Init V4 community edition * Init V4 community edition
This commit is contained in:
141
service/admin/response.go
Normal file
141
service/admin/response.go
Normal file
@ -0,0 +1,141 @@
|
||||
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"`
|
||||
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"`
|
||||
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{})
|
||||
}
|
||||
Reference in New Issue
Block a user