scheduler: Move IsJobOwner to acl package.
R=vadimsh@chromium.org
BUG=
Review-Url: https://codereview.chromium.org/2976623002
diff --git a/scheduler/appengine/presentation/acl.go b/scheduler/appengine/acl/acl.go
similarity index 88%
rename from scheduler/appengine/presentation/acl.go
rename to scheduler/appengine/acl/acl.go
index 18248ca..32a4f3f 100644
--- a/scheduler/appengine/presentation/acl.go
+++ b/scheduler/appengine/acl/acl.go
@@ -1,4 +1,4 @@
-// Copyright 2016 The LUCI Authors.
+// Copyright 2017 The LUCI Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-package presentation
+package acl
import (
"golang.org/x/net/context"
@@ -20,7 +20,6 @@
"github.com/luci/luci-go/server/auth"
)
-// TODO(tandrii): move this to new acl package.
func IsJobOwner(c context.Context, projectID, jobName string) bool {
// TODO(vadimsh): Do real ACLs.
ok, err := auth.IsMember(c, "administrators")
diff --git a/scheduler/appengine/apiservers/scheduler.go b/scheduler/appengine/apiservers/scheduler.go
index 9173833..64500e6 100644
--- a/scheduler/appengine/apiservers/scheduler.go
+++ b/scheduler/appengine/apiservers/scheduler.go
@@ -16,6 +16,7 @@
import (
"github.com/luci/luci-go/scheduler/api/scheduler/v1"
+ "github.com/luci/luci-go/scheduler/appengine/acl"
"github.com/luci/luci-go/scheduler/appengine/catalog"
"github.com/luci/luci-go/scheduler/appengine/engine"
"github.com/luci/luci-go/scheduler/appengine/presentation"
@@ -146,7 +147,7 @@
//// Private helpers.
func runAction(ctx context.Context, jobRef *scheduler.JobRef, action func() error) (*empty.Empty, error) {
- if !presentation.IsJobOwner(ctx, jobRef.GetProject(), jobRef.GetJob()) {
+ if !acl.IsJobOwner(ctx, jobRef.GetProject(), jobRef.GetJob()) {
return nil, grpc.Errorf(codes.PermissionDenied, "No permission to execute action")
}
switch err := action(); {
diff --git a/scheduler/appengine/ui/invocation.go b/scheduler/appengine/ui/invocation.go
index 7e00d8e..ab2ea7a 100644
--- a/scheduler/appengine/ui/invocation.go
+++ b/scheduler/appengine/ui/invocation.go
@@ -24,8 +24,8 @@
"github.com/luci/luci-go/server/router"
"github.com/luci/luci-go/server/templates"
+ "github.com/luci/luci-go/scheduler/appengine/acl"
"github.com/luci/luci-go/scheduler/appengine/engine"
- "github.com/luci/luci-go/scheduler/appengine/presentation"
)
func invocationPage(c *router.Context) {
@@ -91,7 +91,7 @@
projectID := c.Params.ByName("ProjectID")
jobName := c.Params.ByName("JobName")
invID := c.Params.ByName("InvID")
- if !presentation.IsJobOwner(c.Context, projectID, jobName) {
+ if !acl.IsJobOwner(c.Context, projectID, jobName) {
http.Error(c.Writer, "Forbidden", 403)
return
}
diff --git a/scheduler/appengine/ui/job.go b/scheduler/appengine/ui/job.go
index 941a4a7..91e1d90 100644
--- a/scheduler/appengine/ui/job.go
+++ b/scheduler/appengine/ui/job.go
@@ -23,7 +23,7 @@
mc "github.com/luci/gae/service/memcache"
"github.com/luci/luci-go/common/clock"
- "github.com/luci/luci-go/scheduler/appengine/presentation"
+ "github.com/luci/luci-go/scheduler/appengine/acl"
"github.com/luci/luci-go/server/auth"
"github.com/luci/luci-go/server/router"
"github.com/luci/luci-go/server/templates"
@@ -103,7 +103,7 @@
projectID := p.ByName("ProjectID")
jobName := p.ByName("JobName")
- if !presentation.IsJobOwner(c, projectID, jobName) {
+ if !acl.IsJobOwner(c, projectID, jobName) {
http.Error(w, "Forbidden", 403)
return
}
@@ -181,7 +181,7 @@
func handleJobAction(c *router.Context, cb func(string) error) {
projectID := c.Params.ByName("ProjectID")
jobName := c.Params.ByName("JobName")
- if !presentation.IsJobOwner(c.Context, projectID, jobName) {
+ if !acl.IsJobOwner(c.Context, projectID, jobName) {
http.Error(c.Writer, "Forbidden", 403)
return
}