Skip to content

Commit

Permalink
Fix validate args.
Browse files Browse the repository at this point in the history
  • Loading branch information
zensh committed Aug 6, 2023
1 parent ae7babe commit 8baf5c5
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 9 deletions.
6 changes: 3 additions & 3 deletions src/bll/writing_creation.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (
// TODO: more validation
type CreateCreationInput struct {
GID util.ID `json:"gid" cbor:"gid" validate:"required"`
Title string `json:"title" cbor:"title" validate:"required,gte=4,lte=256"`
Title string `json:"title" cbor:"title" validate:"gte=4,lte=256"`
Content util.Bytes `json:"content" cbor:"content" validate:"required"`
Language string `json:"language" cbor:"language"`
OriginalUrl *string `json:"original_url,omitempty" cbor:"original_url,omitempty" validate:"omitempty,http_url"`
Expand Down Expand Up @@ -94,7 +94,7 @@ type UpdateCreationInput struct {
GID util.ID `json:"gid" cbor:"gid" validate:"required"`
ID util.ID `json:"id" cbor:"id" validate:"required"`
UpdatedAt int64 `json:"updated_at" cbor:"updated_at" validate:"required"`
Title *string `json:"title,omitempty" cbor:"title,omitempty" validate:"required,gte=4,lte=256"`
Title *string `json:"title,omitempty" cbor:"title,omitempty" validate:"gte=4,lte=256"`
Cover *string `json:"cover,omitempty" cbor:"cover,omitempty" validate:"omitempty,http_url"`
Keywords *[]string `json:"keywords,omitempty" cbor:"keywords,omitempty" validate:"omitempty,gte=0,lte=5"`
Labels *[]string `json:"labels,omitempty" cbor:"labels,omitempty" validate:"omitempty,gte=0,lte=5"`
Expand Down Expand Up @@ -147,7 +147,7 @@ type UpdateCreationStatusInput struct {
GID util.ID `json:"gid" cbor:"gid" validate:"required"`
ID util.ID `json:"id" cbor:"id" validate:"required"`
UpdatedAt int64 `json:"updated_at" cbor:"updated_at" validate:"required"`
Status int8 `json:"status" cbor:"status" validate:"required,gte=-2,lte=2"`
Status int8 `json:"status" cbor:"status" validate:"gte=-2,lte=2"`
}

func (i *UpdateCreationStatusInput) Validate() error {
Expand Down
9 changes: 9 additions & 0 deletions src/bll/writing_creation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package bll

import (
"encoding/hex"
"encoding/json"
"fmt"
"testing"

"github.com/fxamacker/cbor/v2"
Expand All @@ -19,4 +21,11 @@ func TestCreateCreationInput(t *testing.T) {
err = cbor.Unmarshal(data, &obj)
require.NoError(t, err)
assert.NoError(obj.Validate())

str := `{"gid":"0000000000000jarvis0","id":"0000000000000jarvis0","updated_at":123,"status":0}`
var input UpdateCreationStatusInput
err = json.Unmarshal([]byte(str), &input)
fmt.Println(input)
require.NoError(t, err)
assert.NoError(input.Validate())
}
12 changes: 6 additions & 6 deletions src/bll/writing_publication.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ type CreatePublicationInput struct {
GID util.ID `json:"gid" cbor:"gid" validate:"required"`
CID util.ID `json:"cid" cbor:"cid" validate:"required"`
Language string `json:"language" cbor:"language" validate:"required"`
Version uint16 `json:"version" cbor:"version" validate:"required,gte=1,lte=10000"`
Version uint16 `json:"version" cbor:"version" validate:"gte=1,lte=10000"`
Model string `json:"model" cbor:"model" validate:"omitempty,gte=2,lte=16"`
ToGID *util.ID `json:"to_gid,omitempty" cbor:"to_gid,omitempty"`
ToLanguage *string `json:"to_language,omitempty" cbor:"to_language,omitempty"`
Expand Down Expand Up @@ -159,7 +159,7 @@ type QueryPublication struct {
GID util.ID `json:"gid" cbor:"gid" query:"gid" validate:"required"`
CID util.ID `json:"cid" cbor:"cid" query:"cid" validate:"required"`
Language string `json:"language" cbor:"language" validate:"required"`
Version uint16 `json:"version" cbor:"version" validate:"required,gte=1,lte=10000"`
Version uint16 `json:"version" cbor:"version" validate:"gte=1,lte=10000"`
Fields string `json:"fields" cbor:"fields" query:"fields"`
}

Expand Down Expand Up @@ -205,7 +205,7 @@ type UpdatePublicationInput struct {
GID util.ID `json:"gid" cbor:"gid" validate:"required"`
CID util.ID `json:"cid" cbor:"cid" validate:"required"`
Language string `json:"language" cbor:"language" validate:"required"`
Version uint16 `json:"version" cbor:"version" validate:"required,gte=1,lte=10000"`
Version uint16 `json:"version" cbor:"version" validate:"gte=1,lte=10000"`
UpdatedAt int64 `json:"updated_at" cbor:"updated_at" validate:"required"`
Model *string `json:"model,omitempty" cbor:"model,omitempty" validate:"omitempty,gte=2,lte=16"`
Title *string `json:"title,omitempty" cbor:"title,omitempty" validate:"omitempty,gte=4,lte=256"`
Expand Down Expand Up @@ -309,9 +309,9 @@ type UpdatePublicationStatusInput struct {
GID util.ID `json:"gid" cbor:"gid" validate:"required"`
CID util.ID `json:"cid" cbor:"cid" validate:"required"`
Language string `json:"language" cbor:"language" validate:"required"`
Version uint16 `json:"version" cbor:"version" validate:"required,gte=1,lte=10000"`
Version uint16 `json:"version" cbor:"version" validate:"gte=1,lte=10000"`
UpdatedAt int64 `json:"updated_at" cbor:"updated_at" validate:"required"`
Status int8 `json:"status" cbor:"status" validate:"required,gte=-2,lte=2"`
Status int8 `json:"status" cbor:"status" validate:"gte=-2,lte=2"`
}

func (i *UpdatePublicationStatusInput) Validate() error {
Expand All @@ -336,7 +336,7 @@ type UpdatePublicationContentInput struct {
GID util.ID `json:"gid" cbor:"gid" validate:"required"`
CID util.ID `json:"cid" cbor:"cid" validate:"required"`
Language string `json:"language" cbor:"language" validate:"required"`
Version uint16 `json:"version" cbor:"version" validate:"required,gte=1,lte=10000"`
Version uint16 `json:"version" cbor:"version" validate:"gte=1,lte=10000"`
UpdatedAt int64 `json:"updated_at" cbor:"updated_at" validate:"required"`
Content util.Bytes `json:"content" cbor:"content" validate:"required"`
}
Expand Down

0 comments on commit 8baf5c5

Please sign in to comment.