api

package
v0.0.0-...-8066787 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2024 License: Apache-2.0, MIT Imports: 83 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BatchUrlZsetKey = "titan:edge:bacth:set"
	BatchUrlHSetKey = "titan:edge:bacth:hset"
)
View Source
const BatchAddressZsetKey = "titan:batch:address:set"
View Source
const (
	FilePassNonceVerifyKey = "TITAN::FILEPASS_NONCE_VERIFY_%s"
)
View Source
const FileUploadPassKey = "TITAN::FILE::PASS::%s"

Variables

View Source
var (
	DefaultAreaId            = "Asia-China-Guangdong-Shenzhen"
	SchedulerConfigKeyPrefix = "TITAN::SCHEDULERCFG"
)
View Source
var (

	// AreaIDIPMaps 调度器区域id和ip映射
	AreaIDIPMaps = new(sync.Map)
	// AreaIPIDMaps 调度器区域ip和id映射
	AreaIPIDMaps = new(sync.Map)
)
View Source
var (

	// 累计文件下载数
	View_TotalDownloadCount = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "total_download_count",
		Help: "Total number of file downloads",
	})

	// 累计文件上传数
	View_TotalUploadCount = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "total_upload_count",
		Help: "Total number of file uploads",
	})

	// 累计文件下载大小 (以 GB 记录)
	View_TotalDownloadSize = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "total_download_size_gb",
		Help: "Total size of downloaded files in GB",
	})

	// 累计文件上传大小 (以 GB 记录)
	View_TotalUploadSize = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "total_upload_size_gb",
		Help: "Total size of uploaded files in GB",
	})

	// 累计文件下载成功数
	View_TotalDownloadSuccess = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "total_download_success_count",
		Help: "Total number of successful file downloads",
	})

	// 累计文件上传成功数
	View_TotalUploadSuccess = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "total_upload_success_count",
		Help: "Total number of successful file uploads",
	})

	// 累计文件下载失败数
	View_TotalDownloadFailure = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "total_download_failure_count",
		Help: "Total number of failed file downloads",
	})

	// 累计文件上传失败数
	View_TotalUploadFailure = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "total_upload_failure_count",
		Help: "Total number of failed file uploads",
	})

	// 文件下载平均速度
	View_TotalDownloadAvgSpeed = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "download_avg_speed_mb_s",
		Help: "Average download speed in MB/s",
	})

	// 文件上传平均速度
	View_TotalUploadAvgSpeed = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "upload_avg_speed_mb_s",
		Help: "Average upload speed in MB/s",
	})

	// 今日文件下载数
	View_TodayDownloadCount = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_download_count",
		Help: "Today number of file downloads",
	})

	// 今日文件上传数
	View_TodayUploadCount = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_upload_count",
		Help: "Today number of file uploads",
	})

	// 今日文件下载大小 (以 GB 记录)
	View_TodayDownloadSize = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_download_size_gb",
		Help: "Today size of downloaded files in GB",
	})

	// 今日文件上传大小 (以 GB 记录)
	View_TodayUploadSize = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_upload_size_gb",
		Help: "Today size of uploaded files in GB",
	})

	// 今日文件下载成功数
	View_TodayDownloadSuccess = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_download_success_count",
		Help: "Today number of successful file downloads",
	})

	// 今日文件上传成功数
	View_TodayUploadSuccess = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_upload_success_count",
		Help: "Today number of successful file uploads",
	})

	// 今日文件下载失败数
	View_TodayDownloadFailure = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_download_failure_count",
		Help: "Today number of failed file downloads",
	})

	// 今日文件上传失败数
	View_TodayUploadFailure = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_upload_failure_count",
		Help: "Today number of failed file uploads",
	})

	// 今日文件下载平均速度
	View_TodayDownloadAvgSpeed = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_download_avg_speed_mb_s",
		Help: "Today Average download speed in MB/s",
	})

	// 今日文件上传平均速度
	View_TodayUploadAvgSpeed = prometheus.NewGauge(prometheus.GaugeOpts{
		Name: "today_upload_avg_speed_mb_s",
		Help: "Today Average upload speed in MB/s",
	})
)
View Source
var (
	ChainHeadKey           = "TITAN::FILECOIN::CHAINHEAD"
	ChainHeadKeyExpiration = 10 * time.Second
)
View Source
var AcmeRedisKey = "TITAN::CANDIDATE::ACME"
View Source
var InvalidCertKeyPaid = errors.New("Invalid private key file or cert file")

Functions

func AcmeAddHandler

func AcmeAddHandler(c *gin.Context)

func AcmeHandler

func AcmeHandler(c *gin.Context)

func AddAdsHandler

func AddAdsHandler(c *gin.Context)

func AddKOLHandler

func AddKOLHandler(c *gin.Context)

func AddKOLLevelHandler

func AddKOLLevelHandler(c *gin.Context)

func AddReferralCodeHandler

func AddReferralCodeHandler(c *gin.Context)

func AdminOnly

func AdminOnly(data interface{}, c *gin.Context) bool

func AdsClickIncrHandler

func AdsClickIncrHandler(c *gin.Context)

func AssetTransferReport

func AssetTransferReport(c *gin.Context)

func AuthAPIKeyMiddlewareFunc

func AuthAPIKeyMiddlewareFunc() gin.HandlerFunc

AuthAPIKeyMiddlewareFunc makes GinJWTMiddleware implement the Middleware interface.

func AuthRequired

