config + beginning of module

This commit is contained in:
xdrm-brackets 2016-11-07 08:15:16 +01:00
parent 5afe79e54f
commit 79818b8c4e
4 changed files with 77 additions and 3 deletions

View File

@ -370,8 +370,10 @@
/* (1) On verifie que le token est valide */ /* (1) On verifie que le token est valide */
$checkToken = new Repo('token/check', [$token] ); // $checkToken = new Repo('token/check', [$token] );
$token_permissions = $checkToken->answer(); $token_permissions = false;
// TODO: Token management
// $token_permissions = $checkToken->answer();
// Si le token est invalide, on retourne une erreur -> FAUX // Si le token est invalide, on retourne une erreur -> FAUX
if( $token_permissions === false ){ if( $token_permissions === false ){

View File

@ -0,0 +1,53 @@
<?php
namespace api\core;
use \manager\ManagerError;
class release{
/* PULLS A BRANCH FROM GIT
*
* @project<String> Project's name
* @branch<String> Git branch
*
*/
public static function pull($args){
extract($args);
/* [1] Load projects' configuration
=========================================================*/
/* (1) Fetch file */
$fc = file_get_contents(__CONFIG__.'/projects.json');
if( !$fc )
return ['ModuleError'=>ManagerError::UnreachableResource];
/* (2) Checks json format */
$js = json_decode( $fc, true );
if( !$js )
return ['ModuleError'=>ManagerError::ParsingFailed];
/* [2] Checks @project argument and files
=========================================================*/
/* (1) Checks @project */
if( !isset($js[$project]) )
return ['ModuleError'=>ManagerError::UnreachableResource];
/* (2) Checks @project's folder */
if( !is_dir($js[$project]['root']) )
return ['ModuleError'=>ManagerError::UnreachableResource];
/* (3) Checks @git directory */
if( !is_dir($js[$project]['root'].'/.git') )
return ['ModuleError'=>ManagerError::UnreachableResource];
/* [3] Launch script
=========================================================*/
/* (1) Launch command + test */
}
}

View File

@ -1,3 +1,12 @@
{ {
"release": {
"pull": {
"description": "Pulls project from git branch.",
"permissions": [],
"parameters": {
"project": { "description": "Project's name.", "type": "varchar(2,30,alphanumeric)" },
"branch": { "description": "Git release branch.", "type": "varchar(2,30,alphanumeric)" }
}
}
}
} }

10
config/projects.json Normal file
View File

@ -0,0 +1,10 @@
{
"nxtic": {
"root": "/var/www/nxtic"
},
"prod-releaser": {
"root": "/var/www/prod-releaser"
}
}