Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

migrating insurance utils to ts #292

Merged
merged 1 commit into from
Sep 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/contexts/signed-in/insurance/insurance.types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ export type InsurancePayment = {
}

export type FilterConditions = {
insuranceFor: string;
insuranceInterval: string;
insuranceStartDate: string;
insuranceEndDate: string;
insuranceFor?: string;
insuranceInterval?: string;
insuranceStartDate?: string;
insuranceEndDate?: string;
}

export type InsurancesSummary = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { errorOnExportsToEmail, errorOnExportsToPdf, errorOnExportsToTxt } from
// exports api requests

// export to email
export function postExportsToEmail(email) {
export function postExportsToEmail(email: string | null | undefined) {
try {

} catch (error) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { Insurance, InsurancesSummary } from "../../contexts/signed-in/insurance/insurance.types";
import { errorOnGetInsurancesData, errorOnGetInsurancesSummaryData,
errorOnInsuranceCreate, errorOnInsuranceRemove,
errorOnPutInsurancesData, errorOnPutInsuranceSummaryData
Expand All @@ -6,7 +7,7 @@ import { errorOnGetInsurancesData, errorOnGetInsurancesSummaryData,
// insurances api requests

// getting insurances and summary data on sign in
export const getInsurancesData = async (userId, email) => {
export const getInsurancesData = async (userId: string | null | undefined, email: string | null | undefined): Promise<any> => {
try {

const response = await fetch(`${process.env.REACT_APP_API_URL_INSURANCES}/${userId}/${email}`)
Expand All @@ -18,7 +19,7 @@ export const getInsurancesData = async (userId, email) => {
}
}

export const getInsurancesSummaryData = async (userId, email) => {
export const getInsurancesSummaryData = async (userId: string | null | undefined, email: string | null | undefined): Promise<any> => {
try {

const response = await fetch(`${process.env.REACT_APP_API_URL_INSURANCES_SUMMARY}/${userId}/${email}`)
Expand All @@ -31,7 +32,8 @@ export const getInsurancesSummaryData = async (userId, email) => {
}

// insurances operations
export const postInsuranceCreate = async (userId, email, insurance, insuranceFor) => {
export const postInsuranceCreate = async (userId: string | null | undefined, email: string | null | undefined,
insurance: Insurance, insuranceFor: string): Promise<number | undefined> => {
try {

const response = await fetch(`${process.env.REACT_APP_API_URL_INSURANCES}/${userId}/${email}`, {
Expand All @@ -55,7 +57,8 @@ export const postInsuranceCreate = async (userId, email, insurance, insuranceFor
}
}

export const deleteInsurance = async (userId, email, insuranceFor) => {
export const deleteInsurance = async (userId: string | null | undefined, email: string | null | undefined,
insuranceFor: string): Promise<number | undefined> => {
try {

const response = await fetch(`${process.env.REACT_APP_API_URL_INSURANCES}/${userId}/${email}`, {
Expand All @@ -74,7 +77,8 @@ export const deleteInsurance = async (userId, email, insuranceFor) => {
}

// updating insurances and summary data on sign out
export const putInsurancesData = async (userId, email, insurances) => {
export const putInsurancesData = async (userId: string | null | undefined, email: string | null | undefined,
insurances: Insurance[]): Promise<number | undefined> => {
try {

const response = await fetch(`${process.env.REACT_APP_API_URL_INSURANCES}/${userId}/${email}`, {
Expand All @@ -94,7 +98,8 @@ export const putInsurancesData = async (userId, email, insurances) => {
}
}

export const putInsurancesSummaryData = async (userId, email, insurancesSummary) => {
export const putInsurancesSummaryData = async (userId: string | null | undefined, email: string | null | undefined,
insurancesSummary: InsurancesSummary): Promise<number | undefined> => {
try {

const response = await fetch(`${process.env.REACT_APP_API_URL_INSURANCES_SUMMARY}/${userId}/${email}`, {
Expand Down
28 changes: 0 additions & 28 deletions src/utils/constants/insurance.constants.js

This file was deleted.

28 changes: 28 additions & 0 deletions src/utils/constants/insurance.constants.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
// insurance constants

export const DEFAULT_INSURANCES = []

export const DEFAULT_INSURANCES_SUMMARY = {}

export enum INSURANCE_INTERVALS {
daily = "Daily",
weekly = "Weekly",
monthly = "Monthly",
quarterly = "Quarterly",
semiannually = "Semiannually",
annually = "Annually"
}

export enum INSURANCE_INTERVALS_DAYS_MULTIPLIER {
daily = 1,
weekly = 7,
monthly = 30,
quarterly = 92,
semiannually = 183,
annually = 365
}

export enum INSURANCE_ADD_TO_EXPENSES {
yes = "Yes",
no = "No"
}
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { gql } from "@apollo/client"
import { DocumentNode, gql } from "@apollo/client"

// graphql insurance queries
export const INSURANCES_BY_USER = gql`
export const INSURANCES_BY_USER: DocumentNode = gql`
query InsurancesByUser($userId: String!, $email: String!) {
insurancesByUser(userId: $userId, email: $email) {
insuranceFor
Expand All @@ -13,7 +13,7 @@ export const INSURANCES_BY_USER = gql`
}
`

export const INSURANCES_SUMMARY_BY_USER = gql`
export const INSURANCES_SUMMARY_BY_USER: DocumentNode = gql`
query InsurancesSummaryByUser($userId: String!, $email: String!) {
insurancesSummaryByUser(userId: $userId, email: $email) {
currentTotalInsurancePlanned
Expand All @@ -22,25 +22,25 @@ export const INSURANCES_SUMMARY_BY_USER = gql`
`

// graphql insurance mutations
export const CREATE_USER_INSURANCE = gql`
export const CREATE_USER_INSURANCE: DocumentNode = gql`
mutation CreateUserInsurance($userId: String!, $email: String!, $insuranceInfo: InsuranceInfo!) {
createUserInsurance(userId: $userId, email: $email, insuranceInfo: $insuranceInfo)
}
`

export const DELETE_USER_INSURANCE = gql`
export const DELETE_USER_INSURANCE: DocumentNode = gql`
mutation DeleteUserInsurance($userId: String!, $email: String!, $removingInsuranceFor: String!) {
deleteUserInsurance(userId: $userId, email: $email, removingInsuranceFor: $removingInsuranceFor)
}
`

export const UPDATE_USER_INSURANCES = gql`
export const UPDATE_USER_INSURANCES: DocumentNode = gql`
mutation UpdateUserInsurances($userId: String!, $email: String!, $insurances: [InsuranceInfo]!) {
updateUserInsurances(userId: $userId, email: $email, insurances: $insurances)
}
`

export const UPDATE_USER_INSURANCES_SUMMARY = gql`
export const UPDATE_USER_INSURANCES_SUMMARY: DocumentNode = gql`
mutation UpdateUserInsurancesSummary($userId: String!, $email: String!, $insurancesSummary: InsurancesSummaryInfo!) {
updateUserInsurancesSummary(userId: $userId, email: $email, insurancesSummary: $insurancesSummary)
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import { FilterConditions } from "../../contexts/signed-in/insurance/insurance.types"
import { Insurance } from "../../contexts/signed-in/insurance/insurance.types"
import { REGEX_PATTERNS } from "../constants/regex.constants"
import { errorOnInsuranceExists, errorOnInvalidInsuranceFor,
errorOnInvalidInsurancePayment, errorOnStartDateBeforeEndDate
} from "../errors/insurance.errors"

// insurance validation functions

export const validateAddInsurance = (insurances, insurance) => {
export const validateAddInsurance = (insurances: Insurance[], insurance: Insurance): boolean => {
// validating if insuranceFor exists in insurances
const insuranceExists = insurances.find((ins) => ins.insuranceFor === insurance.insuranceFor)

Expand All @@ -29,7 +31,7 @@ export const validateAddInsurance = (insurances, insurance) => {
return false
}

export const validateFilterInsurances = (filterConditions) => {
export const validateFilterInsurances = (filterConditions: FilterConditions): boolean => {
// validating if expenseFor is valid
if (filterConditions.insuranceFor && !(REGEX_PATTERNS.names.test(String(filterConditions.insuranceFor)))) {
errorOnInvalidInsuranceFor()
Expand All @@ -45,6 +47,6 @@ export const validateFilterInsurances = (filterConditions) => {
return false
}

export const validateRemoveInsurance = (insuranceFor) => {
export const validateRemoveInsurance = (insuranceFor: string): boolean => {
return false
}
Loading