package pwd import ( "log" "github.com/play-with-docker/play-with-docker/event" "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 } p.event.Emit(event.PLAYGROUND_NEW, playground.Id) 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() }