Subsonic API: added deleteUser command
This commit is contained in:
@@ -642,12 +642,11 @@ static
|
|||||||
Response
|
Response
|
||||||
handleDeletePlaylistRequest(RequestContext& context)
|
handleDeletePlaylistRequest(RequestContext& context)
|
||||||
{
|
{
|
||||||
// Optional params
|
|
||||||
Id id {getMandatoryParameterAs<Id>(context.parameters, "id")};
|
Id id {getMandatoryParameterAs<Id>(context.parameters, "id")};
|
||||||
if (id.type != Id::Type::Playlist)
|
if (id.type != Id::Type::Playlist)
|
||||||
throw Error {Error::CustomType::BadIdFormat};
|
throw Error {Error::CustomType::BadIdFormat};
|
||||||
|
|
||||||
auto transaction {context.dbSession.createSharedTransaction()};
|
auto transaction {context.dbSession.createUniqueTransaction()};
|
||||||
|
|
||||||
User::pointer user {User::getByLoginName(context.dbSession, context.userName)};
|
User::pointer user {User::getByLoginName(context.dbSession, context.userName)};
|
||||||
if (!user)
|
if (!user)
|
||||||
@@ -666,6 +665,26 @@ handleDeletePlaylistRequest(RequestContext& context)
|
|||||||
return Response::createOkResponse();
|
return Response::createOkResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static
|
||||||
|
Response
|
||||||
|
handleDeleteUserRequest(RequestContext& context)
|
||||||
|
{
|
||||||
|
std::string username {getMandatoryParameterAs<std::string>(context.parameters, "username")};
|
||||||
|
|
||||||
|
if (username == context.userName)
|
||||||
|
throw Error {Error::Code::UserNotAuthorized};
|
||||||
|
|
||||||
|
auto transaction {context.dbSession.createUniqueTransaction()};
|
||||||
|
|
||||||
|
User::pointer user {User::getByLoginName(context.dbSession, username)};
|
||||||
|
if (!user)
|
||||||
|
throw Error {Error::Code::RequestedDataNotFound};
|
||||||
|
|
||||||
|
user.remove();
|
||||||
|
|
||||||
|
return Response::createOkResponse();
|
||||||
|
}
|
||||||
|
|
||||||
static
|
static
|
||||||
Response
|
Response
|
||||||
handleGetLicenseRequest(RequestContext& context)
|
handleGetLicenseRequest(RequestContext& context)
|
||||||
@@ -1731,6 +1750,7 @@ static std::map<std::string, RequestEntryPointInfo> requestEntryPoints
|
|||||||
{"/rest/createUser.view", {handleCreateUserRequest, true}},
|
{"/rest/createUser.view", {handleCreateUserRequest, true}},
|
||||||
{"/rest/deletePlaylist.view", {handleDeletePlaylistRequest, false}},
|
{"/rest/deletePlaylist.view", {handleDeletePlaylistRequest, false}},
|
||||||
{"/rest/deleteShare.view", {handleNotImplementedRequest, false}},
|
{"/rest/deleteShare.view", {handleNotImplementedRequest, false}},
|
||||||
|
{"/rest/deleteUser.view", {handleDeleteUserRequest, true}},
|
||||||
{"/rest/getAvatar.view", {handleNotImplementedRequest, false}},
|
{"/rest/getAvatar.view", {handleNotImplementedRequest, false}},
|
||||||
{"/rest/getAlbumList.view", {handleGetAlbumListRequest, false}},
|
{"/rest/getAlbumList.view", {handleGetAlbumListRequest, false}},
|
||||||
{"/rest/getAlbumList2.view", {handleGetAlbumList2Request, false}},
|
{"/rest/getAlbumList2.view", {handleGetAlbumList2Request, false}},
|
||||||
|
|||||||
Reference in New Issue
Block a user