| 19 | pub struct ServiceHandler; |
| 20 | impl ServiceHandler { |
| 21 | pub fn create_board( |
| 22 | cmd: CreateBoard, |
| 23 | context: AtomicContextManager, |
| 24 | ) -> Future<ServiceResponse> { |
| 25 | Box::pin(async move { |
| 26 | let mut uow = |
| 27 | UnitOfWork::<Repository<BoardAggregate>>::new(context.clone()) |
| 28 | .await?; |
| 29 | |
| 30 | let builder = BoardAggregate::builder(); |
| 31 | let mut board_aggregate: BoardAggregate = builder.build(); |
| 32 | board_aggregate.create_board(cmd); |
| 33 | |
| 34 | let res = uow.repository().add(&mut board_aggregate).await?; |
| 35 | uow.commit().await?; |
| 36 | Ok(res.into()) |
| 37 | }) |
| 38 | } |
| 39 | |
| 40 | pub fn edit_board(cmd: EditBoard, context: AtomicContextManager) -> Future<ServiceResponse> { |
| 41 | Box::pin(async move { |