11// Blog use cases (Clean Architecture)
22module . exports = {
3- createBlogUseCase : ( { dbBlogHandler, makeBlogModel, logEvents, errorHandlers } ) =>
4- async function createBlogUseCaseHandler ( blogData ) {
5- try {
6- const validatedBlog = await makeBlogModel ( { blogData } ) ;
7- const newBlog = await dbBlogHandler . createBlog ( validatedBlog ) ;
8- return Object . freeze ( newBlog ) ;
9- } catch ( error ) {
10- logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
11- throw error ;
12- }
13- } ,
3+ createBlogUseCase : ( { dbBlogHandler, makeBlogModel, logEvents, errorHandlers } ) =>
4+ async function createBlogUseCaseHandler ( blogData ) {
5+ try {
6+ const validatedBlog = await makeBlogModel ( { blogData } ) ;
7+ const newBlog = await dbBlogHandler . createBlog ( validatedBlog ) ;
8+ return Object . freeze ( newBlog ) ;
9+ } catch ( error ) {
10+ logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
11+ throw error ;
12+ }
13+ } ,
1414
15- findAllBlogsUseCase : ( { dbBlogHandler, logEvents } ) =>
16- async function findAllBlogsUseCaseHandler ( ) {
17- try {
18- const blogs = await dbBlogHandler . findAllBlogs ( ) ;
19- return blogs || [ ] ;
20- } catch ( error ) {
21- logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
22- throw error ;
23- }
24- } ,
15+ findAllBlogsUseCase : ( { dbBlogHandler, logEvents } ) =>
16+ async function findAllBlogsUseCaseHandler ( ) {
17+ try {
18+ const blogs = await dbBlogHandler . findAllBlogs ( ) ;
19+ return blogs || [ ] ;
20+ } catch ( error ) {
21+ logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
22+ throw error ;
23+ }
24+ } ,
2525
26- findOneBlogUseCase : ( { dbBlogHandler, logEvents } ) =>
27- async function findOneBlogUseCaseHandler ( { blogId } ) {
28- try {
29- const blog = await dbBlogHandler . findOneBlog ( { blogId } ) ;
30- if ( ! blog ) throw new Error ( 'Blog not found' ) ;
31- return blog ;
32- } catch ( error ) {
33- logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
34- throw error ;
35- }
36- } ,
26+ findOneBlogUseCase : ( { dbBlogHandler, logEvents } ) =>
27+ async function findOneBlogUseCaseHandler ( { blogId } ) {
28+ try {
29+ const blog = await dbBlogHandler . findOneBlog ( { blogId } ) ;
30+ if ( ! blog ) throw new Error ( 'Blog not found' ) ;
31+ return blog ;
32+ } catch ( error ) {
33+ logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
34+ throw error ;
35+ }
36+ } ,
3737
38- updateBlogUseCase : ( { dbBlogHandler, makeBlogModel, logEvents, errorHandlers } ) =>
39- async function updateBlogUseCaseHandler ( { blogId, updateData } ) {
40- try {
41- const existingBlog = await dbBlogHandler . findOneBlog ( { blogId } ) ;
42- if ( ! existingBlog ) throw new Error ( 'Blog not found' ) ;
43- const validatedBlog = await makeBlogModel ( { blogData : { ...existingBlog , ...updateData } } ) ;
44- const updatedBlog = await dbBlogHandler . updateBlog ( { blogId, ...validatedBlog } ) ;
45- return Object . freeze ( updatedBlog ) ;
46- } catch ( error ) {
47- logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
48- throw error ;
49- }
50- } ,
38+ updateBlogUseCase : ( { dbBlogHandler, makeBlogModel, logEvents, errorHandlers } ) =>
39+ async function updateBlogUseCaseHandler ( { blogId, updateData } ) {
40+ try {
41+ const existingBlog = await dbBlogHandler . findOneBlog ( { blogId } ) ;
42+ if ( ! existingBlog ) throw new Error ( 'Blog not found' ) ;
43+ const validatedBlog = await makeBlogModel ( { blogData : { ...existingBlog , ...updateData } } ) ;
44+ const updatedBlog = await dbBlogHandler . updateBlog ( { blogId, ...validatedBlog } ) ;
45+ return Object . freeze ( updatedBlog ) ;
46+ } catch ( error ) {
47+ logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
48+ throw error ;
49+ }
50+ } ,
5151
52- deleteBlogUseCase : ( { dbBlogHandler, logEvents } ) =>
53- async function deleteBlogUseCaseHandler ( { blogId } ) {
54- try {
55- const deleted = await dbBlogHandler . deleteBlog ( { blogId } ) ;
56- return deleted ;
57- } catch ( error ) {
58- logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
59- throw error ;
60- }
61- } ,
62- } ;
52+ deleteBlogUseCase : ( { dbBlogHandler, logEvents } ) =>
53+ async function deleteBlogUseCaseHandler ( { blogId } ) {
54+ try {
55+ const deleted = await dbBlogHandler . deleteBlog ( { blogId } ) ;
56+ return deleted ;
57+ } catch ( error ) {
58+ logEvents && logEvents ( error . message , 'blogUseCase.log' ) ;
59+ throw error ;
60+ }
61+ } ,
62+ } ;
0 commit comments