-
Notifications
You must be signed in to change notification settings - Fork 740
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Github archive revert #2757
base: main
Are you sure you want to change the base?
Github archive revert #2757
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,76 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<template> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<div class="flex items-center gap-4"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- <lf-button type="secondary-ghost" class="!text-gray-500" @click="isDetailsModalOpen = true">--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- <lf-icon name="circle-info" type="regular" />--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- Details--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- </lf-button>--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<el-tooltip | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
content="Onboarding new data for GitHub is currently disabled due to some issues we are experiencing. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Please contact support if you need to onboard new data or update settings." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
placement="top" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<span> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<lf-button type="secondary" disabled @click="isConnectModalOpen = true"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<lf-icon name="link-simple" /> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Connect | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</lf-button> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</span> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</el-tooltip> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<lf-github-connect-modal | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v-if="isConnectModalOpen" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v-model="isConnectModalOpen" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- <lf-github-details-modal--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- v-if="isDetailsModalOpen"--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- v-model="isDetailsModalOpen"--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- @connect="isConnectModalOpen = true; isDetailsModalOpen = false;"--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<!-- />--> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<lf-github-connect-finishing-modal v-model="isFinishingModalOpen" /> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</template> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<script setup lang="ts"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { onMounted, ref } from 'vue'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import LfButton from '@/ui-kit/button/Button.vue'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import LfIcon from '@/ui-kit/icon/Icon.vue'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { useRoute } from 'vue-router'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { mapActions } from '@/shared/vuex/vuex.helpers'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const route = useRoute(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { doGithubConnect } = mapActions('integration'); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const isConnectModalOpen = ref(false); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
// const isDetailsModalOpen = ref(false); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const isFinishingModalOpen = ref(false); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const finallizeGithubConnect = () => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
code, source, state, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} = route.query; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const setupAction = route.query.setup_action; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const installId = route.query.installation_id; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (code && !source && state !== 'noconnect') { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isFinishingModalOpen.value = true; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
doGithubConnect({ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
code, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
installId, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
setupAction, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}).then(() => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
isFinishingModalOpen.value = false; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+48
to
+65
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add input validation and error handling The const finallizeGithubConnect = () => {
const {
code, source, state,
} = route.query;
const setupAction = route.query.setup_action;
const installId = route.query.installation_id;
+ // Validate query parameters
+ if (!code || typeof code !== 'string') {
+ console.error('Invalid or missing code parameter');
+ return;
+ }
if (code && !source && state !== 'noconnect') {
isFinishingModalOpen.value = true;
doGithubConnect({
code,
installId,
setupAction,
- }).then(() => {
+ }).then((response) => {
+ // Handle successful connection
isFinishingModalOpen.value = false;
+ }).catch((error) => {
+ console.error('GitHub connection failed:', error);
+ // Show error message to user
+ isFinishingModalOpen.value = false;
});
}
}; 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onMounted(() => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
finallizeGithubConnect(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</script> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<script lang="ts"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export default { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name: 'LfGithubConnect', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</script> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,112 @@ | ||
<template> | ||
<lf-modal v-model="isModalOpen" width="37.5rem"> | ||
<div class="px-6 pt-5 pb-6"> | ||
<!-- Header --> | ||
<div class="flex justify-between pb-8"> | ||
<div class="pt-1 flex items-center gap-2"> | ||
<div class="border border-gray-200 rounded-md h-12 w-12 p-2"> | ||
<img src="/images/integrations/github.png" alt="GitHub" class="w-8 h-8 object-contain" /> | ||
</div> | ||
<div> | ||
<lf-icon name="angle-right" :size="20" class="text-gray-500" /> | ||
</div> | ||
<div class="border border-gray-200 rounded-md h-12 w-12 p-2"> | ||
<img src="/images/integrations/custom/lfx.png" alt="LFX" class="w-8 h-8 object-contain" /> | ||
</div> | ||
</div> | ||
<lf-button type="secondary-ghost" icon-only @click="isModalOpen = false"> | ||
<lf-icon name="xmark" type="regular" /> | ||
</lf-button> | ||
</div> | ||
|
||
<!-- Content --> | ||
<h5 class="pb-3"> | ||
GitHub integration | ||
</h5> | ||
<p class="text-small pb-6"> | ||
GitHub is a code hosting platform that over 80 million developers use for | ||
collaboration and version control. Its one of the richest places for | ||
developer activity and information. | ||
</p> | ||
<p class="text-small font-semibold pb-1.5"> | ||
Activities tracked | ||
</p> | ||
<p class="text-gray-600 text-small pb-3"> | ||
Stars/Un-stars, Forks, Issues, Pull requests, Discussions, | ||
Comments on issues, Pull requests, Discussions, Closing of | ||
issues/pull requests/discussions | ||
</p> | ||
<div class="border-t border-gray-200 pb-3" /> | ||
<p class="text-small font-semibold pb-1.5"> | ||
Historical import | ||
</p> | ||
<p class="text-gray-600 text-small pb-3"> | ||
No limitation | ||
</p> | ||
<div class="border-t border-gray-200 pb-3" /> | ||
<p class="text-small font-semibold pb-1.5"> | ||
Refresh period | ||
</p> | ||
<p class="text-gray-600 text-small pb-10"> | ||
Instant (maximum a few seconds) | ||
</p> | ||
<h6 class="pb-6"> | ||
How to connect | ||
</h6> | ||
<div class="flex pb-6"> | ||
<div class="w-6 h-6 rounded-full bg-gray-200 font-secondary text-center text-medium flex items-center justify-center"> | ||
1 | ||
</div> | ||
<div class="pl-2"> | ||
<p class="text-small leading-6 font-semibold pb-0.5"> | ||
Select the repositories you want to track | ||
</p> | ||
<p class="text-tiny text-gray-500"> | ||
Esse et nihil ratione sit facere aut fugiat corporis et animi velit natus laudantium et. | ||
</p> | ||
</div> | ||
</div> | ||
<div class="flex pb-10"> | ||
<div class="w-6 h-6 rounded-full bg-gray-200 font-secondary text-center text-medium flex items-center justify-center"> | ||
2 | ||
</div> | ||
<div class="pl-2"> | ||
<p class="text-small leading-6 font-semibold pb-0.5"> | ||
Map each repository with the correspondent project | ||
</p> | ||
<p class="text-tiny text-gray-500"> | ||
In vero sed libero labore voluptatem eos ut libero consequuntur dolorem aut ut similique. | ||
</p> | ||
</div> | ||
</div> | ||
<lf-button type="secondary" size="large" class="w-full" @click="emit('connect')"> | ||
<lf-icon name="link-simple" type="regular" /> | ||
Connect GitHub | ||
</lf-button> | ||
</div> | ||
</lf-modal> | ||
</template> | ||
|
||
<script setup lang="ts"> | ||
import LfModal from '@/ui-kit/modal/Modal.vue'; | ||
import { computed } from 'vue'; | ||
import LfButton from '@/ui-kit/button/Button.vue'; | ||
import LfIcon from '@/ui-kit/icon/Icon.vue'; | ||
|
||
const props = defineProps<{ | ||
modelValue: boolean, | ||
}>(); | ||
|
||
const emit = defineEmits<{(e: 'update:modelValue', value: boolean): void, (e: 'connect'): void }>(); | ||
|
||
const isModalOpen = computed({ | ||
get: () => props.modelValue, | ||
set: (value: boolean) => emit('update:modelValue', value), | ||
}); | ||
</script> | ||
|
||
<script lang="ts"> | ||
export default { | ||
name: 'LfGithubDetailsModal', | ||
}; | ||
</script> |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,76 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<template> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<div class="flex items-center gap-1"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<el-popover trigger="hover" placement="top" popper-class="!w-auto"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<template #reference> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<div | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
class="text-gray-600 text-2xs flex items-center leading-5" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<i | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
class="ri-git-repository-line text-base !text-gray-600 mr-1 h-4 flex items-center" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<span class="font-semibold"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{ pluralize("repository", Object.keys(mappings).length, true) }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</span> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</template> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<p class="text-gray-400 text-sm font-semibold mb-4"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GitHub repositories | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</p> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<div class="-my-1 px-1 max-h-44 overflow-auto"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<article | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
v-for="mapping of mappings" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:key="mapping.url" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
class="py-2 flex items-center flex-nowrap" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<i | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
class="ri-git-repository-line text-base mr-2 h-4 flex items-center" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<a | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
:href="mapping.url" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
target="_blank" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
rel="noopener noreferrer" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
class="text-xs leading-5 max-w-3xs truncate hover:underline !text-black" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/{{ repoNameFromUrl(mapping.url) }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</a> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<div | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
class="ri-arrow-right-line text-gray-400 text-base mx-2 h-4 flex items-center" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
/> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<div class="text-xs leading-5 max-w-3xs truncate"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
{{ mapping.segment.name }} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</article> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</el-popover> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</template> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<script setup lang="ts"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { onMounted, ref } from 'vue'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import { IntegrationService } from '@/modules/integration/integration-service'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
import pluralize from 'pluralize'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const props = defineProps<{ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
integration: any; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}>(); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+55
to
+57
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Replace Using +interface GitHubIntegration {
+ status: string;
+ id: string;
+ // Add other required properties
+}
const props = defineProps<{
- integration: any;
+ integration: GitHubIntegration;
}>();
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const mappings = ref([]); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
const repoNameFromUrl = (url) => url.split('/').at(-1); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onMounted(() => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
if (props.integration.status !== 'mapping') { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IntegrationService.fetchGitHubMappings(props.integration).then((res) => { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mappings.value = res; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Comment on lines
+59
to
+69
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add error handling and loading state The component lacks error handling for the API call and doesn't show a loading state. +const isLoading = ref(false);
+const error = ref<Error | null>(null);
const mappings = ref([]);
onMounted(() => {
if (props.integration.status !== 'mapping') {
+ isLoading.value = true;
IntegrationService.fetchGitHubMappings(props.integration).then((res) => {
mappings.value = res;
+ }).catch((err) => {
+ error.value = err;
+ console.error('Failed to fetch GitHub mappings:', err);
+ }).finally(() => {
+ isLoading.value = false;
});
}
}); 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</script> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
<script lang="ts"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
export default { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
name: 'LfGithubStatus', | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
}; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
</script> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Remove commented-out code
Remove commented-out code to improve code maintainability. If this code is needed for future reference, document it in the project's documentation or version control history.
Also applies to: 25-29