function getInspectionExpressions()

in src/components/Firestore/Requests/RequestDetails/index.tsx [52:82]


function getInspectionExpressions(
  rulesContext: FirestoreRulesContext,
  outcome: RulesOutcome
): InspectionElement[] {
  if (outcome === 'admin') {
    return [];
  }

  const inspections: InspectionElement[] = [];

  // List all fields from rules `request.*`. See doc below for details.
  // https://firebase.google.com/docs/reference/rules/rules.firestore.Request
  for (const field of ['auth', 'method', 'path', 'query', 'resource', 'time']) {
    const value = rulesContext.request.mapValue?.fields?.[field];
    if (value) {
      inspections.push({
        label: `request.${field}`,
        value: value,
      });
    }
  }

  if (rulesContext.resource) {
    inspections.push({
      label: 'resource',
      value: rulesContext.resource,
    });
  }

  return inspections;
}