Skip to content
Snippets Groups Projects
Unverified Commit 3a58d239 authored by Rhys Arkins's avatar Rhys Arkins Committed by GitHub
Browse files

refactor(datasource/orb): log res when no response (#20134)

parent c7c5c8fb
Branches
Tags v0.0.9
No related merge requests found
...@@ -2,7 +2,7 @@ import { logger } from '../../../logger'; ...@@ -2,7 +2,7 @@ import { logger } from '../../../logger';
import { cache } from '../../../util/cache/package/decorator'; import { cache } from '../../../util/cache/package/decorator';
import { Datasource } from '../datasource'; import { Datasource } from '../datasource';
import type { GetReleasesConfig, ReleaseResult } from '../types'; import type { GetReleasesConfig, ReleaseResult } from '../types';
import type { OrbRelease } from './types'; import type { OrbResponse } from './types';
const query = ` const query = `
query($packageName: String!) { query($packageName: String!) {
...@@ -45,20 +45,22 @@ export class OrbDatasource extends Datasource { ...@@ -45,20 +45,22 @@ export class OrbDatasource extends Datasource {
query, query,
variables: { packageName }, variables: { packageName },
}; };
const res: OrbRelease = ( const res = (
await this.http.postJson<{ data: { orb: OrbRelease } }>(url, { await this.http.postJson<OrbResponse>(url, {
body, body,
}) })
).body.data.orb; ).body;
if (!res) { if (!res?.data?.orb) {
logger.debug(`Failed to look up orb ${packageName}`); logger.debug({ res }, `Failed to look up orb ${packageName}`);
return null; return null;
} }
const { orb } = res.data;
// Simplify response before caching and returning // Simplify response before caching and returning
const homepage = res.homeUrl?.length const homepage = orb.homeUrl?.length
? res.homeUrl ? orb.homeUrl
: `https://circleci.com/developer/orbs/orb/${packageName}`; : `https://circleci.com/developer/orbs/orb/${packageName}`;
const releases = res.versions.map(({ version, createdAt }) => ({ const releases = orb.versions.map(({ version, createdAt }) => ({
version, version,
releaseTimestamp: createdAt ?? null, releaseTimestamp: createdAt ?? null,
})); }));
......
...@@ -5,3 +5,9 @@ export interface OrbRelease { ...@@ -5,3 +5,9 @@ export interface OrbRelease {
createdAt?: string; createdAt?: string;
}[]; }[];
} }
export interface OrbResponse {
data?: {
orb?: OrbRelease;
};
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment