예제 #1
0
        public async Task <IActionResult> InstallModule([FromBody] PackageIdentity packageIdentity, [FromServices] IVirtualModuleManager moduleManager)
        {
            if (string.IsNullOrWhiteSpace(packageIdentity?.Id))
            {
                return(BadRequest("Package cannot be empty"));
            }

            moduleManager.InstallPackage(packageIdentity);

            await _hubContext.Clients.All.SendAsync(HubEventNames.ModuleInstalled, PackageIdentityConvert.ToString(packageIdentity));

            return(Ok());
        }
예제 #2
0
 public override void WriteJson(JsonWriter writer, PackageIdentity value, JsonSerializer serializer)
 {
     serializer.Serialize(writer, PackageIdentityConvert.ToString(value));
 }
예제 #3
0
 public override void WriteJson(JsonWriter writer, PackagesLock value, JsonSerializer serializer)
 {
     serializer.Serialize(writer,
                          value.ToDictionary(x => PackageIdentityConvert.ToString(x.Key),
                                             x => x.Value.ToDictionary(y => y.Id, y => y.Version.ToString())));
 }
예제 #4
0
 public static Task UninstallModule(PackageIdentity package, IMazeRestClient client)
 {
     return(CreateRequest(HttpVerb.Delete).AddQueryParam("package", PackageIdentityConvert.ToString(package)).Execute(client));
 }