10.0.1 • Published 8 months ago

@agribank/baran-typed-querykit v10.0.1

Weekly downloads
-
License
-
Repository
github
Last release
8 months ago

baran-types-querykit

Utilities for handling common baran api errors and typing the response models.

Example usage

raw request model

async () => {
	const result = await callApi(async (params) => await postIssueInquiryCheque(params), {
		requestSchema: InquiryIssueChequeBookRequestDetailQuery,
		responseSchema: InquiryChequeBookDetailOutputDto,
		params: {
			customersCartableId: cartableId
		}
	});

	if (result.error) {
		switch (result.error.type) {
			case "InternalError":
			case "UnknownApiError":
			case "ApiError":
				pushAlert({
					type: "error",
					messageText: result.error.message
				});
		}
	}

	return result;
};

request with useQuery

export function useRequestDetails({ cartableId }: Props) {
	return useQuery({
		queryKey: ["postInquiryissuechequebookrequestdetail", cartableId],
		queryFn: baranQueryFn({
			fn() {
				return callApi(postInquiryissuechequebookrequestdetail, {
					requestSchema: InquiryIssueChequeBookRequestDetailQuery,
					responseSchema: InquiryIssueChequeBookRequestDetailOutputDto,
					params: {
						customersCartableId: cartableId
					}
				});
			}
		})
	});
}

with useMutation

export function useCancelRequest() {
	return useMutation({
		mutationFn: baranMutateFn({
			fn(data: z.infer<typeof CancelIssueChequeCartableRequestCommand>) {
				return callApi(postCancelissuechequebookrequest, {
					requestSchema: CancelIssueChequeCartableRequestCommand,
					responseSchema: z.boolean(),
					params: data
				});
			}
		})
	});

client side validations and server side validations reside in the validationError property (typed as requestSchema).

10.0.1

8 months ago

10.0.0

8 months ago

9.0.0

8 months ago

8.0.0

8 months ago

7.0.0

9 months ago

6.0.2

9 months ago

6.0.1

9 months ago

6.0.0

9 months ago

5.0.0

9 months ago

4.0.0

9 months ago

3.0.2

9 months ago

3.0.1

9 months ago

3.0.0

9 months ago

2.0.0

9 months ago

1.0.1

10 months ago

1.0.0

10 months ago

0.0.2

10 months ago