chore(repo): reinitialize repository
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
package topic
|
||||
|
||||
import "fmt"
|
||||
|
||||
type Space string
|
||||
|
||||
const (
|
||||
SpaceClarify Space = "clarify"
|
||||
SpaceWorkflow Space = "workflow"
|
||||
)
|
||||
|
||||
type Record struct {
|
||||
ID string `json:"id"`
|
||||
WorkspaceID string `json:"workspace_id"`
|
||||
Slug string `json:"slug"`
|
||||
Title string `json:"title"`
|
||||
Space Space `json:"space"`
|
||||
Status string `json:"status"`
|
||||
Summary string `json:"summary,omitempty"`
|
||||
CreatedAt string `json:"created_at"`
|
||||
UpdatedAt string `json:"updated_at"`
|
||||
ClosedAt string `json:"closed_at,omitempty"`
|
||||
}
|
||||
|
||||
func (r Record) Validate() error {
|
||||
if r.WorkspaceID == "" {
|
||||
return fmt.Errorf("workspace id is required")
|
||||
}
|
||||
if r.Slug == "" {
|
||||
return fmt.Errorf("topic slug is required")
|
||||
}
|
||||
if r.Title == "" {
|
||||
return fmt.Errorf("topic title is required")
|
||||
}
|
||||
switch r.Space {
|
||||
case SpaceClarify, SpaceWorkflow:
|
||||
default:
|
||||
return fmt.Errorf("invalid topic space %q", r.Space)
|
||||
}
|
||||
if r.Status == "" {
|
||||
return fmt.Errorf("topic status is required")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user