// WriteImage writes an image to an image store func (handler *StorageHandlersImpl) WriteImage(params storage.WriteImageParams) middleware.Responder { u, err := util.ImageStoreNameToURL(params.StoreName) if err != nil { return storage.NewWriteImageDefault(http.StatusInternalServerError).WithPayload( &models.Error{ Code: swag.Int64(http.StatusInternalServerError), Message: err.Error(), }) } parent := &spl.Image{ Store: u, ID: params.ParentID, } var meta map[string][]byte if params.Metadatakey != nil && params.Metadataval != nil { meta = map[string][]byte{*params.Metadatakey: []byte(*params.Metadataval)} } image, err := storageImageLayer.WriteImage(context.TODO(), parent, params.ImageID, meta, params.Sum, params.ImageFile) if err != nil { return storage.NewWriteImageDefault(http.StatusInternalServerError).WithPayload( &models.Error{ Code: swag.Int64(http.StatusInternalServerError), Message: err.Error(), }) } i := convertImage(image) return storage.NewWriteImageCreated().WithPayload(i) }
// WriteImage writes an image to an image store func (h *StorageHandlersImpl) WriteImage(params storage.WriteImageParams) middleware.Responder { u, err := util.ImageStoreNameToURL(params.StoreName) if err != nil { return storage.NewWriteImageDefault(http.StatusInternalServerError).WithPayload( &models.Error{ Code: swag.Int64(http.StatusInternalServerError), Message: err.Error(), }) } parent := &spl.Image{ Store: u, ID: params.ParentID, } var meta map[string][]byte if params.Metadatakey != nil && params.Metadataval != nil { meta = map[string][]byte{*params.Metadatakey: []byte(*params.Metadataval)} } op := trace.NewOperation(context.Background(), fmt.Sprintf("WriteImage(%s)", params.ImageID)) image, err := h.imageCache.WriteImage(op, parent, params.ImageID, meta, params.Sum, params.ImageFile) if err != nil { return storage.NewWriteImageDefault(http.StatusInternalServerError).WithPayload( &models.Error{ Code: swag.Int64(http.StatusInternalServerError), Message: err.Error(), }) } i := convertImage(image) return storage.NewWriteImageCreated().WithPayload(i) }