| Index: appengine/cmd/dm/model/quest.go
|
| diff --git a/appengine/cmd/dm/model/quest.go b/appengine/cmd/dm/model/quest.go
|
| index d16f0a97e418bd57d0cc2315ae4391a5bfa36134..318704e230516522a7261770c22975060ffd7eb1 100644
|
| --- a/appengine/cmd/dm/model/quest.go
|
| +++ b/appengine/cmd/dm/model/quest.go
|
| @@ -5,59 +5,23 @@
|
| package model
|
|
|
| import (
|
| - "crypto/sha256"
|
| - "encoding/base64"
|
| - "fmt"
|
| "time"
|
|
|
| - "github.com/golang/protobuf/proto"
|
| "golang.org/x/net/context"
|
|
|
| "github.com/luci/gae/service/datastore"
|
| "github.com/luci/luci-go/common/clock"
|
| google_pb "github.com/luci/luci-go/common/proto/google"
|
|
|
| - "github.com/luci/luci-go/common/api/dm/service/v1"
|
| - "github.com/luci/luci-go/common/api/template"
|
| -)
|
| -
|
| -var (
|
| - // QuestIDLength is the number of encoded bytes to use. It removes the
|
| - // single padding character.
|
| - QuestIDLength = base64.URLEncoding.EncodedLen(sha256.Size) - 1
|
| -)
|
| -
|
| -const (
|
| - // payloadMaxLength is the maximum size of the Quest Desc
|
| - payloadMaxLength = 256 * 1024
|
| + dm "github.com/luci/luci-go/common/api/dm/service/v1"
|
| )
|
|
|
| // NewQuest builds a new Quest object with a correct ID given the current
|
| // contents of the Quest_Desc. It returns an error if the Desc is invalid.
|
| //
|
| -// This will also compactify the inner json Desc as a side effect.
|
| -func NewQuest(c context.Context, desc *dm.Quest_Desc) (ret *Quest, err error) {
|
| - if len(desc.JsonPayload) > payloadMaxLength {
|
| - return nil, fmt.Errorf("quest payload is too large: %d > %d",
|
| - len(desc.JsonPayload), payloadMaxLength)
|
| - }
|
| - desc.JsonPayload, err = template.NormalizeJSON(desc.JsonPayload, true)
|
| - if err != nil {
|
| - return
|
| - }
|
| -
|
| - data, err := proto.Marshal(desc)
|
| - if err != nil {
|
| - panic(err)
|
| - }
|
| - h := sha256.Sum256(data)
|
| -
|
| - ret = &Quest{
|
| - ID: base64.URLEncoding.EncodeToString(h[:])[:QuestIDLength],
|
| - Desc: *desc,
|
| - Created: clock.Now(c).UTC(),
|
| - }
|
| - return
|
| +// Desc must already be Normalize()'d
|
| +func NewQuest(c context.Context, desc *dm.Quest_Desc) *Quest {
|
| + return &Quest{ID: desc.QuestID(), Desc: *desc, Created: clock.Now(c).UTC()}
|
| }
|
|
|
| // Quest is the model for a job-to-run. Its questPayload should fully
|
|
|