'staff_3', 'requestData' => [ 'name' => [ 'validation' => DataValidator::notBlank()->length(LengthConfig::MIN_LENGTH_NAME, LengthConfig::MAX_LENGTH_NAME)->alnum(), 'error' => ERRORS::INVALID_NAME ] ] ]; } public function handler() { $apiInstance = new APIKey(); $name = Controller::request('name'); $canCreateUsers = (bool)Controller::request('canCreateUsers'); $canCreateTickets = (bool)Controller::request('canCreateTickets'); $canCheckTickets = (bool)Controller::request('canCheckTickets'); $shouldReturnTicketNumber = (bool)Controller::request('shouldReturnTicketNumber'); $keyInstance = APIKey::getDataStore($name, 'name'); if($keyInstance->isNull()){ $token = Hashing::generateRandomToken(); $apiInstance->setProperties([ 'name' => $name, 'token' => $token, 'canCreateUsers' => $canCreateUsers, 'canCreateTickets' => $canCreateTickets, 'canCheckTickets' => $canCheckTickets, 'shouldReturnTicketNumber' => $shouldReturnTicketNumber ]); $apiInstance->store(); Response::respondSuccess($token); } else { throw new RequestException(ERRORS::NAME_ALREADY_USED); } } }