()
+
+ return useQuery({
+ queryKey: ['CommitErrors', provider, owner, repo, commitid],
+ queryFn: ({ signal }) =>
+ Api.graphql({
+ provider,
+ query,
+ signal,
+ variables: {
+ owner,
+ repo,
+ commitid,
+ },
+ }).then((res) => {
+ const parsedData = useCommitErrorsSchema.safeParse(res?.data)
+
+ if (!parsedData.success) {
+ return Promise.reject({
+ status: 404,
+ data: {},
+ dev: 'useCommitErrors - 404 Failed to parse data',
+ } satisfies NetworkErrorObject)
+ }
+
+ const data = parsedData.data
+
+ if (data?.owner?.repository?.__typename === 'NotFoundError') {
+ return Promise.reject({
+ status: 404,
+ data: {},
+ dev: 'useCommitErrors - 404 NotFoundError',
+ } satisfies NetworkErrorObject)
+ }
+
+ if (data?.owner?.repository?.__typename === 'OwnerNotActivatedError') {
+ return Promise.reject({
+ status: 403,
+ data: {
+ detail: (
+
+ Activation is required to view this repo, please{' '}
+ {/* @ts-expect-error */}
+ click here to activate
+ your account.
+
+ ),
+ },
+ dev: 'useCommitErrors - 403 OwnerNotActivated Error',
+ } satisfies NetworkErrorObject)
+ }
+
+ return {
+ yamlErrors:
+ mapEdges(data?.owner?.repository?.commit?.yamlErrors) || [],
+ botErrors: mapEdges(data?.owner?.repository?.commit?.botErrors) || [],
+ }
+ }),
+ })
+}