WIP: folder api. #10630

This commit is contained in:
Marcus Efraimsson
2018-01-29 13:51:01 +01:00
parent ee57ed10f9
commit f08932b78a
10 changed files with 725 additions and 47 deletions

63
pkg/models/folders.go Normal file
View File

@@ -0,0 +1,63 @@
package models
import (
"errors"
"time"
)
// Typed errors
var (
ErrFolderNotFound = errors.New("Folder not found")
ErrFolderVersionMismatch = errors.New("The folder has been changed by someone else")
ErrFolderTitleEmpty = errors.New("Folder title cannot be empty")
ErrFolderWithSameNameExists = errors.New("A folder/dashboard with the same title already exists")
)
type Folder struct {
Id int64
Title string
Slug string
OrgId int64
Version int
Created time.Time
Updated time.Time
UpdatedBy int64
CreatedBy int64
HasAcl bool
}
type GetFoldersQueryHitResult struct {
Id int64 `json:"id"`
Title string `json:"title"`
Slug string `json:"slug"`
}
//
// COMMANDS
//
type CreateFolderCommand struct {
OrgId int64 `json:"-"`
UserId int64 `json:"userId"`
Title string `json:"title"`
Result *Folder
}
type UpdateFolderCommand struct {
OrgId int64 `json:"-"`
UserId int64 `json:"userId"`
Title string `json:"title"`
Version int `json:"version"`
Result *Folder
}
type GetFoldersQuery struct {
OrgId int64
SignedInUser *SignedInUser
Title string
Result []*GetFoldersQueryHitResult
}