GraphQL (part 2): Model changes and resolvers (#19486)
This PR adds the necessary resolvers to support the graphQL front-end. Some additional methods need to be added to the model structs to support this. Comments have been made to clarify their purpose. There is a slight duplication of code in the api layer. But eventually that's going to go away when we move away from the REST API entirely. The schema is in api4/schema.graphqls and gets compiled into the binary as an asset. The GraphiQL editor url is at GET /api/v5/graphql. Everything is behind the feature flag MM_FEATUREFLAGS_GRAPHQL. ```release-note NONE ```
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
88968f9e17
Коммит
3f52bd197a
@@ -34,6 +34,19 @@ func (s *Status) ToJSON() ([]byte, error) {
|
||||
return json.Marshal(sCopy)
|
||||
}
|
||||
|
||||
// The following are some GraphQL methods necessary to return the
|
||||
// data in float64 type. The spec doesn't support 64 bit integers,
|
||||
// so we have to pass the data in float64. The _ at the end is
|
||||
// a hack to keep the attribute name same in GraphQL schema.
|
||||
|
||||
func (s *Status) LastActivityAt_() float64 {
|
||||
return float64(s.LastActivityAt)
|
||||
}
|
||||
|
||||
func (s *Status) DNDEndTime_() float64 {
|
||||
return float64(s.DNDEndTime)
|
||||
}
|
||||
|
||||
func StatusListToJSON(u []*Status) ([]byte, error) {
|
||||
list := make([]Status, len(u))
|
||||
for i, s := range u {
|
||||
|
||||
Ссылка в новой задаче
Block a user