func AuthRequired(authMiddleware *jwt.GinJWTMiddleware) gin.HandlerFunc

func BackupResultHandler

func BackupResultHandler(c *gin.Context)

func BatchAddressDelHandler

func BatchAddressDelHandler(c *gin.Context)

func BatchAddressListHandler

func BatchAddressListHandler(c *gin.Context)

func BatchAddressSetHandler

func BatchAddressSetHandler(c *gin.Context)

func BatchDelHandler

func BatchDelHandler(c *gin.Context)

func BatchGetHandler

func BatchGetHandler(c *gin.Context)

func BatchReportHandler

func BatchReportHandler(c *gin.Context)

func BindWalletHandler

func BindWalletHandler(c *gin.Context)

func BugEditHandler

func BugEditHandler(c *gin.Context)

func BugReportHandler

func BugReportHandler(c *gin.Context)

func BugReportListHandler

func BugReportListHandler(c *gin.Context)

func CacheAllAreas

func CacheAllAreas(ctx context.Context, info []string) error

func CacheDeviceDistribution

func CacheDeviceDistribution(ctx context.Context, info []*model.DeviceDistribution, lang model.Language) error

func CacheRelease

func CacheRelease(ctx context.Context, release interface{}) error

func CancelDeactiveNodeHanlder

func CancelDeactiveNodeHanlder(c *gin.Context)

CancelDeactiveNodeHanlder 取消下线L1节点

func CheckShareLinkHandler

func CheckShareLinkHandler(c *gin.Context)

func Cors

func Cors() gin.HandlerFunc

func CreateAppVersionHandler

func CreateAppVersionHandler(c *gin.Context)

func CreateAssetFromIPFSHandler

func CreateAssetFromIPFSHandler(c *gin.Context)

func CreateAssetHandler

func CreateAssetHandler(c *gin.Context)

CreateAssetHandler 上传文件 @Summary 上传文件 @Description 上传文件 @Security ApiKeyAuth @Tags storage @Param area_id query string false "节点区域" @Param asset_name query string true "文件名" @Param asset_cid query string true "文件cid" @Param node_id query string true "节点id" @Param asset_type query string true "文件类型" @Param asset_size query int64 true "文件大小" @Param group_id query int true "group id" @Success 200 {object} JsonObject "{[]{CandidateAddr:"",Token:""}}" @Router /api/v1/storage/create_asset [get]

func CreateAssetPostHandler

func CreateAssetPostHandler(c *gin.Context)

CreateAssetPostHandler 创建文件 @Summary 上传文件 @Description 上传文件 @Security ApiKeyAuth @Tags storage @Param req body createAssetRequest true "请求参数" @Success 200 {object} JsonObject "{[]{CandidateAddr:"",Token:""}}" @Router /api/v1/storage/create_asset [post]

func CreateFilStorageHandler

func CreateFilStorageHandler(c *gin.Context)

func CreateGroupHandler

func CreateGroupHandler(c *gin.Context)

CreateGroupHandler 创建文件夹 @Summary 创建文件夹 @Description 创建文件夹 @Security ApiKeyAuth @Tags storage @Param name query string true "name" @Param parent query int true "父级id" @Success 200 {object} JsonObject "{group:{}}" @Router /api/v1/storage/create_group [get]

func CreateKeyHandler

func CreateKeyHandler(c *gin.Context)

CreateKeyHandler 创建key @Summary 创建key @Description 创建key @Security ApiKeyAuth @Tags storage @Param key_name query string true "key name" @Success 200 {object} JsonObject "{key:"",secret:""}" @Router /api/v1/storage/create_key [get]

func CreateNewSecretKeyHandler

func CreateNewSecretKeyHandler(c *gin.Context)

func CreateShareLinkHandler

func CreateShareLinkHandler(c *gin.Context)

CreateShareLinkHandler 获取分享链接 @Summary 获取分享链接 @Description 获取分享链接 @Tags storage @Param username query string true "用户id" @Param url query string true "url" @Param cid query string true "文件cid" @Success 200 {object} JsonObject "{url: ""}" @Router /api/v1/storage/create_link [get]

func DataCollectionHandler

func DataCollectionHandler(c *gin.Context)

func DeactiveNodeHanlder

func DeactiveNodeHanlder(c *gin.Context)

DeactiveNodeHanlder 下线L1节点

func DeleteAdsHandler

func DeleteAdsHandler(c *gin.Context)

func DeleteAssetHandler

func DeleteAssetHandler(c *gin.Context)

DeleteAssetHandler 删除文件 @Summary 删除文件 @Description 删除文件 @Security ApiKeyAuth @Tags storage @Param area_id query string false "节点区域" @Param asset_cid query string true "文件cid" @Success 200 {object} JsonObject "{msg:""}" @Router /api/v1/storage/delete_asset [get]

func DeleteGroupHandler

func DeleteGroupHandler(c *gin.Context)

func DeleteKOLHandler

func DeleteKOLHandler(c *gin.Context)

func DeleteKOLLevelHandler

func DeleteKOLLevelHandler(c *gin.Context)

func DeleteKeyHandler

func DeleteKeyHandler(c *gin.Context)

DeleteKeyHandler 删除key @Summary 删除key @Description 删除key @Security ApiKeyAuth @Tags storage @Param key_name query string true "key name" @Success 200 {object} JsonObject "{msg:""}" @Router /api/v1/storage/delete_key [get]

func DeviceBindingHandler

