diff --git a/.gitignore b/.gitignore index 343c8bec..493c262d 100644 --- a/.gitignore +++ b/.gitignore @@ -292,3 +292,4 @@ __pycache__/ /BotSharp.WebStarter/App_Data/DbInitializer/Agents/Dialogflow/VirtualAssistant /BotSharp.UnitTest/App_Data/DbInitializer/Agents /BotSharp.UnitTest/App_Data/BotSharp.db +/BotSharp.WebHost/App_Data/BotSharp.db diff --git a/BotSharp.Core/BotSharp.Core.csproj b/BotSharp.Core/BotSharp.Core.csproj index 766f1957..35f376ef 100644 --- a/BotSharp.Core/BotSharp.Core.csproj +++ b/BotSharp.Core/BotSharp.Core.csproj @@ -45,6 +45,7 @@ + diff --git a/BotSharp.RestApi/AgentController.cs b/BotSharp.RestApi/AgentController.cs new file mode 100644 index 00000000..2cea7483 --- /dev/null +++ b/BotSharp.RestApi/AgentController.cs @@ -0,0 +1,22 @@ +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.Text; + +namespace BotSharp.RestApi +{ + [Route("[controller]/[action]")] + public class AgentController : ControllerBase + { + /// + /// Restore a agent from a uploaded zip file + /// + /// + /// + [HttpGet("{agentId}")] + public ActionResult Restore([FromRoute] String agentId) + { + return Ok(); + } + } +} diff --git a/BotSharp.RestApi/BotSharp.RestApi.csproj b/BotSharp.RestApi/BotSharp.RestApi.csproj new file mode 100644 index 00000000..e2d8172e --- /dev/null +++ b/BotSharp.RestApi/BotSharp.RestApi.csproj @@ -0,0 +1,15 @@ + + + + netcoreapp2.1 + + + + + + + + + + + diff --git a/BotSharp.UnitTest/BotSharp.UnitTest.csproj b/BotSharp.UnitTest/BotSharp.UnitTest.csproj index 539f1223..5ed76d0e 100644 --- a/BotSharp.UnitTest/BotSharp.UnitTest.csproj +++ b/BotSharp.UnitTest/BotSharp.UnitTest.csproj @@ -6,30 +6,6 @@ false - - - - - - - - - - - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - @@ -46,8 +22,4 @@ - - - - diff --git a/BotSharp.UnitTest/TestEssential.cs b/BotSharp.UnitTest/TestEssential.cs index 766c16fe..885065c8 100644 --- a/BotSharp.UnitTest/TestEssential.cs +++ b/BotSharp.UnitTest/TestEssential.cs @@ -20,7 +20,7 @@ namespace BotSharp.UnitTest public TestEssential() { - contentRoot = $"{Directory.GetCurrentDirectory()}{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}..{Path.DirectorySeparatorChar}.."; + contentRoot = $"{Directory.GetCurrentDirectory()}\\..\\..\\..\\..\\BotSharp.WebHost\\"; ConfigurationBuilder configurationBuilder = new ConfigurationBuilder(); var settings = Directory.GetFiles(contentRoot + $"{Path.DirectorySeparatorChar}Settings{Path.DirectorySeparatorChar}", "*.json"); diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/agent.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/agent.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/agent.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/agent.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-album.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-album.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-album.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-album.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-album_entries_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-album_entries_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-album_entries_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-album_entries_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-service.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-service.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-service.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-service.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-service_entries_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-service_entries_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-service_entries_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-service_entries_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-sort.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-sort.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-sort.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-sort.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-sort_entries_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-sort_entries_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-sort_entries_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/music-sort_entries_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/playlist.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/playlist.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/playlist.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/playlist.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/playlist_entries_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/playlist_entries_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/playlist_entries_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/playlist_entries_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/song.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/song.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/song.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/song.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/song_entries_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/song_entries_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/song_entries_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/entities/song_entries_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music.play.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music.play.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music.play.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music.play.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music.play_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music.play_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music.play_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music.play_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_favorite.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_favorite.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_favorite.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_favorite.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_favorite_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_favorite_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_favorite_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_favorite_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_playlist.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_playlist.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_playlist.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_playlist.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_playlist_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_playlist_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_playlist_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.add_playlist_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.pause.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.pause.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.pause.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.pause.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.pause_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.pause_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.pause_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.pause_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.play.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.play.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.play.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.play.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.play_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.play_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.play_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.play_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.repeat.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.repeat.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.repeat.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.repeat.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.repeat_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.repeat_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.repeat_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.repeat_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.resume.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.resume.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.resume.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.resume.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.resume_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.resume_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.resume_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.resume_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.shuffle.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.shuffle.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.shuffle.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.shuffle.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.shuffle_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.shuffle_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.shuffle_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.shuffle_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_backward.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_backward.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_backward.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_backward.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_backward_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_backward_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_backward_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_backward_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_forward.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_forward.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_forward.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_forward.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_forward_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_forward_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_forward_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.skip_forward_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.stop.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.stop.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.stop.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.stop.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.stop_usersays_en.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.stop_usersays_en.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.stop_usersays_en.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/intents/music_player_control.stop_usersays_en.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/package.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/package.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/Dialogflow/Spotify/package.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/Dialogflow/Spotify/package.json diff --git a/BotSharp.UnitTest/App_Data/DbInitializer/Agents/agents.json b/BotSharp.WebHost/App_Data/DbInitializer/Agents/agents.json similarity index 100% rename from BotSharp.UnitTest/App_Data/DbInitializer/Agents/agents.json rename to BotSharp.WebHost/App_Data/DbInitializer/Agents/agents.json diff --git a/BotSharp.WebHost/BotSharp.WebHost.csproj b/BotSharp.WebHost/BotSharp.WebHost.csproj new file mode 100644 index 00000000..efcd6af0 --- /dev/null +++ b/BotSharp.WebHost/BotSharp.WebHost.csproj @@ -0,0 +1,105 @@ + + + + netcoreapp2.1 + Portable;win10-x64;centos.7-x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/BotSharp.WebHost/Program.cs b/BotSharp.WebHost/Program.cs new file mode 100644 index 00000000..19cc1605 --- /dev/null +++ b/BotSharp.WebHost/Program.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; + +namespace BotSharp.WebHost +{ + public class Program + { + public static void Main(string[] args) + { + BuildWebHost(args).Run(); + } + + public static IWebHost BuildWebHost(string[] args) => + Microsoft.AspNetCore.WebHost.CreateDefaultBuilder(args) + .ConfigureAppConfiguration((hostingContext, config) => { + + var env = hostingContext.HostingEnvironment; + var settings = Directory.GetFiles($"{env.ContentRootPath}{Path.DirectorySeparatorChar}Settings", "*.json"); + settings.ToList().ForEach(setting => { + config.AddJsonFile(setting, optional: false, reloadOnChange: true); + }); + }) + .UseUrls("http://0.0.0.0:3112") + .UseStartup() + .Build(); + } +} diff --git a/BotSharp.UnitTest/Settings/settings.app.json b/BotSharp.WebHost/Settings/app.json similarity index 100% rename from BotSharp.UnitTest/Settings/settings.app.json rename to BotSharp.WebHost/Settings/app.json diff --git a/BotSharp.UnitTest/Settings/settings.bot.json b/BotSharp.WebHost/Settings/bot.json similarity index 100% rename from BotSharp.UnitTest/Settings/settings.bot.json rename to BotSharp.WebHost/Settings/bot.json diff --git a/BotSharp.UnitTest/Settings/config_jieba_mitie_sklearn.yml b/BotSharp.WebHost/Settings/config_jieba_mitie_sklearn.yml similarity index 100% rename from BotSharp.UnitTest/Settings/config_jieba_mitie_sklearn.yml rename to BotSharp.WebHost/Settings/config_jieba_mitie_sklearn.yml diff --git a/BotSharp.UnitTest/Settings/config_mitie_sklearn.yml b/BotSharp.WebHost/Settings/config_mitie_sklearn.yml similarity index 100% rename from BotSharp.UnitTest/Settings/config_mitie_sklearn.yml rename to BotSharp.WebHost/Settings/config_mitie_sklearn.yml diff --git a/BotSharp.UnitTest/Settings/config_spacy.yml b/BotSharp.WebHost/Settings/config_spacy.yml similarity index 100% rename from BotSharp.UnitTest/Settings/config_spacy.yml rename to BotSharp.WebHost/Settings/config_spacy.yml diff --git a/BotSharp.UnitTest/Settings/settings.db.json b/BotSharp.WebHost/Settings/db.json similarity index 100% rename from BotSharp.UnitTest/Settings/settings.db.json rename to BotSharp.WebHost/Settings/db.json diff --git a/BotSharp.WebHost/Startup.cs b/BotSharp.WebHost/Startup.cs new file mode 100644 index 00000000..43fd69d7 --- /dev/null +++ b/BotSharp.WebHost/Startup.cs @@ -0,0 +1,49 @@ +using System; +using System.IO; +using System.Linq; +using EntityFrameworkCore.BootKit; +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Newtonsoft.Json.Serialization; + +namespace BotSharp.WebHost +{ + public partial class Startup + { + public Startup(IConfiguration configuration) + { + Configuration = configuration; + } + + public IConfiguration Configuration { get; } + + public void ConfigureServices(IServiceCollection services) + { + services.AddMvc(options => + { + options.RespectBrowserAcceptHeader = true; + }).AddJsonOptions(options => + { + options.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter()); + options.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); + }); + } + + public void Configure(IApplicationBuilder app, IHostingEnvironment env) + { + if (env.IsDevelopment()) + { + app.UseDeveloperExceptionPage(); + } + + app.UseMvc(); + + Database.Configuration = Configuration; + Database.ContentRootPath = env.ContentRootPath; + Database.Assemblies = new String[] { "BotSharp.Core" }; + } + } +} diff --git a/BotSharp.sln b/BotSharp.sln index 89af1f34..eb99c20b 100644 --- a/BotSharp.sln +++ b/BotSharp.sln @@ -7,6 +7,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.UnitTest", "BotSha EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.Core", "BotSharp.Core\BotSharp.Core.csproj", "{95780673-2A1A-4953-962F-C46CBFDD07FF}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.RestApi", "BotSharp.RestApi\BotSharp.RestApi.csproj", "{80DDAA05-69BC-49DD-96A4-37345E7A2E20}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BotSharp.WebHost", "BotSharp.WebHost\BotSharp.WebHost.csproj", "{03DCA427-327A-4FC9-9A2F-57D17F16708C}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -21,6 +25,14 @@ Global {95780673-2A1A-4953-962F-C46CBFDD07FF}.Debug|Any CPU.Build.0 = Debug|Any CPU {95780673-2A1A-4953-962F-C46CBFDD07FF}.Release|Any CPU.ActiveCfg = Release|Any CPU {95780673-2A1A-4953-962F-C46CBFDD07FF}.Release|Any CPU.Build.0 = Release|Any CPU + {80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Debug|Any CPU.Build.0 = Debug|Any CPU + {80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Release|Any CPU.ActiveCfg = Release|Any CPU + {80DDAA05-69BC-49DD-96A4-37345E7A2E20}.Release|Any CPU.Build.0 = Release|Any CPU + {03DCA427-327A-4FC9-9A2F-57D17F16708C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {03DCA427-327A-4FC9-9A2F-57D17F16708C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {03DCA427-327A-4FC9-9A2F-57D17F16708C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {03DCA427-327A-4FC9-9A2F-57D17F16708C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE