Example #1
0
File: Job.ts Project: dcos/dcos-ui
function AddStatusToHistoryJobRuns(
  job: MetronomeGenericJobResponse
): JobRunConnection {
  let successfulFinishedRunsWithStatus: JobHistoryRun[] = [];
  let failedFinishedRunsWithStatus: JobHistoryRun[] = [];
  const activeRuns = job.activeRuns || [];

  if (isMetronomeJobDetailResponse(job)) {
    const { successfulFinishedRuns, failedFinishedRuns } = job.history;

    successfulFinishedRunsWithStatus = successfulFinishedRuns.map(
      run => ({ ...run, status: "COMPLETED" as MetronomeJobStatus }) // TODO: investiagte why we need to cast this
    );

    failedFinishedRunsWithStatus = failedFinishedRuns.map(run => ({
      ...run,
      status: "FAILED" as MetronomeJobStatus
    }));
  }
  return JobRunConnectionTypeResolver([
    ...activeRuns,
    ...successfulFinishedRunsWithStatus,
    ...failedFinishedRunsWithStatus
  ]);
}
Example #2
0
File: Job.ts Project: dcos/dcos-ui
    name: JobFieldResolvers.name(response),
    path: JobFieldResolvers.path(response),
    jobRuns: JobFieldResolvers.jobRuns(response),
    lastRunsSummary: JobFieldResolvers.lastRunsSummary(response),
    scheduleStatus: JobFieldResolvers.scheduleStatus(response),
    activeRuns: JobFieldResolvers.activeRuns(response),
    schedules: JobFieldResolvers.schedules(response)
  };
}

export const JobFieldResolvers = {
  id(job: MetronomeGenericJobResponse): string {
    return job.id;
  },
  description(job: MetronomeGenericJobResponse): string | null {
    return isMetronomeJobDetailResponse(job) ? job.description : null;
  },
  command(job: MetronomeGenericJobResponse): string {
    return job.run.cmd;
  },
  disk(job: MetronomeGenericJobResponse): number {
    return job.run.disk;
  },
  mem(job: MetronomeGenericJobResponse): number {
    return job.run.mem;
  },
  cpus(job: MetronomeGenericJobResponse): number {
    return job.run.cpus;
  },
  activeRuns(job: MetronomeGenericJobResponse): JobRunConnection | null {
    return isMetronomeJobDetailResponse(job)