mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:08:56 +00:00
Remove requirement for userid when using RSS, API and APIv2, its useless as we already have the token
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
2018-12-12 DariusIII
|
||||
* Chg: Remove requirement for userid when using RSS, API and APIv2, its useless as we already have the token
|
||||
* Chg: Update code style of movieinfo table migration
|
||||
* Chg: Update font-awesome to version 5.6.1 and update all-css.css and all-js.js files, also update package.json
|
||||
* Chg: Update laravel/framework to version 5.7.17
|
||||
|
||||
@@ -116,7 +116,7 @@ class ApiController extends BasePageController
|
||||
$api->verifyEmptyParameter('q');
|
||||
$maxAge = $api->maxAge();
|
||||
$groupName = $api->group();
|
||||
UserRequest::addApiRequest($uid, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($apiKey, $request->getRequestUri());
|
||||
$categoryID = $api->categoryID();
|
||||
$limit = $api->limit();
|
||||
|
||||
@@ -170,7 +170,7 @@ class ApiController extends BasePageController
|
||||
$api->verifyEmptyParameter('season');
|
||||
$api->verifyEmptyParameter('ep');
|
||||
$maxAge = $api->maxAge();
|
||||
UserRequest::addApiRequest($uid, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($apiKey, $request->getRequestUri());
|
||||
|
||||
$siteIdArr = [
|
||||
'id' => $request->input('vid') ?? '0',
|
||||
@@ -214,7 +214,7 @@ class ApiController extends BasePageController
|
||||
$api->verifyEmptyParameter('q');
|
||||
$api->verifyEmptyParameter('imdbid');
|
||||
$maxAge = $api->maxAge();
|
||||
UserRequest::addApiRequest($uid, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($apiKey, $request->getRequestUri());
|
||||
|
||||
$imdbId = $request->has('imdbid') && ! empty($request->input('imdbid')) ? $request->input('imdbid') : -1;
|
||||
$tmdbId = $request->has('tmdbid') && ! empty($request->input('tmdbid')) ? $request->input('tmdbid') : -1;
|
||||
@@ -247,10 +247,10 @@ class ApiController extends BasePageController
|
||||
// Get NZB.
|
||||
case 'g':
|
||||
$api->verifyEmptyParameter('g');
|
||||
UserRequest::addApiRequest($uid, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($apiKey, $request->getRequestUri());
|
||||
$relData = Release::checkGuidForApi($request->input('id'));
|
||||
if ($relData !== false) {
|
||||
return redirect(WWW_TOP.'/getnzb?i='.$uid.'&r='.$apiKey.'&id='.$request->input('id').(($request->has('del') && $request->input('del') === '1') ? '&del=1' : ''));
|
||||
return redirect(WWW_TOP.'/getnzb?r='.$apiKey.'&id='.$request->input('id').(($request->has('del') && $request->input('del') === '1') ? '&del=1' : ''));
|
||||
}
|
||||
|
||||
Utility::showApiError(300, 'No such item (the guid you provided has no release in our database)');
|
||||
@@ -262,7 +262,7 @@ class ApiController extends BasePageController
|
||||
Utility::showApiError(200, 'Missing parameter (guid is required for single release details)');
|
||||
}
|
||||
|
||||
UserRequest::addApiRequest($uid, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($apiKey, $request->getRequestUri());
|
||||
$data = Release::getByGuid($request->input('id'));
|
||||
|
||||
$api->output($data, $params, $outputXML, $offset, 'api');
|
||||
@@ -274,7 +274,7 @@ class ApiController extends BasePageController
|
||||
Utility::showApiError(200, 'Missing parameter (id is required for retrieving an NFO)');
|
||||
}
|
||||
|
||||
UserRequest::addApiRequest($uid, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($apiKey, $request->getRequestUri());
|
||||
$rel = Release::query()->where('guid', $request->input('id'))->first(['id', 'searchname']);
|
||||
$data = ReleaseNfo::getReleaseNfo($rel['id']);
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ class ApiV2Controller extends BasePageController
|
||||
$minSize = $request->has('minsize') && $request->input('minsize') > 0 ? $request->input('minsize') : 0;
|
||||
$maxAge = $api->maxAge();
|
||||
$catExclusions = User::getCategoryExclusion($this->userdata->id);
|
||||
UserRequest::addApiRequest($this->userdata->id, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($request->input('api_token'), $request->getRequestUri());
|
||||
|
||||
$imdbId = $request->has('imdbid') && ! empty($request->input('imdbid')) ? $request->input('imdbid') : -1;
|
||||
$tmdbId = $request->has('tmdbid') && ! empty($request->input('tmdbid')) ? $request->input('tmdbid') : -1;
|
||||
@@ -117,7 +117,7 @@ class ApiV2Controller extends BasePageController
|
||||
$tags = $request->has('tags') && ! empty($request->input('tags')) ? explode(',', $request->input('tags')) : [];
|
||||
$maxAge = $api->maxAge();
|
||||
$groupName = $api->group();
|
||||
UserRequest::addApiRequest($this->userdata->id, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($request->input('api_token'), $request->getRequestUri());
|
||||
$categoryID = $api->categoryID();
|
||||
$limit = $api->limit();
|
||||
|
||||
@@ -180,7 +180,7 @@ class ApiV2Controller extends BasePageController
|
||||
$api->verifyEmptyParameter('season');
|
||||
$api->verifyEmptyParameter('ep');
|
||||
$maxAge = $api->maxAge();
|
||||
UserRequest::addApiRequest($this->userdata->id, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($request->input('api_token'), $request->getRequestUri());
|
||||
|
||||
$siteIdArr = [
|
||||
'id' => $request->input('vid') ?? '0',
|
||||
@@ -231,10 +231,10 @@ class ApiV2Controller extends BasePageController
|
||||
*/
|
||||
public function getNzb(Request $request)
|
||||
{
|
||||
UserRequest::addApiRequest($this->userdata->id, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($request->input('api_token'), $request->getRequestUri());
|
||||
$relData = Release::checkGuidForApi($request->input('id'));
|
||||
if ($relData !== false) {
|
||||
return redirect('/getnzb?i='.$this->userdata->id.'&r='.$this->userdata->api_token.'&id='.$request->input('id').(($request->has('del') && $request->input('del') === '1') ? '&del=1' : ''));
|
||||
return redirect('/getnzb?r='.$this->userdata->api_token.'&id='.$request->input('id').(($request->has('del') && $request->input('del') === '1') ? '&del=1' : ''));
|
||||
}
|
||||
|
||||
Utility::showApiError(300, 'No such item (the guid you provided has no release in our database)');
|
||||
@@ -251,7 +251,7 @@ class ApiV2Controller extends BasePageController
|
||||
Utility::showApiError(200, 'Missing parameter (guid is required for single release details)');
|
||||
}
|
||||
|
||||
UserRequest::addApiRequest($this->userdata->id, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($request->input('api_token'), $request->getRequestUri());
|
||||
$relData = Release::getByGuid($request->input('id'));
|
||||
|
||||
$relData = fractal($relData, new DetailsTransformer($this->userdata));
|
||||
|
||||
@@ -16,13 +16,13 @@ class FailedReleasesController extends BasePageController
|
||||
*/
|
||||
public function show(Request $request)
|
||||
{
|
||||
if (! $request->has('userid') || ! $request->has('api_token')) {
|
||||
if (! $request->has('api_token')) {
|
||||
return response('Bad request, please supply all parameters!', 400)->withHeaders(['X-DNZB-RCode' => 400, 'X-DNZB-RText' => 'Bad request, please supply all parameters!']);
|
||||
}
|
||||
|
||||
$res = User::getByIdAndRssToken($request->input('userid'), $request->input('api_token'));
|
||||
$res = User::getByRssToken($request->input('api_token'));
|
||||
if ($res === null) {
|
||||
return response('Unauthorised, wrong user ID or rss key!', 401)->withHeaders(['X-DNZB-RCode' => 401, 'X-DNZB-RText' => 'Unauthorised, wrong user ID or rss key!']);
|
||||
return response('Unauthorised, wrong rss key!', 401)->withHeaders(['X-DNZB-RCode' => 401, 'X-DNZB-RText' => 'Unauthorised, wrong rss key!']);
|
||||
}
|
||||
|
||||
$uid = $res['id'];
|
||||
@@ -35,7 +35,7 @@ class FailedReleasesController extends BasePageController
|
||||
return response('No NZB found for alternate match!', 404)->withHeaders(['X-DNZB-RCode' => 404, 'X-DNZB-RText' => 'No NZB found for alternate match.']);
|
||||
}
|
||||
|
||||
return response('Success', 200)->withHeaders(['Location' => url('/').'/getnzb?id='.$alt['guid'].'&i='.$uid.'&r='.$rssToken]);
|
||||
return response('Success', 200)->withHeaders(['Location' => url('/').'/getnzb?id='.$alt['guid'].'&r='.$rssToken]);
|
||||
}
|
||||
|
||||
return response('Bad request, please supply all parameters!', 400)->withHeaders(['X-DNZB-RCode' => 400, 'X-DNZB-RText' => 'Bad request, please supply all parameters!']);
|
||||
|
||||
@@ -35,11 +35,11 @@ class GetNzbController extends BasePageController
|
||||
Utility::showApiError(101);
|
||||
}
|
||||
} else {
|
||||
if (! $request->has('i') || ! $request->has('r')) {
|
||||
if (! $request->has('r')) {
|
||||
Utility::showApiError(200);
|
||||
}
|
||||
|
||||
$res = User::getByIdAndRssToken($request->input('i'), $request->input('r'));
|
||||
$res = User::getByRssToken($request->input('r'));
|
||||
if (! $res) {
|
||||
Utility::showApiError(100);
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ class RssController extends BasePageController
|
||||
{
|
||||
/**
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @throws \Exception
|
||||
* @throws \Throwable
|
||||
*/
|
||||
public function rss(Request $request)
|
||||
{
|
||||
@@ -72,11 +72,11 @@ class RssController extends BasePageController
|
||||
$rssToken = $this->userdata['api_token'];
|
||||
$maxRequests = $this->userdata->role->apirequests;
|
||||
} else {
|
||||
if (! $request->has('i') || ! $request->has('r')) {
|
||||
Utility::showApiError(100, 'Both the User ID and API key are required for viewing the RSS!');
|
||||
if (! $request->has('r')) {
|
||||
Utility::showApiError(100, 'API key is required for viewing the RSS!');
|
||||
}
|
||||
|
||||
$res = User::getByIdAndRssToken($request->input('i'), $request->input('r'));
|
||||
$res = User::getByRssToken($request->input('r'));
|
||||
|
||||
if (! $res) {
|
||||
Utility::showApiError(100);
|
||||
@@ -94,7 +94,7 @@ class RssController extends BasePageController
|
||||
if (UserRequest::getApiRequests($uid) > $maxRequests) {
|
||||
Utility::showApiError(500, 'You have reached your daily limit for API requests!');
|
||||
} else {
|
||||
UserRequest::addApiRequest($uid, $request->getRequestUri());
|
||||
UserRequest::addApiRequest($rssToken, $request->getRequestUri());
|
||||
}
|
||||
|
||||
// Valid or logged in user, get them the requested feed.
|
||||
|
||||
@@ -84,11 +84,12 @@ class UserRequest extends Model
|
||||
/**
|
||||
* If a user accesses the API, log it.
|
||||
*
|
||||
* @param int $userID ID of the user.
|
||||
* @param string $token API token of the user
|
||||
* @param string $request The API request.
|
||||
*/
|
||||
public static function addApiRequest($userID, $request): void
|
||||
public static function addApiRequest($token, $request): void
|
||||
{
|
||||
$userID = User::query()->select(['id'])->where('api_token', $token)->value('id');
|
||||
self::query()->insert(['users_id' => $userID, 'request' => $request, 'timestamp'=> now()]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user