Skip to content

Commit

Permalink
refactor data function
Browse files Browse the repository at this point in the history
  • Loading branch information
Ivan Vlasic committed Jul 30, 2021
1 parent 5049fbd commit f849291
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 27 deletions.
42 changes: 20 additions & 22 deletions api/data/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,12 @@ package data
import (
"context"
"fmt"
"log"

"github.com/atoz-technology/mantil-backend/internal/mantil"
"github.com/atoz-technology/mantil-backend/internal/stream"
)

type Data struct {
}
type Data struct{}

type DataRequest struct {
ProjectName string
Expand All @@ -26,35 +24,35 @@ func (f *Data) Invoke(ctx context.Context, req *DataRequest) (*DataResponse, err
}

func (f *Data) Project(ctx context.Context, req *DataRequest) (*DataResponse, error) {
if req.ProjectName == "" || req.Token == "" {
if !f.isRequestValid(req) {
return nil, fmt.Errorf("bad request")
}

var p *mantil.Project
err := stream.LambdaLogStream(ctx, func() error {
var err error
p, err = mantil.LoadProject(req.ProjectName)
if err != nil {
log.Printf("%v", err)
return err
}

if p.Token != req.Token {
log.Printf("access denied - %s", p.Token)
return fmt.Errorf("access denied")
}
return nil
})
p, err := f.streamingLogsProject(ctx, req.ProjectName)
if err != nil {
log.Printf("%v", err)
return nil, err
}

if !p.IsValidToken(req.Token) {
return nil, fmt.Errorf("access denied")
}
return &DataResponse{
Project: p,
}, nil
}

func (f *Data) isRequestValid(req *DataRequest) bool {
return req.ProjectName != "" && req.Token != ""
}

func (f *Data) streamingLogsProject(ctx context.Context, name string) (*mantil.Project, error) {
var p *mantil.Project
err := stream.LambdaLogStream(ctx, func() error {
var err error
p, err = mantil.LoadProject(name)
return err
})
return p, err
}

func New() *Data {
return &Data{}
}
6 changes: 1 addition & 5 deletions api/security/security.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func (f *Security) Credentials(ctx context.Context, req *SecurityRequest) (*Secu
if err != nil {
return nil, err
}
if !f.isRequestTokenValid(p, req.Token) {
if !p.IsValidToken(req.Token) {
return nil, fmt.Errorf("access denied")
}
creds, err := f.streamingLogsCredentials(ctx, p)
Expand All @@ -53,10 +53,6 @@ func (f *Security) isRequestValid(req *SecurityRequest) bool {
return req.ProjectName != "" && req.Token != ""
}

func (f *Security) isRequestTokenValid(p *mantil.Project, token string) bool {
return p.Token == token
}

func (f *Security) streamingLogsCredentials(ctx context.Context, p *mantil.Project) (*stsTypes.Credentials, error) {
var creds *stsTypes.Credentials
err := stream.LambdaLogStream(ctx, func() error {
Expand Down
4 changes: 4 additions & 0 deletions internal/mantil/project.go
Original file line number Diff line number Diff line change
Expand Up @@ -170,3 +170,7 @@ func (p *Project) AddFunctionDefaults() {
p.Functions[i] = f
}
}

func (p *Project) IsValidToken(token string) bool {
return p.Token == token
}

0 comments on commit f849291

Please sign in to comment.