From 945e73d39fd7854a0be3572b1676870d6ec70f77 Mon Sep 17 00:00:00 2001 From: Mike Ryan Date: Sat, 17 Jul 2021 19:33:27 -0500 Subject: [PATCH] 05-reduce-api-actions --- .../src/lib/books.reducer.ts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/libs/shared-state-books/src/lib/books.reducer.ts b/libs/shared-state-books/src/lib/books.reducer.ts index b653d33..89efeef 100644 --- a/libs/shared-state-books/src/lib/books.reducer.ts +++ b/libs/shared-state-books/src/lib/books.reducer.ts @@ -34,5 +34,29 @@ export const reducer = createReducer( ...state, activeBookId: action.bookId, }; + }), + on(BooksApiActions.booksLoaded, (state, action) => { + return { + ...state, + collection: action.books, + }; + }), + on(BooksApiActions.bookCreated, (state, action) => { + return { + collection: createBook(state.collection, action.book), + activeBookId: null, + }; + }), + on(BooksApiActions.bookUpdated, (state, action) => { + return { + collection: updateBook(state.collection, action.book), + activeBookId: null, + }; + }), + on(BooksApiActions.bookDeleted, (state, action) => { + return { + ...state, + collection: deleteBook(state.collection, action.bookId), + }; }) );