Fixes mutation to update feature settings

What does this MR do and why?

Fixes mutation to update feature settings

Service was checking for a symbol, not a string, so when it was called from an actual mutation it wouldn't work.

Changelog: fixed EE: true

How to set up and validate locally

  1. You will need AIGW running and :instance_level_model_selection enabled

  2. On graphql explorer, run the following mutation:

mutation {
  aiFeatureSettingUpdate(input: {
  	aiSelfHostedModelId: null
    features: [CODE_GENERATIONS]
    offeredModelRef: "claude_sonnet_4_20250514"
    provider: VENDORED
  }) {
    aiFeatureSettings {
      gitlabModel {
        ref
        name
      }
      selfHostedModel {
        id
      }
      defaultGitlabModel {
        ref
        name
      }
      validGitlabModels {
        nodes {
          ref
          name
        }
      }
    }
  }
}

Example response:

{
  "data": {
    "aiFeatureSettingUpdate": {
      "aiFeatureSettings": [
        {
          "gitlabModel": {
            "ref": "claude_sonnet_4_20250514",
            "name": "Claude Sonnet 4.0 - Anthropic"
          },
          "selfHostedModel": null,
          "defaultGitlabModel": {
            "ref": "claude_sonnet_4_20250514",
            "name": "Claude Sonnet 4.0 - Anthropic"
          },
          "validGitlabModels": {
            "nodes": [
              {
                "ref": "claude_sonnet_4_20250514",
                "name": "Claude Sonnet 4.0 - Anthropic"
              },
              ....
            ]
          }
        }
      ]
    }
  },
  "correlationId": "01K4MNY3T58HZ4TGB356QDTXX8"
}
  1. You can change offeredModelRef to nil, and you will see it updated once again

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #565712 (closed)

Merge request reports

Loading