func DeviceBindingHandler(c *gin.Context)

func DeviceUnBindingHandlerOld

func DeviceUnBindingHandlerOld(c *gin.Context)

func DeviceUpdateHandler

func DeviceUpdateHandler(c *gin.Context)

func DownloadTempFile

func DownloadTempFile(c *gin.Context)

DownloadTempFile 下载 · @Summary 下载首页上传文件 @Description 下载首页上传文件 @Tags temp_file @Param cid path string true "文件的cid" @Success 200 {object} JsonObject "" @Router /api/v1/storage/temp_file/download/{cid} [get]

func ExportAssetToIPFSHandler

func ExportAssetToIPFSHandler(c *gin.Context)

func ExportReferralRewardDailyHandler

func ExportReferralRewardDailyHandler(c *gin.Context)

func FilePassVerifyHandler

func FilePassVerifyHandler(c *gin.Context)

----- upload process --------

  1. encrypted ? -> get_upload_info yes -> randomPassNonce -> token -> savePass2redis no -> upload_file_without_encryption
  2. upload with token

3.

func FileUploadHandler

func FileUploadHandler(c *gin.Context)

func GenerateCodeHandler

func GenerateCodeHandler(c *gin.Context)

func GetAPIKeyPermsHandler

func GetAPIKeyPermsHandler(c *gin.Context)

func GetAdsHistoryHandler

func GetAdsHistoryHandler(c *gin.Context)

func GetAllAreas

func GetAllAreas(c *gin.Context)

func GetAllAreasFromCache

func GetAllAreasFromCache(ctx context.Context) ([]string, error)

func GetAllocateStorageHandler

func GetAllocateStorageHandler(c *gin.Context)

func GetAndStoreAreaIDs

func GetAndStoreAreaIDs() ([]string, map[string][]string, error)

GetAndStoreAreaIDs 获取或存储节点地区信息

func GetAppVersionHandler

func GetAppVersionHandler(c *gin.Context)

func GetAreaIPByID

func GetAreaIPByID(ctx context.Context, areaID string) (string, error)

GetAreaIPByID 根据areaid信息获取调度器的ip

func GetAreasHandler

func GetAreasHandler(c *gin.Context)

func GetAssetAllListHandler

func GetAssetAllListHandler(c *gin.Context)

func GetAssetAreaInfo

func GetAssetAreaInfo(c *gin.Context)

func GetAssetCountHandler

func GetAssetCountHandler(c *gin.Context)

func GetAssetDetailHandler

func GetAssetDetailHandler(c *gin.Context)

func GetAssetGroupInfoHandler

func GetAssetGroupInfoHandler(c *gin.Context)

func GetAssetGroupListHandler

func GetAssetGroupListHandler(c *gin.Context)

GetAssetGroupListHandler 获取文件夹列表信息,包含其中的文件信息 @Summary 获取文件夹列表信息,包含其中的文件信息 @Description 获取文件夹列表信息,包含其中的文件信息 @Security ApiKeyAuth @Tags storage @Param parent query int true "父级id" @Param page_size query int true "page_size" @Param page query int true "page" @Success 200 {object} AssetOrGroup "{list:{},total:0}" @Router /api/v1/storage/get_asset_group_list [get]

func GetAssetInfoHandler

func GetAssetInfoHandler(c *gin.Context)

GetAssetInfoHandler 获取文件信息 @Summary 上传文件 @Description 上传文件 @Security ApiKeyAuth @Tags storage @Param area_id query string false "节点区域" @Param cid query string true "文件cid" @Success 200 {object} JsonObject "{{list:[],total:0}}" @Router /api/v1/storage/get_asset_info [get]

func GetAssetListHandler

func GetAssetListHandler(c *gin.Context)

func GetAssetRecordsHandler

func GetAssetRecordsHandler(c *gin.Context)

func GetAssetStatusHandler

func GetAssetStatusHandler(c *gin.Context)

func GetBackupAssetsHandler

func GetBackupAssetsHandler(c *gin.Context)

func GetBannersHandler

func GetBannersHandler(c *gin.Context)

func GetBlockCaptcha

func GetBlockCaptcha(c *gin.Context)

GetBlockCaptcha 滑块验证

func GetBlockHeightHandler

func GetBlockHeightHandler(c *gin.Context)

func GetCacheDaysHandler

func GetCacheDaysHandler(c *gin.Context)

func GetCacheHourHandler

func GetCacheHourHandler(c *gin.Context)

func GetCacheListHandler

func GetCacheListHandler(c *gin.Context)

func GetCountryCount

func GetCountryCount(c *gin.Context)

GetCountryCount 获取在线国家数量

func GetDefaultTitanCandidateEntrypointInfo

func GetDefaultTitanCandidateEntrypointInfo() string

GetDefaultTitanCandidateEntrypointInfo specify candidate to upload file in testnet, only for storage api

func GetDeviceActiveInfoHandler

func GetDeviceActiveInfoHandler(c *gin.Context)

func GetDeviceDiagnosisDailyByDeviceIdHandler

func GetDeviceDiagnosisDailyByDeviceIdHandler(c *gin.Context)

func GetDeviceDiagnosisDailyByUserIdHandler

func GetDeviceDiagnosisDailyByUserIdHandler(c *gin.Context)

func GetDeviceDiagnosisHourHandler

func GetDeviceDiagnosisHourHandler(c *gin.Context)

func GetDeviceDistributionFromCache

