WIP on .NET 6 conversion (#31)
This commit is contained in:
		
							parent
							
								
									665d80261d
								
							
						
					
					
						commit
						7a2f2bd92d
					
				| @ -1,9 +1,9 @@ | ||||
| <Project> | ||||
|   <PropertyGroup> | ||||
|     <AssemblyVersion>7.5.0.0</AssemblyVersion> | ||||
|     <FileVersion>7.5.0.0</FileVersion> | ||||
|     <AssemblyVersion>7.6.0.0</AssemblyVersion> | ||||
|     <FileVersion>7.6.0.0</FileVersion> | ||||
|     <Authors>danieljsummers</Authors> | ||||
|     <Company>Bit Badger Solutions</Company> | ||||
|     <Version>7.5.0</Version> | ||||
|     <Version>7.6.0</Version> | ||||
|   </PropertyGroup> | ||||
| </Project> | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| [<AutoOpen>] | ||||
| module PrayerTracker.DataAccess | ||||
| 
 | ||||
| open FSharp.Control.Tasks.ContextInsensitive | ||||
| open Microsoft.EntityFrameworkCore | ||||
| open PrayerTracker.Entities | ||||
| open System.Collections.Generic | ||||
|  | ||||
| @ -6,6 +6,8 @@ open NodaTime | ||||
| open System | ||||
| open System.Collections.Generic | ||||
| 
 | ||||
| // fsharplint:disable RecordFieldNames MemberNames | ||||
| 
 | ||||
| (*-- SUPPORT TYPES --*) | ||||
| 
 | ||||
| /// How as-of dates should (or should not) be displayed with requests | ||||
|  | ||||
| @ -10,6 +10,7 @@ open PrayerTracker | ||||
| open PrayerTracker.Entities | ||||
| open System | ||||
| 
 | ||||
| // fsharplint:disable RecordFieldNames | ||||
| 
 | ||||
| type ChurchTable = | ||||
|   { churchId         : OperationBuilder<AddColumnOperation> | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk"> | ||||
| 
 | ||||
|   <PropertyGroup> | ||||
|     <TargetFramework>net5.0</TargetFramework> | ||||
|     <TargetFramework>net6.0</TargetFramework> | ||||
|   </PropertyGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
| @ -14,10 +14,9 @@ | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="FSharp.EFCore.OptionConverter" Version="1.0.0" /> | ||||
|     <PackageReference Include="Microsoft.FSharpLu" Version="0.11.6" /> | ||||
|     <PackageReference Include="NodaTime" Version="2.4.7" /> | ||||
|     <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="3.1.2" /> | ||||
|     <PackageReference Include="TaskBuilder.fs" Version="2.1.0" /> | ||||
|     <PackageReference Include="Microsoft.FSharpLu" Version="0.11.7" /> | ||||
|     <PackageReference Include="NodaTime" Version="3.0.5" /> | ||||
|     <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.10" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
| </Project> | ||||
|  | ||||
| @ -2,7 +2,7 @@ | ||||
| 
 | ||||
|   <PropertyGroup> | ||||
|     <OutputType>Exe</OutputType> | ||||
|     <TargetFramework>net5.0</TargetFramework> | ||||
|     <TargetFramework>net6.0</TargetFramework> | ||||
|   </PropertyGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
| @ -15,9 +15,9 @@ | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="Expecto" Version="8.13.1" /> | ||||
|     <PackageReference Include="Expecto" Version="9.0.4" /> | ||||
|     <PackageReference Include="Expecto.VisualStudio.TestAdapter" Version="10.0.2" /> | ||||
|     <PackageReference Include="NodaTime.Testing" Version="2.4.7" /> | ||||
|     <PackageReference Include="NodaTime.Testing" Version="3.0.5" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| module PrayerTracker.UI.CommonFunctionsTests | ||||
| 
 | ||||
| open Expecto | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open Microsoft.AspNetCore.Mvc.Localization | ||||
| open Microsoft.Extensions.Localization | ||||
| open PrayerTracker.Tests.TestLocalization | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| module PrayerTracker.Views.Church | ||||
| 
 | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open PrayerTracker.Entities | ||||
| open PrayerTracker.ViewModels | ||||
| 
 | ||||
|  | ||||
| @ -2,8 +2,9 @@ | ||||
| module PrayerTracker.Views.CommonFunctions | ||||
| 
 | ||||
| open Giraffe | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open Microsoft.AspNetCore.Antiforgery | ||||
| open Microsoft.AspNetCore.Html | ||||
| open Microsoft.AspNetCore.Http | ||||
| open Microsoft.AspNetCore.Mvc.Localization | ||||
| open Microsoft.Extensions.Localization | ||||
| @ -125,6 +126,13 @@ let _onsubmit = attr "onsubmit" | ||||
| let _scoped = flag "scoped" | ||||
| 
 | ||||
| 
 | ||||
| /// The name this function used to have when the view engine was part of Giraffe | ||||
| let renderHtmlNode = RenderView.AsString.htmlNode | ||||
| 
 | ||||
| /// Render an HTML node, then return the value as an HTML string | ||||
| let renderHtmlString = renderHtmlNode >> HtmlString | ||||
| 
 | ||||
| 
 | ||||
| /// Utility methods to help with time zones (and localization of their names) | ||||
| module TimeZones = | ||||
|    | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| /// Views associated with the home page, or those that don't fit anywhere else | ||||
| module PrayerTracker.Views.Home | ||||
| 
 | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open Microsoft.AspNetCore.Html | ||||
| open PrayerTracker.ViewModels | ||||
| open System.IO | ||||
| @ -204,7 +204,7 @@ let termsOfService vi = | ||||
|   let raw    = rawLocText sw | ||||
|   let ppLink = | ||||
|     a [ _href "/web/legal/privacy-policy" ] [ str (s.["Privacy Policy"].Value.ToLower ()) ] | ||||
|     |> (renderHtmlNode >> HtmlString) | ||||
|     |> renderHtmlString | ||||
| 
 | ||||
|   [ p [ _class "pt-right-text" ] [ small [] [ em [] [ raw l.["(as of May 24, 2018)"] ] ] ] | ||||
|     h3 [] [ str "1. "; raw l.["Acceptance of Terms"] ] | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| /// Layout items for PrayerTracker | ||||
| module PrayerTracker.Views.Layout | ||||
| 
 | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open PrayerTracker | ||||
| open PrayerTracker.ViewModels | ||||
| open System | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| module PrayerTracker.Views.PrayerRequest | ||||
| 
 | ||||
| open Giraffe | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open Microsoft.AspNetCore.Http | ||||
| open NodaTime | ||||
| open PrayerTracker | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk"> | ||||
| 
 | ||||
|   <PropertyGroup> | ||||
|     <TargetFramework>net5.0</TargetFramework> | ||||
|     <TargetFramework>net6.0</TargetFramework> | ||||
|   </PropertyGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
| @ -18,13 +18,14 @@ | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="Giraffe" Version="4.0.1" /> | ||||
|     <PackageReference Include="MailKit" Version="2.5.1" /> | ||||
|     <PackageReference Include="Giraffe" Version="5.0.0" /> | ||||
|     <PackageReference Include="Giraffe.ViewEngine" Version="1.4.0" /> | ||||
|     <PackageReference Include="MailKit" Version="2.15.0" /> | ||||
|     <PackageReference Include="Microsoft.AspNetCore.Html.Abstractions" Version="2.2.0" /> | ||||
|     <PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" /> | ||||
|     <PackageReference Include="Microsoft.AspNetCore.Http.Extensions" Version="2.2.0" /> | ||||
|     <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" /> | ||||
|     <PackageReference Include="Newtonsoft.Json" Version="12.0.3" /> | ||||
|     <PackageReference Include="Newtonsoft.Json" Version="13.0.1" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| module PrayerTracker.Views.SmallGroup | ||||
| 
 | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open Microsoft.Extensions.Localization | ||||
| open PrayerTracker | ||||
| open PrayerTracker.Entities | ||||
|  | ||||
| @ -1,6 +1,6 @@ | ||||
| module PrayerTracker.Views.User | ||||
| 
 | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open PrayerTracker.Entities | ||||
| open PrayerTracker.ViewModels | ||||
| 
 | ||||
|  | ||||
| @ -557,7 +557,7 @@ module UserLogOn = | ||||
|       } | ||||
| 
 | ||||
| 
 | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| 
 | ||||
| /// This represents a list of requests | ||||
| type RequestList = | ||||
| @ -651,7 +651,7 @@ with | ||||
|           |> ul [] | ||||
|         br [] | ||||
|       ] | ||||
|     |> renderHtmlNodes | ||||
|     |> RenderView.AsString.htmlNodes | ||||
| 
 | ||||
|   /// Generate this list as plain text | ||||
|   member this.asText (s : IStringLocalizer) = | ||||
|  | ||||
| @ -1,6 +1,5 @@ | ||||
| module PrayerTracker.Handlers.Church | ||||
| 
 | ||||
| open FSharp.Control.Tasks.V2.ContextInsensitive | ||||
| open Giraffe | ||||
| open PrayerTracker | ||||
| open PrayerTracker.Entities | ||||
|  | ||||
| @ -2,7 +2,6 @@ | ||||
| [<AutoOpen>] | ||||
| module PrayerTracker.Handlers.CommonFunctions | ||||
| 
 | ||||
| open FSharp.Control.Tasks.V2.ContextInsensitive | ||||
| open Giraffe | ||||
| open Microsoft.AspNetCore.Antiforgery | ||||
| open Microsoft.AspNetCore.Html | ||||
| @ -234,7 +233,7 @@ let requireAccess level : HttpHandler = | ||||
|     } | ||||
|      | ||||
|   fun next ctx -> | ||||
|     task { | ||||
|     FSharp.Control.Tasks.Affine.task { | ||||
|       // Auto-logon user or class, if required | ||||
|       match isUserLoggedOn ctx with | ||||
|       | true -> () | ||||
|  | ||||
| @ -6,6 +6,7 @@ open System | ||||
| open System.Security.Cryptography | ||||
| open System.IO | ||||
| 
 | ||||
| // fsharplint:disable MemberNames | ||||
| 
 | ||||
| /// Cryptography settings to use for encrypting cookies | ||||
| type CookieCrypto (key : string, iv : string) = | ||||
| @ -24,7 +25,7 @@ module private Crypto = | ||||
| 
 | ||||
|   /// Encrypt a cookie payload | ||||
|   let encrypt (payload : string) = | ||||
|     use aes = new AesManaged () | ||||
|     use aes = Aes.Create () | ||||
|     use enc = aes.CreateEncryptor (crypto.Key, crypto.IV) | ||||
|     use ms  = new MemoryStream () | ||||
|     use cs  = new CryptoStream (ms, enc, CryptoStreamMode.Write) | ||||
| @ -35,7 +36,7 @@ module private Crypto = | ||||
|    | ||||
|   /// Decrypt a cookie payload | ||||
|   let decrypt payload = | ||||
|     use aes = new AesManaged () | ||||
|     use aes = Aes.Create () | ||||
|     use dec = aes.CreateDecryptor (crypto.Key, crypto.IV) | ||||
|     use ms  = new MemoryStream (Convert.FromBase64String payload) | ||||
|     use cs  = new CryptoStream (ms, dec, CryptoStreamMode.Read) | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| /// Methods for sending e-mails | ||||
| module PrayerTracker.Email | ||||
| 
 | ||||
| open FSharp.Control.Tasks.ContextInsensitive | ||||
| open MailKit.Net.Smtp | ||||
| open MailKit.Security | ||||
| open Microsoft.Extensions.Localization | ||||
| @ -62,7 +61,7 @@ let createTextMessage grp subj body (s : IStringLocalizer) = | ||||
| /// Send e-mails to a class | ||||
| let sendEmails (client : SmtpClient) (recipients : Member list) grp subj html text s = | ||||
|   task { | ||||
|     let htmlMsg = createHtmlMessage grp subj html s | ||||
|     let htmlMsg      = createHtmlMessage grp subj html s | ||||
|     let plainTextMsg = createTextMessage grp subj text s | ||||
| 
 | ||||
|     for mbr in recipients do | ||||
|  | ||||
| @ -7,6 +7,7 @@ open Newtonsoft.Json | ||||
| open PrayerTracker.Entities | ||||
| open PrayerTracker.ViewModels | ||||
| 
 | ||||
| // fsharplint:disable MemberNames | ||||
| 
 | ||||
| type ISession with | ||||
|   /// Set an object in the session | ||||
|  | ||||
| @ -1,6 +1,5 @@ | ||||
| module PrayerTracker.Handlers.PrayerRequest | ||||
| 
 | ||||
| open FSharp.Control.Tasks.V2.ContextInsensitive | ||||
| open Giraffe | ||||
| open Microsoft.AspNetCore.Http | ||||
| open NodaTime | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| <Project Sdk="Microsoft.NET.Sdk.Web"> | ||||
| 
 | ||||
|   <PropertyGroup> | ||||
|     <TargetFramework>net5.0</TargetFramework> | ||||
|     <TargetFramework>net6.0</TargetFramework> | ||||
|   </PropertyGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
| @ -23,10 +23,10 @@ | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="Giraffe" Version="4.0.1" /> | ||||
|     <PackageReference Include="Giraffe" Version="5.0.0" /> | ||||
|     <PackageReference Include="Giraffe.TokenRouter" Version="1.0.0" /> | ||||
|     <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.1" /> | ||||
|     <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="3.1.2" /> | ||||
|     <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="5.0.10" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|  | ||||
| @ -1,8 +1,7 @@ | ||||
| module PrayerTracker.Handlers.SmallGroup | ||||
| 
 | ||||
| open FSharp.Control.Tasks.V2.ContextInsensitive | ||||
| open Giraffe | ||||
| open Giraffe.GiraffeViewEngine | ||||
| open Giraffe.ViewEngine | ||||
| open Microsoft.AspNetCore.Http | ||||
| open NodaTime | ||||
| open PrayerTracker | ||||
|  | ||||
| @ -1,6 +1,5 @@ | ||||
| module PrayerTracker.Handlers.User | ||||
| 
 | ||||
| open FSharp.Control.Tasks.V2.ContextInsensitive | ||||
| open Giraffe | ||||
| open Microsoft.AspNetCore.Html | ||||
| open Microsoft.AspNetCore.Http | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user