diff options
Diffstat (limited to 'app/assets/javascripts/ci_lint/graphql/resolvers.js')
-rw-r--r-- | app/assets/javascripts/ci_lint/graphql/resolvers.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/app/assets/javascripts/ci_lint/graphql/resolvers.js b/app/assets/javascripts/ci_lint/graphql/resolvers.js new file mode 100644 index 00000000000..126b4c664b2 --- /dev/null +++ b/app/assets/javascripts/ci_lint/graphql/resolvers.js @@ -0,0 +1,34 @@ +import axios from '~/lib/utils/axios_utils'; + +const resolvers = { + Mutation: { + lintCI: (_, { endpoint, content, dry_run }) => { + return axios.post(endpoint, { content, dry_run }).then(({ data }) => ({ + valid: data.valid, + errors: data.errors, + warnings: data.warnings, + jobs: data.jobs.map(job => { + const only = job.only ? { refs: job.only.refs, __typename: 'CiLintJobOnlyPolicy' } : null; + + return { + name: job.name, + stage: job.stage, + beforeScript: job.before_script, + script: job.script, + afterScript: job.after_script, + tagList: job.tag_list, + environment: job.environment, + when: job.when, + allowFailure: job.allow_failure, + only, + except: job.except, + __typename: 'CiLintJob', + }; + }), + __typename: 'CiLintContent', + })); + }, + }, +}; + +export default resolvers; |