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

     1  package rpcd
     2  
     3  import (
     4  	"github.com/Cloud-Foundations/Dominator/lib/errors"
     5  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     6  	"github.com/Cloud-Foundations/Dominator/proto/imageserver"
     7  )
     8  
     9  func (t *srpcType) ChangeImageExpiration(conn *srpc.Conn,
    10  	request imageserver.ChangeImageExpirationRequest,
    11  	reply *imageserver.ChangeImageExpirationResponse) error {
    12  	if err := t.checkMutability(); err != nil {
    13  		reply.Error = errors.ErrorToString(err)
    14  		return nil
    15  	}
    16  	_, err := t.imageDataBase.ChangeImageExpiration(
    17  		request.ImageName, request.ExpiresAt, conn.GetAuthInformation())
    18  	reply.Error = errors.ErrorToString(err)
    19  	return nil
    20  }
    21  
    22  func (t *srpcType) GetImageExpiration(conn *srpc.Conn,
    23  	request imageserver.GetImageExpirationRequest,
    24  	reply *imageserver.GetImageExpirationResponse) error {
    25  	if img := t.imageDataBase.GetImage(request.ImageName); img == nil {
    26  		reply.Error = "image not found"
    27  	} else {
    28  		reply.ExpiresAt = img.ExpiresAt
    29  	}
    30  	return nil
    31  }