From f792a3a136ef868c07fd26525a9acb0a3c1a37a7 Mon Sep 17 00:00:00 2001 From: nourbalaha Date: Mon, 21 Oct 2024 13:47:20 +0900 Subject: [PATCH 1/7] wip: remove multiple user members --- server/internal/adapter/gql/generated.go | 384 +++++++++++++++--- .../adapter/gql/gqlmodel/models_gen.go | 9 + .../adapter/gql/resolver_workspace.go | 25 ++ server/schemas/workspace.graphql | 10 + 4 files changed, 370 insertions(+), 58 deletions(-) diff --git a/server/internal/adapter/gql/generated.go b/server/internal/adapter/gql/generated.go index 002574bcbe..976cbb641a 100644 --- a/server/internal/adapter/gql/generated.go +++ b/server/internal/adapter/gql/generated.go @@ -412,64 +412,65 @@ type ComplexityRoot struct { } Mutation struct { - AddComment func(childComplexity int, input gqlmodel.AddCommentInput) int - AddIntegrationToWorkspace func(childComplexity int, input gqlmodel.AddIntegrationToWorkspaceInput) int - AddUsersToWorkspace func(childComplexity int, input gqlmodel.AddUsersToWorkspaceInput) int - ApproveRequest func(childComplexity int, input gqlmodel.ApproveRequestInput) int - CreateAsset func(childComplexity int, input gqlmodel.CreateAssetInput) int - CreateAssetUpload func(childComplexity int, input gqlmodel.CreateAssetUploadInput) int - CreateField func(childComplexity int, input gqlmodel.CreateFieldInput) int - CreateGroup func(childComplexity int, input gqlmodel.CreateGroupInput) int - CreateIntegration func(childComplexity int, input gqlmodel.CreateIntegrationInput) int - CreateItem func(childComplexity int, input gqlmodel.CreateItemInput) int - CreateModel func(childComplexity int, input gqlmodel.CreateModelInput) int - CreateProject func(childComplexity int, input gqlmodel.CreateProjectInput) int - CreateRequest func(childComplexity int, input gqlmodel.CreateRequestInput) int - CreateThread func(childComplexity int, input gqlmodel.CreateThreadInput) int - CreateView func(childComplexity int, input gqlmodel.CreateViewInput) int - CreateWebhook func(childComplexity int, input gqlmodel.CreateWebhookInput) int - CreateWorkspace func(childComplexity int, input gqlmodel.CreateWorkspaceInput) int - DecompressAsset func(childComplexity int, input gqlmodel.DecompressAssetInput) int - DeleteAsset func(childComplexity int, input gqlmodel.DeleteAssetInput) int - DeleteComment func(childComplexity int, input gqlmodel.DeleteCommentInput) int - DeleteField func(childComplexity int, input gqlmodel.DeleteFieldInput) int - DeleteGroup func(childComplexity int, input gqlmodel.DeleteGroupInput) int - DeleteIntegration func(childComplexity int, input gqlmodel.DeleteIntegrationInput) int - DeleteItem func(childComplexity int, input gqlmodel.DeleteItemInput) int - DeleteMe func(childComplexity int, input gqlmodel.DeleteMeInput) int - DeleteModel func(childComplexity int, input gqlmodel.DeleteModelInput) int - DeleteProject func(childComplexity int, input gqlmodel.DeleteProjectInput) int - DeleteRequest func(childComplexity int, input gqlmodel.DeleteRequestInput) int - DeleteView func(childComplexity int, input gqlmodel.DeleteViewInput) int - DeleteWebhook func(childComplexity int, input gqlmodel.DeleteWebhookInput) int - DeleteWorkspace func(childComplexity int, input gqlmodel.DeleteWorkspaceInput) int - PublishItem func(childComplexity int, input gqlmodel.PublishItemInput) int - PublishModel func(childComplexity int, input gqlmodel.PublishModelInput) int - RegenerateToken func(childComplexity int, input gqlmodel.RegenerateTokenInput) int - RemoveIntegrationFromWorkspace func(childComplexity int, input gqlmodel.RemoveIntegrationFromWorkspaceInput) int - RemoveMyAuth func(childComplexity int, input gqlmodel.RemoveMyAuthInput) int - RemoveUserFromWorkspace func(childComplexity int, input gqlmodel.RemoveUserFromWorkspaceInput) int - UnpublishItem func(childComplexity int, input gqlmodel.UnpublishItemInput) int - UpdateAsset func(childComplexity int, input gqlmodel.UpdateAssetInput) int - UpdateComment func(childComplexity int, input gqlmodel.UpdateCommentInput) int - UpdateField func(childComplexity int, input gqlmodel.UpdateFieldInput) int - UpdateFields func(childComplexity int, input []*gqlmodel.UpdateFieldInput) int - UpdateGroup func(childComplexity int, input gqlmodel.UpdateGroupInput) int - UpdateGroupsOrder func(childComplexity int, input gqlmodel.UpdateGroupsOrderInput) int - UpdateIntegration func(childComplexity int, input gqlmodel.UpdateIntegrationInput) int - UpdateIntegrationOfWorkspace func(childComplexity int, input gqlmodel.UpdateIntegrationOfWorkspaceInput) int - UpdateItem func(childComplexity int, input gqlmodel.UpdateItemInput) int - UpdateMe func(childComplexity int, input gqlmodel.UpdateMeInput) int - UpdateModel func(childComplexity int, input gqlmodel.UpdateModelInput) int - UpdateModelsOrder func(childComplexity int, input gqlmodel.UpdateModelsOrderInput) int - UpdateProject func(childComplexity int, input gqlmodel.UpdateProjectInput) int - UpdateRequest func(childComplexity int, input gqlmodel.UpdateRequestInput) int - UpdateUserOfWorkspace func(childComplexity int, input gqlmodel.UpdateUserOfWorkspaceInput) int - UpdateView func(childComplexity int, input gqlmodel.UpdateViewInput) int - UpdateViewsOrder func(childComplexity int, input gqlmodel.UpdateViewsOrderInput) int - UpdateWebhook func(childComplexity int, input gqlmodel.UpdateWebhookInput) int - UpdateWorkspace func(childComplexity int, input gqlmodel.UpdateWorkspaceInput) int - UpdateWorkspaceSettings func(childComplexity int, input gqlmodel.UpdateWorkspaceSettingsInput) int + AddComment func(childComplexity int, input gqlmodel.AddCommentInput) int + AddIntegrationToWorkspace func(childComplexity int, input gqlmodel.AddIntegrationToWorkspaceInput) int + AddUsersToWorkspace func(childComplexity int, input gqlmodel.AddUsersToWorkspaceInput) int + ApproveRequest func(childComplexity int, input gqlmodel.ApproveRequestInput) int + CreateAsset func(childComplexity int, input gqlmodel.CreateAssetInput) int + CreateAssetUpload func(childComplexity int, input gqlmodel.CreateAssetUploadInput) int + CreateField func(childComplexity int, input gqlmodel.CreateFieldInput) int + CreateGroup func(childComplexity int, input gqlmodel.CreateGroupInput) int + CreateIntegration func(childComplexity int, input gqlmodel.CreateIntegrationInput) int + CreateItem func(childComplexity int, input gqlmodel.CreateItemInput) int + CreateModel func(childComplexity int, input gqlmodel.CreateModelInput) int + CreateProject func(childComplexity int, input gqlmodel.CreateProjectInput) int + CreateRequest func(childComplexity int, input gqlmodel.CreateRequestInput) int + CreateThread func(childComplexity int, input gqlmodel.CreateThreadInput) int + CreateView func(childComplexity int, input gqlmodel.CreateViewInput) int + CreateWebhook func(childComplexity int, input gqlmodel.CreateWebhookInput) int + CreateWorkspace func(childComplexity int, input gqlmodel.CreateWorkspaceInput) int + DecompressAsset func(childComplexity int, input gqlmodel.DecompressAssetInput) int + DeleteAsset func(childComplexity int, input gqlmodel.DeleteAssetInput) int + DeleteComment func(childComplexity int, input gqlmodel.DeleteCommentInput) int + DeleteField func(childComplexity int, input gqlmodel.DeleteFieldInput) int + DeleteGroup func(childComplexity int, input gqlmodel.DeleteGroupInput) int + DeleteIntegration func(childComplexity int, input gqlmodel.DeleteIntegrationInput) int + DeleteItem func(childComplexity int, input gqlmodel.DeleteItemInput) int + DeleteMe func(childComplexity int, input gqlmodel.DeleteMeInput) int + DeleteModel func(childComplexity int, input gqlmodel.DeleteModelInput) int + DeleteProject func(childComplexity int, input gqlmodel.DeleteProjectInput) int + DeleteRequest func(childComplexity int, input gqlmodel.DeleteRequestInput) int + DeleteView func(childComplexity int, input gqlmodel.DeleteViewInput) int + DeleteWebhook func(childComplexity int, input gqlmodel.DeleteWebhookInput) int + DeleteWorkspace func(childComplexity int, input gqlmodel.DeleteWorkspaceInput) int + PublishItem func(childComplexity int, input gqlmodel.PublishItemInput) int + PublishModel func(childComplexity int, input gqlmodel.PublishModelInput) int + RegenerateToken func(childComplexity int, input gqlmodel.RegenerateTokenInput) int + RemoveIntegrationFromWorkspace func(childComplexity int, input gqlmodel.RemoveIntegrationFromWorkspaceInput) int + RemoveMultipleUsersFromWorkspace func(childComplexity int, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) int + RemoveMyAuth func(childComplexity int, input gqlmodel.RemoveMyAuthInput) int + RemoveUserFromWorkspace func(childComplexity int, input gqlmodel.RemoveUserFromWorkspaceInput) int + UnpublishItem func(childComplexity int, input gqlmodel.UnpublishItemInput) int + UpdateAsset func(childComplexity int, input gqlmodel.UpdateAssetInput) int + UpdateComment func(childComplexity int, input gqlmodel.UpdateCommentInput) int + UpdateField func(childComplexity int, input gqlmodel.UpdateFieldInput) int + UpdateFields func(childComplexity int, input []*gqlmodel.UpdateFieldInput) int + UpdateGroup func(childComplexity int, input gqlmodel.UpdateGroupInput) int + UpdateGroupsOrder func(childComplexity int, input gqlmodel.UpdateGroupsOrderInput) int + UpdateIntegration func(childComplexity int, input gqlmodel.UpdateIntegrationInput) int + UpdateIntegrationOfWorkspace func(childComplexity int, input gqlmodel.UpdateIntegrationOfWorkspaceInput) int + UpdateItem func(childComplexity int, input gqlmodel.UpdateItemInput) int + UpdateMe func(childComplexity int, input gqlmodel.UpdateMeInput) int + UpdateModel func(childComplexity int, input gqlmodel.UpdateModelInput) int + UpdateModelsOrder func(childComplexity int, input gqlmodel.UpdateModelsOrderInput) int + UpdateProject func(childComplexity int, input gqlmodel.UpdateProjectInput) int + UpdateRequest func(childComplexity int, input gqlmodel.UpdateRequestInput) int + UpdateUserOfWorkspace func(childComplexity int, input gqlmodel.UpdateUserOfWorkspaceInput) int + UpdateView func(childComplexity int, input gqlmodel.UpdateViewInput) int + UpdateViewsOrder func(childComplexity int, input gqlmodel.UpdateViewsOrderInput) int + UpdateWebhook func(childComplexity int, input gqlmodel.UpdateWebhookInput) int + UpdateWorkspace func(childComplexity int, input gqlmodel.UpdateWorkspaceInput) int + UpdateWorkspaceSettings func(childComplexity int, input gqlmodel.UpdateWorkspaceSettingsInput) int } NullableFieldCondition struct { @@ -567,6 +568,10 @@ type ComplexityRoot struct { Workspace func(childComplexity int) int } + RemoveMultipleMembersFromWorkspacePayload struct { + Workspace func(childComplexity int) int + } + Request struct { ApprovedAt func(childComplexity int) int ClosedAt func(childComplexity int) int @@ -986,6 +991,7 @@ type MutationResolver interface { AddUsersToWorkspace(ctx context.Context, input gqlmodel.AddUsersToWorkspaceInput) (*gqlmodel.AddUsersToWorkspacePayload, error) AddIntegrationToWorkspace(ctx context.Context, input gqlmodel.AddIntegrationToWorkspaceInput) (*gqlmodel.AddUsersToWorkspacePayload, error) RemoveUserFromWorkspace(ctx context.Context, input gqlmodel.RemoveUserFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) + RemoveMultipleUsersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) UpdateUserOfWorkspace(ctx context.Context, input gqlmodel.UpdateUserOfWorkspaceInput) (*gqlmodel.UpdateMemberOfWorkspacePayload, error) UpdateIntegrationOfWorkspace(ctx context.Context, input gqlmodel.UpdateIntegrationOfWorkspaceInput) (*gqlmodel.UpdateMemberOfWorkspacePayload, error) @@ -2781,6 +2787,18 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.Mutation.RemoveIntegrationFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveIntegrationFromWorkspaceInput)), true + case "Mutation.removeMultipleUsersFromWorkspace": + if e.complexity.Mutation.RemoveMultipleUsersFromWorkspace == nil { + break + } + + args, err := ec.field_Mutation_removeMultipleUsersFromWorkspace_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.RemoveMultipleUsersFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveMultipleUsersFromWorkspaceInput)), true + case "Mutation.removeMyAuth": if e.complexity.Mutation.RemoveMyAuth == nil { break @@ -3513,6 +3531,13 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.RemoveMemberFromWorkspacePayload.Workspace(childComplexity), true + case "RemoveMultipleMembersFromWorkspacePayload.workspace": + if e.complexity.RemoveMultipleMembersFromWorkspacePayload.Workspace == nil { + break + } + + return e.complexity.RemoveMultipleMembersFromWorkspacePayload.Workspace(childComplexity), true + case "Request.approvedAt": if e.complexity.Request.ApprovedAt == nil { break @@ -4744,6 +4769,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { ec.unmarshalInputPublishModelInput, ec.unmarshalInputRegenerateTokenInput, ec.unmarshalInputRemoveIntegrationFromWorkspaceInput, + ec.unmarshalInputRemoveMultipleUsersFromWorkspaceInput, ec.unmarshalInputRemoveMyAuthInput, ec.unmarshalInputRemoveUserFromWorkspaceInput, ec.unmarshalInputRequestItemInput, @@ -6384,6 +6410,7 @@ input CreateRequestInput { items: [RequestItemInput!]! } + input UpdateRequestInput { requestId: ID! title: String @@ -6638,6 +6665,11 @@ input RemoveUserFromWorkspaceInput { userId: ID! } +input RemoveMultipleUsersFromWorkspaceInput { + workspaceId: ID! + userIds: [ID!]! +} + input RemoveIntegrationFromWorkspaceInput { workspaceId: ID! integrationId: ID! @@ -6677,6 +6709,10 @@ type RemoveMemberFromWorkspacePayload { workspace: Workspace! } +type RemoveMultipleMembersFromWorkspacePayload { + workspace: Workspace! +} + type UpdateMemberOfWorkspacePayload { workspace: Workspace! } @@ -6692,6 +6728,7 @@ extend type Mutation { addUsersToWorkspace(input: AddUsersToWorkspaceInput!): AddUsersToWorkspacePayload addIntegrationToWorkspace(input: AddIntegrationToWorkspaceInput!): AddUsersToWorkspacePayload removeUserFromWorkspace(input: RemoveUserFromWorkspaceInput!): RemoveMemberFromWorkspacePayload + removeMultipleUsersFromWorkspace(input: RemoveMultipleUsersFromWorkspaceInput!): RemoveMultipleMembersFromWorkspacePayload removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveMemberFromWorkspacePayload updateUserOfWorkspace(input: UpdateUserOfWorkspaceInput!): UpdateMemberOfWorkspacePayload updateIntegrationOfWorkspace(input: UpdateIntegrationOfWorkspaceInput!): UpdateMemberOfWorkspacePayload @@ -7936,6 +7973,38 @@ func (ec *executionContext) field_Mutation_removeIntegrationFromWorkspace_argsIn return zeroVal, nil } +func (ec *executionContext) field_Mutation_removeMultipleUsersFromWorkspace_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + arg0, err := ec.field_Mutation_removeMultipleUsersFromWorkspace_argsInput(ctx, rawArgs) + if err != nil { + return nil, err + } + args["input"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_removeMultipleUsersFromWorkspace_argsInput( + ctx context.Context, + rawArgs map[string]interface{}, +) (gqlmodel.RemoveMultipleUsersFromWorkspaceInput, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["input"] + if !ok { + var zeroVal gqlmodel.RemoveMultipleUsersFromWorkspaceInput + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + if tmp, ok := rawArgs["input"]; ok { + return ec.unmarshalNRemoveMultipleUsersFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleUsersFromWorkspaceInput(ctx, tmp) + } + + var zeroVal gqlmodel.RemoveMultipleUsersFromWorkspaceInput + return zeroVal, nil +} + func (ec *executionContext) field_Mutation_removeMyAuth_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} @@ -22137,6 +22206,62 @@ func (ec *executionContext) fieldContext_Mutation_removeUserFromWorkspace(ctx co return fc, nil } +func (ec *executionContext) _Mutation_removeMultipleUsersFromWorkspace(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_removeMultipleUsersFromWorkspace(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().RemoveMultipleUsersFromWorkspace(rctx, fc.Args["input"].(gqlmodel.RemoveMultipleUsersFromWorkspaceInput)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*gqlmodel.RemoveMultipleMembersFromWorkspacePayload) + fc.Result = res + return ec.marshalORemoveMultipleMembersFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspacePayload(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_removeMultipleUsersFromWorkspace(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "workspace": + return ec.fieldContext_RemoveMultipleMembersFromWorkspacePayload_workspace(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type RemoveMultipleMembersFromWorkspacePayload", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_removeMultipleUsersFromWorkspace_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + func (ec *executionContext) _Mutation_removeIntegrationFromWorkspace(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Mutation_removeIntegrationFromWorkspace(ctx, field) if err != nil { @@ -25356,6 +25481,60 @@ func (ec *executionContext) fieldContext_RemoveMemberFromWorkspacePayload_worksp return fc, nil } +func (ec *executionContext) _RemoveMultipleMembersFromWorkspacePayload_workspace(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.RemoveMultipleMembersFromWorkspacePayload) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_RemoveMultipleMembersFromWorkspacePayload_workspace(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Workspace, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*gqlmodel.Workspace) + fc.Result = res + return ec.marshalNWorkspace2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐWorkspace(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_RemoveMultipleMembersFromWorkspacePayload_workspace(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "RemoveMultipleMembersFromWorkspacePayload", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Workspace_id(ctx, field) + case "name": + return ec.fieldContext_Workspace_name(ctx, field) + case "members": + return ec.fieldContext_Workspace_members(ctx, field) + case "personal": + return ec.fieldContext_Workspace_personal(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Workspace", field.Name) + }, + } + return fc, nil +} + func (ec *executionContext) _Request_id(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.Request) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Request_id(ctx, field) if err != nil { @@ -37687,6 +37866,40 @@ func (ec *executionContext) unmarshalInputRemoveIntegrationFromWorkspaceInput(ct return it, nil } +func (ec *executionContext) unmarshalInputRemoveMultipleUsersFromWorkspaceInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveMultipleUsersFromWorkspaceInput, error) { + var it gqlmodel.RemoveMultipleUsersFromWorkspaceInput + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"workspaceId", "userIds"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "workspaceId": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("workspaceId")) + data, err := ec.unmarshalNID2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐID(ctx, v) + if err != nil { + return it, err + } + it.WorkspaceID = data + case "userIds": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userIds")) + data, err := ec.unmarshalNID2ᚕgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐIDᚄ(ctx, v) + if err != nil { + return it, err + } + it.UserIds = data + } + } + + return it, nil +} + func (ec *executionContext) unmarshalInputRemoveMyAuthInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveMyAuthInput, error) { var it gqlmodel.RemoveMyAuthInput asMap := map[string]interface{}{} @@ -44378,6 +44591,10 @@ func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { return ec._Mutation_removeUserFromWorkspace(ctx, field) }) + case "removeMultipleUsersFromWorkspace": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_removeMultipleUsersFromWorkspace(ctx, field) + }) case "removeIntegrationFromWorkspace": out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { return ec._Mutation_removeIntegrationFromWorkspace(ctx, field) @@ -45484,6 +45701,45 @@ func (ec *executionContext) _RemoveMemberFromWorkspacePayload(ctx context.Contex return out } +var removeMultipleMembersFromWorkspacePayloadImplementors = []string{"RemoveMultipleMembersFromWorkspacePayload"} + +func (ec *executionContext) _RemoveMultipleMembersFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.RemoveMultipleMembersFromWorkspacePayload) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, removeMultipleMembersFromWorkspacePayloadImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("RemoveMultipleMembersFromWorkspacePayload") + case "workspace": + out.Values[i] = ec._RemoveMultipleMembersFromWorkspacePayload_workspace(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + var requestImplementors = []string{"Request", "Node"} func (ec *executionContext) _Request(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.Request) graphql.Marshaler { @@ -50345,6 +50601,11 @@ func (ec *executionContext) unmarshalNRemoveIntegrationFromWorkspaceInput2github return res, graphql.ErrorOnPath(ctx, err) } +func (ec *executionContext) unmarshalNRemoveMultipleUsersFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleUsersFromWorkspaceInput(ctx context.Context, v interface{}) (gqlmodel.RemoveMultipleUsersFromWorkspaceInput, error) { + res, err := ec.unmarshalInputRemoveMultipleUsersFromWorkspaceInput(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + func (ec *executionContext) unmarshalNRemoveMyAuthInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMyAuthInput(ctx context.Context, v interface{}) (gqlmodel.RemoveMyAuthInput, error) { res, err := ec.unmarshalInputRemoveMyAuthInput(ctx, v) return res, graphql.ErrorOnPath(ctx, err) @@ -52525,6 +52786,13 @@ func (ec *executionContext) marshalORemoveMemberFromWorkspacePayload2ᚖgithub return ec._RemoveMemberFromWorkspacePayload(ctx, sel, v) } +func (ec *executionContext) marshalORemoveMultipleMembersFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, v *gqlmodel.RemoveMultipleMembersFromWorkspacePayload) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._RemoveMultipleMembersFromWorkspacePayload(ctx, sel, v) +} + func (ec *executionContext) marshalORequest2ᚕᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRequestᚄ(ctx context.Context, sel ast.SelectionSet, v []*gqlmodel.Request) graphql.Marshaler { if v == nil { return graphql.Null diff --git a/server/internal/adapter/gql/gqlmodel/models_gen.go b/server/internal/adapter/gql/gqlmodel/models_gen.go index c584fef548..0e0aa3c45f 100644 --- a/server/internal/adapter/gql/gqlmodel/models_gen.go +++ b/server/internal/adapter/gql/gqlmodel/models_gen.go @@ -820,6 +820,15 @@ type RemoveMemberFromWorkspacePayload struct { Workspace *Workspace `json:"workspace"` } +type RemoveMultipleMembersFromWorkspacePayload struct { + Workspace *Workspace `json:"workspace"` +} + +type RemoveMultipleUsersFromWorkspaceInput struct { + WorkspaceID ID `json:"workspaceId"` + UserIds []ID `json:"userIds"` +} + type RemoveMyAuthInput struct { Auth string `json:"auth"` } diff --git a/server/internal/adapter/gql/resolver_workspace.go b/server/internal/adapter/gql/resolver_workspace.go index 9770358e6d..a014472b6e 100644 --- a/server/internal/adapter/gql/resolver_workspace.go +++ b/server/internal/adapter/gql/resolver_workspace.go @@ -9,6 +9,7 @@ import ( "github.com/reearth/reearth-cms/server/internal/adapter/gql/gqlmodel" "github.com/reearth/reearth-cms/server/internal/usecase/interfaces" + "github.com/reearth/reearth-cms/server/pkg/id" "github.com/reearth/reearthx/account/accountdomain" "github.com/reearth/reearthx/account/accountdomain/workspace" ) @@ -117,6 +118,30 @@ func (r *mutationResolver) RemoveUserFromWorkspace(ctx context.Context, input gq return &gqlmodel.RemoveMemberFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil } +// RemoveMultipleUsersFromWorkspace is the resolver for the removeMultipleUsersFromWorkspace field. +func (r *mutationResolver) RemoveMultipleUsersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) { + wId, err := gqlmodel.ToID[accountdomain.Workspace](input.WorkspaceID) + if err != nil { + return nil, err + } + + var userIds id.UserIDList + for _, userID := range input.UserIds { + uid, err := gqlmodel.ToID[accountdomain.User](userID) + if err != nil { + return nil, err + } + userIds = append(userIds, uid) + } + + res, err := usecases(ctx).Workspace.RemoveMultipleUserMembers(ctx, wId, userIds, getAcOperator(ctx)) + if err != nil { + return nil, err + } + + return &gqlmodel.RemoveMultipleMembersFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil +} + // RemoveIntegrationFromWorkspace is the resolver for the removeIntegrationFromWorkspace field. func (r *mutationResolver) RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) { wId, iId, err := gqlmodel.ToID2[accountdomain.Workspace, accountdomain.Integration](input.WorkspaceID, input.IntegrationID) diff --git a/server/schemas/workspace.graphql b/server/schemas/workspace.graphql index 1f7b9a8ac5..0ac014b517 100644 --- a/server/schemas/workspace.graphql +++ b/server/schemas/workspace.graphql @@ -64,6 +64,11 @@ input RemoveUserFromWorkspaceInput { userId: ID! } +input RemoveMultipleUsersFromWorkspaceInput { + workspaceId: ID! + userIds: [ID!]! +} + input RemoveIntegrationFromWorkspaceInput { workspaceId: ID! integrationId: ID! @@ -103,6 +108,10 @@ type RemoveMemberFromWorkspacePayload { workspace: Workspace! } +type RemoveMultipleMembersFromWorkspacePayload { + workspace: Workspace! +} + type UpdateMemberOfWorkspacePayload { workspace: Workspace! } @@ -118,6 +127,7 @@ extend type Mutation { addUsersToWorkspace(input: AddUsersToWorkspaceInput!): AddUsersToWorkspacePayload addIntegrationToWorkspace(input: AddIntegrationToWorkspaceInput!): AddUsersToWorkspacePayload removeUserFromWorkspace(input: RemoveUserFromWorkspaceInput!): RemoveMemberFromWorkspacePayload + removeMultipleUsersFromWorkspace(input: RemoveMultipleUsersFromWorkspaceInput!): RemoveMultipleMembersFromWorkspacePayload removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveMemberFromWorkspacePayload updateUserOfWorkspace(input: UpdateUserOfWorkspaceInput!): UpdateMemberOfWorkspacePayload updateIntegrationOfWorkspace(input: UpdateIntegrationOfWorkspaceInput!): UpdateMemberOfWorkspacePayload From c1646aed1de9f7baa6b75a6434172dd9cbfc7060 Mon Sep 17 00:00:00 2001 From: nourbalaha Date: Wed, 23 Oct 2024 16:52:30 +0900 Subject: [PATCH 2/7] comment out RemoveMultipleUsersFromWorkspace --- .../adapter/gql/resolver_workspace.go | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/server/internal/adapter/gql/resolver_workspace.go b/server/internal/adapter/gql/resolver_workspace.go index a014472b6e..fdc49e9e7a 100644 --- a/server/internal/adapter/gql/resolver_workspace.go +++ b/server/internal/adapter/gql/resolver_workspace.go @@ -9,7 +9,6 @@ import ( "github.com/reearth/reearth-cms/server/internal/adapter/gql/gqlmodel" "github.com/reearth/reearth-cms/server/internal/usecase/interfaces" - "github.com/reearth/reearth-cms/server/pkg/id" "github.com/reearth/reearthx/account/accountdomain" "github.com/reearth/reearthx/account/accountdomain/workspace" ) @@ -120,26 +119,27 @@ func (r *mutationResolver) RemoveUserFromWorkspace(ctx context.Context, input gq // RemoveMultipleUsersFromWorkspace is the resolver for the removeMultipleUsersFromWorkspace field. func (r *mutationResolver) RemoveMultipleUsersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) { - wId, err := gqlmodel.ToID[accountdomain.Workspace](input.WorkspaceID) - if err != nil { - return nil, err - } - - var userIds id.UserIDList - for _, userID := range input.UserIds { - uid, err := gqlmodel.ToID[accountdomain.User](userID) - if err != nil { - return nil, err - } - userIds = append(userIds, uid) - } - - res, err := usecases(ctx).Workspace.RemoveMultipleUserMembers(ctx, wId, userIds, getAcOperator(ctx)) - if err != nil { - return nil, err - } - - return &gqlmodel.RemoveMultipleMembersFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil + panic("not implemented") + // wId, err := gqlmodel.ToID[accountdomain.Workspace](input.WorkspaceID) + // if err != nil { + // return nil, err + // } + + // var userIds id.UserIDList + // for _, userID := range input.UserIds { + // uid, err := gqlmodel.ToID[accountdomain.User](userID) + // if err != nil { + // return nil, err + // } + // userIds = append(userIds, uid) + // } + + // res, err := usecases(ctx).Workspace.RemoveMultipleUserMembers(ctx, wId, userIds, getAcOperator(ctx)) + // if err != nil { + // return nil, err + // } + + // return &gqlmodel.RemoveMultipleMembersFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil } // RemoveIntegrationFromWorkspace is the resolver for the removeIntegrationFromWorkspace field. From 2a130e7fa294e6175dd7bd9071937faa77ac6dc5 Mon Sep 17 00:00:00 2001 From: nourbalaha Date: Wed, 23 Oct 2024 17:05:26 +0900 Subject: [PATCH 3/7] update reearthx to latest --- server/go.mod | 2 +- server/go.sum | 2 + .../adapter/gql/resolver_workspace.go | 42 +++++++++---------- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/server/go.mod b/server/go.mod index 4eed4501c4..2e65122664 100644 --- a/server/go.mod +++ b/server/go.mod @@ -27,7 +27,7 @@ require ( github.com/oapi-codegen/runtime v1.1.1 github.com/paulmach/go.geojson v1.5.0 github.com/ravilushqa/otelgqlgen v0.17.0 - github.com/reearth/reearthx v0.0.0-20240308140749-72a08570c19b + github.com/reearth/reearthx v0.0.0-20241023075926-e29bdd6c4ae3 github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68 github.com/samber/lo v1.47.0 github.com/sendgrid/sendgrid-go v3.16.0+incompatible diff --git a/server/go.sum b/server/go.sum index 068375a715..dbf279cbb5 100644 --- a/server/go.sum +++ b/server/go.sum @@ -349,6 +349,8 @@ github.com/ravilushqa/otelgqlgen v0.17.0 h1:bLwQfKqtj9P24QpjM2sc1ipBm5Fqv2u7DKN5 github.com/ravilushqa/otelgqlgen v0.17.0/go.mod h1:orOIikuYsay1y3CmLgd5gsHcT9EsnXwNKmkAplzzYXQ= github.com/reearth/reearthx v0.0.0-20240308140749-72a08570c19b h1:wfTQ4SazfN9hYe13PqwnwB/E3Tw9+f99Y97iQRqOjso= github.com/reearth/reearthx v0.0.0-20240308140749-72a08570c19b/go.mod h1:d1WXkdCVzSoc8pl3vW9/9yKfk4fdoZQZhX8Ot8jqgnc= +github.com/reearth/reearthx v0.0.0-20241023075926-e29bdd6c4ae3 h1:aFm6QNDFs08EKlrWJN9IBqdxlDUuCBIIgBIcPkLHOZY= +github.com/reearth/reearthx v0.0.0-20241023075926-e29bdd6c4ae3/go.mod h1:d1WXkdCVzSoc8pl3vW9/9yKfk4fdoZQZhX8Ot8jqgnc= github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68 h1:Jknsfy5cqCH6qAuoU1qNZ51hfBJfMSJYwsH9j9mdVnw= github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68/go.mod h1:9CDhL7uDVy8vEVDNPJzxq89dPaPBWP6hxQcC8woBHus= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= diff --git a/server/internal/adapter/gql/resolver_workspace.go b/server/internal/adapter/gql/resolver_workspace.go index fdc49e9e7a..a014472b6e 100644 --- a/server/internal/adapter/gql/resolver_workspace.go +++ b/server/internal/adapter/gql/resolver_workspace.go @@ -9,6 +9,7 @@ import ( "github.com/reearth/reearth-cms/server/internal/adapter/gql/gqlmodel" "github.com/reearth/reearth-cms/server/internal/usecase/interfaces" + "github.com/reearth/reearth-cms/server/pkg/id" "github.com/reearth/reearthx/account/accountdomain" "github.com/reearth/reearthx/account/accountdomain/workspace" ) @@ -119,27 +120,26 @@ func (r *mutationResolver) RemoveUserFromWorkspace(ctx context.Context, input gq // RemoveMultipleUsersFromWorkspace is the resolver for the removeMultipleUsersFromWorkspace field. func (r *mutationResolver) RemoveMultipleUsersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) { - panic("not implemented") - // wId, err := gqlmodel.ToID[accountdomain.Workspace](input.WorkspaceID) - // if err != nil { - // return nil, err - // } - - // var userIds id.UserIDList - // for _, userID := range input.UserIds { - // uid, err := gqlmodel.ToID[accountdomain.User](userID) - // if err != nil { - // return nil, err - // } - // userIds = append(userIds, uid) - // } - - // res, err := usecases(ctx).Workspace.RemoveMultipleUserMembers(ctx, wId, userIds, getAcOperator(ctx)) - // if err != nil { - // return nil, err - // } - - // return &gqlmodel.RemoveMultipleMembersFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil + wId, err := gqlmodel.ToID[accountdomain.Workspace](input.WorkspaceID) + if err != nil { + return nil, err + } + + var userIds id.UserIDList + for _, userID := range input.UserIds { + uid, err := gqlmodel.ToID[accountdomain.User](userID) + if err != nil { + return nil, err + } + userIds = append(userIds, uid) + } + + res, err := usecases(ctx).Workspace.RemoveMultipleUserMembers(ctx, wId, userIds, getAcOperator(ctx)) + if err != nil { + return nil, err + } + + return &gqlmodel.RemoveMultipleMembersFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil } // RemoveIntegrationFromWorkspace is the resolver for the removeIntegrationFromWorkspace field. From 91e9770cd447067b8d89bc0f856cf3465ff4c0ff Mon Sep 17 00:00:00 2001 From: nourbalaha Date: Wed, 23 Oct 2024 17:53:17 +0900 Subject: [PATCH 4/7] go mod tidy --- server/go.sum | 2 -- 1 file changed, 2 deletions(-) diff --git a/server/go.sum b/server/go.sum index dbf279cbb5..f4d79bf84e 100644 --- a/server/go.sum +++ b/server/go.sum @@ -347,8 +347,6 @@ github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSg github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/ravilushqa/otelgqlgen v0.17.0 h1:bLwQfKqtj9P24QpjM2sc1ipBm5Fqv2u7DKN5LIpj3g8= github.com/ravilushqa/otelgqlgen v0.17.0/go.mod h1:orOIikuYsay1y3CmLgd5gsHcT9EsnXwNKmkAplzzYXQ= -github.com/reearth/reearthx v0.0.0-20240308140749-72a08570c19b h1:wfTQ4SazfN9hYe13PqwnwB/E3Tw9+f99Y97iQRqOjso= -github.com/reearth/reearthx v0.0.0-20240308140749-72a08570c19b/go.mod h1:d1WXkdCVzSoc8pl3vW9/9yKfk4fdoZQZhX8Ot8jqgnc= github.com/reearth/reearthx v0.0.0-20241023075926-e29bdd6c4ae3 h1:aFm6QNDFs08EKlrWJN9IBqdxlDUuCBIIgBIcPkLHOZY= github.com/reearth/reearthx v0.0.0-20241023075926-e29bdd6c4ae3/go.mod h1:d1WXkdCVzSoc8pl3vW9/9yKfk4fdoZQZhX8Ot8jqgnc= github.com/robbiet480/go.sns v0.0.0-20230523235941-e8d832c79d68 h1:Jknsfy5cqCH6qAuoU1qNZ51hfBJfMSJYwsH9j9mdVnw= From d8568a83a530418237b9073487253a342cbfaadb Mon Sep 17 00:00:00 2001 From: nourbalaha Date: Wed, 23 Oct 2024 18:07:51 +0900 Subject: [PATCH 5/7] refactor --- server/internal/adapter/gql/resolver_workspace.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/server/internal/adapter/gql/resolver_workspace.go b/server/internal/adapter/gql/resolver_workspace.go index a014472b6e..34e583e2f0 100644 --- a/server/internal/adapter/gql/resolver_workspace.go +++ b/server/internal/adapter/gql/resolver_workspace.go @@ -9,9 +9,9 @@ import ( "github.com/reearth/reearth-cms/server/internal/adapter/gql/gqlmodel" "github.com/reearth/reearth-cms/server/internal/usecase/interfaces" - "github.com/reearth/reearth-cms/server/pkg/id" "github.com/reearth/reearthx/account/accountdomain" "github.com/reearth/reearthx/account/accountdomain/workspace" + "github.com/reearth/reearthx/util" ) // CreateWorkspace is the resolver for the createWorkspace field. @@ -125,13 +125,9 @@ func (r *mutationResolver) RemoveMultipleUsersFromWorkspace(ctx context.Context, return nil, err } - var userIds id.UserIDList - for _, userID := range input.UserIds { - uid, err := gqlmodel.ToID[accountdomain.User](userID) - if err != nil { - return nil, err - } - userIds = append(userIds, uid) + userIds, err := util.TryMap(input.UserIds, gqlmodel.ToID[accountdomain.User]) + if err != nil { + return nil, err } res, err := usecases(ctx).Workspace.RemoveMultipleUserMembers(ctx, wId, userIds, getAcOperator(ctx)) From 7c54731c2d9c8a0dc69de913e4fde067968cc503 Mon Sep 17 00:00:00 2001 From: nourbalaha Date: Wed, 23 Oct 2024 18:48:31 +0900 Subject: [PATCH 6/7] remove removeUserFromWorkspace + refactor --- server/internal/adapter/gql/generated.go | 364 +++++------------- .../adapter/gql/gqlmodel/models_gen.go | 17 +- .../adapter/gql/resolver_workspace.go | 21 +- server/schemas/workspace.graphql | 14 +- 4 files changed, 119 insertions(+), 297 deletions(-) diff --git a/server/internal/adapter/gql/generated.go b/server/internal/adapter/gql/generated.go index 5d3fe14d83..3bb07ad41f 100644 --- a/server/internal/adapter/gql/generated.go +++ b/server/internal/adapter/gql/generated.go @@ -412,65 +412,64 @@ type ComplexityRoot struct { } Mutation struct { - AddComment func(childComplexity int, input gqlmodel.AddCommentInput) int - AddIntegrationToWorkspace func(childComplexity int, input gqlmodel.AddIntegrationToWorkspaceInput) int - AddUsersToWorkspace func(childComplexity int, input gqlmodel.AddUsersToWorkspaceInput) int - ApproveRequest func(childComplexity int, input gqlmodel.ApproveRequestInput) int - CreateAsset func(childComplexity int, input gqlmodel.CreateAssetInput) int - CreateAssetUpload func(childComplexity int, input gqlmodel.CreateAssetUploadInput) int - CreateField func(childComplexity int, input gqlmodel.CreateFieldInput) int - CreateGroup func(childComplexity int, input gqlmodel.CreateGroupInput) int - CreateIntegration func(childComplexity int, input gqlmodel.CreateIntegrationInput) int - CreateItem func(childComplexity int, input gqlmodel.CreateItemInput) int - CreateModel func(childComplexity int, input gqlmodel.CreateModelInput) int - CreateProject func(childComplexity int, input gqlmodel.CreateProjectInput) int - CreateRequest func(childComplexity int, input gqlmodel.CreateRequestInput) int - CreateThread func(childComplexity int, input gqlmodel.CreateThreadInput) int - CreateView func(childComplexity int, input gqlmodel.CreateViewInput) int - CreateWebhook func(childComplexity int, input gqlmodel.CreateWebhookInput) int - CreateWorkspace func(childComplexity int, input gqlmodel.CreateWorkspaceInput) int - DecompressAsset func(childComplexity int, input gqlmodel.DecompressAssetInput) int - DeleteAsset func(childComplexity int, input gqlmodel.DeleteAssetInput) int - DeleteComment func(childComplexity int, input gqlmodel.DeleteCommentInput) int - DeleteField func(childComplexity int, input gqlmodel.DeleteFieldInput) int - DeleteGroup func(childComplexity int, input gqlmodel.DeleteGroupInput) int - DeleteIntegration func(childComplexity int, input gqlmodel.DeleteIntegrationInput) int - DeleteItem func(childComplexity int, input gqlmodel.DeleteItemInput) int - DeleteMe func(childComplexity int, input gqlmodel.DeleteMeInput) int - DeleteModel func(childComplexity int, input gqlmodel.DeleteModelInput) int - DeleteProject func(childComplexity int, input gqlmodel.DeleteProjectInput) int - DeleteRequest func(childComplexity int, input gqlmodel.DeleteRequestInput) int - DeleteView func(childComplexity int, input gqlmodel.DeleteViewInput) int - DeleteWebhook func(childComplexity int, input gqlmodel.DeleteWebhookInput) int - DeleteWorkspace func(childComplexity int, input gqlmodel.DeleteWorkspaceInput) int - PublishItem func(childComplexity int, input gqlmodel.PublishItemInput) int - PublishModel func(childComplexity int, input gqlmodel.PublishModelInput) int - RegenerateToken func(childComplexity int, input gqlmodel.RegenerateTokenInput) int - RemoveIntegrationFromWorkspace func(childComplexity int, input gqlmodel.RemoveIntegrationFromWorkspaceInput) int - RemoveMultipleUsersFromWorkspace func(childComplexity int, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) int - RemoveMyAuth func(childComplexity int, input gqlmodel.RemoveMyAuthInput) int - RemoveUserFromWorkspace func(childComplexity int, input gqlmodel.RemoveUserFromWorkspaceInput) int - UnpublishItem func(childComplexity int, input gqlmodel.UnpublishItemInput) int - UpdateAsset func(childComplexity int, input gqlmodel.UpdateAssetInput) int - UpdateComment func(childComplexity int, input gqlmodel.UpdateCommentInput) int - UpdateField func(childComplexity int, input gqlmodel.UpdateFieldInput) int - UpdateFields func(childComplexity int, input []*gqlmodel.UpdateFieldInput) int - UpdateGroup func(childComplexity int, input gqlmodel.UpdateGroupInput) int - UpdateGroupsOrder func(childComplexity int, input gqlmodel.UpdateGroupsOrderInput) int - UpdateIntegration func(childComplexity int, input gqlmodel.UpdateIntegrationInput) int - UpdateIntegrationOfWorkspace func(childComplexity int, input gqlmodel.UpdateIntegrationOfWorkspaceInput) int - UpdateItem func(childComplexity int, input gqlmodel.UpdateItemInput) int - UpdateMe func(childComplexity int, input gqlmodel.UpdateMeInput) int - UpdateModel func(childComplexity int, input gqlmodel.UpdateModelInput) int - UpdateModelsOrder func(childComplexity int, input gqlmodel.UpdateModelsOrderInput) int - UpdateProject func(childComplexity int, input gqlmodel.UpdateProjectInput) int - UpdateRequest func(childComplexity int, input gqlmodel.UpdateRequestInput) int - UpdateUserOfWorkspace func(childComplexity int, input gqlmodel.UpdateUserOfWorkspaceInput) int - UpdateView func(childComplexity int, input gqlmodel.UpdateViewInput) int - UpdateViewsOrder func(childComplexity int, input gqlmodel.UpdateViewsOrderInput) int - UpdateWebhook func(childComplexity int, input gqlmodel.UpdateWebhookInput) int - UpdateWorkspace func(childComplexity int, input gqlmodel.UpdateWorkspaceInput) int - UpdateWorkspaceSettings func(childComplexity int, input gqlmodel.UpdateWorkspaceSettingsInput) int + AddComment func(childComplexity int, input gqlmodel.AddCommentInput) int + AddIntegrationToWorkspace func(childComplexity int, input gqlmodel.AddIntegrationToWorkspaceInput) int + AddUsersToWorkspace func(childComplexity int, input gqlmodel.AddUsersToWorkspaceInput) int + ApproveRequest func(childComplexity int, input gqlmodel.ApproveRequestInput) int + CreateAsset func(childComplexity int, input gqlmodel.CreateAssetInput) int + CreateAssetUpload func(childComplexity int, input gqlmodel.CreateAssetUploadInput) int + CreateField func(childComplexity int, input gqlmodel.CreateFieldInput) int + CreateGroup func(childComplexity int, input gqlmodel.CreateGroupInput) int + CreateIntegration func(childComplexity int, input gqlmodel.CreateIntegrationInput) int + CreateItem func(childComplexity int, input gqlmodel.CreateItemInput) int + CreateModel func(childComplexity int, input gqlmodel.CreateModelInput) int + CreateProject func(childComplexity int, input gqlmodel.CreateProjectInput) int + CreateRequest func(childComplexity int, input gqlmodel.CreateRequestInput) int + CreateThread func(childComplexity int, input gqlmodel.CreateThreadInput) int + CreateView func(childComplexity int, input gqlmodel.CreateViewInput) int + CreateWebhook func(childComplexity int, input gqlmodel.CreateWebhookInput) int + CreateWorkspace func(childComplexity int, input gqlmodel.CreateWorkspaceInput) int + DecompressAsset func(childComplexity int, input gqlmodel.DecompressAssetInput) int + DeleteAsset func(childComplexity int, input gqlmodel.DeleteAssetInput) int + DeleteComment func(childComplexity int, input gqlmodel.DeleteCommentInput) int + DeleteField func(childComplexity int, input gqlmodel.DeleteFieldInput) int + DeleteGroup func(childComplexity int, input gqlmodel.DeleteGroupInput) int + DeleteIntegration func(childComplexity int, input gqlmodel.DeleteIntegrationInput) int + DeleteItem func(childComplexity int, input gqlmodel.DeleteItemInput) int + DeleteMe func(childComplexity int, input gqlmodel.DeleteMeInput) int + DeleteModel func(childComplexity int, input gqlmodel.DeleteModelInput) int + DeleteProject func(childComplexity int, input gqlmodel.DeleteProjectInput) int + DeleteRequest func(childComplexity int, input gqlmodel.DeleteRequestInput) int + DeleteView func(childComplexity int, input gqlmodel.DeleteViewInput) int + DeleteWebhook func(childComplexity int, input gqlmodel.DeleteWebhookInput) int + DeleteWorkspace func(childComplexity int, input gqlmodel.DeleteWorkspaceInput) int + PublishItem func(childComplexity int, input gqlmodel.PublishItemInput) int + PublishModel func(childComplexity int, input gqlmodel.PublishModelInput) int + RegenerateToken func(childComplexity int, input gqlmodel.RegenerateTokenInput) int + RemoveIntegrationFromWorkspace func(childComplexity int, input gqlmodel.RemoveIntegrationFromWorkspaceInput) int + RemoveMultipleMembersFromWorkspace func(childComplexity int, input gqlmodel.RemoveMultipleMembersFromWorkspaceInput) int + RemoveMyAuth func(childComplexity int, input gqlmodel.RemoveMyAuthInput) int + UnpublishItem func(childComplexity int, input gqlmodel.UnpublishItemInput) int + UpdateAsset func(childComplexity int, input gqlmodel.UpdateAssetInput) int + UpdateComment func(childComplexity int, input gqlmodel.UpdateCommentInput) int + UpdateField func(childComplexity int, input gqlmodel.UpdateFieldInput) int + UpdateFields func(childComplexity int, input []*gqlmodel.UpdateFieldInput) int + UpdateGroup func(childComplexity int, input gqlmodel.UpdateGroupInput) int + UpdateGroupsOrder func(childComplexity int, input gqlmodel.UpdateGroupsOrderInput) int + UpdateIntegration func(childComplexity int, input gqlmodel.UpdateIntegrationInput) int + UpdateIntegrationOfWorkspace func(childComplexity int, input gqlmodel.UpdateIntegrationOfWorkspaceInput) int + UpdateItem func(childComplexity int, input gqlmodel.UpdateItemInput) int + UpdateMe func(childComplexity int, input gqlmodel.UpdateMeInput) int + UpdateModel func(childComplexity int, input gqlmodel.UpdateModelInput) int + UpdateModelsOrder func(childComplexity int, input gqlmodel.UpdateModelsOrderInput) int + UpdateProject func(childComplexity int, input gqlmodel.UpdateProjectInput) int + UpdateRequest func(childComplexity int, input gqlmodel.UpdateRequestInput) int + UpdateUserOfWorkspace func(childComplexity int, input gqlmodel.UpdateUserOfWorkspaceInput) int + UpdateView func(childComplexity int, input gqlmodel.UpdateViewInput) int + UpdateViewsOrder func(childComplexity int, input gqlmodel.UpdateViewsOrderInput) int + UpdateWebhook func(childComplexity int, input gqlmodel.UpdateWebhookInput) int + UpdateWorkspace func(childComplexity int, input gqlmodel.UpdateWorkspaceInput) int + UpdateWorkspaceSettings func(childComplexity int, input gqlmodel.UpdateWorkspaceSettingsInput) int } NullableFieldCondition struct { @@ -564,7 +563,7 @@ type ComplexityRoot struct { View func(childComplexity int, modelID gqlmodel.ID) int } - RemoveMemberFromWorkspacePayload struct { + RemoveIntegrationFromWorkspacePayload struct { Workspace func(childComplexity int) int } @@ -996,9 +995,8 @@ type MutationResolver interface { UpdateWorkspace(ctx context.Context, input gqlmodel.UpdateWorkspaceInput) (*gqlmodel.UpdateWorkspacePayload, error) AddUsersToWorkspace(ctx context.Context, input gqlmodel.AddUsersToWorkspaceInput) (*gqlmodel.AddUsersToWorkspacePayload, error) AddIntegrationToWorkspace(ctx context.Context, input gqlmodel.AddIntegrationToWorkspaceInput) (*gqlmodel.AddUsersToWorkspacePayload, error) - RemoveUserFromWorkspace(ctx context.Context, input gqlmodel.RemoveUserFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) - RemoveMultipleUsersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) - RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) + RemoveMultipleMembersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleMembersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) + RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveIntegrationFromWorkspacePayload, error) UpdateUserOfWorkspace(ctx context.Context, input gqlmodel.UpdateUserOfWorkspaceInput) (*gqlmodel.UpdateMemberOfWorkspacePayload, error) UpdateIntegrationOfWorkspace(ctx context.Context, input gqlmodel.UpdateIntegrationOfWorkspaceInput) (*gqlmodel.UpdateMemberOfWorkspacePayload, error) UpdateWorkspaceSettings(ctx context.Context, input gqlmodel.UpdateWorkspaceSettingsInput) (*gqlmodel.UpdateWorkspaceSettingsPayload, error) @@ -2793,17 +2791,17 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.Mutation.RemoveIntegrationFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveIntegrationFromWorkspaceInput)), true - case "Mutation.removeMultipleUsersFromWorkspace": - if e.complexity.Mutation.RemoveMultipleUsersFromWorkspace == nil { + case "Mutation.removeMultipleMembersFromWorkspace": + if e.complexity.Mutation.RemoveMultipleMembersFromWorkspace == nil { break } - args, err := ec.field_Mutation_removeMultipleUsersFromWorkspace_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_removeMultipleMembersFromWorkspace_args(context.TODO(), rawArgs) if err != nil { return 0, false } - return e.complexity.Mutation.RemoveMultipleUsersFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveMultipleUsersFromWorkspaceInput)), true + return e.complexity.Mutation.RemoveMultipleMembersFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveMultipleMembersFromWorkspaceInput)), true case "Mutation.removeMyAuth": if e.complexity.Mutation.RemoveMyAuth == nil { @@ -2817,18 +2815,6 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.Mutation.RemoveMyAuth(childComplexity, args["input"].(gqlmodel.RemoveMyAuthInput)), true - case "Mutation.removeUserFromWorkspace": - if e.complexity.Mutation.RemoveUserFromWorkspace == nil { - break - } - - args, err := ec.field_Mutation_removeUserFromWorkspace_args(context.TODO(), rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.RemoveUserFromWorkspace(childComplexity, args["input"].(gqlmodel.RemoveUserFromWorkspaceInput)), true - case "Mutation.unpublishItem": if e.complexity.Mutation.UnpublishItem == nil { break @@ -3530,12 +3516,12 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in return e.complexity.Query.View(childComplexity, args["modelId"].(gqlmodel.ID)), true - case "RemoveMemberFromWorkspacePayload.workspace": - if e.complexity.RemoveMemberFromWorkspacePayload.Workspace == nil { + case "RemoveIntegrationFromWorkspacePayload.workspace": + if e.complexity.RemoveIntegrationFromWorkspacePayload.Workspace == nil { break } - return e.complexity.RemoveMemberFromWorkspacePayload.Workspace(childComplexity), true + return e.complexity.RemoveIntegrationFromWorkspacePayload.Workspace(childComplexity), true case "RemoveMultipleMembersFromWorkspacePayload.workspace": if e.complexity.RemoveMultipleMembersFromWorkspacePayload.Workspace == nil { @@ -4796,9 +4782,8 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { ec.unmarshalInputPublishModelInput, ec.unmarshalInputRegenerateTokenInput, ec.unmarshalInputRemoveIntegrationFromWorkspaceInput, - ec.unmarshalInputRemoveMultipleUsersFromWorkspaceInput, + ec.unmarshalInputRemoveMultipleMembersFromWorkspaceInput, ec.unmarshalInputRemoveMyAuthInput, - ec.unmarshalInputRemoveUserFromWorkspaceInput, ec.unmarshalInputRequestItemInput, ec.unmarshalInputResourceInput, ec.unmarshalInputResourcesListInput, @@ -6703,12 +6688,7 @@ input AddIntegrationToWorkspaceInput { role: Role! } -input RemoveUserFromWorkspaceInput { - workspaceId: ID! - userId: ID! -} - -input RemoveMultipleUsersFromWorkspaceInput { +input RemoveMultipleMembersFromWorkspaceInput { workspaceId: ID! userIds: [ID!]! } @@ -6748,7 +6728,7 @@ type AddUsersToWorkspacePayload { workspace: Workspace! } -type RemoveMemberFromWorkspacePayload { +type RemoveIntegrationFromWorkspacePayload { workspace: Workspace! } @@ -6770,9 +6750,8 @@ extend type Mutation { updateWorkspace(input: UpdateWorkspaceInput!): UpdateWorkspacePayload addUsersToWorkspace(input: AddUsersToWorkspaceInput!): AddUsersToWorkspacePayload addIntegrationToWorkspace(input: AddIntegrationToWorkspaceInput!): AddUsersToWorkspacePayload - removeUserFromWorkspace(input: RemoveUserFromWorkspaceInput!): RemoveMemberFromWorkspacePayload - removeMultipleUsersFromWorkspace(input: RemoveMultipleUsersFromWorkspaceInput!): RemoveMultipleMembersFromWorkspacePayload - removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveMemberFromWorkspacePayload + removeMultipleMembersFromWorkspace(input: RemoveMultipleMembersFromWorkspaceInput!): RemoveMultipleMembersFromWorkspacePayload + removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveIntegrationFromWorkspacePayload updateUserOfWorkspace(input: UpdateUserOfWorkspaceInput!): UpdateMemberOfWorkspacePayload updateIntegrationOfWorkspace(input: UpdateIntegrationOfWorkspaceInput!): UpdateMemberOfWorkspacePayload } @@ -8016,35 +7995,35 @@ func (ec *executionContext) field_Mutation_removeIntegrationFromWorkspace_argsIn return zeroVal, nil } -func (ec *executionContext) field_Mutation_removeMultipleUsersFromWorkspace_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_removeMultipleMembersFromWorkspace_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - arg0, err := ec.field_Mutation_removeMultipleUsersFromWorkspace_argsInput(ctx, rawArgs) + arg0, err := ec.field_Mutation_removeMultipleMembersFromWorkspace_argsInput(ctx, rawArgs) if err != nil { return nil, err } args["input"] = arg0 return args, nil } -func (ec *executionContext) field_Mutation_removeMultipleUsersFromWorkspace_argsInput( +func (ec *executionContext) field_Mutation_removeMultipleMembersFromWorkspace_argsInput( ctx context.Context, rawArgs map[string]interface{}, -) (gqlmodel.RemoveMultipleUsersFromWorkspaceInput, error) { +) (gqlmodel.RemoveMultipleMembersFromWorkspaceInput, error) { // We won't call the directive if the argument is null. // Set call_argument_directives_with_null to true to call directives // even if the argument is null. _, ok := rawArgs["input"] if !ok { - var zeroVal gqlmodel.RemoveMultipleUsersFromWorkspaceInput + var zeroVal gqlmodel.RemoveMultipleMembersFromWorkspaceInput return zeroVal, nil } ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNRemoveMultipleUsersFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleUsersFromWorkspaceInput(ctx, tmp) + return ec.unmarshalNRemoveMultipleMembersFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspaceInput(ctx, tmp) } - var zeroVal gqlmodel.RemoveMultipleUsersFromWorkspaceInput + var zeroVal gqlmodel.RemoveMultipleMembersFromWorkspaceInput return zeroVal, nil } @@ -8080,38 +8059,6 @@ func (ec *executionContext) field_Mutation_removeMyAuth_argsInput( return zeroVal, nil } -func (ec *executionContext) field_Mutation_removeUserFromWorkspace_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - arg0, err := ec.field_Mutation_removeUserFromWorkspace_argsInput(ctx, rawArgs) - if err != nil { - return nil, err - } - args["input"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_removeUserFromWorkspace_argsInput( - ctx context.Context, - rawArgs map[string]interface{}, -) (gqlmodel.RemoveUserFromWorkspaceInput, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["input"] - if !ok { - var zeroVal gqlmodel.RemoveUserFromWorkspaceInput - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNRemoveUserFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveUserFromWorkspaceInput(ctx, tmp) - } - - var zeroVal gqlmodel.RemoveUserFromWorkspaceInput - return zeroVal, nil -} - func (ec *executionContext) field_Mutation_unpublishItem_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} @@ -22193,64 +22140,8 @@ func (ec *executionContext) fieldContext_Mutation_addIntegrationToWorkspace(ctx return fc, nil } -func (ec *executionContext) _Mutation_removeUserFromWorkspace(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_removeUserFromWorkspace(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().RemoveUserFromWorkspace(rctx, fc.Args["input"].(gqlmodel.RemoveUserFromWorkspaceInput)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*gqlmodel.RemoveMemberFromWorkspacePayload) - fc.Result = res - return ec.marshalORemoveMemberFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMemberFromWorkspacePayload(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_removeUserFromWorkspace(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "workspace": - return ec.fieldContext_RemoveMemberFromWorkspacePayload_workspace(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type RemoveMemberFromWorkspacePayload", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_removeUserFromWorkspace_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_removeMultipleUsersFromWorkspace(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_removeMultipleUsersFromWorkspace(ctx, field) +func (ec *executionContext) _Mutation_removeMultipleMembersFromWorkspace(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_removeMultipleMembersFromWorkspace(ctx, field) if err != nil { return graphql.Null } @@ -22263,7 +22154,7 @@ func (ec *executionContext) _Mutation_removeMultipleUsersFromWorkspace(ctx conte }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().RemoveMultipleUsersFromWorkspace(rctx, fc.Args["input"].(gqlmodel.RemoveMultipleUsersFromWorkspaceInput)) + return ec.resolvers.Mutation().RemoveMultipleMembersFromWorkspace(rctx, fc.Args["input"].(gqlmodel.RemoveMultipleMembersFromWorkspaceInput)) }) if err != nil { ec.Error(ctx, err) @@ -22277,7 +22168,7 @@ func (ec *executionContext) _Mutation_removeMultipleUsersFromWorkspace(ctx conte return ec.marshalORemoveMultipleMembersFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspacePayload(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_Mutation_removeMultipleUsersFromWorkspace(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_Mutation_removeMultipleMembersFromWorkspace(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "Mutation", Field: field, @@ -22298,7 +22189,7 @@ func (ec *executionContext) fieldContext_Mutation_removeMultipleUsersFromWorkspa } }() ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_removeMultipleUsersFromWorkspace_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + if fc.Args, err = ec.field_Mutation_removeMultipleMembersFromWorkspace_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { ec.Error(ctx, err) return fc, err } @@ -22328,9 +22219,9 @@ func (ec *executionContext) _Mutation_removeIntegrationFromWorkspace(ctx context if resTmp == nil { return graphql.Null } - res := resTmp.(*gqlmodel.RemoveMemberFromWorkspacePayload) + res := resTmp.(*gqlmodel.RemoveIntegrationFromWorkspacePayload) fc.Result = res - return ec.marshalORemoveMemberFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMemberFromWorkspacePayload(ctx, field.Selections, res) + return ec.marshalORemoveIntegrationFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveIntegrationFromWorkspacePayload(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_Mutation_removeIntegrationFromWorkspace(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -22342,9 +22233,9 @@ func (ec *executionContext) fieldContext_Mutation_removeIntegrationFromWorkspace Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { switch field.Name { case "workspace": - return ec.fieldContext_RemoveMemberFromWorkspacePayload_workspace(ctx, field) + return ec.fieldContext_RemoveIntegrationFromWorkspacePayload_workspace(ctx, field) } - return nil, fmt.Errorf("no field named %q was found under type RemoveMemberFromWorkspacePayload", field.Name) + return nil, fmt.Errorf("no field named %q was found under type RemoveIntegrationFromWorkspacePayload", field.Name) }, } defer func() { @@ -25470,8 +25361,8 @@ func (ec *executionContext) fieldContext_Query___schema(_ context.Context, field return fc, nil } -func (ec *executionContext) _RemoveMemberFromWorkspacePayload_workspace(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.RemoveMemberFromWorkspacePayload) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_RemoveMemberFromWorkspacePayload_workspace(ctx, field) +func (ec *executionContext) _RemoveIntegrationFromWorkspacePayload_workspace(ctx context.Context, field graphql.CollectedField, obj *gqlmodel.RemoveIntegrationFromWorkspacePayload) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_RemoveIntegrationFromWorkspacePayload_workspace(ctx, field) if err != nil { return graphql.Null } @@ -25501,9 +25392,9 @@ func (ec *executionContext) _RemoveMemberFromWorkspacePayload_workspace(ctx cont return ec.marshalNWorkspace2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐWorkspace(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_RemoveMemberFromWorkspacePayload_workspace(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_RemoveIntegrationFromWorkspacePayload_workspace(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ - Object: "RemoveMemberFromWorkspacePayload", + Object: "RemoveIntegrationFromWorkspacePayload", Field: field, IsMethod: false, IsResolver: false, @@ -38032,8 +37923,8 @@ func (ec *executionContext) unmarshalInputRemoveIntegrationFromWorkspaceInput(ct return it, nil } -func (ec *executionContext) unmarshalInputRemoveMultipleUsersFromWorkspaceInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveMultipleUsersFromWorkspaceInput, error) { - var it gqlmodel.RemoveMultipleUsersFromWorkspaceInput +func (ec *executionContext) unmarshalInputRemoveMultipleMembersFromWorkspaceInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveMultipleMembersFromWorkspaceInput, error) { + var it gqlmodel.RemoveMultipleMembersFromWorkspaceInput asMap := map[string]interface{}{} for k, v := range obj.(map[string]interface{}) { asMap[k] = v @@ -38093,40 +37984,6 @@ func (ec *executionContext) unmarshalInputRemoveMyAuthInput(ctx context.Context, return it, nil } -func (ec *executionContext) unmarshalInputRemoveUserFromWorkspaceInput(ctx context.Context, obj interface{}) (gqlmodel.RemoveUserFromWorkspaceInput, error) { - var it gqlmodel.RemoveUserFromWorkspaceInput - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"workspaceId", "userId"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "workspaceId": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("workspaceId")) - data, err := ec.unmarshalNID2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐID(ctx, v) - if err != nil { - return it, err - } - it.WorkspaceID = data - case "userId": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) - data, err := ec.unmarshalNID2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐID(ctx, v) - if err != nil { - return it, err - } - it.UserID = data - } - } - - return it, nil -} - func (ec *executionContext) unmarshalInputRequestItemInput(ctx context.Context, obj interface{}) (gqlmodel.RequestItemInput, error) { var it gqlmodel.RequestItemInput asMap := map[string]interface{}{} @@ -44827,13 +44684,9 @@ func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { return ec._Mutation_addIntegrationToWorkspace(ctx, field) }) - case "removeUserFromWorkspace": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_removeUserFromWorkspace(ctx, field) - }) - case "removeMultipleUsersFromWorkspace": + case "removeMultipleMembersFromWorkspace": out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_removeMultipleUsersFromWorkspace(ctx, field) + return ec._Mutation_removeMultipleMembersFromWorkspace(ctx, field) }) case "removeIntegrationFromWorkspace": out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { @@ -45902,19 +45755,19 @@ func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) gr return out } -var removeMemberFromWorkspacePayloadImplementors = []string{"RemoveMemberFromWorkspacePayload"} +var removeIntegrationFromWorkspacePayloadImplementors = []string{"RemoveIntegrationFromWorkspacePayload"} -func (ec *executionContext) _RemoveMemberFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.RemoveMemberFromWorkspacePayload) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, removeMemberFromWorkspacePayloadImplementors) +func (ec *executionContext) _RemoveIntegrationFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, obj *gqlmodel.RemoveIntegrationFromWorkspacePayload) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, removeIntegrationFromWorkspacePayloadImplementors) out := graphql.NewFieldSet(fields) deferred := make(map[string]*graphql.FieldSet) for i, field := range fields { switch field.Name { case "__typename": - out.Values[i] = graphql.MarshalString("RemoveMemberFromWorkspacePayload") + out.Values[i] = graphql.MarshalString("RemoveIntegrationFromWorkspacePayload") case "workspace": - out.Values[i] = ec._RemoveMemberFromWorkspacePayload_workspace(ctx, field, obj) + out.Values[i] = ec._RemoveIntegrationFromWorkspacePayload_workspace(ctx, field, obj) if out.Values[i] == graphql.Null { out.Invalids++ } @@ -50881,8 +50734,8 @@ func (ec *executionContext) unmarshalNRemoveIntegrationFromWorkspaceInput2github return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNRemoveMultipleUsersFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleUsersFromWorkspaceInput(ctx context.Context, v interface{}) (gqlmodel.RemoveMultipleUsersFromWorkspaceInput, error) { - res, err := ec.unmarshalInputRemoveMultipleUsersFromWorkspaceInput(ctx, v) +func (ec *executionContext) unmarshalNRemoveMultipleMembersFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspaceInput(ctx context.Context, v interface{}) (gqlmodel.RemoveMultipleMembersFromWorkspaceInput, error) { + res, err := ec.unmarshalInputRemoveMultipleMembersFromWorkspaceInput(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } @@ -50891,11 +50744,6 @@ func (ec *executionContext) unmarshalNRemoveMyAuthInput2githubᚗcomᚋreearth return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNRemoveUserFromWorkspaceInput2githubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveUserFromWorkspaceInput(ctx context.Context, v interface{}) (gqlmodel.RemoveUserFromWorkspaceInput, error) { - res, err := ec.unmarshalInputRemoveUserFromWorkspaceInput(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - func (ec *executionContext) marshalNRequest2ᚕᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRequest(ctx context.Context, sel ast.SelectionSet, v []*gqlmodel.Request) graphql.Marshaler { ret := make(graphql.Array, len(v)) var wg sync.WaitGroup @@ -53075,11 +52923,11 @@ func (ec *executionContext) marshalOPublishModelPayload2ᚖgithubᚗcomᚋreeart return ec._PublishModelPayload(ctx, sel, v) } -func (ec *executionContext) marshalORemoveMemberFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMemberFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, v *gqlmodel.RemoveMemberFromWorkspacePayload) graphql.Marshaler { +func (ec *executionContext) marshalORemoveIntegrationFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveIntegrationFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, v *gqlmodel.RemoveIntegrationFromWorkspacePayload) graphql.Marshaler { if v == nil { return graphql.Null } - return ec._RemoveMemberFromWorkspacePayload(ctx, sel, v) + return ec._RemoveIntegrationFromWorkspacePayload(ctx, sel, v) } func (ec *executionContext) marshalORemoveMultipleMembersFromWorkspacePayload2ᚖgithubᚗcomᚋreearthᚋreearthᚑcmsᚋserverᚋinternalᚋadapterᚋgqlᚋgqlmodelᚐRemoveMultipleMembersFromWorkspacePayload(ctx context.Context, sel ast.SelectionSet, v *gqlmodel.RemoveMultipleMembersFromWorkspacePayload) graphql.Marshaler { diff --git a/server/internal/adapter/gql/gqlmodel/models_gen.go b/server/internal/adapter/gql/gqlmodel/models_gen.go index 2dc513837f..dae2e37e5f 100644 --- a/server/internal/adapter/gql/gqlmodel/models_gen.go +++ b/server/internal/adapter/gql/gqlmodel/models_gen.go @@ -816,26 +816,21 @@ type RemoveIntegrationFromWorkspaceInput struct { IntegrationID ID `json:"integrationId"` } -type RemoveMemberFromWorkspacePayload struct { +type RemoveIntegrationFromWorkspacePayload struct { Workspace *Workspace `json:"workspace"` } -type RemoveMultipleMembersFromWorkspacePayload struct { - Workspace *Workspace `json:"workspace"` -} - -type RemoveMultipleUsersFromWorkspaceInput struct { +type RemoveMultipleMembersFromWorkspaceInput struct { WorkspaceID ID `json:"workspaceId"` UserIds []ID `json:"userIds"` } -type RemoveMyAuthInput struct { - Auth string `json:"auth"` +type RemoveMultipleMembersFromWorkspacePayload struct { + Workspace *Workspace `json:"workspace"` } -type RemoveUserFromWorkspaceInput struct { - WorkspaceID ID `json:"workspaceId"` - UserID ID `json:"userId"` +type RemoveMyAuthInput struct { + Auth string `json:"auth"` } type Request struct { diff --git a/server/internal/adapter/gql/resolver_workspace.go b/server/internal/adapter/gql/resolver_workspace.go index 9b905b9a6e..dab237f6a4 100644 --- a/server/internal/adapter/gql/resolver_workspace.go +++ b/server/internal/adapter/gql/resolver_workspace.go @@ -104,23 +104,8 @@ func (r *mutationResolver) AddIntegrationToWorkspace(ctx context.Context, input return &gqlmodel.AddUsersToWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil } -// RemoveUserFromWorkspace is the resolver for the removeUserFromWorkspace field. -func (r *mutationResolver) RemoveUserFromWorkspace(ctx context.Context, input gqlmodel.RemoveUserFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) { - tid, uid, err := gqlmodel.ToID2[accountdomain.Workspace, accountdomain.User](input.WorkspaceID, input.UserID) - if err != nil { - return nil, err - } - - res, err := usecases(ctx).Workspace.RemoveUserMember(ctx, tid, uid, getAcOperator(ctx)) - if err != nil { - return nil, err - } - - return &gqlmodel.RemoveMemberFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil -} - // RemoveMultipleUsersFromWorkspace is the resolver for the removeMultipleUsersFromWorkspace field. -func (r *mutationResolver) RemoveMultipleUsersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleUsersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) { +func (r *mutationResolver) RemoveMultipleMembersFromWorkspace(ctx context.Context, input gqlmodel.RemoveMultipleMembersFromWorkspaceInput) (*gqlmodel.RemoveMultipleMembersFromWorkspacePayload, error) { wId, err := gqlmodel.ToID[accountdomain.Workspace](input.WorkspaceID) if err != nil { return nil, err @@ -140,7 +125,7 @@ func (r *mutationResolver) RemoveMultipleUsersFromWorkspace(ctx context.Context, } // RemoveIntegrationFromWorkspace is the resolver for the removeIntegrationFromWorkspace field. -func (r *mutationResolver) RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveMemberFromWorkspacePayload, error) { +func (r *mutationResolver) RemoveIntegrationFromWorkspace(ctx context.Context, input gqlmodel.RemoveIntegrationFromWorkspaceInput) (*gqlmodel.RemoveIntegrationFromWorkspacePayload, error) { wId, iId, err := gqlmodel.ToID2[accountdomain.Workspace, accountdomain.Integration](input.WorkspaceID, input.IntegrationID) if err != nil { return nil, err @@ -151,7 +136,7 @@ func (r *mutationResolver) RemoveIntegrationFromWorkspace(ctx context.Context, i return nil, err } - return &gqlmodel.RemoveMemberFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil + return &gqlmodel.RemoveIntegrationFromWorkspacePayload{Workspace: gqlmodel.ToWorkspace(res)}, nil } // UpdateUserOfWorkspace is the resolver for the updateUserOfWorkspace field. diff --git a/server/schemas/workspace.graphql b/server/schemas/workspace.graphql index 0ac014b517..ba6083e6f9 100644 --- a/server/schemas/workspace.graphql +++ b/server/schemas/workspace.graphql @@ -59,12 +59,7 @@ input AddIntegrationToWorkspaceInput { role: Role! } -input RemoveUserFromWorkspaceInput { - workspaceId: ID! - userId: ID! -} - -input RemoveMultipleUsersFromWorkspaceInput { +input RemoveMultipleMembersFromWorkspaceInput { workspaceId: ID! userIds: [ID!]! } @@ -104,7 +99,7 @@ type AddUsersToWorkspacePayload { workspace: Workspace! } -type RemoveMemberFromWorkspacePayload { +type RemoveIntegrationFromWorkspacePayload { workspace: Workspace! } @@ -126,9 +121,8 @@ extend type Mutation { updateWorkspace(input: UpdateWorkspaceInput!): UpdateWorkspacePayload addUsersToWorkspace(input: AddUsersToWorkspaceInput!): AddUsersToWorkspacePayload addIntegrationToWorkspace(input: AddIntegrationToWorkspaceInput!): AddUsersToWorkspacePayload - removeUserFromWorkspace(input: RemoveUserFromWorkspaceInput!): RemoveMemberFromWorkspacePayload - removeMultipleUsersFromWorkspace(input: RemoveMultipleUsersFromWorkspaceInput!): RemoveMultipleMembersFromWorkspacePayload - removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveMemberFromWorkspacePayload + removeMultipleMembersFromWorkspace(input: RemoveMultipleMembersFromWorkspaceInput!): RemoveMultipleMembersFromWorkspacePayload + removeIntegrationFromWorkspace(input: RemoveIntegrationFromWorkspaceInput!): RemoveIntegrationFromWorkspacePayload updateUserOfWorkspace(input: UpdateUserOfWorkspaceInput!): UpdateMemberOfWorkspacePayload updateIntegrationOfWorkspace(input: UpdateIntegrationOfWorkspaceInput!): UpdateMemberOfWorkspacePayload } From 3bb60f91c0c14cafc64cd888be4aa7e1e6e77817 Mon Sep 17 00:00:00 2001 From: nourbalaha Date: Thu, 24 Oct 2024 13:26:06 +0900 Subject: [PATCH 7/7] fix: e2e test --- server/e2e/gql_workspace_test.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server/e2e/gql_workspace_test.go b/server/e2e/gql_workspace_test.go index e4c0104b23..fdb4fa1fc9 100644 --- a/server/e2e/gql_workspace_test.go +++ b/server/e2e/gql_workspace_test.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "net/http" + "strings" "testing" "github.com/reearth/reearth-cms/server/internal/app" @@ -270,7 +271,8 @@ func TestRemoveUserFromWorkspace(t *testing.T) { assert.Nil(t, err) assert.True(t, w.Members().HasUser(uId3)) - query := fmt.Sprintf(`mutation { removeUserFromWorkspace(input: {workspaceId: "%s", userId: "%s"}){ workspace{ id } }}`, wId2, uId3) + uIds := accountdomain.UserIDList{uId2, uId3} + query := fmt.Sprintf(`mutation { removeMultipleMembersFromWorkspace(input: {workspaceId: "%s", userIds: ["%s"]}){ workspace{ id } }}`, wId2, strings.Join(uIds.Strings(), "\", \"")) request := GraphQLRequest{ Query: query, }