func GetDeviceDistributionFromCache(ctx context.Context, lang model.Language) ([]*model.DeviceDistribution, error)

func GetDeviceDistributionHandler

func GetDeviceDistributionHandler(c *gin.Context)

func GetDeviceInfoDailyHandler

func GetDeviceInfoDailyHandler(c *gin.Context)

func GetDeviceInfoHandler

func GetDeviceInfoHandler(c *gin.Context)

func GetDeviceOnlineIncentivesHandler

func GetDeviceOnlineIncentivesHandler(c *gin.Context)

func GetDeviceProfileHandler

func GetDeviceProfileHandler(c *gin.Context)

func GetDeviceStatusHandler

func GetDeviceStatusHandler(c *gin.Context)

func GetDiskDaysHandler

func GetDiskDaysHandler(c *gin.Context)

func GetEdgeConfigHandler

func GetEdgeConfigHandler(c *gin.Context)

func GetFILPrice

func GetFILPrice(ctx context.Context) (float64, error)

GetFILPrice 获取filecoin的价格

func GetFailedReplicasHandler

func GetFailedReplicasHandler(c *gin.Context)

func GetFilStorageListHandler

func GetFilStorageListHandler(c *gin.Context)

func GetGroupsHandler

func GetGroupsHandler(c *gin.Context)

GetGroupsHandler 获取文件夹列表 @Summary 获取文件夹列表 @Description 获取文件夹列表 @Security ApiKeyAuth @Tags storage @Param parent query int true "父级id" @Param page_size query int true "page_size" @Param page query int true "page" @Success 200 {object} JsonObject "{list:{},total:0}" @Router /api/v1/storage/get_groups [get]

func GetIPFSRecords

func GetIPFSRecords(c *gin.Context)

GetIPFSRecords 获取用户上传ipfs的记录表 @Summary 获取用户上传ipfs的记录表 @Description 获取用户上传ipfs的记录表 @Security ApiKeyAuth @Tags import @Param page query int true @Param size query int true @Success 200 {object} JsonObject "{"msg":""}" @Router /api/v1/storage/sync_ipfs [get]

func GetIPFromRequest

func GetIPFromRequest(r *http.Request) (ip string, err error)

GetIPFromRequest 根据请求获取ip地址

func GetIPLocationHandler

func GetIPLocationHandler(c *gin.Context)

func GetIPRecordsHandler

func GetIPRecordsHandler(c *gin.Context)

func GetIndexInfoHandler

func GetIndexInfoHandler(c *gin.Context)

func GetKOLLevelConfigHandler

func GetKOLLevelConfigHandler(c *gin.Context)

func GetKOLListHandler

func GetKOLListHandler(c *gin.Context)

func GetKOLReferralCodeInfoHandler

func GetKOLReferralCodeInfoHandler(c *gin.Context)

func GetKeyListHandler

func GetKeyListHandler(c *gin.Context)

GetKeyListHandler 获取key列表 @Summary 获取key列表 @Description 获取key列表 @Security ApiKeyAuth @Tags storage @Success 200 {object} JsonObject "{list:[{name:"",key:"",secret:"",time:""}]}" @Router /api/v1/storage/get_keys [get]

func GetLocation

func GetLocation(ctx context.Context, ipAddr string) (*model.Location, error)

func GetLocationHandler

func GetLocationHandler(c *gin.Context)

func GetLoginLogHandler

func GetLoginLogHandler(c *gin.Context)

func GetMapByCidHandler

func GetMapByCidHandler(c *gin.Context)

GetMapByCidHandler 获取cid map @Summary 获取cid map @Description 获取cid map @Tags storage @Param cid query string true "文件cid" @Success 200 {object} JsonObject "{url: ""}" @Router /api/v1/storage/get_map_cid [get]

func GetMapInfoHandler

func GetMapInfoHandler(c *gin.Context)

func GetMonitor

func GetMonitor(c *gin.Context)

GetMonitor 获取在线的数据

func GetNearestAreaID

func GetNearestAreaID(ctx context.Context, ip string, areaIDs []string) (string, error)

GetNearestAreaID 聚合获距离用户请求的最近的areaid

func GetNearestAreaIDByIP

func GetNearestAreaIDByIP(ctx context.Context, ip string, areaIDs []string) (string, error)

GetNearestAreaIDByIP 根据ip获取距离用户最近的areaid

func GetNearestAreaIDByInfo

func GetNearestAreaIDByInfo(ctx context.Context, ip string, areaIDs []string) (string, error)

GetNearestAreaIDByInfo 根据ip的相关位置信息获取距离用户最近的areaid

func GetNodeAssetRecordsHandler

func GetNodeAssetRecordsHandler(c *gin.Context)

func GetNodeDailyTrendHandler

func GetNodeDailyTrendHandler(c *gin.Context)

func GetNodeIPChangedRecordsHandler

func GetNodeIPChangedRecordsHandler(c *gin.Context)

func GetNodeList

func GetNodeList(c *gin.Context)

GetNodeList 获取节点列表

func GetNodesInfoHandler

func GetNodesInfoHandler(c *gin.Context)

func GetNonceStringHandler

func GetNonceStringHandler(c *gin.Context)

func GetNoticesHandler

func GetNoticesHandler(c *gin.Context)

func GetNumericVerifyCodeHandler

func GetNumericVerifyCodeHandler(c *gin.Context)

func GetOpenAssetStatusHandler

func GetOpenAssetStatusHandler(c *gin.Context)

