mirror of
https://github.com/opensupports/opensupports.git
synced 2025-07-29 16:54:53 +02:00
guillermo- banning architecture [skip ci]
This commit is contained in:
parent
f3c1882a13
commit
f6ae50ef87
@ -11,6 +11,9 @@ include 'user/get.php';
|
||||
include 'user/get-users.php';
|
||||
include 'user/get-user.php';
|
||||
include 'user/delete.php';
|
||||
include 'user/ban.php';
|
||||
include 'user/un-ban.php';
|
||||
include 'user/list-ban.php';
|
||||
|
||||
$userControllers = new ControllerGroup();
|
||||
$userControllers->setGroupPath('/user');
|
||||
@ -27,4 +30,7 @@ $userControllers->addController(new GetUserController);
|
||||
$userControllers->addController(new GetUsersController);
|
||||
$userControllers->addController(new GetUserByIdController);
|
||||
$userControllers->addController(new DeleteUserController);
|
||||
$userControllers->addController(new BanUserController);
|
||||
$userControllers->addController(new UnBanUserController);
|
||||
$userControllers->addController(new ListBanUserController);
|
||||
$userControllers->finalize();
|
||||
|
37
server/controllers/user/ban.php
Normal file
37
server/controllers/user/ban.php
Normal file
@ -0,0 +1,37 @@
|
||||
<?php
|
||||
use Respect\Validation\Validator as DataValidator;
|
||||
|
||||
class BanUserController extends Controller {
|
||||
const PATH = '/ban';
|
||||
|
||||
public function validations() {
|
||||
return [
|
||||
'permission' => 'staff_1',
|
||||
'requestData' => [
|
||||
'email' => [
|
||||
'validation' => DataValidator::email(),
|
||||
'error' => ERRORS::INVALID_EMAIL
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public function handler() {
|
||||
$email = Controller::request('email');
|
||||
|
||||
$banRow = Ban::getDataStore($email,'email');
|
||||
if($banRow->isNull()) {
|
||||
$ban = new Ban();
|
||||
|
||||
$ban->setProperties(array(
|
||||
'email' => $email
|
||||
));
|
||||
|
||||
$ban->store();
|
||||
|
||||
Response::respondSuccess();
|
||||
} else {
|
||||
Response::respondError(ERRORS::ALREADY_BANNED);
|
||||
}
|
||||
}
|
||||
}
|
18
server/controllers/user/list-ban.php
Normal file
18
server/controllers/user/list-ban.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
use Respect\Validation\Validator as DataValidator;
|
||||
|
||||
class ListBanUserController extends Controller {
|
||||
const PATH = '/list-ban';
|
||||
|
||||
public function validations() {
|
||||
return [
|
||||
'permission' => 'staff_1',
|
||||
'requestData' => []
|
||||
];
|
||||
}
|
||||
|
||||
public function handler() {
|
||||
$banList = Ban::getAll()->toArray();
|
||||
Response::respondSuccess($banList);
|
||||
}
|
||||
}
|
32
server/controllers/user/un-ban.php
Normal file
32
server/controllers/user/un-ban.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
use Respect\Validation\Validator as DataValidator;
|
||||
|
||||
class UnBanUserController extends Controller {
|
||||
const PATH = '/un-ban';
|
||||
|
||||
public function validations() {
|
||||
return [
|
||||
'permission' => 'staff_1',
|
||||
'requestData' => [
|
||||
'email' => [
|
||||
'validation' => DataValidator::email(),
|
||||
'error' => ERRORS::INVALID_EMAIL
|
||||
]
|
||||
]
|
||||
];
|
||||
}
|
||||
|
||||
public function handler() {
|
||||
$email = Controller::request('email');
|
||||
$banRow = Ban::getDataStore($email,'email');
|
||||
|
||||
if($banRow->isNull()) {
|
||||
Response::respondError(ERRORS::INVALID_EMAIL);
|
||||
} else {
|
||||
$banRow->delete();
|
||||
Response::respondSuccess();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -25,4 +25,5 @@ class ERRORS {
|
||||
const INVALID_SEARCH = 'INVALID_SEARCH';
|
||||
const INVALID_ORDER = 'INVALID_ORDER';
|
||||
const INVALID_USER = 'INVALID_USER';
|
||||
const ALREADY_BANNED = 'ALREADY_BANNED';
|
||||
}
|
||||
|
17
server/models/Ban.php
Normal file
17
server/models/Ban.php
Normal file
@ -0,0 +1,17 @@
|
||||
<?php
|
||||
class Ban extends DataStore {
|
||||
const TABLE = 'ban';
|
||||
|
||||
public static function getProps() {
|
||||
return array (
|
||||
'email'
|
||||
);
|
||||
}
|
||||
|
||||
public function getDefaultProps() {
|
||||
return array();
|
||||
}
|
||||
public function toArray() {
|
||||
return $this->email;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user