From 7b89ad695855ee11b109a7c19e192574aff00e7d Mon Sep 17 00:00:00 2001
From: Grady <gsaccullo@petrichor.io>
Date: Fri, 15 Oct 2021 14:12:28 -0700
Subject: [PATCH] feat(container backups): add getSingle function

---
 src/resources/containers/backups/backup.ts | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/resources/containers/backups/backup.ts b/src/resources/containers/backups/backup.ts
index f7b4500..a2a9336 100644
--- a/src/resources/containers/backups/backup.ts
+++ b/src/resources/containers/backups/backup.ts
@@ -4,6 +4,7 @@ import {
   State as BaseState,
   Events as BaseEvents,
   CollectionDoc,
+  SingleDoc,
 } from "../../../common/structs";
 import { BackupDestination } from "../../stacks/spec/v1/integrations";
 import { StandardParams, links } from "../../../common/api";
@@ -37,6 +38,7 @@ export interface Target {
 /****************************** Metas, Includes, Docs, Query ******************************/
 
 export type Collection = CollectionDoc<Backup>;
+export type Single = SingleDoc<Backup>;
 
 /****************************** Params ******************************/
 
@@ -45,10 +47,22 @@ interface BCP extends StandardParams {
   containerId: ResourceId;
 }
 
+interface BSP extends BCP {
+  id: ResourceId;
+}
+
 /**
  * getCollection function params
  */
 export type GetCollectionParams = BCP;
+export type GetSingleParams = BSP;
+
+export async function getSingle(params: GetSingleParams) {
+  return Request.getRequest<Single>({
+    ...params,
+    target: links.containers().backups().single(params.id, params.containerId),
+  });
+}
 
 export async function getCollection(params: GetCollectionParams) {
   return Request.getRequest<Collection>({
@@ -56,4 +70,3 @@ export async function getCollection(params: GetCollectionParams) {
     target: links.containers().backups().collection(params.containerId),
   });
 }
-