From 64701e1b32756e9aa23c147b47ebf187d4f170a1 Mon Sep 17 00:00:00 2001 From: MysticBoy Date: Sun, 9 Feb 2020 14:23:15 +0800 Subject: [PATCH] fix for user create --- .gitignore | 2 + .../IoTSharp.Edge.ModBus.csproj | 2 - IoTSharp.Edges.sln | 44 ----- IoTSharp.Releases/GithubRelease.cs | 38 ---- IoTSharp.Releases/IoTSharp.Releases.csproj | 18 -- IoTSharp.Releases/LinkHeaderParser.cs | 33 ---- IoTSharp.Releases/ReleaseDownloader.cs | 173 ------------------ IoTSharp/Data/ApplicationDBInitializer.cs | 4 + IoTSharp/Dockerfile | 2 +- IoTSharp/IoTSharp.csproj | 1 + IoTSharp/appsettings.Development.json | 2 +- 11 files changed, 9 insertions(+), 310 deletions(-) delete mode 100644 IoTSharp.Releases/GithubRelease.cs delete mode 100644 IoTSharp.Releases/IoTSharp.Releases.csproj delete mode 100644 IoTSharp.Releases/LinkHeaderParser.cs delete mode 100644 IoTSharp.Releases/ReleaseDownloader.cs diff --git a/.gitignore b/.gitignore index 00088284..004559f1 100644 --- a/.gitignore +++ b/.gitignore @@ -333,3 +333,5 @@ ASALocalRun/ /Clients/MQTTClient/.vscode /IoTSharp/ClientApp.rar /IoTSharp/ClientApp/package-lock.json +/IoTSharp/healthchecksdb +/IoTSharp/healthchecksdb-shm diff --git a/IoTSharp.Edge.ModBus/IoTSharp.Edge.ModBus.csproj b/IoTSharp.Edge.ModBus/IoTSharp.Edge.ModBus.csproj index 31662aae..dc749373 100644 --- a/IoTSharp.Edge.ModBus/IoTSharp.Edge.ModBus.csproj +++ b/IoTSharp.Edge.ModBus/IoTSharp.Edge.ModBus.csproj @@ -36,8 +36,6 @@ - - diff --git a/IoTSharp.Edges.sln b/IoTSharp.Edges.sln index 914261fb..93dae289 100644 --- a/IoTSharp.Edges.sln +++ b/IoTSharp.Edges.sln @@ -22,10 +22,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IoTSharp.EdgeSdk.MQTT", "Io EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IoTSharp.Edge.ModBus", "IoTSharp.Edge.ModBus\IoTSharp.Edge.ModBus.csproj", "{9267A0CE-ECBC-41E4-AD83-927117FD625E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IoTSharp.Extensions", "IoTSharp.Extensions\IoTSharp.Extensions.csproj", "{551E62E3-51DA-4C1D-8DBB-7346A29EE817}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IoTSharp.Extensions.AspNetCore", "IoTSharp.Extensions.AspNetCore\IoTSharp.Extensions.AspNetCore.csproj", "{AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -146,46 +142,6 @@ Global {9267A0CE-ECBC-41E4-AD83-927117FD625E}.Release|x64.Build.0 = Release|Any CPU {9267A0CE-ECBC-41E4-AD83-927117FD625E}.Release|x86.ActiveCfg = Release|Any CPU {9267A0CE-ECBC-41E4-AD83-927117FD625E}.Release|x86.Build.0 = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|Any CPU.Build.0 = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|ARM.ActiveCfg = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|ARM.Build.0 = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|ARM64.Build.0 = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|x64.ActiveCfg = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|x64.Build.0 = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|x86.ActiveCfg = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Debug|x86.Build.0 = Debug|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|Any CPU.ActiveCfg = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|Any CPU.Build.0 = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|ARM.ActiveCfg = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|ARM.Build.0 = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|ARM64.ActiveCfg = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|ARM64.Build.0 = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|x64.ActiveCfg = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|x64.Build.0 = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|x86.ActiveCfg = Release|Any CPU - {551E62E3-51DA-4C1D-8DBB-7346A29EE817}.Release|x86.Build.0 = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|ARM.ActiveCfg = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|ARM.Build.0 = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|ARM64.Build.0 = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|x64.ActiveCfg = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|x64.Build.0 = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|x86.ActiveCfg = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Debug|x86.Build.0 = Debug|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|Any CPU.Build.0 = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|ARM.ActiveCfg = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|ARM.Build.0 = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|ARM64.ActiveCfg = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|ARM64.Build.0 = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|x64.ActiveCfg = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|x64.Build.0 = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|x86.ActiveCfg = Release|Any CPU - {AC80DA58-F40E-4B3C-8271-A25F65FEB0CB}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/IoTSharp.Releases/GithubRelease.cs b/IoTSharp.Releases/GithubRelease.cs deleted file mode 100644 index a8f29c4a..00000000 --- a/IoTSharp.Releases/GithubRelease.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace IoTSharp.Releases -{ - public class GithubRelease - { - public string url { get; set; } - public string html_url { get; set; } - public string assets_url { get; set; } - public string upload_url { get; set; } - public string tarball_url { get; set; } - public string zipball_url { get; set; } - public string id { get; set; } - public string tag_name { get; set; } - public string name { get; set; } - public string body { get; set; } - - public ICollection assets { get; set; } - - } - - public class GithubReleaseAsset - { - public string url { get; set; } - public string browser_download_url { get; set; } - public string id { get; set; } - public string name { get; set; } - public string label { get; set; } - public string state { get; set; } - public string content_type { get; set; } - public long size { get; set; } - public int download_count { get; set; } - } -} diff --git a/IoTSharp.Releases/IoTSharp.Releases.csproj b/IoTSharp.Releases/IoTSharp.Releases.csproj deleted file mode 100644 index 38e2ad1f..00000000 --- a/IoTSharp.Releases/IoTSharp.Releases.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - - netstandard2.1;net46 - true - - https://github.com/maikebing/GithubReleasesDownloader - https://github.com/maikebing/GithubReleasesDownloader - mwhitis;IoTSharp;maikebing - mwhitis;IoTSharp;maikebing - Github;Releases;Downloader;IoTSharp - - - - - - - diff --git a/IoTSharp.Releases/LinkHeaderParser.cs b/IoTSharp.Releases/LinkHeaderParser.cs deleted file mode 100644 index 0bf55853..00000000 --- a/IoTSharp.Releases/LinkHeaderParser.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace IoTSharp.Releases -{ - public class LinkHeaderParser - { -/* - ; rel="next", - ; rel="last" -*/ - - public string GetNextPageFromHeader(string headerText) - { - if (string.IsNullOrWhiteSpace(headerText)) - { - return string.Empty; - } - - var links = headerText.Split(','); - - foreach (var link in links.Where(link => link.Contains("rel=\"next\""))) - { - return link.Split(';')[0].Replace("<","").Replace(">","").Trim(); - } - - return string.Empty; - } - } -} diff --git a/IoTSharp.Releases/ReleaseDownloader.cs b/IoTSharp.Releases/ReleaseDownloader.cs deleted file mode 100644 index 1362e08a..00000000 --- a/IoTSharp.Releases/ReleaseDownloader.cs +++ /dev/null @@ -1,173 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Net.Mime; -using System.Text; -using System.Threading.Tasks; -using Newtonsoft.Json; - -namespace IoTSharp.Releases -{ - public class ReleaseDownloader - { - private readonly string _baseUri; - - private readonly string _accessToken; - - private readonly string _userAgent; - - private readonly string _releaseUri; - - private string _user; - private string _repo; - private string _token; - - - public ReleaseDownloader(string _url, string accessToken) - { - var uri = new Uri(_url); - _baseUri = $"{ GetBaseUri(uri)}/repos/{GetUserFromUri(uri)}/{GetRepoFromUri(uri)}"; - _accessToken = accessToken; - _userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3829.0 Safari/537.36 Edg/77.0.197.1"; ; - _releaseUri = GetReleaseUri(); - } - - private static string GetUserFromUri(Uri uri) - { - return !uri.LocalPath.Contains("/") ? string.Empty : uri.Segments[1].TrimEnd('/'); - } - - private static string GetRepoFromUri(Uri uri) - { - return !uri.LocalPath.Contains("/") ? string.Empty : uri.Segments[2].TrimEnd('/'); - } - - private static string GetBaseUri(Uri uri) - { - return uri.Host.Equals("github.com", StringComparison.OrdinalIgnoreCase) ? "https://api.github.com" : $"{uri.Scheme}://{uri.Host}/api/v3"; - } - - - public ICollection GetDataForAllReleases() - { - var requestingUri = GetAccessTokenUri(_releaseUri); - return DownloadReleases(requestingUri); - } - - public ICollection DownloadReleases(string requestingUri) - { - - Console.WriteLine("Requesting: {0}", requestingUri); - var request = (HttpWebRequest)WebRequest.Create(new Uri(requestingUri)); - request.UserAgent = _userAgent; - - var response = request.GetResponse(); - Console.WriteLine(((HttpWebResponse)response).StatusDescription); - // Get the stream containing content returned by the server. - - var responseFromServer = ReadResponseFromServer(response); - - var releases = JsonConvert.DeserializeObject>(responseFromServer); - - var parser = new LinkHeaderParser(); - - var linkHeader = response.Headers["Link"]; - - var nextUrl = parser.GetNextPageFromHeader(linkHeader); - - if (!string.IsNullOrEmpty(nextUrl)) - { - releases.AddRange(DownloadReleases(nextUrl)); - } - - // Clean up the streams and the response. - response.Close(); - return releases; - } - - private string GetReleaseUri() - { - var releaseUri = $"{_baseUri}/releases"; - return releaseUri; - } - - private static string ReadResponseFromServer(WebResponse response) - { - using (var dataStream = response.GetResponseStream()) - { - // Open the stream using a StreamReader for easy access. - using (var reader = new StreamReader(dataStream)) - { - // Read the content. - return reader.ReadToEnd(); - } - } - } - - private string GetAssetsUriForId(string id) - { - var assetUri = $"{_releaseUri}/assets/{id}"; - return assetUri; - } - - private string GetAccessTokenUri(string uri) - { - return _accessToken == string.Empty ? uri : uri += $"?access_token={_accessToken}"; - } - - public bool DownloadAsset(string id, string path) - { - WebResponse response = GetAssetResponse(id); - GetBinaryResponseFromResponse(path,response); - return true; - } - public bool DownloadAsset(string id, out byte[] assetdata) - { - WebResponse response = GetAssetResponse(id); - assetdata = GetBinaryResponseFromResponse(response); - return true; - } - - private WebResponse GetAssetResponse(string id) - { - var assetUri = GetAccessTokenUri(GetAssetsUriForId(id)); - - var request = (HttpWebRequest)WebRequest.Create(new Uri(assetUri)); - request.Accept = "application/octet-stream"; - request.UserAgent = "mwhitis"; - - var response = request.GetResponse(); - return response; - } - - private static byte[] GetBinaryResponseFromResponse( WebResponse response) - { - byte[] result = null; - long received = 0; - byte[] buffer = new byte[1024]; - using (var ms = new MemoryStream() ) - { - using (var input = response.GetResponseStream()) - { - int size = input.Read(buffer, 0, buffer.Length); - while (size > 0) - { - ms.Write(buffer, 0, size); - received += size; - - size = input.Read(buffer, 0, buffer.Length); - } - } - - result = ms.ToArray(); - } - return result; - } - private static void GetBinaryResponseFromResponse(string path, WebResponse response) - { - System.IO.File.WriteAllBytes(path, GetBinaryResponseFromResponse(response)); - } - } -} diff --git a/IoTSharp/Data/ApplicationDBInitializer.cs b/IoTSharp/Data/ApplicationDBInitializer.cs index 31146d72..dc248449 100644 --- a/IoTSharp/Data/ApplicationDBInitializer.cs +++ b/IoTSharp/Data/ApplicationDBInitializer.cs @@ -93,6 +93,10 @@ namespace IoTSharp.Data await _signInManager.UserManager.AddToRoleAsync(user, nameof(UserRole.SystemAdmin)); } + else + { + throw new Exception(string.Join(',', result.Errors.ToList().Select(ie => $"code={ie.Code},msg={ie.Description}"))); + } } var rship = new Relationship { diff --git a/IoTSharp/Dockerfile b/IoTSharp/Dockerfile index ca55d7f8..44b98b3d 100644 --- a/IoTSharp/Dockerfile +++ b/IoTSharp/Dockerfile @@ -2,7 +2,7 @@ FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base WORKDIR /app -EXPOSE 80 +EXPOSE 2927 FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build WORKDIR /src diff --git a/IoTSharp/IoTSharp.csproj b/IoTSharp/IoTSharp.csproj index 840476d0..842e141f 100644 --- a/IoTSharp/IoTSharp.csproj +++ b/IoTSharp/IoTSharp.csproj @@ -83,6 +83,7 @@ + True diff --git a/IoTSharp/appsettings.Development.json b/IoTSharp/appsettings.Development.json index cdef4c9d..1ca29d64 100644 --- a/IoTSharp/appsettings.Development.json +++ b/IoTSharp/appsettings.Development.json @@ -7,7 +7,7 @@ } }, "ConnectionStrings": { - "IoTSharp": "Server=localhost;Database=IoTSharp;Username=postgres;Password=future;" + "IoTSharp": "Server=host.docker.internal;Database=IoTSharp;Username=postgres;Password=future;" }, "JwtKey": "kissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissmekissme", "JwtExpireHours": 24, -- GitLab