Add get_library_pattern endpoint
This commit is contained in:
parent
1a495149b2
commit
87811418b1
@ -55,6 +55,7 @@ std::vector< RenameLibrary > getLibraries(const std::vector<std::pair<std::strin
|
||||
rl.getName = ( const std::string(*)() ) dlsym( libhndl, "getName" );
|
||||
rl.canRenameMultipleFiles = ( const bool(*)() ) dlsym( libhndl, "canRenameMultipleFiles" );
|
||||
rl.shouldPerformSearch = ( const bool(*)() ) dlsym( libhndl, "shouldPerformSearch" );
|
||||
rl.choiceDisplay = ( const std::string(*)() ) dlsym( libhndl, "choiceDisplay" );
|
||||
rl.config = library.second;
|
||||
result.push_back( rl );
|
||||
}
|
||||
|
@ -34,6 +34,7 @@ const string getCustomKeyDefault(const string &key);
|
||||
const string getName();
|
||||
const bool canRenameMultipleFiles();
|
||||
const bool shouldPerformSearch();
|
||||
const std::string choiceDisplay();
|
||||
}
|
||||
|
||||
#endif // TV_RENAME_HPP
|
||||
|
35
main.cpp
35
main.cpp
@ -182,6 +182,13 @@ std::string getFieldDefault( size_t library_id, const std::string &field ) {
|
||||
return libraries[library_id].getCustomKeyDefault( field );
|
||||
}
|
||||
|
||||
std::string getLibraryPattern( size_t library_id ) {
|
||||
if ( library_id >= libraries.size() ) {
|
||||
return "";
|
||||
}
|
||||
return libraries[library_id].choiceDisplay();
|
||||
}
|
||||
|
||||
std::string getCustomKeysJson( size_t library_id ) {
|
||||
std::ostringstream res;
|
||||
res << "{\n \"custom_keys\": [\n";
|
||||
@ -229,6 +236,13 @@ std::string getFieldDefaultJson( size_t library_id, const std::string &field ) {
|
||||
return res.str();
|
||||
}
|
||||
|
||||
std::string getLibraryPatternJson( size_t library_id ) {
|
||||
std::ostringstream res;
|
||||
res << "{\n \"pattern\": \"" << getLibraryPattern( library_id )
|
||||
<< "\"}";
|
||||
return res.str();
|
||||
}
|
||||
|
||||
void getCustomKeysRest( const std::shared_ptr< restbed::Session > &session,
|
||||
rapidjson::GenericDocument< rapidjson::UTF8<> > &doc ) {
|
||||
if ( doc.FindMember( "library_id" ) == doc.MemberEnd() ||
|
||||
@ -276,6 +290,18 @@ void getFieldDefaultRest(
|
||||
sendResponse( getFieldDefaultJson( library_id, field ), 200, session );
|
||||
}
|
||||
|
||||
void getLibraryPatternRest(
|
||||
const std::shared_ptr< restbed::Session > &session,
|
||||
rapidjson::GenericDocument< rapidjson::UTF8<> > &doc ) {
|
||||
if ( doc.FindMember( "library_id" ) == doc.MemberEnd() ||
|
||||
!doc["library_id"].IsUint64() ) {
|
||||
sendResponse( "ERROR: Invalid library_id!", 401, session );
|
||||
return;
|
||||
}
|
||||
auto library_id = doc["library_id"].GetUint64();
|
||||
sendResponse( getLibraryPatternJson( library_id ), 200, session );
|
||||
}
|
||||
|
||||
std::pair< bool, std::string > renamePath( std::string path,
|
||||
const RenameObject &renamer ) {
|
||||
if ( renamer.getLibraryId() >= libraries.size() ) {
|
||||
@ -620,6 +646,10 @@ void getFieldDefaultCall( const std::shared_ptr< restbed::Session > &session ) {
|
||||
performPostFunc( session, getFieldDefaultRest );
|
||||
}
|
||||
|
||||
void getLibraryPatternCall( const std::shared_ptr< restbed::Session > &session ) {
|
||||
performPostFunc( session, getLibraryPatternRest );
|
||||
}
|
||||
|
||||
void renameCall( const std::shared_ptr< restbed::Session > &session ) {
|
||||
performPostFunc( session, renamePathRest );
|
||||
}
|
||||
@ -684,6 +714,11 @@ int main( int argc, char **argv ) {
|
||||
field_default->set_method_handler( "POST", getFieldDefaultCall );
|
||||
service.publish( field_default );
|
||||
|
||||
auto library_pattern = std::make_shared< restbed::Resource >();
|
||||
library_pattern->set_path( "/get_library_pattern" );
|
||||
library_pattern->set_method_handler( "POST", getLibraryPatternCall );
|
||||
service.publish( library_pattern );
|
||||
|
||||
auto rename_path = std::make_shared< restbed::Resource >();
|
||||
rename_path->set_path( "/rename" );
|
||||
rename_path->set_method_handler( "POST", renameCall );
|
||||
|
@ -15,6 +15,7 @@ struct RenameLibrary {
|
||||
const std::string ( *getName )();
|
||||
const bool ( *canRenameMultipleFiles )();
|
||||
const bool ( *shouldPerformSearch )();
|
||||
const std::string ( *choiceDisplay )();
|
||||
void *libhndl;
|
||||
std::string name;
|
||||
std::string config;
|
||||
|
Loading…
Reference in New Issue
Block a user