BaseFileSys

package
v5.2.9 Latest Latest
Warning

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

Go to latest
Published: Aug 6, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddVisit

func AddVisit(args *ArgsAddVisit) (err error)

AddVisit 增加访问次数

func CheckFileIDAndCreateInfo

func CheckFileIDAndCreateInfo(args *ArgsCheckFileIDAndCreateInfo) (b bool)

func CheckFileIDAndUserID

func CheckFileIDAndUserID(args *ArgsCheckFileIDAndUserID) bool

func CheckFileIDsAndCreateInfo

func CheckFileIDsAndCreateInfo(args *ArgsCheckFileIDsAndCreateInfo) (b bool)

func CheckFileIDsAndOrgID

func CheckFileIDsAndOrgID(args *ArgsCheckFileIDsAndOrgID) (b bool)

func CheckFileListAndUserID

func CheckFileListAndUserID(args *ArgsCheckFileListAndUserID) bool

func DeleteClaim

func DeleteClaim(args *ArgsDeleteClaim) (err error)

DeleteClaim 删除文件认领 如果系统启动了特殊设定,则自动检查是否存在其他引用,否则将删除文件底层数据

func DeleteClaimByFileID

func DeleteClaimByFileID(args *ArgsDeleteClaimByFileID) (err error)

DeleteClaimByFileID 删除文件所有引用关系

func DeleteFile deprecated

func DeleteFile(args *ArgsDeleteFile) (err error)

Deprecated: 建议采用BaseFileSys2 DeleteFile 删除文件 可用于强制删除违法文件的方案 会直接删除文件数据,但不会删除文件引用,方便查询关联的用户等信息,以及做提示用

func GetFileByClaimIDs deprecated

func GetFileByClaimIDs(args *ArgsGetFileByClaimIDs) (fileClaimList []FieldsFileClaimType, fileList []FieldsFileType, dataCount int64, err error)

Deprecated: 建议采用BaseFileSys2 GetFileByClaimIDs 通过认领ID组,获取文件数据

func GetFileClaimCount

func GetFileClaimCount(args *ArgsGetFileClaimCount) (count int64)

GetFileClaimCount 获取文件引用数量

func Run

func Run()

Run 维护

func UpdateClaimInfo

func UpdateClaimInfo(args *ArgsUpdateClaimInfo) (err error)

UpdateClaimInfo 修改认领信息

func UpdateFileInfo deprecated

func UpdateFileInfo(args *ArgsUpdateFileInfo) (err error)

Deprecated: 建议采用BaseFileSys2 UpdateFileInfo 修改文件信息

Types

type ArgsAddVisit

type ArgsAddVisit struct {
	//文件引用ID
	ClaimID int64 `db:"id" json:"id"`
	//访问用户ID
	// 可以留空
	UserID int64 `db:"user_id" check:"id" empty:"true"`
	//访问IP
	IP string `db:"ip" check:"ip" empty:"true"`
}

ArgsAddVisit 增加访问次数参数

type ArgsCheckFileIDAndCreateInfo

type ArgsCheckFileIDAndCreateInfo struct {
	//引用文件ID
	ClaimID int64
	//用户ID
	// 可选,用于检测
	UserID int64 `json:"userID"`
	//组织ID
	// 可选,用于检测
	OrgID int64 `json:"orgID"`
}

检查认领ID是否属于来源

type ArgsCheckFileIDAndUserID

type ArgsCheckFileIDAndUserID struct {
	//引用文件ID
	ClaimID int64
	//用户ID
	UserID int64
}

检查认领ID是否属于此人

type ArgsCheckFileIDsAndCreateInfo

type ArgsCheckFileIDsAndCreateInfo struct {
	//引用文件ID
	ClaimIDs []int64
	//用户ID
	// 可选,用于检测
	UserID int64 `json:"userID"`
	//组织ID
	// 可选,用于检测
	OrgID int64 `json:"orgID"`
}

检查认领ID是否属于此来源

type ArgsCheckFileIDsAndOrgID

type ArgsCheckFileIDsAndOrgID struct {
	//文件引用序列
	ClaimIDs []int64 `json:"claimIDs"`
	//组织ID
	OrgID int64 `json:"orgID"`
}

检查认领ID列是否属于此组织

type ArgsCheckFileListAndUserID

type ArgsCheckFileListAndUserID struct {
	//要验证的引用文件ID列
	ClaimList []int64
	//用户ID
	UserID int64
}

检查一组认领文件是否属于此人

type ArgsClaimFile

