export async function createOrUpdateMetrics()

in src/metric-client.ts [44:74]


export async function createOrUpdateMetrics(
  input: Input,
  metrics: Metric[]
): Promise<void> {
  const accessToken = await getToken()

  if (input.strictSync) {
    core.info('Deleting metrics in strict mode')
    await deleteRemainingMetrics(input, metrics)
  }

  const createResults = await Promise.all(
    metrics.map(metric =>
      createOrUpdateMetric(input, metric, accessToken).then(response => ({
        response,
        metric
      }))
    )
  )

  const results = createResults.map(({ response, metric }) => {
    return handleCreateOrUpdateResult(response, metric)
  })

  if (results.some(r => r == false)) {
    throw new ValidationError('Metric create or update failed')
  }
  core.info('All metrics are created or updated successfully')

  core.info('Operation completed successfully')
}