public async Task <ActionResult> CreateGet(string ns, string name, string ver) { if (string.IsNullOrEmpty(name)) { name = "(default)"; } if (!ModuleIdentifier.TryParse(ns, out var module)) { logger.LogDebug("invalid module"); return(BadRequest()); } await moduleCatalogManager.LoadModuleCatalogCache(); if (!moduleCatalogManager.HasCompatibleCatalog(module)) { return(NotFound("No such module catalog.")); } var exist = await context.ModuleInstances .AnyAsync(m => m.Module == ns.ToLower() && m.Name == name.ToLower()); if (exist) { return(Conflict($"Already exists: {ns}/{name}")); } logger.LogDebug($"Create for {ns}:{name}"); await context.ModuleInstances.AddAsync(new ModuleInstance { Module = ns.ToLower(), Name = name.ToLower(), }); await context.SaveChangesAsync(); return(Ok()); }
public async Task <ActionResult <IEnumerable <string> > > GetAvailableModules() { await moduleCatalogManager.LoadModuleCatalogCache(); return(moduleCatalogManager.Modules.Select(m => m.ToString()).ToList()); }