import { CookingSession, CookingSessionData } from "@spendcook/api"; import { normalize, NormalizedSchema } from "normalizr"; import { createAction } from "typesafe-actions"; import { Entities, cookingSessionSchema } from "../entities"; export const postCookingSessionRequest = createAction( "cookingSessions/post/pending", (action) => (payload: CookingSessionData) => action(payload) ); export const postCookingSessionFulfill = createAction( "cookingSessions/post/fulfilled", (action) => (cookingSession: CookingSession) => { const { result, entities }: NormalizedSchema = normalize( cookingSession, cookingSessionSchema ); return action(result, { entities }); } );