37 lines
965 B
Go
37 lines
965 B
Go
package pwd
|
|
|
|
import (
|
|
"log"
|
|
|
|
"github.com/play-with-docker/play-with-docker/pwd/types"
|
|
"github.com/satori/go.uuid"
|
|
)
|
|
|
|
func (p *pwd) PlaygroundNew(playground types.Playground) (*types.Playground, error) {
|
|
playground.Id = uuid.NewV5(uuid.NamespaceOID, playground.Domain).String()
|
|
if err := p.storage.PlaygroundPut(&playground); err != nil {
|
|
log.Printf("Error saving playground %s. Got: %v\n", playground.Id, err)
|
|
return nil, err
|
|
}
|
|
|
|
return &playground, nil
|
|
}
|
|
|
|
func (p *pwd) PlaygroundGet(id string) *types.Playground {
|
|
if playground, err := p.storage.PlaygroundGet(id); err != nil {
|
|
log.Printf("Error retrieving playground %s. Got: %v\n", id, err)
|
|
return nil
|
|
} else {
|
|
return playground
|
|
}
|
|
}
|
|
|
|
func (p *pwd) PlaygroundFindByDomain(domain string) *types.Playground {
|
|
id := uuid.NewV5(uuid.NamespaceOID, domain).String()
|
|
return p.PlaygroundGet(id)
|
|
}
|
|
|
|
func (p *pwd) PlaygroundList() ([]*types.Playground, error) {
|
|
return p.storage.PlaygroundGetAll()
|
|
}
|