github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/imageserver/rpcd/deleteImage.go (about)

     1  package rpcd
     2  
     3  import (
     4  	"errors"
     5  
     6  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     7  	"github.com/Cloud-Foundations/Dominator/proto/imageserver"
     8  )
     9  
    10  func (t *srpcType) DeleteImage(conn *srpc.Conn,
    11  	request imageserver.DeleteImageRequest,
    12  	reply *imageserver.DeleteImageResponse) error {
    13  	username := conn.Username()
    14  	if err := t.checkMutability(); err != nil {
    15  		return err
    16  	}
    17  	if !t.imageDataBase.CheckImage(request.ImageName) {
    18  		return errors.New("image does not exist")
    19  	}
    20  	if username == "" {
    21  		t.logger.Printf("DeleteImage(%s)\n", request.ImageName)
    22  	} else {
    23  		t.logger.Printf("DeleteImage(%s) by %s\n", request.ImageName, username)
    24  	}
    25  	return t.imageDataBase.DeleteImage(request.ImageName,
    26  		conn.GetAuthInformation())
    27  }