func GetOperationLogHandler

func GetOperationLogHandler(c *gin.Context)

func GetOtherAreaIDs

func GetOtherAreaIDs(aid string) ([]string, error)

GetOtherAreaIDs 获取除了给定的之外所有的节点区域

func GetPlainDeviceInfoHandler

func GetPlainDeviceInfoHandler(c *gin.Context)

func GetProfitDetailsHandler

func GetProfitDetailsHandler(c *gin.Context)

func GetProjectInfoHandler

func GetProjectInfoHandler(c *gin.Context)

func GetProjectOverviewHandler

func GetProjectOverviewHandler(c *gin.Context)

func GetQualitiesNodesHandler

func GetQualitiesNodesHandler(c *gin.Context)

func GetQueryInfoHandler

func GetQueryInfoHandler(c *gin.Context)

func GetReferralCodeDetailHandler

func GetReferralCodeDetailHandler(c *gin.Context)

func GetReferralCodeStatHandler

func GetReferralCodeStatHandler(c *gin.Context)

func GetReferralListHandler

func GetReferralListHandler(c *gin.Context)

func GetReferralRewardDailyHandler

func GetReferralRewardDailyHandler(c *gin.Context)

func GetReleaseFromCache

func GetReleaseFromCache(ctx context.Context) (map[string]interface{}, error)

func GetReleasesHandler

func GetReleasesHandler(c *gin.Context)

func GetReplicaListHandler

func GetReplicaListHandler(c *gin.Context)

func GetRetrievalListHandler

func GetRetrievalListHandler(c *gin.Context)

func GetSchedulerAreaIDs

func GetSchedulerAreaIDs(c *gin.Context)

GetSchedulerAreaIDs 获取调度器的 area id 列表 @Summary 获取调度器的 area id 列表 @Description 获取调度器的 area id 列表 @Tags storage @Success 200 {object} JsonObject "{list:[]}" @Router /api/v1/storage/get_area_id [get]

func GetSchedulerClient

func GetSchedulerClient(ctx context.Context, areaId string) (api.Scheduler, error)

GetSchedulerClient getSchedulerClient的外部调用方式

func GetShareGroupInfo

func GetShareGroupInfo(c *gin.Context)

GetShareGroupInfo 获取分享文件组信息

func GetShareLinkHandler

func GetShareLinkHandler(c *gin.Context)

func GetStorageCount

func GetStorageCount(c *gin.Context)

GetStorageCount 获取首页

func GetStorageDailyHandler

func GetStorageDailyHandler(c *gin.Context)

func GetStorageHourHandler

func GetStorageHourHandler(c *gin.Context)

func GetStorageHourV2Handler

func GetStorageHourV2Handler(c *gin.Context)

GetStorageHourV2Handler 获取存储每小时的信息

func GetStorageSizeHandler

func GetStorageSizeHandler(c *gin.Context)

GetStorageSizeHandler 获取用户存储空间信息 ShareAssetsHandler 获取用户存储空间信息 @Summary 获取用户存储空间信息 @Description 获取用户存储空间信息 @Security ApiKeyAuth @Tags storage @Success 200 {object} JsonObject "{PeakBandwidth:0,TotalTraffic:0,TotalSize:0,UsedSize:0}" @Router /api/v1/storage/get_storage_size [get]

func GetSuccessfulReplicasHandler

func GetSuccessfulReplicasHandler(c *gin.Context)

func GetTotalStatsHandler

func GetTotalStatsHandler(c *gin.Context)

func GetUploadInfo

func GetUploadInfo(c *gin.Context)

GetUploadInfo 获取上传详情 @Summary 获取上传详情 @Description 获取上传详情 @Tags temp_file @Param cid path string true "文件的cid" @Success 200 {object} JsonObject "{total:0,cid:"",share_url:[]{}}" @Router /api/v1/storage/temp_file/info/{cid} [get]

func GetUploadInfoHandler

func GetUploadInfoHandler(c *gin.Context)

func GetUserAccessTokenHandler

func GetUserAccessTokenHandler(c *gin.Context)

func GetUserDeviceProfileHandler

func GetUserDeviceProfileHandler(c *gin.Context)

func GetUserDevicesCountHandler

func GetUserDevicesCountHandler(c *gin.Context)

func GetUserFixedNearestIP

func GetUserFixedNearestIP(ctx context.Context, userIP string, ipList []string, coordinate IPCoordinate) (string, error)

func GetUserInfo

func GetUserInfo(ctx context.Context, key string) int64

func GetUserInfoHandler

func GetUserInfoHandler(c *gin.Context)

func GetUserNearestIP

func GetUserNearestIP(ctx context.Context, userIP string, ipList []string, coordinate IPCoordinate) (string, error)

func GetUserStatsDailyHandler

func GetUserStatsDailyHandler(c *gin.Context)

func GetUserStatsHandler

func GetUserStatsHandler(c *gin.Context)

func GetUserTransDetailHandler

func GetUserTransDetailHandler(c *gin.Context)

func GetUserVipInfoHandler

func GetUserVipInfoHandler(c *gin.Context)

GetUserVipInfoHandler 判断用户是否是vip @Summary 判断用户是否是vip @Description 判断用户是否是vip @Security ApiKeyAuth @Tags storage @Success 200 {object} JsonObject "{vip:false}" @Router /api/v1/storage/get_vip_info [get]

func GetValidationListHandler

func GetValidationListHandler(c *gin.Context)

func GetWorkerdNodesHandler