type ArgsClaimFile struct {
	//原始文件ID
	FileID int64 `json:"fileID" check:"id"`
	//创建用户
	UserID int64 `json:"userID" check:"id"`
	//创建组织
	OrgID int64 `json:"orgID" check:"id" empty:"true"`
	//是否为公开的文件
	IsPublic bool `json:"isPublic" check:"bool" empty:"true"`
	//过期时间
	// 留空则不过期
	ExpireAt time.Time `json:"expireAt" check:"time" empty:"true"`
	//扩展信息
	ClaimInfos CoreSQLConfig.FieldsConfigsType `json:"claimInfos"`
	//描述
	Des string `json:"des" check:"des" min:"1" max:"1000" empty:"true"`
}

ArgsClaimFile 认领文件参数

type ArgsCreate

type ArgsCreate struct {
	//IP地址
	CreateIP string
	//创建来源
	CreateInfo CoreSQLFrom.FieldsFrom
	//创建用户
	UserID int64
	//创建组织
	OrgID int64
	//是否为公开的文件
	IsPublic bool `json:"isPublic" check:"bool" empty:"true"`
	//文件大小
	FileSize int64
	//文件类型
	FileType string
	//文件Hash
	FileHash string
	//文件路径
	FileSrc string
	//过期时间
	// 留空则永不过期,过期则删除该文件实体
	ExpireAt time.Time
	//存储渠道
	FromInfo CoreSQLFrom.FieldsFrom
	//文件扩展信息
	Infos CoreSQLConfig.FieldsConfigsType
	//引用文件扩展信息
	ClaimInfos CoreSQLConfig.FieldsConfigsType
	//描述
	Des string
}

ArgsCreate 创建新的文件信息参数

type ArgsDeleteClaim

type ArgsDeleteClaim struct {
	//Hash
	// 可选,用于交叉验证
	UpdateHash string
	//引用文件ID
	ClaimID int64
	//用户ID
	// 可选,用于检测
	UserID int64 `db:"user_id" json:"userID"`
	//组织ID
	// 可选,用于检测
	OrgID int64 `db:"org_id" json:"orgID"`
}

ArgsDeleteClaim 删除文件认领参数

type ArgsDeleteClaimByFileID

type ArgsDeleteClaimByFileID struct {
	//原始文件ID
	FileID int64 `db:"file_id"`
}

ArgsDeleteClaimByFileID 删除文件所有引用关系参数

type ArgsDeleteFile

type ArgsDeleteFile struct {
	//Hash
	// 可选,用于交叉验证
	UpdateHash string `db:"update_hash"`
	//文件ID
	FileID int64 `db:"id"`
	//创建来源
	// 可选,用于验证
	CreateInfo CoreSQLFrom.FieldsFrom `db:"create_info"`
}

ArgsDeleteFile 删除文件参数

type ArgsGetFileByClaimIDs

type ArgsGetFileByClaimIDs struct {
	//引用ID列
	ClaimIDList []int64 `json:"claimIDList"`
	//用户ID
	// 可选,用于检测
	UserID int64 `json:"userID"`
	//组织ID
	// 可选,用于检测
	OrgID int64 `json:"orgID"`
	//是否仅公开数据
	IsPublic bool `json:"isPublic"`
}

ArgsGetFileByClaimIDs 通过认领ID组,获取文件数据参数

type ArgsGetFileByID

type ArgsGetFileByID struct {
	//文件ID
	ID int64 `json:"id" check:"id"`
	//创建来源
	// 可选,用于验证
	CreateInfo CoreSQLFrom.FieldsFrom `json:"createInfo"`
}

ArgsGetFileByID 获取文件信息参数

type ArgsGetFileByIDs

type ArgsGetFileByIDs struct {
	//一组ID
	IDs pq.Int64Array `json:"ids" check:"ids"`
	//来源,用于验证
	CreateInfo CoreSQLFrom.FieldsFrom `json:"createInfo"`
}

ArgsGetFileByIDs 获取一组文件信息参数

type ArgsGetFileByIDsAndClaim

type ArgsGetFileByIDsAndClaim struct {
	//一组ID
	IDs pq.Int64Array `json:"ids" check:"ids"`
	//来源,用于验证
	CreateInfo CoreSQLFrom.FieldsFrom `json:"createInfo"`
	//用户ID
	// 可选,用于检测
	UserID int64 `json:"userID"`
	//组织ID
	// 可选,用于检测
	OrgID int64 `json:"orgID"`
	//是否仅公开数据
	IsPublic bool `json:"isPublic"`
}

ArgsGetFileByIDsAndClaim 获取一组文件信息并检查权限

type ArgsGetFileClaimByID

type ArgsGetFileClaimByID struct {
	//引用文件ID
	ClaimID int64
	//用户ID
	// 可选,用于检测
	UserID int64 `json:"userID"`
	//组织ID
	// 可选,用于检测
	OrgID int64 `json:"orgID"`
}

ArgsGetFileClaimByID 获取认领信息参数

type ArgsGetFileClaimByIDList

