Documentation
¶
Index ¶
- Constants
- func ClearCurrentUser()
- func SetCurrentUser(usrNode *p2pNet.UserNode) error
- type Follow
- type Tasks
- type TweetJson
- type Tweets
- func (tw *Tweets) BeforeCreate(tx *gorm.DB) (err error)
- func (tw *Tweets) BeforeUpdate(tx *gorm.DB) (err error)
- func (tw *Tweets) Create(tx *gorm.DB) error
- func (tw *Tweets) GenerateId()
- func (tw *Tweets) GenerateSignMsg() string
- func (tw *Tweets) GenerateSysParams()
- func (tw *Tweets) GetSignMsg() string
- func (tw *Tweets) TableName() string
- func (tw *Tweets) UpIpfs(usr *User) (string, error)
- type User
- func (usr *User) AfterCreate(tx *gorm.DB) (err error)
- func (usr *User) BeforeUpdate(tx *gorm.DB) (err error)
- func (usr *User) GenerateSignMsg() string
- func (usr *User) GetSignMsg() string
- func (usr *User) GetUserInfoToPublic() *User
- func (usr *User) ReloadSign(isSave bool) error
- func (usr *User) ReloadTmpPeerId()
- func (usr *User) SetSyncStatusComplete(tx *gorm.DB) error
- func (usr *User) SetSyncStatusIng() error
- func (usr *User) SyncStatusComplete() bool
- func (usr *User) SyncStatusIng() bool
- func (usr *User) SyncStatusWait() bool
- func (usr *User) TableName() string
- func (usr *User) UploadIpfs(tx *gorm.DB) error
- type UserAskSync
Constants ¶
View Source
const ( TasksTypeUpIpfsAndBroadcastTweet = "syncIpfsAndBroadcastTweet" TasksStatusWait = 0 TasksStatusIng = 1 TasksStatusComplete = 2 TasksStatusFail = 3 )
View Source
const ( UserSyncStatusWait = 0 UserSyncStatusIng = 1 UserSyncStatusComplete = 2 UserSyncTimeoutDuration = p2pNet.OnlineNodesSyncDuration * 4 )
Variables ¶
This section is empty.
Functions ¶
func ClearCurrentUser ¶
func ClearCurrentUser()
func SetCurrentUser ¶
Types ¶
type Follow ¶
type Follow struct {
UserId string `gorm:"type:varchar(100);NOT NULL;comment:用户的id;uniqueIndex:idx_uid_follow_unique;index"`
FollowedID string `gorm:"type:varchar(100);NOT NULL;comment:关注的用户id;uniqueIndex:idx_uid_follow_unique;index"`
CreatedAt int64 `gorm:"index;default:0;autoCreateTime"`
UpdatedAt int64 `gorm:"autoUpdateTime;default:0"`
}
type Tasks ¶
type Tasks struct {
ID string `gorm:"primarykey"`
Type string `gorm:"default:'';comment:执行类型,根据不同的type分配不同的方法"`
Sort int64 `gorm:"default:100;comment:执行顺序优先级"`
Status uint8 `gorm:"default:0;comment:执行状态:0待执行,1执行中,2执行完成, 3执行失败;index:status"`
NextExecTime int64 `` /* 182-byte string literal not displayed */
MaxExecLockTime int64 `` /* 159-byte string literal not displayed */
mField.FieldsExtendsJsonType //执行的上下文数据
mField.FieldsTimeUnixModel
}
type TweetJson ¶
type TweetJson struct {
PreviousCid string
UserId string
Nonce uint64
Content string
Attachment string
Sign string
TopicTag string
OriginTwId string
OriginTw *Tweets
CreatedAt int64
}
func NewTweetJson ¶
type Tweets ¶
type Tweets struct {
Id string `gorm:"primarykey;type:varchar(100);NOT NULL;comment:sha2(用户地址+nonce) 然后进行base58编码;"`
UserId string `gorm:"type:varchar(100);NOT NULL;comment:用户的id,即用户地址;index:idx_uid_nonce,unique"`
Content string `gorm:"NOT NULL;comment:推文内容"`
Attachment string `gorm:"comment:附件"`
Nonce uint64 `gorm:"default:0;comment:根据用户的推文自增;index:idx_uid_nonce,unique"`
Sign string `gorm:"type:varchar(200);NOT NULL;comment:签名(用户地址+nonce+推文),然后base58编码;index:tweet_sign,unique"`
TopicTag string `gorm:"type:varchar(200);default:'';comment:话题标签;index:topic_tag"`
UserInfo *User `gorm:"foreignKey:UserId;references:Id"` //用于发送消息时嵌入的用户信息 这个数据不保存在数据库中
CreatedAt int64 `gorm:"index:idx_created_at;autoCreateTime;comment:推文的发布时间"`
UpdatedAt int64 `gorm:"autoUpdateTime;default:0;comment:更新时间 也就是同步到推文的时间"`
OriginUserId string `gorm:"type:varchar(100);default:'';comment:作者id,如果没有被转发 则为空字符串;index:idx_origin_user_id"`
OriginTwId string `gorm:"varchar(100);comment:原始文章Id;index:idx_origin_tw_id"`
OriginTw *Tweets `gorm:"foreignKey:OriginTwId;references:Id"`
}
func (*Tweets) GenerateId ¶
func (tw *Tweets) GenerateId()
func (*Tweets) GenerateSignMsg ¶
func (*Tweets) GetSignMsg ¶
type User ¶
type User struct {
Id string `gorm:"primarykey;type:varchar(100);NOT NULL;comment:用户id 保存为以太坊的地址"`
PeerId string `gorm:"type:varchar(100);NOT NULL;index:idx_peer_id,unique;comment:节点id 可为空"`
Name string `gorm:"type:varchar(100);NOT NULL;comment:用户昵称;index:idx_user_name"`
Desc string `gorm:"type:varchar(200);comment:用户简介;default:''"`
LatestCid string `gorm:"type:varchar(200);comment:最新一条cid;default:''"`
Avatar string `gorm:"type:text;comment:用户简介;"`
Nonce uint64 `gorm:"default:0;comment:最新nonce"`
LocalNonce uint64 `gorm:"default:0;comment:本地nonce"`
LocalUser uint64 `gorm:"default:0;comment:是否是本地用户"`
Sign string `gorm:"type:varchar(200);NOT NULL;comment:用户签名;default:''"`
PubKey string `gorm:"type:text;comment:用户公钥"`
IpfsHash string `gorm:"type:varchar(200);comment:ipfs的hash地址;default:''"`
HasPeerId uint8 `` /* 234-byte string literal not displayed */
LastCheckTweetTime int64 `gorm:"default:0;index:last_check_tweet_time"`
mField.FieldsTimeUnixModel `json:"-"`
mField.FieldsExtendsJsonType
UpdatedSignUnix int64 `gorm:"default:0;comment:更新时间戳,用于签名使用"`
UsrNode *p2pNet.UserNode `gorm:"-" json:"-"`
}
func GetCurrentUser ¶
func GetCurrentUser() *User
func GetOrCreateUserByPri ¶
func GetOrCreateUserByPri(pri *keys.PrivateKey) (*User, error)
func GetOrCreateUserByPub ¶
通过公钥创建一个用户 生成一个临时的peerId
func GetUserByIpfs ¶
func (*User) ReloadSign ¶
func (*User) SetSyncStatusComplete ¶
SetSyncStatusComplete 设置成功同步状态
func (*User) SetSyncStatusIng ¶
func (*User) SyncStatusComplete ¶
func (*User) SyncStatusIng ¶
func (*User) SyncStatusWait ¶
type UserAskSync ¶
type UserAskSync struct {
UserId string `gorm:"type:varchar(100);primarykey"`
SyncStatus uint8 `` /* 138-byte string literal not displayed */
SyncTimeoutUnix int64 `` /* 155-byte string literal not displayed */
}
func (*UserAskSync) TableName ¶
func (uas *UserAskSync) TableName() string
Click to show internal directories.
Click to hide internal directories.