useLints.ts 812 B

1234567891011121314151617181920212223242526
  1. import { useParams } from 'common'
  2. import { useProjectLintsQuery } from '@/data/lint/lint-query'
  3. /**
  4. * Hook to fetch and filter project lints
  5. *
  6. * Retrieves all lints for the current project and filters them by:
  7. * - Security-related lints
  8. * - Error-level security lints
  9. *
  10. * @returns {Object} Object containing filtered lint arrays
  11. * @returns {Array} securityLints - All security-related lints
  12. * @returns {Array} errorLints - Security lints with ERROR level
  13. */
  14. export const useLints = () => {
  15. const { ref } = useParams()
  16. const { data } = useProjectLintsQuery({
  17. projectRef: ref,
  18. })
  19. const securityLints = (data ?? []).filter((lint) => lint.categories.includes('SECURITY'))
  20. const errorLints = securityLints.filter((lint) => lint.level === 'ERROR')
  21. return { securityLints, errorLints }
  22. }