From 3963af973979d591268b28d912e2b9cbfef65c36 Mon Sep 17 00:00:00 2001 From: Salman Ashraf Date: Tue, 27 Aug 2024 09:29:45 +0000 Subject: [PATCH] add new endpoint definition --- src/api/agreementSignature.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/api/agreementSignature.ts b/src/api/agreementSignature.ts index 08a38d6..ab085b7 100644 --- a/src/api/agreementSignature.ts +++ b/src/api/agreementSignature.ts @@ -11,6 +11,7 @@ import { tagData, } from "codeforlife/utils/api" +import { type Contributor } from "./contributor" import api from "." export type AgreementSignature = Model< @@ -48,6 +49,11 @@ export type CreateAgreementSignatureArg = CreateArg< "contributor" | "agreement_id" | "signed_at" > +export type CheckSignedAgreementSignatureResult = + | { latest_commit_id: string; status: 404 | 451 } + | { status: 200 } +export type CheckSignedAgreementSignatureArg = Pick + const agreementSignatureApi = api.injectEndpoints({ endpoints: build => ({ retrieveAgreementSignature: build.query< @@ -81,6 +87,16 @@ const agreementSignatureApi = api.injectEndpoints({ }), invalidatesTags: tagData("AgreementSignature", { includeListTag: true }), }), + checkSignedAgreementSignature: build.mutation< + CheckSignedAgreementSignatureResult, + CheckSignedAgreementSignatureArg + >({ + query: ({ id, ...body }) => ({ + url: buildUrl(agreementSignatureUrls.detail, { url: { id } }), + method: "PUT", + body, + }), + }), }), }) @@ -91,4 +107,5 @@ export const { useListAgreementSignaturesQuery, useLazyListAgreementSignaturesQuery, useCreateAgreementSignatureMutation, + useCheckSignedAgreementSignatureMutation, } = agreementSignatureApi