mirror of
https://github.com/harness/drone.git
synced 2025-05-11 22:50:11 +08:00
fix: [code-1183]: fix bypass list issue (#874)
This commit is contained in:
parent
7c33e20898
commit
1dc6989968
@ -93,6 +93,18 @@ const BranchProtectionForm = (props: {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
|
const transformDataToArray = (data: any) => {
|
||||||
|
return Object.keys(data).map(key => {
|
||||||
|
return {
|
||||||
|
...data[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const transformUserArray = transformDataToArray(rule?.users || [])
|
||||||
|
const usersArrayCurr = transformUserArray?.map(user => `${user.id} ${user.display_name}`)
|
||||||
|
const [userArrayState, setUserArrayState] = useState<string[]>(usersArrayCurr)
|
||||||
|
|
||||||
const { data: statuses } = useGet<string[]>({
|
const { data: statuses } = useGet<string[]>({
|
||||||
path: `/api/v1/repos/${repoMetadata?.path}/+/checks/recent`,
|
path: `/api/v1/repos/${repoMetadata?.path}/+/checks/recent`,
|
||||||
queryParams: {
|
queryParams: {
|
||||||
@ -154,10 +166,10 @@ const BranchProtectionForm = (props: {
|
|||||||
const includeArr = includeList?.map((arr: string) => ['include', arr])
|
const includeArr = includeList?.map((arr: string) => ['include', arr])
|
||||||
const excludeArr = excludeList?.map((arr: string) => ['exclude', arr])
|
const excludeArr = excludeList?.map((arr: string) => ['exclude', arr])
|
||||||
const finalArray = [...includeArr, ...excludeArr]
|
const finalArray = [...includeArr, ...excludeArr]
|
||||||
const idsArray = (rule?.definition as ProtectionBranch)?.bypass?.user_ids
|
const usersArray = transformDataToArray(rule.users)
|
||||||
const bypassList = users
|
const bypassList =
|
||||||
?.filter(user => idsArray?.includes(user.id as number))
|
userArrayState.length > 0 ? userArrayState : usersArray?.map(user => `${user.id} ${user.display_name}`)
|
||||||
?.map(user => `${user.id} ${user.display_name}`)
|
|
||||||
return {
|
return {
|
||||||
name: rule?.uid,
|
name: rule?.uid,
|
||||||
desc: rule.description,
|
desc: rule.description,
|
||||||
@ -434,10 +446,10 @@ const BranchProtectionForm = (props: {
|
|||||||
const id = item.value?.toString().split(' ')[0]
|
const id = item.value?.toString().split(' ')[0]
|
||||||
const displayName = item.label
|
const displayName = item.label
|
||||||
const bypassEntry = `${id} ${displayName}`
|
const bypassEntry = `${id} ${displayName}`
|
||||||
|
|
||||||
bypassList?.push(bypassEntry)
|
bypassList?.push(bypassEntry)
|
||||||
const uniqueArr = Array.from(new Set(bypassList))
|
const uniqueArr = Array.from(new Set(bypassList))
|
||||||
formik.setFieldValue('bypassList', uniqueArr)
|
formik.setFieldValue('bypassList', uniqueArr)
|
||||||
|
setUserArrayState([...uniqueArr])
|
||||||
}}
|
}}
|
||||||
name={'bypassSelect'}></FormInput.Select>
|
name={'bypassSelect'}></FormInput.Select>
|
||||||
<BypassList bypassList={bypassList} setFieldValue={formik.setFieldValue} />
|
<BypassList bypassList={bypassList} setFieldValue={formik.setFieldValue} />
|
||||||
|
Loading…
Reference in New Issue
Block a user