summaryrefslogtreecommitdiff
path: root/server/core/Image.php
diff options
context:
space:
mode:
Diffstat (limited to 'server/core/Image.php')
-rw-r--r--server/core/Image.php487
1 files changed, 352 insertions, 135 deletions
diff --git a/server/core/Image.php b/server/core/Image.php
index 3001eea..85a245f 100644
--- a/server/core/Image.php
+++ b/server/core/Image.php
@@ -1,7 +1,4 @@
<?php
-
-//require 'CoreInterface.php';
-
/**
* File containing the Image Class.
*
@@ -12,15 +9,18 @@
*
* @todo Complete the functions with errors detection and finish the descriptions
*/
-
-
+use OpenStack\Common\Error\BadResponseError;
+use OpenStack\Common\Error\BaseError;
+use OpenStack\Common\Error\NotImplementedError;
+use OpenStack\Common\Error\UserInputError;
+
/**
* Image Class of the back-end application
*
* ADD CLASS DESCRIPTION
*
*/
-class image{
+class image {
//implements Core
/** @var App $app protected, contains the main app object */
@@ -43,12 +43,25 @@ class image{
* @return Image
*/
public function __construct($app){
- $this->app = $app;
- $this->libClass = $app->getLibClass("Image");
+ if(!isset($app)){
+ // Renvoyer erreur
+ }
+ try{
+ $this->app = $app;
+ $this->libClass = $app->getLibClass("Image");
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
}
-
+ private $images = array();
/**
* Details about an image
@@ -57,55 +70,80 @@ class image{
* options for the image creation
*
**/
- public function create_image(array $opt){
- // VOIR SI MAUVAIS TYPE
- $options = Array();
- if(isset($opt['name'])){ // string, rendre le nom obligatoire, vérifier nom pas déjà pris
- }
- else{
- //ERROR
- }
- if(isset($opt['id'])){ // UUID : nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
- $options['id'] = $opt['id'];
- }
- if(isset($opt['visibility'])){ // public, private
- $options['visibility'] = $opt['visibility'];
- }
- if(isset($opt['tags'])){ // list
- $options['tags'] = $opt['tags'];
- }
- if(isset($opt['containerFormat'])){ // string : ami, ari, aki, bare, ovf, ova, docker
- $options['containerFormat'] = $opt['containerFormat'];
- }
- if(isset($opt['diskFormat'])){ // string : ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, iso
- $options['diskFormat'] = $opt['diskFormat'];
- }
- if(isset($opt['minDisk'])){ //int
- $options['minDisk'] = $opt['minDisk'];
- }
- if(isset($opt['minRam'])){ // int
- $options['minRam'] = $opt['minRam'];
+ public function createImage(array $opt){
+ if(!isset($opt)){
+ // Renvoyer erreur
}
- if(isset($opt['protected'])){ // boolean
- $options['protected'] = $opt['protected'];
- }
- if(isset($opt['properties'])){ // type dict ?
- $options['properties'] = $opt['properties'];
- }
- $image = $this->oidentity->createImage($options);
+ try{
+ // VOIR SI MAUVAIS TYPE
+ $options = Array();
+ if(isset($opt['name'])){ // string, rendre le nom obligatoire, vérifier nom pas déjà pris
+ }
+ else{
+ //ERROR
+ }
+ if(isset($opt['id'])){ // UUID : nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
+ $options['id'] = $opt['id'];
+ }
+ if(isset($opt['visibility'])){ // public, private
+ $options['visibility'] = $opt['visibility'];
+ }
+ if(isset($opt['tags'])){ // list
+ $options['tags'] = $opt['tags'];
+ }
+ if(isset($opt['containerFormat'])){ // string : ami, ari, aki, bare, ovf, ova, docker
+ $options['containerFormat'] = $opt['containerFormat'];
+ }
+ if(isset($opt['diskFormat'])){ // string : ami, ari, aki, vhd, vmdk, raw, qcow2, vdi, iso
+ $options['diskFormat'] = $opt['diskFormat'];
+ }
+ if(isset($opt['minDisk'])){ //int
+ $options['minDisk'] = $opt['minDisk'];
+ }
+ if(isset($opt['minRam'])){ // int
+ $options['minRam'] = $opt['minRam'];
+ }
+ if(isset($opt['protected'])){ // boolean
+ $options['protected'] = $opt['protected'];
+ }
+ if(isset($opt['properties'])){ // type dict ?
+ $options['properties'] = $opt['properties'];
+ }
+ $image = $this->libClass->createImage($options);
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
return $image;
}
- /*
- * List images
+ /**
+ * List the images of the server
+ *
+ * @return the list with all images on the server
*/
- public function list_images(){
- // vérifier si au moins une image
- $service = $this->oidentity;
- $images = $service->listImages();
- return $images;
+ public function listImage(){
+ try{
+ // vérifier si au moins une image
+ $l = $this->libClass->listImages();
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
+ return $l;
+
}
/**
@@ -115,11 +153,25 @@ class image{
* identifier of the image
*
**/
- public function image_details($id){
- //vérifier existence image
- $service = $this->oidentity;
- $image = $service->getImage($id);
- return $image;
+ public function detailsImage($id){
+ if(!isset($id)){
+ // Renvoyer erreur
+ }
+
+ try{
+ //vérifier existence image
+ $service = $this->libClass;
+ $image = $service->getImage($id);
+ return $image;
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
}
/**
@@ -131,33 +183,49 @@ class image{
* @param array $opt
* options for the image creation
**/
- public function update_image($id, array $opt){
- //vérifier existence image
- $service = $this->oidentity;
- $image = $service->getImage($id);
- $options = Array();
-
- // Voir vérification des types
- if(isset($opt['name'])){ //string
- $options['name'] = $opt['name'];
- }
- if(isset($opt['minDisk'])){ //int
- $options['minDisk'] = $opt['minDisk'];
- }
- if(isset($opt['minRam'])){ // int
- $options['minRam'] = $opt['minRam'];
- }
- if(isset($opt['protected'])){ // boolean
- $options['protected'] = $opt['protected'];
- }
- if(isset($opt['visibility'])){ // public, private
- $options['visibility'] = $opt['visibility'];
+ public function updateImage($id, array $opt){
+ if(!isset($id)){
+ // Renvoyer erreur
}
- if(isset($opt['tags'])){ // list
- $options['tags'] = $opt['tags'];
+ if(!isset($opt)){
+ // Renvoyer erreur
}
- $image->update($options);
+
+ try{
+ //vérifier existence image
+ $service = $this->libClass;
+ $image = $service->getImage($id);
+ $options = Array();
+ // Voir vérification des types
+ if(isset($opt['name'])){ //string
+ $options['name'] = $opt['name'];
+ }
+ if(isset($opt['minDisk'])){ //int
+ $options['minDisk'] = $opt['minDisk'];
+ }
+ if(isset($opt['minRam'])){ // int
+ $options['minRam'] = $opt['minRam'];
+ }
+ if(isset($opt['protected'])){ // boolean
+ $options['protected'] = $opt['protected'];
+ }
+ if(isset($opt['visibility'])){ // public, private
+ $options['visibility'] = $opt['visibility'];
+ }
+ if(isset($opt['tags'])){ // list
+ $options['tags'] = $opt['tags'];
+ }
+ $image->update($options);
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
return $image;
}
@@ -167,11 +235,25 @@ class image{
* @param string $id
* identifier of the image
**/
- public function delete_image($id){
+ public function deleteImage($id){
// si protected = true, demander de le mettre a false
// vérifier existence image
- $service = $this->oidentity;
- $service->getImage($id)->delete();
+ if(!isset($id)){
+ // Renvoyer erreur
+ }
+ try{
+ $service = $this->libClass;
+ $service->getImage($id)->delete();
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
+
}
/**
@@ -180,11 +262,24 @@ class image{
* @param string $id
* identifier of the image
**/
- public function reactivate_image($id){
- // vérifier existence image
- $service = $this->oidentity;
- $image = $service->getImage($id);
- $image->reactivate();
+ public function reactivateImage($id){
+ if(!isset($id)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ $service = $this->libClass;
+ $image = $service->getImage($id);
+ $image->reactivate();
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
}
/**
@@ -193,11 +288,24 @@ class image{
* @param string $id
* identifier of the image
**/
- public function desactivate_image($id){
- // vérifier existence image
- $service = $this->oidentity;
- $image = $service->getImage($id);
- $image->deactivate();
+ public function desactivateImage($id){
+ if(!isset($id)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ $service = $this->libClass;
+ $image = $service->getImage($id);
+ $image->deactivate();
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
}
/**
@@ -209,12 +317,28 @@ class image{
* @param string $file_name
* path of the image
**/
- public function upload_image($id, $file_name){
- // vérifier existence image
- $service = $this->oidentity;
- $image = $service->getImage($id);
- $stream = \GuzzleHttp\Psr7\stream_for(fopen($file_name, 'r')); // A VOIR
- $image->uploadData($stream);
+ public function uploadImage($id, $file_name){
+ if(!isset($id)){
+ // Renvoyer erreur
+ }
+ if(!isset($file_name)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ $service = $this->libClass;
+ $image = $service->getImage($id);
+ $stream = \GuzzleHttp\Psr7\stream_for(fopen($file_name, 'r')); // A VOIR
+ $image->uploadData($stream);
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
}
/**
@@ -223,12 +347,25 @@ class image{
* @param string $id
* identifier of the image
**/
- public function download_image($id){
- // vérifier existence image
- $service = $this->oidentity;
- $image = $service->getImage($id);
- $stream = $image->downloadData();
- return $stream;
+ public function downloadImage($id){
+ if(!isset($id)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ $service = $this->libClass;
+ $image = $service->getImage($id);
+ $stream = $image->downloadData();
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
+ return $stream;
}
/**
@@ -240,12 +377,28 @@ class image{
* @param string $member_id
* identifier of the member
**/
- public function add_member($image_id, $member_id){
- // vérifier existence image
- // on doit être le proprio de l'image
- // vérifier membre existe
- $service = $this->oidentity;
- $member_id = $service>getImage($image_id)->addMember($member_id);
+ public function addMemberImage($image_id, $member_id){
+ if(!isset($image_id)){
+ // Renvoyer erreur
+ }
+ if(!isset($member_id)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ // on doit être le proprio de l'image
+ // vérifier membre existe
+ $service = $this->libClass;
+ $member_id = $service>getImage($image_id)->addMember($member_id);
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
}
@@ -255,11 +408,27 @@ class image{
* @param string $image_id
* identifier of the image
**/
- public function list_member($image_id, $member_id){
- // vérifier existence image
- $service = $this->oidentity;
- $image = $service->getImage($image_id);
- $members = $image->listMembers();
+ public function listMemberImage($image_id, $member_id){
+ if(!isset($image_id)){
+ // Renvoyer erreur
+ }
+ if(!isset($member_id)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ $service = $this->libClass;
+ $image = $service->getImage($image_id);
+ $members = $image->listMembers();
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
return $members;
}
@@ -272,12 +441,28 @@ class image{
* @param string $member_id
* identifier of the member
**/
- public function detail_member($image_id, $member_id){
- // vérifier existence image
- // on doit être le proprio de l'image
- // vérifier membre existe
- $service = $this->oidentity;
- $member = $service>getImage($image_id)->getMember($member_id);
+ public function detailMemberImage($image_id, $member_id){
+ if(!isset($image_id)){
+ // Renvoyer erreur
+ }
+ if(!isset($member_id)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ // on doit être le proprio de l'image
+ // vérifier membre existe
+ $service = $this->libClass;
+ $member = $service>getImage($image_id)->getMember($member_id);
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
return $member;
}
@@ -290,12 +475,28 @@ class image{
* @param string $member_id
* identifier of the member
**/
- public function remove_member($image_id, $member_id){
- // vérifier existence image
- // on doit être le proprio de l'image
- // vérifier membre existe
- $service = $this->oidentity;
- $service>getImage($image_id)->getMember($member_id)->delete();
+ public function removeMemberImage($image_id, $member_id){
+ if(!isset($image_id)){
+ // Renvoyer erreur
+ }
+ if(!isset($member_id)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ // on doit être le proprio de l'image
+ // vérifier membre existe
+ $service = $this->libClass;
+ $service>getImage($image_id)->getMember($member_id)->delete();
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
}
/**
@@ -310,13 +511,29 @@ class image{
* @param string $status
* new status for the member
**/
- public function update_member($image_id, $member_id, $status){
- // vérifier existence image
- // on doit être le proprio de l'image
- // vérifier membre existe
- $service = $this->oidentity;
- $member = $service>getImage($image_id)->getMember($member_id)->updateStatus($status);
+ public function updateMemberImage($image_id, $member_id, $status){
+ if(!isset($image_id)){
+ // Renvoyer erreur
+ }
+ if(!isset($member_id)){
+ // Renvoyer erreur
+ }
+ try{
+ // vérifier existence image
+ // on doit être le proprio de l'image
+ // vérifier membre existe
+ $service = $this->libClass;
+ $member = $service>getImage($image_id)->getMember($member_id)->updateStatus($status);
+ }catch(BadResponseError $e){
+ $this->app->getErrorInstance()->BadResponseHandler($e);
+ }catch(UserInputError $e){
+ $this->app->getErrorInstance->UserInputHandler($e);
+ }catch(BaseError $e){
+ $this->app->getErrorInstance->BaseErrorHandler($e);
+ }catch(NotImplementedError $e){
+ $this->app->getErrorInstance->NotImplementedHandler($e);
+ }
}
}
-?>
+?> \ No newline at end of file