summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/runner/admin_runner_edit/admin_runner_edit_app.vue
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/runner/admin_runner_edit/admin_runner_edit_app.vue')
-rw-r--r--app/assets/javascripts/runner/admin_runner_edit/admin_runner_edit_app.vue58
1 files changed, 58 insertions, 0 deletions
diff --git a/app/assets/javascripts/runner/admin_runner_edit/admin_runner_edit_app.vue b/app/assets/javascripts/runner/admin_runner_edit/admin_runner_edit_app.vue
new file mode 100644
index 00000000000..4d2ca9b0c58
--- /dev/null
+++ b/app/assets/javascripts/runner/admin_runner_edit/admin_runner_edit_app.vue
@@ -0,0 +1,58 @@
+<script>
+import { createAlert } from '~/flash';
+import { TYPE_CI_RUNNER } from '~/graphql_shared/constants';
+import { convertToGraphQLId } from '~/graphql_shared/utils';
+import RunnerHeader from '../components/runner_header.vue';
+import RunnerUpdateForm from '../components/runner_update_form.vue';
+import { I18N_FETCH_ERROR } from '../constants';
+import getRunnerQuery from '../graphql/get_runner.query.graphql';
+import { captureException } from '../sentry_utils';
+
+export default {
+ name: 'AdminRunnerEditApp',
+ components: {
+ RunnerHeader,
+ RunnerUpdateForm,
+ },
+ props: {
+ runnerId: {
+ type: String,
+ required: true,
+ },
+ },
+ data() {
+ return {
+ runner: null,
+ };
+ },
+ apollo: {
+ runner: {
+ query: getRunnerQuery,
+ variables() {
+ return {
+ id: convertToGraphQLId(TYPE_CI_RUNNER, this.runnerId),
+ };
+ },
+ error(error) {
+ createAlert({ message: I18N_FETCH_ERROR });
+
+ this.reportToSentry(error);
+ },
+ },
+ },
+ errorCaptured(error) {
+ this.reportToSentry(error);
+ },
+ methods: {
+ reportToSentry(error) {
+ captureException({ error, component: this.$options.name });
+ },
+ },
+};
+</script>
+<template>
+ <div>
+ <runner-header v-if="runner" :runner="runner" />
+ <runner-update-form :runner="runner" class="gl-my-5" />
+ </div>
+</template>