type ArgsGetFileClaimByIDList struct {
	//引用ID列
	ClaimIDList []int64 `json:"claimIDList"`
	//用户ID
	// 可选,用于检测
	UserID int64 `json:"userID"`
	//组织ID
	// 可选,用于检测
	OrgID int64 `json:"orgID"`
	//是否仅公开数据
	IsPublic bool `json:"isPublic"`
}

ArgsGetFileClaimByIDList 获取一组认领文件的数据参数

type ArgsGetFileClaimCount

type ArgsGetFileClaimCount struct {
	//文件ID
	FileID int64 `db:"file_id" check:"id"`
}

ArgsGetFileClaimCount 获取文件引用数量参数

type ArgsGetFileClaimList

type ArgsGetFileClaimList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//用户ID
	UserID int64 `json:"userID" check:"id" empty:"true"`
	//组织ID
	OrgID int64 `json:"orgID" check:"id" empty:"true"`
	//指定文件ID
	FileID int64 `json:"fileID" check:"id" empty:"true"`
	//是否公开
	IsPublic bool `json:"isPublic" check:"bool" empty:"true"`
	//搜索内容
	Search string `json:"search" check:"search" empty:"true"`
}

type ArgsGetFileList

type ArgsGetFileList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//创建来源
	CreateInfo CoreSQLFrom.FieldsFrom `json:"createInfo"`
	//渠道来源
	FromInfo CoreSQLFrom.FieldsFrom `json:"fromInfo"`
	//文件类型
	FileType string `json:"fileType" check:"mark" empty:"true"`
	//文件SHA1
	FileShaSearch string `json:"fileShaSearch" check:"mark" empty:"true"`
	//搜索
	Search string `json:"search" check:"search" empty:"true"`
}

ArgsGetFileList 获取文件列表参数

type ArgsGetVisitList

type ArgsGetVisitList struct {
	//分页
	Pages CoreSQLPages.ArgsDataList `json:"pages"`
	//指定用户ID
	UserID int64 `json:"userID"`
	//指定文件引用ID
	ClaimID int64 `json:"claimID"`
	//指定文件ID
	FileID int64 `json:"fileID"`
	//IP
	IP string `json:"ip"`
	//最小时间和最大时间
	MinTime time.Time
	MaxTime time.Time
}

ArgsGetVisitList 查看访问记录参数

type ArgsUpdateClaimInfo

type ArgsUpdateClaimInfo struct {
	//更新Hash
	UpdateHash string `db:"update_hash" json:"updateHash" check:"mark"`
	//引用ID
	ClaimID int64 `db:"id" json:"claimID" check:"id"`
	//用户ID
	// 可选,用于检测
	UserID int64 `db:"user_id" json:"userID" check:"id"`
	//组织ID
	// 可选,用于检测
	OrgID int64 `db:"org_id" json:"orgID" check:"id" empty:"true"`
	//过期时间
	ExpireAt time.Time `db:"expire_at" json:"expireAt"`
	//扩展信息
	ClaimInfos CoreSQLConfig.FieldsConfigsType `db:"infos" json:"claimInfos"`
	//是否公开
	IsPublic bool `db:"is_public" json:"isPublic" check:"bool" empty:"true"`
	//描述信息
	Des string `db:"des" json:"des" check:"des" min:"1" max:"1000" empty:"true"`
}

ArgsUpdateClaimInfo 修改认领信息参数

type ArgsUpdateFileInfo

type ArgsUpdateFileInfo struct {
	//Hash
	UpdateHash string `db:"update_hash" json:"updateHash" check:"mark"`
	//文件ID
	FileID int64 `db:"id" json:"fileID" check:"id"`
	//扩展信息
	Infos CoreSQLConfig.FieldsConfigsType `db:"infos" json:"infos"`
}

ArgsUpdateFileInfo 修改文件信息参数

type FieldsFileClaimType deprecated

type FieldsFileClaimType struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//验证Hash
	UpdateHash string `db:"update_hash" json:"updateHash"`
	//创建用户
	// 必须指定创建的用户,如果组织失效,则文件将自动归属于用户
	UserID int64 `db:"user_id" json:"userID"`
	//创建组织
	// 可选,指定后该文件归属于组织,用户ID将只是指引,没有操作权限
	OrgID int64 `db:"org_id" json:"orgID"`
	//是否公开?
	// 否则必须指定认证来源才能查看
	IsPublic bool `db:"is_public" json:"isPublic"`
	//文件结构体
	FileID int64 `db:"file_id" json:"fileID"`
	//文件自动过期时间
	// 过期将自动销毁该文件
	// null为永远不过期
	ExpireAt time.Time `db:"expire_at" json:"expireAt"`
	//最后访问时间
	VisitLastAt time.Time `db:"visit_last_at" json:"visitLastAt"`
	//访问次数
	VisitCount int `db:"visit_count" json:"visitCount"`
	//描述或备注
	Des string `db:"des" json:"des"`
	//其他扩展信息
	Infos CoreSQLConfig.FieldsConfigsType `db:"infos" json:"infos"`
}

