API, Tag
This commit is contained in:
1 parent
9515f1e58f
commit
decf580ed3
585 files changed
+8128
-9023
No files matched your search
+119
@@ -0,0 +1,119 @@
|
||||
package info
|
||||
|
||||
import (
|
||||
"time"
|
||||
"gopkg.in/mgo.v2/bson"
|
||||
)
|
||||
|
||||
//---------
|
||||
// 数据结构
|
||||
//---------
|
||||
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}
|
||||
}
|
||||
@@ -47,3 +47,11 @@ type Archive struct {
|
||||
MonthAchives []ArchiveMonth
|
||||
Posts []*Post
|
||||
}
|
||||
|
||||
type Cate struct {
|
||||
CateId string
|
||||
ParentCateId string
|
||||
Title string
|
||||
UrlTitle string
|
||||
Children []*Cate
|
||||
}
|
||||
@@ -34,12 +34,17 @@ type Note struct {
|
||||
IsMarkdown bool `IsMarkdown` // 是否是markdown笔记, 默认是false
|
||||
|
||||
AttachNum int `AttachNum` // 2014/9/21, attachments num
|
||||
|
||||
|
||||
CreatedTime time.Time `CreatedTime`
|
||||
UpdatedTime time.Time `UpdatedTime`
|
||||
RecommendTime time.Time `RecommendTime,omitempty` // 推荐时间
|
||||
PublicTime time.Time `PublicTime,omitempty` // 发表时间, 公开为博客则设置
|
||||
UpdatedUserId bson.ObjectId `bson:"UpdatedUserId"` // 如果共享了, 并可写, 那么可能是其它他修改了
|
||||
|
||||
// 2015/1/15, 更新序号
|
||||
Usn int `Usn` // UpdateSequenceNum
|
||||
|
||||
IsDeleted bool `IsDeleted` // 删除位
|
||||
}
|
||||
|
||||
// 内容
|
||||
|
||||
@@ -19,6 +19,10 @@ type Notebook struct {
|
||||
IsBlog bool `IsBlog,omitempty` // 是否是Blog 2013/12/29 新加
|
||||
CreatedTime time.Time `CreatedTime,omitempty`
|
||||
UpdatedTime time.Time `UpdatedTime,omitempty`
|
||||
|
||||
// 2015/1/15, 更新序号
|
||||
Usn int `Usn` // UpdateSequenceNum
|
||||
IsDeleted bool `IsDeleted`
|
||||
}
|
||||
|
||||
// 仅仅是为了返回前台
|
||||
|
||||
@@ -13,6 +13,8 @@ type Session struct {
|
||||
|
||||
LoginTimes int `LoginTimes` // 登录错误时间
|
||||
Captcha string `Captcha` // 验证码
|
||||
|
||||
UserId string `UserId` // API时有值UserId
|
||||
|
||||
CreatedTime time.Time `CreatedTime`
|
||||
UpdatedTime time.Time `UpdatedTime` // 更新时间, expire这个时间会自动清空
|
||||
|
||||
+15
-1
@@ -2,6 +2,7 @@ package info
|
||||
|
||||
import (
|
||||
"gopkg.in/mgo.v2/bson"
|
||||
"time"
|
||||
)
|
||||
|
||||
// 这里主要是为了统计每个tag的note数目
|
||||
@@ -21,6 +22,18 @@ type Tag struct {
|
||||
Tags []string `Tags`
|
||||
}
|
||||
|
||||
// v2 版标签
|
||||
type NoteTag struct {
|
||||
TagId bson.ObjectId `bson:"_id"`
|
||||
UserId bson.ObjectId `UserId` // 谁的
|
||||
Tag string `Tag` // UserId, Tag是唯一索引
|
||||
Usn int `Usn` // Update Sequence Number
|
||||
Count int `Count` // 笔记数
|
||||
CreatedTime time.Time `CreatedTime`
|
||||
UpdatedTime time.Time `UpdatedTime`
|
||||
IsDeleted bool `IsDeleted` // 删除位
|
||||
}
|
||||
|
||||
type TagCount struct {
|
||||
TagCountId bson.ObjectId `bson:"_id,omitempty"`
|
||||
UserId bson.ObjectId `UserId` // 谁的
|
||||
@@ -28,6 +41,7 @@ type TagCount struct {
|
||||
IsBlog bool `IsBlog` // 是否是博客的tag统计
|
||||
Count int `Count` // 统计数量
|
||||
}
|
||||
|
||||
/*
|
||||
type TagsCounts []TagCount
|
||||
func (this TagsCounts) Len() int {
|
||||
@@ -39,4 +53,4 @@ func (this TagsCounts) Less(i, j int) bool {
|
||||
func (this TagsCounts) Swap(i, j int) {
|
||||
this[i], this[j] = this[j], this[i]
|
||||
}
|
||||
*/
|
||||
*/
|
||||
+21
-17
@@ -36,22 +36,26 @@ type User struct {
|
||||
ThirdType int `ThirdType` // 第三方类型
|
||||
|
||||
// 用户的帐户类型
|
||||
|
||||
ImageNum int `bson:"ImageNum" json:"-"` // 图片数量
|
||||
ImageSize int `bson:"ImageSize" json:"-"` // 图片大小
|
||||
AttachNum int `bson:"AttachNum" json:"-"` // 附件数量
|
||||
AttachSize int `bson:"AttachSize" json:"-"` // 附件大小
|
||||
FromUserId bson.ObjectId `FromUserId,omitempty` // 邀请的用户
|
||||
|
||||
ImageNum int `bson:"ImageNum" json:"-"` // 图片数量
|
||||
ImageSize int `bson:"ImageSize" json:"-"` // 图片大小
|
||||
AttachNum int `bson:"AttachNum" json:"-"` // 附件数量
|
||||
AttachSize int `bson:"AttachSize" json:"-"` // 附件大小
|
||||
FromUserId bson.ObjectId `FromUserId,omitempty` // 邀请的用户
|
||||
|
||||
AccountType string `bson:"AccountType" json:"-"` // normal(为空), premium
|
||||
AccountStartTime time.Time `bson:"AccountStartTime" json:"-"` // 开始日期
|
||||
AccountEndTime time.Time `bson:"AccountEndTime" json:"-"` // 结束日期
|
||||
// 阈值
|
||||
MaxImageNum int `bson:"MaxImageNums" json:"-"` // 图片数量
|
||||
MaxImageSize int `bson:"MaxImageSize" json:"-"` // 图片大小
|
||||
MaxAttachNum int `bson:"MaxAttachNum" json:"-"` // 图片数量
|
||||
MaxAttachSize int `bson:"MaxAttachSize" json:"-"` // 图片大小
|
||||
MaxPerAttachSize int `bson:"MaxPerAttachSize" json:"-"` // 单个附件大小
|
||||
MaxImageNum int `bson:"MaxImageNums" json:"-"` // 图片数量
|
||||
MaxImageSize int `bson:"MaxImageSize" json:"-"` // 图片大小
|
||||
MaxAttachNum int `bson:"MaxAttachNum" json:"-"` // 图片数量
|
||||
MaxAttachSize int `bson:"MaxAttachSize" json:"-"` // 图片大小
|
||||
MaxPerAttachSize int `bson:"MaxPerAttachSize" json:"-"` // 单个附件大小
|
||||
|
||||
// 2015/1/15, 更新序号
|
||||
Usn int `Usn` // UpdateSequenceNum , 全局的
|
||||
FullSyncBefore time.Time `bson:"FullSyncBefore"` // 需要全量同步的时间, 如果 > 客户端的LastSyncTime, 则需要全量更新
|
||||
}
|
||||
|
||||
type UserAccount struct {
|
||||
@@ -59,11 +63,11 @@ type UserAccount struct {
|
||||
AccountStartTime time.Time `bson:"AccountStartTime" json:"-"` // 开始日期
|
||||
AccountEndTime time.Time `bson:"AccountEndTime" json:"-"` // 结束日期
|
||||
// 阈值
|
||||
MaxImageNum int `bson:"MaxImageNums" json:"-"` // 图片数量
|
||||
MaxImageSize int `bson:"MaxImageSize" json:"-"` // 图片大小
|
||||
MaxAttachNum int `bson:"MaxAttachNum" json:"-"` // 图片数量
|
||||
MaxAttachSize int `bson:"MaxAttachSize" json:"-"` // 图片大小
|
||||
MaxPerAttachSize int `bson:"MaxPerAttachSize" json:"-"` // 单个附件大小
|
||||
MaxImageNum int `bson:"MaxImageNums" json:"-"` // 图片数量
|
||||
MaxImageSize int `bson:"MaxImageSize" json:"-"` // 图片大小
|
||||
MaxAttachNum int `bson:"MaxAttachNum" json:"-"` // 图片数量
|
||||
MaxAttachSize int `bson:"MaxAttachSize" json:"-"` // 图片大小
|
||||
MaxPerAttachSize int `bson:"MaxPerAttachSize" json:"-"` // 单个附件大小
|
||||
}
|
||||
|
||||
// 用户与博客信息结合, 公开
|
||||
@@ -75,6 +79,6 @@ type UserAndBlog struct {
|
||||
BlogTitle string `BlogTitle` // 博客标题
|
||||
BlogLogo string `BlogLogo` // 博客Logo
|
||||
BlogUrl string `BlogUrl` // 博客链接, 主页
|
||||
|
||||
|
||||
BlogUrls // 各个页面
|
||||
}
|
||||
Reference in new issue
Block a user