func GetWorkerdNodesHandler(c *gin.Context)

func InitCaptcha

func InitCaptcha()

func ListAdsHandler

func ListAdsHandler(c *gin.Context)

func LocatorFromConfigHandler

func LocatorFromConfigHandler(c *gin.Context)

func MoveAssetToGroupHandler

func MoveAssetToGroupHandler(c *gin.Context)

func MoveGroupToGroupHandler

func MoveGroupToGroupHandler(c *gin.Context)

func MoveNode

func MoveNode(c *gin.Context)

MoveNode 将调度器节点进行迁移 @Summary 将调度器节点进行迁移

func MyBugReportListHandler

func MyBugReportListHandler(c *gin.Context)

func OpenAssetHandler

func OpenAssetHandler(c *gin.Context)

func PasswordRest

func PasswordRest(c *gin.Context)

func QueryDeviceCodeHandler

func QueryDeviceCodeHandler(c *gin.Context)

func QueryStorageDaily

func QueryStorageDaily(ctx context.Context, userId, startTime, endTime string) []*dao.UserInfoRes

func RegisterRouterWithAPIKey

func RegisterRouterWithAPIKey(router *gin.Engine)

func RegisterRouterWithJWT

func RegisterRouterWithJWT(router *gin.Engine, cfg config.Config)

func RegisterRouters

func RegisterRouters(route *gin.Engine, cfg config.Config)

func RenameAssetHandler

func RenameAssetHandler(c *gin.Context)

RenameAssetHandler 文件重命名 @Summary 文件重命名 @Description 文件重命名 @Security ApiKeyAuth @Tags storage @Pamam req body RenameAssetReq true "文件重命名请求参数" @Success 200 {object} JsonObject "{"msg":"success"}" @Router /api/v1/storage/rename_asset [post]

func RenameGroupHandler

func RenameGroupHandler(c *gin.Context)

RenameGroupHandler 文件重命名 @Summary 文件重命名 @Description 文件重命名 @Security ApiKeyAuth @Tags storage @Pamam req body RenameAssetReq true "文件重命名请求参数" @Success 200 {object} JsonObject "{"msg":"success"}" @Router /api/v1/storage/rename_group [post]

func RequestLoggerMiddleware

func RequestLoggerMiddleware() gin.HandlerFunc

func SSOLoginHandler

func SSOLoginHandler(c *gin.Context)

func SaveProviderLocation

func SaveProviderLocation(providerId string) error

func SetEdgeConfigHandler

func SetEdgeConfigHandler(c *gin.Context)

func SetPeakBandwidth

func SetPeakBandwidth(userId string)

func SetPrometheusGatherer

func SetPrometheusGatherer(ctx context.Context)

func SetUserInfo

func SetUserInfo(ctx context.Context, key string, peakBandwidth int64, expireTime time.Duration) error

func ShareAssetsHandler

func ShareAssetsHandler(c *gin.Context)

ShareAssetsHandler 分享文件 @Summary 分享文件 @Description 分享文件 @Tags storage @Param user_id query string true "用户id" @Param area_id query string false "节点区域" @Param asset_cid query string true "文件cid" @Success 200 {object} JsonObject "{asset_cid: "",redirect:"",url:{}}" @Router /api/v1/storage/share_asset [get]

func ShareBeforeHandler

func ShareBeforeHandler(c *gin.Context)

func ShareLinkHandler

func ShareLinkHandler(c *gin.Context)

ShareLinkHandler 获取分享链接 @Summary 获取分享链接 @Description 获取分享链接 @Tags storage @Param username query string true "用户id" @Param url query string true "url" @Param cid query string true "文件cid" @Success 200 {object} JsonObject "{url: ""}" @Router /api/v1/storage/get_link [get]

func ShareLinkInfoHandler

func ShareLinkInfoHandler(c *gin.Context)

func ShareLinkUpdateHandler

func ShareLinkUpdateHandler(c *gin.Context)

func ShareNeedPassHandler

func ShareNeedPassHandler(c *gin.Context)

func ShareTempFile

func ShareTempFile(c *gin.Context)

ShareTempFile 分享

func SubUserDeleteHandler

func SubUserDeleteHandler(c *gin.Context)

func SubUserRefreshTokenHandler

func SubUserRefreshTokenHandler(c *gin.Context)

func SubUserSyncHandler

func SubUserSyncHandler(c *gin.Context)

func SubscribeHandler

func SubscribeHandler(c *gin.Context)

func SyncAreaIDs

func SyncAreaIDs(ctx context.Context, sCli api.Scheduler, nodeID, cid string, size int64, areaIds []string) ([]string, error)

SyncAreaIDs 同步未登陆用户文件的区域

func SyncHourData

func SyncHourData(c *gin.Context)

SyncHourData 同步小时数据

func SyncIPFSInfoByCIDs

func SyncIPFSInfoByCIDs(c *gin.Context)

SyncIPFSInfoByCIDs 通过cid获取ipfs的信息 @Summary 导入ipfs文件 @Description 导入ipfs文件 @Security ApiKeyAuth @Tags import @Param req body GetIPFSInfoByCIDSReq true @Success 200 {object} JsonObject "{[]{CandidateAddr:"",Token:""}}" @Router /api/v1/storage/sync_ipfs [post]

func UnBindWalletHandler

func UnBindWalletHandler(c *gin.Context)

func UpdateAdsHandler

func UpdateAdsHandler(c *gin.Context)