Deprecated: 建议采用BaseFileSys2 FieldsFileClaimType 认领结构体 文件的hash可重复被认领,节约存储空间 除了匹配hash外,还会匹配文件的type和size信息,以减少碰撞概率 采用sha256作为唯一标识码标准

func ClaimFile

func ClaimFile(args *ArgsClaimFile) (data FieldsFileClaimType, errCode string, err error)

ClaimFile 认领文件

func Create

func Create(args *ArgsCreate) (data FieldsFileClaimType, b bool, errCode string, err error)

Create 创建新的文件信息 return FieldsFileClaimType 文件领用信息 return bool 是否创建了新的底层文件,外部可以选择是否保留上传文件 return error 错误信息

func GetFileClaimByID

func GetFileClaimByID(args *ArgsGetFileClaimByID) (data FieldsFileClaimType, err error)

GetFileClaimByID 获取认领信息

func GetFileClaimByIDList deprecated

func GetFileClaimByIDList(args *ArgsGetFileClaimByIDList) (dataList []FieldsFileClaimType, err error)

Deprecated: 建议采用BaseFileSys2 GetFileClaimByIDList 获取一组认领文件的数据

func GetFileClaimList

func GetFileClaimList(args *ArgsGetFileClaimList) (dataList []FieldsFileClaimType, dataCount int64, err error)

type FieldsFileClaimVisit deprecated

type FieldsFileClaimVisit struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//认领文件ID
	ClaimID int64 `db:"claim_id" json:"claimID"`
	//实体文件ID
	FileID int64 `db:"file_id" json:"fileID"`
	//查看用户ID
	UserID int64 `db:"user_id" json:"userID"`
	//创建IP
	CreateIP string `db:"create_ip" json:"createIP"`
}

Deprecated: 建议采用BaseFileSys2 FieldsFileClaimVisit 认领文件访问数据参数 该表不是永久性数据存储,将用于数据分析调用和使用,一段时间后将自动删除相关数据,以确保数据快速写入

func GetVisitList

func GetVisitList(args *ArgsGetVisitList) (dataList []FieldsFileClaimVisit, dataCount int64, err error)

GetVisitList 查看访问记录

type FieldsFileType deprecated

type FieldsFileType struct {
	//ID
	ID int64 `db:"id" json:"id"`
	//创建时间
	CreateAt time.Time `db:"create_at" json:"createAt"`
	//更新时间
	UpdateAt time.Time `db:"update_at" json:"updateAt"`
	//验证Hash
	UpdateHash string `db:"update_hash" json:"updateHash"`
	//创建IP
	CreateIP string `db:"create_ip" json:"createIP"`
	//创建来源
	CreateInfo CoreSQLFrom.FieldsFrom `db:"create_info" json:"createInfo"`
	//文件尺寸
	FileSize int64 `db:"file_size" json:"fileSize"`
	//文件类型
	FileType string `db:"file_type" json:"fileType"`
	//文件hash
	// 默认采用sha256作为标准
	FileHash string `db:"file_hash" json:"fileHash"`
	//文件路径
	FileSrc string `db:"file_src" json:"fileSrc"`
	//文件来源
	FromInfo CoreSQLFrom.FieldsFrom `db:"from_info" json:"fromInfo"`
	//其他扩展信息
	Infos CoreSQLConfig.FieldsConfigsType `db:"infos" json:"infos"`
}

Deprecated: 建议采用BaseFileSys2 FieldsFileType 文件主要结构体

func GetFileByID deprecated

func GetFileByID(args *ArgsGetFileByID) (data FieldsFileType, err error)

Deprecated: 建议采用BaseFileSys2 GetFileByID 获取文件信息

func GetFileByIDs deprecated

func GetFileByIDs(args *ArgsGetFileByIDs) (dataList []FieldsFileType, dataCount int64, err error)

Deprecated: 建议采用BaseFileSys2 GetFileByIDs 获取一组文件信息

func GetFileByIDsAndClaim deprecated

func GetFileByIDsAndClaim(args *ArgsGetFileByIDsAndClaim) (dataList []FieldsFileType, dataCount int64, err error)

Deprecated: 建议采用BaseFileSys2 GetFileByIDsAndClaim 获取一组文件信息并检查权限

func GetFileList

func GetFileList(args *ArgsGetFileList) (dataList []FieldsFileType, dataCount int64, err error)

GetFileList 获取文件列表

Jump to

Keyboard shortcuts

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