mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
991 B
31 lines
991 B
using System; |
|
using System.IO; |
|
using System.Text.Json; |
|
using System.Threading.Tasks; |
|
using CliFx; |
|
using CliFx.Attributes; |
|
|
|
namespace ErsatzTV.CommandLine.Commands |
|
{ |
|
[Command("config", Description = "Configure ErsatzTV server url")] |
|
public class ConfigCommand : ICommand |
|
{ |
|
[CommandParameter(0, Name = "server-url", Description = "The url of the ErsatzTV server")] |
|
public string ServerUrl { get; set; } |
|
|
|
public async ValueTask ExecuteAsync(IConsole console) |
|
{ |
|
// TODO: validate URL |
|
|
|
string configFolder = Path.Combine( |
|
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), |
|
"ersatztv"); |
|
|
|
string configFile = Path.Combine(configFolder, "cli.json"); |
|
|
|
var config = new Config { ServerUrl = ServerUrl }; |
|
string contents = JsonSerializer.Serialize(config); |
|
await File.WriteAllTextAsync(configFile, contents); |
|
} |
|
} |
|
}
|
|
|