func UpdateKOLHandler

func UpdateKOLHandler(c *gin.Context)

func UpdateKOLLevelHandler

func UpdateKOLLevelHandler(c *gin.Context)

func UpdateReleaseInfoHandler

func UpdateReleaseInfoHandler(c *gin.Context)

func UpdateShareStatusHandler

func UpdateShareStatusHandler(c *gin.Context)

func UploadTempFile

func UploadTempFile(c *gin.Context)

UploadTmepFile 未登陆用户受限制上传文件 @Summary 首页上传文件 @Description 首页上传文件,如果返回的为空数组,则不调用上传接口 @Tags temp_file @Param req body UploadTempFileReq true "文件上传参数" @Success 200 {object} JsonObject "{[]{CandidateAddr: “”, Token: “”}}" @Router /api/v1/storage/temp_file/upload [post]

func UploadTempFileCar

func UploadTempFileCar(c *gin.Context)

UploadTempFileCar 首页上传,后台切car

func UserBatchAddressHandler

func UserBatchAddressHandler(c *gin.Context)

func UserRegister

func UserRegister(c *gin.Context)

func VerifyMessage

func VerifyMessage(message string, signedMessage string) (string, error)

Types

type AccessOverview

type AccessOverview struct {
	AssetRecord      *AssetRecord
	UserAssetDetail  *dao.UserAssetDetail
	VisitCount       int64
	RemainVisitCount int64
	FilcoinCount     int64
}

type AssetOrGroup

type AssetOrGroup struct {
	AssetOverview *AccessOverview
	Group         interface{}
}

type AssetOverview

type AssetOverview struct {
	AssetRecord      *AssetRecord
	UserAssetDetail  *dao.UserAssetDetail
	VisitCount       int64
	RemainVisitCount int64
}

AssetOverview 文件概览

type AssetRecord

type AssetRecord struct {
	CID                   string    `db:"cid"`
	Hash                  string    `db:"hash"`
	NeedEdgeReplica       int64     `db:"edge_replicas"`
	TotalSize             int64     `db:"total_size"`
	TotalBlocks           int64     `db:"total_blocks"`
	Expiration            time.Time `db:"expiration"`
	CreatedTime           time.Time `db:"created_time"`
	EndTime               time.Time `db:"end_time"`
	NeedCandidateReplicas int64     `db:"candidate_replicas"`
	ServerID              string    `db:"scheduler_sid"`
	State                 string    `db:"state"`
	NeedBandwidth         int64     `db:"bandwidth"` // unit:MiB/
	Note                  string    `db:"note"`
	Source                int64     `db:"source"`

	RetryCount        int64 `db:"retry_count"`
	ReplenishReplicas int64 `db:"replenish_replicas"`
	ReplicaNums       int64 `json:"replica_num"`

	SPCount int64
}

type BatchAddress

type BatchAddress struct {
	Name    string
	Url     string
	AddTime time.Time
	Enable  bool
}

type BatchSetReq

type BatchSetReq struct {
	LoggedIn bool       `json:"loggedIn"`
	Config   EdgeBatchX `json:"config"`
}

type BatchUrlConfig

type BatchUrlConfig struct {
	Like   bool
	Follow bool
}

type CancelDeactiveNodeReq

type CancelDeactiveNodeReq struct {
	AreaID string `json:"area_id" binding:"required"`
	NodeID string `json:"node_id" binding:"required"`
}

CancelDeactiveNodeReq 取消下线L1节点请求

type CheckShareReq

type CheckShareReq struct {
	Cid      string `json:"cid"`
	Username string `json:"username"`
	Password string `json:"password"`
}

type CidArr

type CidArr []string

type CreateAssetReq

type CreateAssetReq struct {
	AssetName string
	AssetCID  string
	NodeID    string
	UserID    string
	AssetType string
	AssetSize int64
	GroupID   int
}

CreateAssetReq 上传文件请求参数

type DeactiveNodeReq

type DeactiveNodeReq struct {
	AreaID string `json:"area_id" binding:"required"`
	NodeID string `json:"node_id" binding:"required"`
	Code   string `json:"code" binding:"required"`
	Hours  int    `json:"hours"`
}

DeactiveNodeReq 下线L1节点请求

type DeviceRewardRule

type DeviceRewardRule struct {
	NatRule       []Rule `json:"nat_rule"`
	NodeCountRule []Rule `json:"node_count_rule"`
	BandwidthRule []Rule `json:"bandwidth_rule"`
}

type EdgeBatchX

type EdgeBatchX struct {
	PhoneModel string
	OS         string
	Mac        string
	Time       time.Time
	Operation  string
	UrlConfig  map[string]BatchUrlConfig
}

type GetIPFSInfoByCIDSReq

type GetIPFSInfoByCIDSReq struct {
	CIDs    string   `json:"cids" binding:"required"`
	AreaID  []string `json:"area_id"`
	GroupID int64    `json:"group_id"`
}

GetIPFSInfoByCIDSReq 获取ipfs信息的请求

type GetNodeStatusListReq

type GetNodeStatusListReq struct {
	Page uint64 `form:"page"`
	Size uint64 `form:"page_size"`
}

GetNodeStatusListReq 获取用户节点状态请求

type GetTest1NodeReq

type GetTest1NodeReq struct {
	Kind int64  `form:"kind" binding:"required"`
	Page uint64 `form:"page" binding:"required"`
	Size uint64 `form:"size" binding:"required"`
}

GetTest1NodeReq 获取test1节点请求

type IPCoordinate

type IPCoordinate interface {
	GetLatLng(ctx context.Context, ip string) (float64, float64, error)
}

func NewIPCoordinate

func NewIPCoordinate() IPCoordinate

type JsonObject

type JsonObject map[string]interface{}

type ListAssetRecordRsp

type ListAssetRecordRsp struct {
	Total          int64            `json:"total"`
	AssetOverviews []*AssetOverview `json:"asset_infos"`
}

ListAssetRecordRsp list asset records

type ListAssetSummaryRsp

type ListAssetSummaryRsp struct {
	Total int64               `json:"total"`
	List  []*UserAssetSummary `json:"list"`
}

ListAssetSummaryRsp list asset and group

type MoveNodeReq

type MoveNodeReq struct {
	NodeID     string `json:"node_id" binding:"required"`
	FromAreaID string `json:"from_area_id" binding:"required"`
	ToAreaID   string `json:"to_area_id" binding:"required"`
}

MoveNodeReq 节点迁移请求参数

type NodeAssetRecord

type NodeAssetRecord struct {
	*types.AssetRecord
	ClientIP string
}

type NodeDailyTrend

type NodeDailyTrend struct {
	X string              `json:"x"`
	Y *model.FullNodeInfo `json:"y"`
}

type NonceStringType

type NonceStringType string
const (
	NonceStringTypeRegister  NonceStringType = "1"
	NonceStringTypeLogin     NonceStringType = "2"
	NonceStringTypeReset     NonceStringType = "3"
	NonceStringTypeSignature NonceStringType = "4"
	NonceStringTypeDeactive  NonceStringType = "5"
)

type Release

type Release struct {
	OS          string `json:"os"`
	Arch        string `json:"arch"`
	Version     string `json:"version"`
	DownloadURL string `json:"download_url"`
}

type RenameAssetReq

type RenameAssetReq struct {
	AssetCID string `json:"asset_cid"`
	NewName  string `json:"new_name" binding:"required"`
	GroupID  int    `json:"group_id"`
}

RenameAssetReq 重命名文件请求

type Rule

type Rule struct {
	Name     string  `json:"name"`
	FullName string  `json:"full_name"`
	Score    float64 `json:"score"`
	Current  bool    `json:"current"`
}

type SSOLoginReq

type SSOLoginReq struct {
	EntryUUID string `json:"entry_uuid"`
	Username  string `json:"username"`
	Avatar    string `json:"avatar"`
	Email     string `json:"email"`
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(cfg config.Config) (*Server, error)

func (*Server) Close

func (s *Server) Close()

func (*Server) Run

func (s *Server) Run()

type ShareLinkUpdateReq

type ShareLinkUpdateReq struct {
	ID        int64  `json:"id"`
	ShortPass string `json:"short_pass"`
	ExpireAt  int64  `json:"expire_at"`
}

type SyncHourDataReq

type SyncHourDataReq struct {
	Start int64 `json:"start"`
	End   int64 `json:"end"`
}

SyncHourDataReq 同步小时时间请求

type Test1NodeController

type Test1NodeController struct{}

Test1NodeController test1节点管理

func (*Test1NodeController) DeleteOffLineNode

func (tc *Test1NodeController) DeleteOffLineNode(c *gin.Context)

DeleteOffLineNode 删除离线节点

func (*Test1NodeController) GetNodeNums

func (tc *Test1NodeController) GetNodeNums(c *gin.Context)

GetNodeNums 获取节点数量

func (*Test1NodeController) GetNodes

func (tc *Test1NodeController) GetNodes(c *gin.Context)

GetNodes 获取节点信息 kind:1-在线 2-故障 3-离线 4-删除

func (*Test1NodeController) MoveBackDeletedNode

func (tc *Test1NodeController) MoveBackDeletedNode(c *gin.Context)

MoveBackDeletedNode 移回删除的节点

func (*Test1NodeController) UpdateDeviceName

func (tc *Test1NodeController) UpdateDeviceName(c *gin.Context)

UpdateDeviceName 修改节点备注

type UpdateDeviceInfoReq

type UpdateDeviceInfoReq struct {
	DeviceID   []string `json:"deviceId" binding:"required"` // 设备id
	DeviceName string   `json:"deviceName"`                  // 设备备注
}

UpdateDeviceInfoReq 修改节点信息请求

type UploadTempFileReq

type UploadTempFileReq struct {
	AssetName string   `json:"asset_name" binding:"required"`
	AssetCID  string   `json:"asset_cid" binding:"required"`
	NodeID    string   `json:"node_id"`
	AssetSize int64    `json:"asset_size" binding:"required"`
	AreaIDs   []string `json:"area_ids"` // 最多3个
	NeedTrace bool     `json:"need_trace"`
}

UploadTempFileReq 上传临时文件

type UserAssetSummary

type UserAssetSummary struct {
	AssetOverview *AssetOverview
	AssetGroup    *dao.AssetGroup
}

UserAssetSummary user asset and group

type UserStats

type UserStats struct {
	*dao.StatsLimitUser
	*dao.ComprehensiveStats
}

type VerifyCodeReq

type VerifyCodeReq struct {
	Username  string `json:"username"`
	Token     string `json:"token"`
	PointJSON string `json:"pointJson"`
	Type      int64  `json:"type"`
}

VerifyCodeReq 获取邮箱验证码

Jump to

Keyboard shortcuts

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