Chromium Code Reviews| 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 { |
|
dnj (Google)
2016/06/09 18:00:56
It might not be a bad idea to omit "c" here and su
iannucci
2016/06/15 00:46:01
I think I like the context better: the fact that w
|
| + 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 |