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