in lambda/src/main/main.go [48:112]
func HandleRequest(ctx context.Context, wrapper model.RqWrapper) (model.ResWrapper, error) {
log.Printf("Received Request %+v", wrapper)
//Validate request body with rues (may need to be a different function per use case)
err := ValidateRequest(wrapper.Request)
res := model.ResWrapper{}
if(err == nil) {
if(wrapper.SubFunction == FN_CONFIG_LIST_HOTEL) {
log.Printf("Selected Use Case %v",FN_CONFIG_LIST_HOTEL)
res, err = usecase.ListHotel(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_SAVE_HOTEL) {
log.Printf("Selected Use Case %v",FN_CONFIG_SAVE_HOTEL)
res, err = usecase.SaveHotel(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_GET_HOTEL) {
log.Printf("Selected Use Case %v",FN_CONFIG_GET_HOTEL)
res, err = usecase.GetHotel(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_ADD_PICTURE) {
log.Printf("Selected Use Case %v",FN_CONFIG_ADD_PICTURE)
res, err = usecase.AddPictures(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_DELETE_PICTURE) {
log.Printf("Selected Use Case %v",FN_CONFIG_DELETE_PICTURE)
res, err = usecase.DeletePicture(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_SAVE_ROOMS) {
log.Printf("Selected Use Case %v",FN_CONFIG_SAVE_ROOMS)
res, err = usecase.SaveRooms(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_ADD_SELLABLE) {
log.Printf("Selected Use Case %v",FN_CONFIG_ADD_SELLABLE)
res, err = usecase.AddSellable(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_ADD_TOOM_TYPE) {
log.Printf("Selected Use Case %v",FN_CONFIG_ADD_TOOM_TYPE)
res, err = usecase.AddRoomType(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_ADD_TAG) {
log.Printf("Selected Use Case %v",FN_CONFIG_ADD_TAG)
res, err = usecase.AddTag(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_DELETE_SELLABLE) {
log.Printf("Selected Use Case %v",FN_CONFIG_DELETE_SELLABLE)
res, err = usecase.DeleteSellable(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_DELETE_ROOM_TYPE) {
log.Printf("Selected Use Case %v",FN_CONFIG_DELETE_ROOM_TYPE)
res, err = usecase.DeleteRoomType(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_DELETE_TAG) {
log.Printf("Selected Use Case %v",FN_CONFIG_DELETE_TAG)
res, err = usecase.DeleteTag(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_ADD_SELLABLE_PICTURE) {
log.Printf("Selected Use Case %v",FN_CONFIG_ADD_SELLABLE_PICTURE)
res, err = usecase.AddSellablePicture(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_ADD_ROOM_TYPE_PICTURE) {
log.Printf("Selected Use Case %v",FN_CONFIG_ADD_ROOM_TYPE_PICTURE)
res, err = usecase.AddRoomTypePicture(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_DELETE_SELLABLE_PICTURE) {
log.Printf("Selected Use Case %v",FN_CONFIG_DELETE_SELLABLE_PICTURE)
res, err = usecase.DeleteSellablePicture(wrapper,configDb);
} else if(wrapper.SubFunction == FN_CONFIG_DELETE_ROOM_TYPE_PICTURE) {
log.Printf("Selected Use Case %v",FN_CONFIG_DELETE_ROOM_TYPE_PICTURE)
res, err = usecase.DeleteRoomTypePicture(wrapper,configDb)
} else if(wrapper.SubFunction == FN_CONFIG_PUBLISH_CHANGES) {
log.Printf("Selected Use Case %v",FN_CONFIG_PUBLISH_CHANGES)
res, err = usecase.PublishChanges(wrapper,configDb)
} else {
log.Printf("No Use Case Found for %v",wrapper.SubFunction)
err = errors.New("No Use Case Found for sub function " + wrapper.SubFunction)
}
}
log.Printf("Lambda function execusion completed with res: %+v and error: %+v", res,err)
return res, err
}