forked from codeamp/circuit
/
environment.go
63 lines (49 loc) · 1.63 KB
/
environment.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
package graphql_resolver
import (
"encoding/json"
db_resolver "github.com/codeamp/circuit/plugins/codeamp/db"
graphql "github.com/graph-gophers/graphql-go"
)
// EnvironmentResolver resolver for Environment
type EnvironmentResolver struct {
DBEnvironmentResolver *db_resolver.EnvironmentResolver
}
// ID
func (r *EnvironmentResolver) ID() graphql.ID {
return graphql.ID(r.DBEnvironmentResolver.Environment.Model.ID.String())
}
// Name
func (r *EnvironmentResolver) Name() string {
return r.DBEnvironmentResolver.Environment.Name
}
// Color
func (r *EnvironmentResolver) Color() string {
return r.DBEnvironmentResolver.Environment.Color
}
// Key
func (r *EnvironmentResolver) Key() string {
return r.DBEnvironmentResolver.Environment.Key
}
// Is Default
func (r *EnvironmentResolver) IsDefault() bool {
return r.DBEnvironmentResolver.Environment.IsDefault
}
// Projects - get projects permissioned for the environment
func (r *EnvironmentResolver) Projects() []*ProjectResolver {
db_resolvers := r.DBEnvironmentResolver.Projects()
gql_resolvers := make([]*ProjectResolver, 0, len(db_resolvers))
for _, i := range db_resolvers {
gql_resolvers = append(gql_resolvers, &ProjectResolver{DBProjectResolver: i})
}
return gql_resolvers
}
// Created
func (r *EnvironmentResolver) Created() graphql.Time {
return graphql.Time{Time: r.DBEnvironmentResolver.Environment.Model.CreatedAt}
}
func (r *EnvironmentResolver) MarshalJSON() ([]byte, error) {
return json.Marshal(&r.DBEnvironmentResolver.Environment)
}
func (r *EnvironmentResolver) UnmarshalJSON(data []byte) error {
return json.Unmarshal(data, &r.DBEnvironmentResolver.Environment)
}