mirror of
				https://github.com/Telecominfraproject/wlan-cloud-owprov.git
				synced 2025-10-30 18:18:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| //
 | |
| // Created by stephane bourque on 2021-08-23.
 | |
| //
 | |
| 
 | |
| #include "RESTAPI_venue_list_handler.h"
 | |
| #include "StorageService.h"
 | |
| #include "RESTAPI/RESTAPI_db_helpers.h"
 | |
| 
 | |
| namespace OpenWifi{
 | |
|     void RESTAPI_venue_list_handler::DoGet() {
 | |
|         try {
 | |
|             std::string Arg;
 | |
|             if(!QB_.Select.empty()) {
 | |
|                 return ReturnRecordList<decltype(StorageService()->VenueDB()),
 | |
|                 ProvObjects::Venue>("venues",StorageService()->VenueDB(),*this );
 | |
|             } else if(HasParameter("entity",Arg)) {
 | |
|                 ProvObjects::VenueVec Venues;
 | |
|                 StorageService()->VenueDB().GetRecords(QB_.Offset,QB_.Limit,Venues, StorageService()->VenueDB().OP("entity",ORM::EQ,Arg));
 | |
|                 if(QB_.CountOnly) {
 | |
|                     return ReturnCountOnly(Venues.size());
 | |
|                 }
 | |
|                 return MakeJSONObjectArray("venues", Venues, *this);
 | |
|             } else if(HasParameter("venue",Arg)) {
 | |
|                 ProvObjects::VenueVec Venues;
 | |
|                 StorageService()->VenueDB().GetRecords(QB_.Offset,QB_.Limit,Venues,StorageService()->VenueDB().OP("venue",ORM::EQ,Arg));
 | |
|                 if(QB_.CountOnly) {
 | |
|                     return ReturnCountOnly(Venues.size());
 | |
|                 }
 | |
|                 return MakeJSONObjectArray("venues", Venues, *this);
 | |
|             } else if(QB_.CountOnly) {
 | |
|                 Poco::JSON::Object  Answer;
 | |
|                 auto C = StorageService()->VenueDB().Count();
 | |
|                 return ReturnCountOnly(C);
 | |
|             } else {
 | |
|                 ProvObjects::VenueVec Venues;
 | |
|                 StorageService()->VenueDB().GetRecords(QB_.Offset, QB_.Limit,Venues);
 | |
|                 return MakeJSONObjectArray("venues", Venues, *this);
 | |
|             }
 | |
|         } catch(const Poco::Exception &E) {
 | |
|             Logger().log(E);
 | |
|         }
 | |
|         InternalError("Internal error.");
 | |
|     }
 | |
| } | 
