package halalcloud import ( "github.com/alist-org/alist/v3/internal/model" "github.com/alist-org/alist/v3/pkg/utils" "github.com/city404/v6-public-rpc-proto/go/v6/common" pubUserFile "github.com/city404/v6-public-rpc-proto/go/v6/userfile" "google.golang.org/grpc" "time" ) type AuthService struct { appID string appVersion string appSecret string grpcConnection *grpc.ClientConn dopts halalOptions tr *TokenResp } type TokenResp struct { AccessToken string `json:"accessToken,omitempty"` AccessTokenExpiredAt int64 `json:"accessTokenExpiredAt,omitempty"` RefreshToken string `json:"refreshToken,omitempty"` RefreshTokenExpiredAt int64 `json:"refreshTokenExpiredAt,omitempty"` } type UserInfo struct { Identity string `json:"identity,omitempty"` UpdateTs int64 `json:"updateTs,omitempty"` Name string `json:"name,omitempty"` CreateTs int64 `json:"createTs,omitempty"` } type OrderByInfo struct { Field string `json:"field,omitempty"` Asc bool `json:"asc,omitempty"` } type ListInfo struct { Token string `json:"token,omitempty"` Limit int64 `json:"limit,omitempty"` OrderBy []*OrderByInfo `json:"order_by,omitempty"` Version int32 `json:"version,omitempty"` } type FilesList struct { Files []*Files `json:"files,omitempty"` ListInfo *common.ScanListRequest `json:"list_info,omitempty"` } var _ model.Obj = (*Files)(nil) type Files pubUserFile.File func (f *Files) GetSize() int64 { return f.Size } func (f *Files) GetName() string { return f.Name } func (f *Files) ModTime() time.Time { return time.UnixMilli(f.UpdateTs) } func (f *Files) CreateTime() time.Time { return time.UnixMilli(f.UpdateTs) } func (f *Files) IsDir() bool { return f.Dir } func (f *Files) GetHash() utils.HashInfo { return utils.HashInfo{} } func (f *Files) GetID() string { if len(f.Identity) == 0 { f.Identity = "/" } return f.Identity } func (f *Files) GetPath() string { return f.Path } type SteamFile struct { file model.File } func (s *SteamFile) Read(p []byte) (n int, err error) { return s.file.Read(p) } func (s *SteamFile) Close() error { return s.file.Close() }