import { getErrorMessage } from 'dbaas/services/errorCodes'

interface GooglerpcStatus {
  /** The status code, which should be an enum value of
[google.rpc.Code][google.rpc.Code]. */
  code?: number
  /** A list of messages that carry the error details.  There is a common set of
message types for APIs to use. */
  details?: {
    '@type'?: string
    [key: string]: unknown
  }[]
  /** A developer-facing error message, which should be in English. Any
user-facing error message should be localized and sent in the
[google.rpc.Status.details][google.rpc.Status.details] field, or localized
by the client. */
  message?: string
}

export const getApiErrorMsgDom = (error: GooglerpcStatus) => {
  const errorMsg = getErrorMessage(error, true)

  return <div dangerouslySetInnerHTML={{ __html: errorMsg }}></div>
}
