2020-04-10 04:40:22 +02:00
|
|
|
// Code generated by github.com/99designs/gqlgen, DO NOT EDIT.
|
|
|
|
|
|
|
|
package graph
|
|
|
|
|
2020-04-11 04:47:43 +02:00
|
|
|
import (
|
2020-07-05 01:02:57 +02:00
|
|
|
"fmt"
|
|
|
|
"io"
|
|
|
|
"strconv"
|
2020-06-16 00:36:59 +02:00
|
|
|
"time"
|
|
|
|
|
2020-04-11 04:47:43 +02:00
|
|
|
"github.com/google/uuid"
|
2020-07-05 01:02:57 +02:00
|
|
|
"github.com/jordanknott/project-citadel/api/internal/db"
|
2020-04-11 04:47:43 +02:00
|
|
|
)
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
type AddTaskLabelInput struct {
|
2020-05-31 06:11:19 +02:00
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
ProjectLabelID uuid.UUID `json:"projectLabelID"`
|
2020-04-20 05:02:55 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type AssignTaskInput struct {
|
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
}
|
|
|
|
|
2020-06-19 01:12:15 +02:00
|
|
|
type ChecklistBadge struct {
|
|
|
|
Complete int `json:"complete"`
|
|
|
|
Total int `json:"total"`
|
|
|
|
}
|
|
|
|
|
2020-07-05 01:02:57 +02:00
|
|
|
type CreateProjectMember struct {
|
|
|
|
ProjectID uuid.UUID `json:"projectID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type CreateProjectMemberPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
|
|
|
Member *Member `json:"member"`
|
|
|
|
}
|
|
|
|
|
2020-06-19 01:12:15 +02:00
|
|
|
type CreateTaskChecklist struct {
|
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Position float64 `json:"position"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type CreateTaskChecklistItem struct {
|
|
|
|
TaskChecklistID uuid.UUID `json:"taskChecklistID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Position float64 `json:"position"`
|
|
|
|
}
|
|
|
|
|
2020-06-21 00:49:11 +02:00
|
|
|
type CreateTeamMember struct {
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
TeamID uuid.UUID `json:"teamID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type CreateTeamMemberPayload struct {
|
2020-07-05 01:02:57 +02:00
|
|
|
Team *db.Team `json:"team"`
|
|
|
|
TeamMember *Member `json:"teamMember"`
|
2020-06-21 00:49:11 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteProject struct {
|
|
|
|
ProjectID uuid.UUID `json:"projectID"`
|
|
|
|
}
|
|
|
|
|
2020-05-28 03:12:50 +02:00
|
|
|
type DeleteProjectLabel struct {
|
|
|
|
ProjectLabelID uuid.UUID `json:"projectLabelID"`
|
|
|
|
}
|
|
|
|
|
2020-07-05 01:02:57 +02:00
|
|
|
type DeleteProjectMember struct {
|
|
|
|
ProjectID uuid.UUID `json:"projectID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteProjectMemberPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
|
|
|
Member *Member `json:"member"`
|
|
|
|
ProjectID uuid.UUID `json:"projectID"`
|
|
|
|
}
|
|
|
|
|
2020-06-21 00:49:11 +02:00
|
|
|
type DeleteProjectPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
2020-07-05 01:02:57 +02:00
|
|
|
Project *db.Project `json:"project"`
|
2020-06-21 00:49:11 +02:00
|
|
|
}
|
|
|
|
|
2020-06-23 22:20:53 +02:00
|
|
|
type DeleteTaskChecklist struct {
|
|
|
|
TaskChecklistID uuid.UUID `json:"taskChecklistID"`
|
|
|
|
}
|
|
|
|
|
2020-06-19 01:12:15 +02:00
|
|
|
type DeleteTaskChecklistItem struct {
|
|
|
|
TaskChecklistItemID uuid.UUID `json:"taskChecklistItemID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteTaskChecklistItemPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
2020-07-05 01:02:57 +02:00
|
|
|
TaskChecklistItem *db.TaskChecklistItem `json:"taskChecklistItem"`
|
2020-06-19 01:12:15 +02:00
|
|
|
}
|
|
|
|
|
2020-06-23 22:20:53 +02:00
|
|
|
type DeleteTaskChecklistPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
2020-07-05 01:02:57 +02:00
|
|
|
TaskChecklist *db.TaskChecklist `json:"taskChecklist"`
|
2020-06-23 22:20:53 +02:00
|
|
|
}
|
|
|
|
|
2020-04-11 21:24:45 +02:00
|
|
|
type DeleteTaskGroupInput struct {
|
|
|
|
TaskGroupID uuid.UUID `json:"taskGroupID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteTaskGroupPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
|
|
|
AffectedRows int `json:"affectedRows"`
|
2020-07-05 01:02:57 +02:00
|
|
|
TaskGroup *db.TaskGroup `json:"taskGroup"`
|
2020-04-11 21:24:45 +02:00
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type DeleteTaskInput struct {
|
|
|
|
TaskID string `json:"taskID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteTaskPayload struct {
|
|
|
|
TaskID string `json:"taskID"`
|
|
|
|
}
|
|
|
|
|
2020-06-23 22:20:53 +02:00
|
|
|
type DeleteTeam struct {
|
|
|
|
TeamID uuid.UUID `json:"teamID"`
|
|
|
|
}
|
|
|
|
|
2020-07-05 01:02:57 +02:00
|
|
|
type DeleteTeamMember struct {
|
2020-07-12 09:06:11 +02:00
|
|
|
TeamID uuid.UUID `json:"teamID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
NewOwnerID *uuid.UUID `json:"newOwnerID"`
|
2020-07-05 01:02:57 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteTeamMemberPayload struct {
|
2020-07-12 09:06:11 +02:00
|
|
|
TeamID uuid.UUID `json:"teamID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
AffectedProjects []db.Project `json:"affectedProjects"`
|
2020-07-05 01:02:57 +02:00
|
|
|
}
|
|
|
|
|
2020-06-23 22:20:53 +02:00
|
|
|
type DeleteTeamPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
2020-07-05 01:02:57 +02:00
|
|
|
Team *db.Team `json:"team"`
|
|
|
|
Projects []db.Project `json:"projects"`
|
2020-06-23 22:20:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteUserAccount struct {
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type DeleteUserAccountPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
2020-07-05 01:02:57 +02:00
|
|
|
UserAccount *db.UserAccount `json:"userAccount"`
|
2020-06-23 22:20:53 +02:00
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type FindProject struct {
|
|
|
|
ProjectID string `json:"projectId"`
|
|
|
|
}
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
type FindTask struct {
|
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
}
|
|
|
|
|
2020-06-23 22:20:53 +02:00
|
|
|
type FindTeam struct {
|
|
|
|
TeamID uuid.UUID `json:"teamID"`
|
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type FindUser struct {
|
|
|
|
UserID string `json:"userId"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type LogoutUser struct {
|
|
|
|
UserID string `json:"userID"`
|
|
|
|
}
|
|
|
|
|
2020-07-05 01:02:57 +02:00
|
|
|
type Member struct {
|
|
|
|
ID uuid.UUID `json:"id"`
|
|
|
|
Role *db.Role `json:"role"`
|
|
|
|
FullName string `json:"fullName"`
|
|
|
|
Username string `json:"username"`
|
|
|
|
ProfileIcon *ProfileIcon `json:"profileIcon"`
|
2020-07-12 09:06:11 +02:00
|
|
|
Owned *OwnersList `json:"owned"`
|
2020-07-05 01:02:57 +02:00
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type NewProject struct {
|
2020-04-20 05:02:55 +02:00
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
TeamID uuid.UUID `json:"teamID"`
|
|
|
|
Name string `json:"name"`
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|
|
|
|
|
2020-04-21 01:04:27 +02:00
|
|
|
type NewProjectLabel struct {
|
|
|
|
ProjectID uuid.UUID `json:"projectID"`
|
|
|
|
LabelColorID uuid.UUID `json:"labelColorID"`
|
|
|
|
Name *string `json:"name"`
|
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type NewRefreshToken struct {
|
|
|
|
UserID string `json:"userId"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type NewTask struct {
|
|
|
|
TaskGroupID string `json:"taskGroupID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Position float64 `json:"position"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type NewTaskGroup struct {
|
|
|
|
ProjectID string `json:"projectID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
Position float64 `json:"position"`
|
|
|
|
}
|
|
|
|
|
2020-04-11 04:47:43 +02:00
|
|
|
type NewTaskGroupLocation struct {
|
|
|
|
TaskGroupID uuid.UUID `json:"taskGroupID"`
|
|
|
|
Position float64 `json:"position"`
|
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type NewTaskLocation struct {
|
2020-06-01 04:20:03 +02:00
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
TaskGroupID uuid.UUID `json:"taskGroupID"`
|
|
|
|
Position float64 `json:"position"`
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type NewTeam struct {
|
2020-06-21 00:49:11 +02:00
|
|
|
Name string `json:"name"`
|
|
|
|
OrganizationID uuid.UUID `json:"organizationID"`
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
type NewUserAccount struct {
|
2020-06-13 00:21:58 +02:00
|
|
|
Username string `json:"username"`
|
|
|
|
Email string `json:"email"`
|
|
|
|
FullName string `json:"fullName"`
|
|
|
|
Initials string `json:"initials"`
|
|
|
|
Password string `json:"password"`
|
2020-07-05 01:02:57 +02:00
|
|
|
RoleCode string `json:"roleCode"`
|
2020-04-20 05:02:55 +02:00
|
|
|
}
|
|
|
|
|
2020-07-12 09:06:11 +02:00
|
|
|
type OwnersList struct {
|
|
|
|
Projects []uuid.UUID `json:"projects"`
|
|
|
|
Teams []uuid.UUID `json:"teams"`
|
|
|
|
}
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
type ProfileIcon struct {
|
|
|
|
URL *string `json:"url"`
|
|
|
|
Initials *string `json:"initials"`
|
2020-04-21 01:04:27 +02:00
|
|
|
BgColor *string `json:"bgColor"`
|
2020-04-20 05:02:55 +02:00
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type ProjectsFilter struct {
|
2020-06-23 22:20:53 +02:00
|
|
|
TeamID *uuid.UUID `json:"teamID"`
|
2020-04-10 04:40:22 +02:00
|
|
|
}
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
type RemoveTaskLabelInput struct {
|
|
|
|
TaskLabelID uuid.UUID `json:"taskLabelID"`
|
|
|
|
}
|
|
|
|
|
2020-07-05 01:02:57 +02:00
|
|
|
type SetProjectOwner struct {
|
|
|
|
ProjectID uuid.UUID `json:"projectID"`
|
|
|
|
OwnerID uuid.UUID `json:"ownerID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type SetProjectOwnerPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
|
|
|
PrevOwner *Member `json:"prevOwner"`
|
|
|
|
NewOwner *Member `json:"newOwner"`
|
|
|
|
}
|
|
|
|
|
2020-06-19 01:12:15 +02:00
|
|
|
type SetTaskChecklistItemComplete struct {
|
|
|
|
TaskChecklistItemID uuid.UUID `json:"taskChecklistItemID"`
|
|
|
|
Complete bool `json:"complete"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type SetTaskComplete struct {
|
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
Complete bool `json:"complete"`
|
|
|
|
}
|
|
|
|
|
2020-07-05 01:02:57 +02:00
|
|
|
type SetTeamOwner struct {
|
|
|
|
TeamID uuid.UUID `json:"teamID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type SetTeamOwnerPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
|
|
|
PrevOwner *Member `json:"prevOwner"`
|
|
|
|
NewOwner *Member `json:"newOwner"`
|
|
|
|
}
|
|
|
|
|
2020-06-19 01:12:15 +02:00
|
|
|
type TaskBadges struct {
|
|
|
|
Checklist *ChecklistBadge `json:"checklist"`
|
|
|
|
}
|
|
|
|
|
2020-05-31 06:11:19 +02:00
|
|
|
type ToggleTaskLabelInput struct {
|
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
ProjectLabelID uuid.UUID `json:"projectLabelID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ToggleTaskLabelPayload struct {
|
|
|
|
Active bool `json:"active"`
|
2020-07-05 01:02:57 +02:00
|
|
|
Task *db.Task `json:"task"`
|
2020-05-31 06:11:19 +02:00
|
|
|
}
|
|
|
|
|
2020-04-21 01:04:27 +02:00
|
|
|
type UnassignTaskInput struct {
|
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
}
|
|
|
|
|
2020-05-28 03:12:50 +02:00
|
|
|
type UpdateProjectLabel struct {
|
|
|
|
ProjectLabelID uuid.UUID `json:"projectLabelID"`
|
|
|
|
LabelColorID uuid.UUID `json:"labelColorID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type UpdateProjectLabelColor struct {
|
|
|
|
ProjectLabelID uuid.UUID `json:"projectLabelID"`
|
|
|
|
LabelColorID uuid.UUID `json:"labelColorID"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type UpdateProjectLabelName struct {
|
|
|
|
ProjectLabelID uuid.UUID `json:"projectLabelID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
}
|
|
|
|
|
2020-07-05 01:02:57 +02:00
|
|
|
type UpdateProjectMemberRole struct {
|
|
|
|
ProjectID uuid.UUID `json:"projectID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
RoleCode RoleCode `json:"roleCode"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type UpdateProjectMemberRolePayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
|
|
|
Member *Member `json:"member"`
|
|
|
|
}
|
|
|
|
|
2020-05-31 06:11:19 +02:00
|
|
|
type UpdateProjectName struct {
|
|
|
|
ProjectID uuid.UUID `json:"projectID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
}
|
|
|
|
|
2020-07-12 09:06:11 +02:00
|
|
|
type UpdateTaskChecklistItemLocation struct {
|
|
|
|
ChecklistID uuid.UUID `json:"checklistID"`
|
|
|
|
ChecklistItemID uuid.UUID `json:"checklistItemID"`
|
|
|
|
Position float64 `json:"position"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type UpdateTaskChecklistItemLocationPayload struct {
|
|
|
|
ChecklistID uuid.UUID `json:"checklistID"`
|
|
|
|
PrevChecklistID uuid.UUID `json:"prevChecklistID"`
|
|
|
|
ChecklistItem *db.TaskChecklistItem `json:"checklistItem"`
|
|
|
|
}
|
|
|
|
|
2020-06-19 01:12:15 +02:00
|
|
|
type UpdateTaskChecklistItemName struct {
|
|
|
|
TaskChecklistItemID uuid.UUID `json:"taskChecklistItemID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
}
|
|
|
|
|
2020-07-12 09:06:11 +02:00
|
|
|
type UpdateTaskChecklistLocation struct {
|
|
|
|
ChecklistID uuid.UUID `json:"checklistID"`
|
|
|
|
Position float64 `json:"position"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type UpdateTaskChecklistLocationPayload struct {
|
|
|
|
Checklist *db.TaskChecklist `json:"checklist"`
|
|
|
|
}
|
|
|
|
|
2020-06-23 22:20:53 +02:00
|
|
|
type UpdateTaskChecklistName struct {
|
|
|
|
TaskChecklistID uuid.UUID `json:"taskChecklistID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
}
|
|
|
|
|
2020-04-20 05:02:55 +02:00
|
|
|
type UpdateTaskDescriptionInput struct {
|
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
Description string `json:"description"`
|
|
|
|
}
|
|
|
|
|
2020-06-16 00:36:59 +02:00
|
|
|
type UpdateTaskDueDate struct {
|
|
|
|
TaskID uuid.UUID `json:"taskID"`
|
|
|
|
DueDate *time.Time `json:"dueDate"`
|
|
|
|
}
|
|
|
|
|
2020-06-13 00:21:58 +02:00
|
|
|
type UpdateTaskGroupName struct {
|
|
|
|
TaskGroupID uuid.UUID `json:"taskGroupID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
}
|
|
|
|
|
2020-06-01 04:20:03 +02:00
|
|
|
type UpdateTaskLocationPayload struct {
|
|
|
|
PreviousTaskGroupID uuid.UUID `json:"previousTaskGroupID"`
|
2020-07-05 01:02:57 +02:00
|
|
|
Task *db.Task `json:"task"`
|
2020-06-01 04:20:03 +02:00
|
|
|
}
|
|
|
|
|
2020-04-10 04:40:22 +02:00
|
|
|
type UpdateTaskName struct {
|
|
|
|
TaskID string `json:"taskID"`
|
|
|
|
Name string `json:"name"`
|
|
|
|
}
|
2020-07-05 01:02:57 +02:00
|
|
|
|
|
|
|
type UpdateTeamMemberRole struct {
|
|
|
|
TeamID uuid.UUID `json:"teamID"`
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
RoleCode RoleCode `json:"roleCode"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type UpdateTeamMemberRolePayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
|
|
|
Member *Member `json:"member"`
|
|
|
|
}
|
|
|
|
|
2020-07-16 01:20:08 +02:00
|
|
|
type UpdateUserPassword struct {
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
Password string `json:"password"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type UpdateUserPasswordPayload struct {
|
|
|
|
Ok bool `json:"ok"`
|
|
|
|
User *db.UserAccount `json:"user"`
|
|
|
|
}
|
|
|
|
|
2020-07-12 09:06:11 +02:00
|
|
|
type UpdateUserRole struct {
|
|
|
|
UserID uuid.UUID `json:"userID"`
|
|
|
|
RoleCode RoleCode `json:"roleCode"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type UpdateUserRolePayload struct {
|
|
|
|
User *db.UserAccount `json:"user"`
|
|
|
|
}
|
|
|
|
|
2020-07-05 01:02:57 +02:00
|
|
|
type RoleCode string
|
|
|
|
|
|
|
|
const (
|
|
|
|
RoleCodeOwner RoleCode = "owner"
|
|
|
|
RoleCodeAdmin RoleCode = "admin"
|
|
|
|
RoleCodeMember RoleCode = "member"
|
|
|
|
RoleCodeObserver RoleCode = "observer"
|
|
|
|
)
|
|
|
|
|
|
|
|
var AllRoleCode = []RoleCode{
|
|
|
|
RoleCodeOwner,
|
|
|
|
RoleCodeAdmin,
|
|
|
|
RoleCodeMember,
|
|
|
|
RoleCodeObserver,
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e RoleCode) IsValid() bool {
|
|
|
|
switch e {
|
|
|
|
case RoleCodeOwner, RoleCodeAdmin, RoleCodeMember, RoleCodeObserver:
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e RoleCode) String() string {
|
|
|
|
return string(e)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e *RoleCode) UnmarshalGQL(v interface{}) error {
|
|
|
|
str, ok := v.(string)
|
|
|
|
if !ok {
|
|
|
|
return fmt.Errorf("enums must be strings")
|
|
|
|
}
|
|
|
|
|
|
|
|
*e = RoleCode(str)
|
|
|
|
if !e.IsValid() {
|
|
|
|
return fmt.Errorf("%s is not a valid RoleCode", str)
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (e RoleCode) MarshalGQL(w io.Writer) {
|
|
|
|
fmt.Fprint(w, strconv.Quote(e.String()))
|
|
|
|
}
|