Skip to content

Add Customer Relations Create Mutation to GraphQL

Lee Tickett requested to merge 2256-add-organization-mutation-to-graphql into master

What does this MR do?

This is part of the ongoing effort to add the concept of organizations and contacts (see #2256).

The tables/models are in place, we have queries to pull organizations (!69318 (merged)) and contacts (!69510 (merged)).

Now we need to introduce mutations to create (this MR) and update (!69559 (merged)) organizations.

Screenshots or Screencasts (strongly suggested)

image

How to setup and validate locally (strongly suggested)

  1. Enable feature flag from rails console
rails c
Feature.enable(:customer_relations)
  1. Create an organization (picking a group such as flightjs)
mutation {
  customerRelationsOrganizationCreate(input:
    { 
      name: "Hoorah!"
      groupId: "gid://gitlab/Group/26" 
    }) {
    organization {
      id
      name
      description
      createdAt
      updatedAt
    }
    errors
  }
}
  1. Retrieve organizations for the group to ensure persisted:
query {
  group(fullPath: "flightjs") { 
    organizations {
      nodes {
        id
        name
        defaultRate
        description
        createdAt
        updatedAt
      }
    }
  }
}

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team

Related to #2256

Edited by Lee Tickett

Merge request reports