diff --git a/server/controllers/system/add-project.php b/server/controllers/system/add-project.php new file mode 100644 index 00000000..86a3c491 --- /dev/null +++ b/server/controllers/system/add-project.php @@ -0,0 +1,59 @@ + 'staff_3', + 'requestData' => [ + 'name' => [ + 'validation' => DataValidator::AllOf( + DataValidator::notBlank()->length(LengthConfig::MIN_LENGTH_NAME, LengthConfig::MAX_LENGTH_NAME), + DataValidator::ValidProjectName() + ), + 'error' => ERRORS::INVALID_NAME + ] + ] + ]; + } + + public function handler() { + $name = Controller::request('name', true); + + $projectInstance = new Project(); + + $projectInstance->setProperties([ + 'name' => $name , + ]); + $projectInstance->store(); + + Log::createLog('ADD_PROJECT', $name); + + Response::respondSuccess(); + + } +} diff --git a/server/controllers/user/add-project.php b/server/controllers/user/add-project.php new file mode 100644 index 00000000..7aacbc14 --- /dev/null +++ b/server/controllers/user/add-project.php @@ -0,0 +1,57 @@ + 'staff_1', + 'requestData' => [ + 'userId' => [ + 'validation' => DataValidator::dataStoreId('user'), + 'error' => ERRORS::INVALID_USER + ], + 'projectId' => [ + 'validation' => DataValidator::dataStoreId('project'), + 'error' => ERRORS::INVALID_USER + ] + ] + ]; + } + + public function handler() { + + $user = User::getDataStore(Controller::request('userId')); + + $project = Project::getDataStore(Controller::request('projectId')); + + Response::respondSuccess(); + } +} diff --git a/server/data/db_schema.sql b/server/data/db_schema.sql index 421e17c4..861c1d95 100644 --- a/server/data/db_schema.sql +++ b/server/data/db_schema.sql @@ -152,9 +152,7 @@ DROP TABLE IF EXISTS `project`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `project` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, - `owners` int(11) unsigned DEFAULT NULL, `name` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL, - `private` int(11) unsigned DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; diff --git a/server/models/Project.php b/server/models/Project.php new file mode 100644 index 00000000..2f2abe54 --- /dev/null +++ b/server/models/Project.php @@ -0,0 +1,47 @@ + $project->id, + 'name' => $project->name + ]; + } + + return $projectsNameList; + } + + public function toArray() { + return [ + 'id' => $this->id, + 'name' => $this->name, + ]; + } +}