package info import ( "gopkg.in/mgo.v2/bson" "time" ) //--------- // 数据结构 //--------- type NoteFile struct { FileId string // 服务器端Id LocalFileId string // 客户端Id Type string // images/png, doc, xls, 根据fileName确定 Title string HasBody bool // 传过来的值是否要更新内容 IsAttach bool // 是否是附件, 不是附件就是图片 } type ApiNote struct { NoteId string NotebookId string UserId string Title string Desc string // ImgSrc string Tags []string Abstract string Content string IsMarkdown bool // FromUserId string // 为共享而新建 IsBlog bool // 是否是blog, 更新note不需要修改, 添加note时才有可能用到, 此时需要判断notebook是否设为Blog IsTrash bool IsDeleted bool Usn int Files []NoteFile CreatedTime time.Time UpdatedTime time.Time PublicTime time.Time } // 内容 type ApiNoteContent struct { NoteId bson.ObjectId `bson:"_id,omitempty"` UserId bson.ObjectId `bson:"UserId"` Content string `Content` // CreatedTime time.Time `CreatedTime` // UpdatedTime time.Time `UpdatedTime` } // 转换 func NoteToApiNote(note Note, files []NoteFile) ApiNote { apiNote := ApiNote{} return apiNote } //---------- // 用户信息 //---------- type ApiUser struct { UserId string Username string Email string Verified bool Logo string } //---------- // Notebook //---------- type ApiNotebook struct { NotebookId bson.ObjectId `bson:"_id,omitempty"` // 必须要设置bson:"_id" 不然mgo不会认为是主键 UserId bson.ObjectId `bson:"UserId"` ParentNotebookId bson.ObjectId `bson:"ParentNotebookId,omitempty"` // 上级 Seq int `Seq` // 排序 Title string `Title` // 标题 UrlTitle string `UrlTitle` // Url标题 2014/11.11加 IsBlog bool `IsBlog,omitempty` // 是否是Blog 2013/12/29 新加 CreatedTime time.Time `CreatedTime,omitempty` UpdatedTime time.Time `UpdatedTime,omitempty` Usn int `Usn` // UpdateSequenceNum IsDeleted bool `IsDeleted` } //--------- // api 返回 //--------- // 一般返回 type ApiRe struct { Ok bool Msg string } func NewApiRe() ApiRe { return ApiRe{Ok: false} } // auth type AuthOk struct { Ok bool Token string UserId bson.ObjectId Email string Username string } // 供notebook, note, tag更新的返回数据用 type ReUpdate struct { Ok bool Msg string Usn int } func NewReUpdate() ReUpdate { return ReUpdate{Ok: false} }