migration net9.0
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,6 +7,7 @@
|
|||||||
.paket/
|
.paket/
|
||||||
.vs/
|
.vs/
|
||||||
.sass-cache/
|
.sass-cache/
|
||||||
|
.private/
|
||||||
|
|
||||||
/out
|
/out
|
||||||
bin
|
bin
|
||||||
|
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@ -43,7 +43,7 @@
|
|||||||
"type": "coreclr",
|
"type": "coreclr",
|
||||||
"request": "launch",
|
"request": "launch",
|
||||||
"preLaunchTask": "build",
|
"preLaunchTask": "build",
|
||||||
"program": "${workspaceFolder}/src/Yavsc/bin/Debug/net8.0/Yavsc.dll",
|
"program": "${workspaceFolder}/src/Yavsc/bin/Debug/net9.0/Yavsc.dll",
|
||||||
"args": [],
|
"args": [],
|
||||||
"cwd": "${workspaceFolder}/src/Yavsc",
|
"cwd": "${workspaceFolder}/src/Yavsc",
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
|
15
README.md
15
README.md
@ -17,15 +17,15 @@ C'est une application mettant en oeuvre une prise de contact entre un demandeur
|
|||||||
|
|
||||||
et, pour execution en environement de développement
|
et, pour execution en environement de développement
|
||||||
|
|
||||||
```
|
```bash
|
||||||
~/workspace/yavsc/Yavsc @ ASPNETCORE_ENV=Development dotnet run
|
~/workspace/yavsc/Yavsc @ ASPNETCORE_ENV=Development dotnet run
|
||||||
```
|
```
|
||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
Utilisez GNU/Makefile (et visitez le code, dans le dossier `test` ):
|
Utilisez GNU/Makefile (et visitez le code, dans le dossier `test` ):
|
||||||
|
|
||||||
[TOREDO] Depuis le répertoire racine:
|
[TODO] Depuis le répertoire racine:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make test
|
make test
|
||||||
@ -33,13 +33,14 @@ make test
|
|||||||
|
|
||||||
## Installation / Déploiment / Développement
|
## Installation / Déploiment / Développement
|
||||||
|
|
||||||
### les services kestrel et kestrel-pre
|
### les services et l'API
|
||||||
|
|
||||||
[TODO]
|
|
||||||
|
|
||||||
### La Prod
|
### La Prod
|
||||||
|
|
||||||
Une fois sûr de vous, et une fois que Git dit propre votre copie de travail, depuis le répertoire `Yavsc`, lancez `make pushInProd`.
|
`cd srv/Yavsc` : `make pushInProd CONFIGURATION=Release`.
|
||||||
|
|
||||||
|
puis, pour une première installation
|
||||||
|
`make install_service`.
|
||||||
|
|
||||||
## Fonctionalités (encore en cours de développement)
|
## Fonctionalités (encore en cours de développement)
|
||||||
|
|
||||||
|
28
contrib/yavsc.service
Normal file
28
contrib/yavsc.service
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Yavsc
|
||||||
|
After=syslog.target
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
Wants=postgresql.service
|
||||||
|
After=postgresql.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
RestartSec=5s
|
||||||
|
Type=simple
|
||||||
|
User=www-data
|
||||||
|
Group=www-data
|
||||||
|
WorkingDirectory=/srv/www/yavsc/
|
||||||
|
ExecStart=/srv/www/yavsc/Yavsc
|
||||||
|
Restart=always
|
||||||
|
Environment="HOME=/srv/www/yavsc"
|
||||||
|
Environment="ASPNETCORE_ENVIRONMENT=lua"
|
||||||
|
Environment="ASPNETCORE_ConnectionStrings__DefaultConnection=Server=localhost;Port=5432;Database=lua;Username=lua;Password=f3s-*Vx$;"
|
||||||
|
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
|
||||||
|
AmbientCapabilities=CAP_NET_BIND_SERVICE
|
||||||
|
StandardOutput=syslog
|
||||||
|
StandardError=syslog
|
||||||
|
SyslogIdentifier=isnd
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
|
@ -1,12 +1,12 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<UserSecretsId>1c73094f-959f-4211-b1a1-6a69b236c283</UserSecretsId>
|
<UserSecretsId>1c73094f-959f-4211-b1a1-6a69b236c283</UserSecretsId>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.6" />
|
||||||
<ProjectReference Include="../Yavsc.Server/Yavsc.Server.csproj" />
|
<ProjectReference Include="../Yavsc.Server/Yavsc.Server.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
// You should have received a copy of the GNU Lesser General Public License
|
// You should have received a copy of the GNU Lesser General Public License
|
||||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
using Yavsc.Abstract.Models.Messaging;
|
||||||
using Yavsc.Models.Messaging;
|
using Yavsc.Models.Messaging;
|
||||||
|
|
||||||
namespace Yavsc.Models.Google.Messaging
|
namespace Yavsc.Models.Google.Messaging
|
||||||
|
@ -5,8 +5,8 @@ namespace Yavsc
|
|||||||
public interface ITrackedEntity
|
public interface ITrackedEntity
|
||||||
{
|
{
|
||||||
DateTime DateCreated { get; set; }
|
DateTime DateCreated { get; set; }
|
||||||
string UserCreated { get; set; }
|
string? UserCreated { get; set; }
|
||||||
DateTime DateModified { get; set; }
|
DateTime DateModified { get; set; }
|
||||||
string UserModified { get; set; }
|
string? UserModified { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ using System;
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
namespace Yavsc.Models.Messaging
|
namespace Yavsc.Abstract.Models.Messaging
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A Notification, that mocks the one sent to Google,
|
/// A Notification, that mocks the one sent to Google,
|
||||||
@ -29,25 +29,25 @@ namespace Yavsc.Models.Messaging
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
[Display(Name = "Icône")]
|
[Display(Name = "Icône")]
|
||||||
public string icon { get; set; }
|
public string? icon { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The sound.
|
/// The sound.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
[Display(Name = "Son")]
|
[Display(Name = "Son")]
|
||||||
public string sound { get; set; }
|
public string? sound { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The tag.
|
/// The tag.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
[Display(Name = "Tag")]
|
[Display(Name = "Tag")]
|
||||||
public string tag { get; set; }
|
public string? tag { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The color.
|
/// The color.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
[Display(Name = "Couleur")]
|
[Display(Name = "Couleur")]
|
||||||
public string color { get; set; }
|
public string? color { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The click action.
|
/// The click action.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -63,7 +63,7 @@ namespace Yavsc.Models.Messaging
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[StringLength(512)]
|
[StringLength(512)]
|
||||||
public string Target { get; set; }
|
public string? Target { get; set; }
|
||||||
|
|
||||||
public Notification()
|
public Notification()
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFrameworks>net8.0</TargetFrameworks>
|
<TargetFrameworks>net9.0</TargetFrameworks>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<Description> A shared model for a little client/server app, dealing about establishing some contract, between some human client and provider.
|
<Description> A shared model for a little client/server app, dealing about establishing some contract, between some human client and provider.
|
||||||
|
3509
src/Yavsc.Server/Migrations/20250613122253_notificationTarget.Designer.cs
generated
Normal file
3509
src/Yavsc.Server/Migrations/20250613122253_notificationTarget.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,51 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Yavsc.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class notificationTarget : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.DropColumn(
|
||||||
|
name: "Visible",
|
||||||
|
table: "BlogSpot");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "Target",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "Target",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512,
|
||||||
|
oldNullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AddColumn<bool>(
|
||||||
|
name: "Visible",
|
||||||
|
table: "BlogSpot",
|
||||||
|
type: "boolean",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3505
src/Yavsc.Server/Migrations/20250613123306_notificationNulls.Designer.cs
generated
Normal file
3505
src/Yavsc.Server/Migrations/20250613123306_notificationNulls.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
109
src/Yavsc.Server/Migrations/20250613123306_notificationNulls.cs
Normal file
109
src/Yavsc.Server/Migrations/20250613123306_notificationNulls.cs
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Yavsc.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class notificationNulls : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "tag",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512);
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "sound",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512);
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "icon",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: true,
|
||||||
|
defaultValue: "exclam",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512,
|
||||||
|
oldDefaultValue: "exclam");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "color",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "tag",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512,
|
||||||
|
oldNullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "sound",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512,
|
||||||
|
oldNullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "icon",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "exclam",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512,
|
||||||
|
oldNullable: true,
|
||||||
|
oldDefaultValue: "exclam");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "color",
|
||||||
|
table: "Notification",
|
||||||
|
type: "character varying(512)",
|
||||||
|
maxLength: 512,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(512)",
|
||||||
|
oldMaxLength: 512,
|
||||||
|
oldNullable: true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3505
src/Yavsc.Server/Migrations/20250613131533_trackedNulls.Designer.cs
generated
Normal file
3505
src/Yavsc.Server/Migrations/20250613131533_trackedNulls.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
22
src/Yavsc.Server/Migrations/20250613131533_trackedNulls.cs
Normal file
22
src/Yavsc.Server/Migrations/20250613131533_trackedNulls.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Yavsc.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class trackedNulls : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3503
src/Yavsc.Server/Migrations/20250613131836_blogNulls.Designer.cs
generated
Normal file
3503
src/Yavsc.Server/Migrations/20250613131836_blogNulls.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
54
src/Yavsc.Server/Migrations/20250613131836_blogNulls.cs
Normal file
54
src/Yavsc.Server/Migrations/20250613131836_blogNulls.cs
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Yavsc.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class blogNulls : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "UserModified",
|
||||||
|
table: "BlogSpot",
|
||||||
|
type: "text",
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "text");
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "UserCreated",
|
||||||
|
table: "BlogSpot",
|
||||||
|
type: "text",
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "text");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "UserModified",
|
||||||
|
table: "BlogSpot",
|
||||||
|
type: "text",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "text",
|
||||||
|
oldNullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "UserCreated",
|
||||||
|
table: "BlogSpot",
|
||||||
|
type: "text",
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "text",
|
||||||
|
oldNullable: true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3502
src/Yavsc.Server/Migrations/20250613132139_BlogPostInputViewModelNulls.Designer.cs
generated
Normal file
3502
src/Yavsc.Server/Migrations/20250613132139_BlogPostInputViewModelNulls.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,40 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Yavsc.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class BlogPostInputViewModelNulls : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "Content",
|
||||||
|
table: "BlogSpot",
|
||||||
|
type: "character varying(56224)",
|
||||||
|
maxLength: 56224,
|
||||||
|
nullable: true,
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(56224)",
|
||||||
|
oldMaxLength: 56224);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
|
{
|
||||||
|
migrationBuilder.AlterColumn<string>(
|
||||||
|
name: "Content",
|
||||||
|
table: "BlogSpot",
|
||||||
|
type: "character varying(56224)",
|
||||||
|
maxLength: 56224,
|
||||||
|
nullable: false,
|
||||||
|
defaultValue: "",
|
||||||
|
oldClrType: typeof(string),
|
||||||
|
oldType: "character varying(56224)",
|
||||||
|
oldMaxLength: 56224,
|
||||||
|
oldNullable: true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -17,7 +17,7 @@ namespace Yavsc.Migrations
|
|||||||
{
|
{
|
||||||
#pragma warning disable 612, 618
|
#pragma warning disable 612, 618
|
||||||
modelBuilder
|
modelBuilder
|
||||||
.HasAnnotation("ProductVersion", "8.0.2")
|
.HasAnnotation("ProductVersion", "9.0.6")
|
||||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||||
|
|
||||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||||
@ -183,6 +183,56 @@ namespace Yavsc.Migrations
|
|||||||
b.ToTable("ClientProviderInfo");
|
b.ToTable("ClientProviderInfo");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Yavsc.Abstract.Models.Messaging.Notification", b =>
|
||||||
|
{
|
||||||
|
b.Property<long>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("bigint");
|
||||||
|
|
||||||
|
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Target")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("character varying(512)");
|
||||||
|
|
||||||
|
b.Property<string>("body")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("character varying(512)");
|
||||||
|
|
||||||
|
b.Property<string>("click_action")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("character varying(512)");
|
||||||
|
|
||||||
|
b.Property<string>("color")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("character varying(512)");
|
||||||
|
|
||||||
|
b.Property<string>("icon")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("character varying(512)")
|
||||||
|
.HasDefaultValue("exclam");
|
||||||
|
|
||||||
|
b.Property<string>("sound")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("character varying(512)");
|
||||||
|
|
||||||
|
b.Property<string>("tag")
|
||||||
|
.HasMaxLength(512)
|
||||||
|
.HasColumnType("character varying(512)");
|
||||||
|
|
||||||
|
b.Property<string>("title")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(1024)
|
||||||
|
.HasColumnType("character varying(1024)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Notification");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Yavsc.Models.Access.Ban", b =>
|
modelBuilder.Entity("Yavsc.Models.Access.Ban", b =>
|
||||||
{
|
{
|
||||||
b.Property<long>("Id")
|
b.Property<long>("Id")
|
||||||
@ -711,7 +761,6 @@ namespace Yavsc.Migrations
|
|||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<string>("Content")
|
b.Property<string>("Content")
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(56224)
|
.HasMaxLength(56224)
|
||||||
.HasColumnType("character varying(56224)");
|
.HasColumnType("character varying(56224)");
|
||||||
|
|
||||||
@ -731,16 +780,11 @@ namespace Yavsc.Migrations
|
|||||||
.HasColumnType("character varying(1024)");
|
.HasColumnType("character varying(1024)");
|
||||||
|
|
||||||
b.Property<string>("UserCreated")
|
b.Property<string>("UserCreated")
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<string>("UserModified")
|
b.Property<string>("UserModified")
|
||||||
.IsRequired()
|
|
||||||
.HasColumnType("text");
|
.HasColumnType("text");
|
||||||
|
|
||||||
b.Property<bool>("Visible")
|
|
||||||
.HasColumnType("boolean");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("AuthorId");
|
b.HasIndex("AuthorId");
|
||||||
@ -1602,61 +1646,6 @@ namespace Yavsc.Migrations
|
|||||||
b.ToTable("DismissClicked");
|
b.ToTable("DismissClicked");
|
||||||
});
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Yavsc.Models.Messaging.Notification", b =>
|
|
||||||
{
|
|
||||||
b.Property<long>("Id")
|
|
||||||
.ValueGeneratedOnAdd()
|
|
||||||
.HasColumnType("bigint");
|
|
||||||
|
|
||||||
NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<long>("Id"));
|
|
||||||
|
|
||||||
b.Property<string>("Target")
|
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(512)
|
|
||||||
.HasColumnType("character varying(512)");
|
|
||||||
|
|
||||||
b.Property<string>("body")
|
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(512)
|
|
||||||
.HasColumnType("character varying(512)");
|
|
||||||
|
|
||||||
b.Property<string>("click_action")
|
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(512)
|
|
||||||
.HasColumnType("character varying(512)");
|
|
||||||
|
|
||||||
b.Property<string>("color")
|
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(512)
|
|
||||||
.HasColumnType("character varying(512)");
|
|
||||||
|
|
||||||
b.Property<string>("icon")
|
|
||||||
.IsRequired()
|
|
||||||
.ValueGeneratedOnAdd()
|
|
||||||
.HasMaxLength(512)
|
|
||||||
.HasColumnType("character varying(512)")
|
|
||||||
.HasDefaultValue("exclam");
|
|
||||||
|
|
||||||
b.Property<string>("sound")
|
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(512)
|
|
||||||
.HasColumnType("character varying(512)");
|
|
||||||
|
|
||||||
b.Property<string>("tag")
|
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(512)
|
|
||||||
.HasColumnType("character varying(512)");
|
|
||||||
|
|
||||||
b.Property<string>("title")
|
|
||||||
.IsRequired()
|
|
||||||
.HasMaxLength(1024)
|
|
||||||
.HasColumnType("character varying(1024)");
|
|
||||||
|
|
||||||
b.HasKey("Id");
|
|
||||||
|
|
||||||
b.ToTable("Notification");
|
|
||||||
});
|
|
||||||
|
|
||||||
modelBuilder.Entity("Yavsc.Models.Musical.Instrument", b =>
|
modelBuilder.Entity("Yavsc.Models.Musical.Instrument", b =>
|
||||||
{
|
{
|
||||||
b.Property<long>("Id")
|
b.Property<long>("Id")
|
||||||
@ -3057,7 +3046,7 @@ namespace Yavsc.Migrations
|
|||||||
|
|
||||||
modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b =>
|
modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("Yavsc.Models.Messaging.Notification", "Notified")
|
b.HasOne("Yavsc.Abstract.Models.Messaging.Notification", "Notified")
|
||||||
.WithMany()
|
.WithMany()
|
||||||
.HasForeignKey("NotificationId")
|
.HasForeignKey("NotificationId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Cascade)
|
||||||
|
@ -40,6 +40,7 @@ namespace Yavsc.Models
|
|||||||
using Yavsc.Server.Models.Calendar;
|
using Yavsc.Server.Models.Calendar;
|
||||||
|
|
||||||
using Microsoft.EntityFrameworkCore.ChangeTracking;
|
using Microsoft.EntityFrameworkCore.ChangeTracking;
|
||||||
|
using Yavsc.Abstract.Models.Messaging;
|
||||||
|
|
||||||
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
|
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,7 @@ namespace Yavsc.Models.Blog
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Display(Name="Créateur")]
|
[Display(Name="Créateur")]
|
||||||
public string UserCreated
|
public string? UserCreated
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
@ -47,7 +47,7 @@ namespace Yavsc.Models.Blog
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Display(Name="Utilisateur ayant modifé le dernier")]
|
[Display(Name="Utilisateur ayant modifé le dernier")]
|
||||||
public string UserModified
|
public string? UserModified
|
||||||
{
|
{
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
using Yavsc.Abstract.Models.Messaging;
|
||||||
using Yavsc.Attributes.Validation;
|
using Yavsc.Attributes.Validation;
|
||||||
|
|
||||||
namespace Yavsc.Models.Messaging
|
namespace Yavsc.Models.Messaging
|
||||||
|
@ -11,10 +11,11 @@ namespace Yavsc.ViewModels.Blog
|
|||||||
public string? Photo { get; set; }
|
public string? Photo { get; set; }
|
||||||
|
|
||||||
[StringLength(1024)]
|
[StringLength(1024)]
|
||||||
|
[Required]
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
|
|
||||||
[StringLength(56224)]
|
[StringLength(56224)]
|
||||||
public string Content { get; set; }
|
public string? Content { get; set; }
|
||||||
|
|
||||||
[InverseProperty("Target")]
|
[InverseProperty("Target")]
|
||||||
[Display(Name="Liste de contrôle d'accès")]
|
[Display(Name="Liste de contrôle d'accès")]
|
||||||
|
@ -1,30 +1,30 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<UserSecretsId>53bd70e8-ff81-497a-847f-a15fd8ea7a09</UserSecretsId>
|
<UserSecretsId>53bd70e8-ff81-497a-847f-a15fd8ea7a09</UserSecretsId>
|
||||||
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="8.0.11" />
|
<PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
|
||||||
<PackageReference Include="HigginsSoft.IdentityServer8" Version="8.0.4" />
|
<PackageReference Include="HigginsSoft.IdentityServer8" Version="8.0.4" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.2" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="8.0.2" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="5.0.17" />
|
<PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="5.0.17" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.2">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.6">
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.3.0" />
|
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.3.0" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.2" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.1" />
|
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0" />
|
||||||
<PackageReference Include="Google.Apis.Calendar.v3" Version="1.60.0.2993" />
|
<PackageReference Include="Google.Apis.Calendar.v3" Version="1.60.0.2993" />
|
||||||
<PackageReference Include="PayPalMerchantSDK" Version="2.16.250" />
|
<PackageReference Include="PayPalMerchantSDK" Version="2.16.250" />
|
||||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.7" />
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.9" />
|
||||||
<PackageReference Include="RazorEngine.NetCore" Version="3.1.0" />
|
<PackageReference Include="RazorEngine.NetCore" Version="3.1.0" />
|
||||||
<PackageReference Include="MailKit" Version="4.3.0" />
|
<PackageReference Include="MailKit" Version="4.12.1" />
|
||||||
<PackageReference Include="MimeKit" Version="4.7.1" />
|
<PackageReference Include="MimeKit" Version="4.12.0" />
|
||||||
<PackageReference Include="pazof.rules" Version="1.1.3" />
|
<PackageReference Include="pazof.rules" Version="1.1.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
169
src/Yavsc/"BlogSpot"
Normal file
169
src/Yavsc/"BlogSpot"
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
\dt
|
||||||
|
select user,password from users;
|
||||||
|
select user,passwd from users;
|
||||||
|
select user from users;
|
||||||
|
select username,pwd from users;
|
||||||
|
select username,passwd from users;
|
||||||
|
select username,password from users;
|
||||||
|
\dT users
|
||||||
|
\d users
|
||||||
|
select username,passwd from users;
|
||||||
|
select username,passd from users;
|
||||||
|
\d users
|
||||||
|
select username,passw from users;
|
||||||
|
\d profiledata
|
||||||
|
select gregid from profiledata;
|
||||||
|
select uniqueid,gregid from profiledata;
|
||||||
|
select uniqueid,username from profile;
|
||||||
|
select uniqueid,username from profiles;
|
||||||
|
select uniqueid,gregid from profiledata;
|
||||||
|
select uniqueid,username from profiles;
|
||||||
|
select uniqueid,gregid from profiledata;
|
||||||
|
select uniqueid,gregid from profiledata;
|
||||||
|
select uniqueid,gregid from profiledata;
|
||||||
|
select uniqueid,gregid from profiledata;
|
||||||
|
select uniqueid,gregid from profiledata;
|
||||||
|
drop table GitRepositoryReference;
|
||||||
|
\use YavscDev
|
||||||
|
\use
|
||||||
|
\?
|
||||||
|
\use \?
|
||||||
|
\dt
|
||||||
|
drop table "GitRepositoryReference";
|
||||||
|
drop table "GitRepositoryReference" CASCADE;
|
||||||
|
exit;
|
||||||
|
\q
|
||||||
|
delete from "Project"
|
||||||
|
;
|
||||||
|
\q
|
||||||
|
create database dotnetmvc
|
||||||
|
;
|
||||||
|
create user dotnetmvc ;
|
||||||
|
grant CREATE on paul;
|
||||||
|
grant admins TO paul;
|
||||||
|
grant CREATE TO paul;
|
||||||
|
grant postgres TO paul;
|
||||||
|
grant paul TO postgres;
|
||||||
|
commit;
|
||||||
|
CREATE ROLE baget nocreatedb nocreaterole noreplication;
|
||||||
|
CREATE ROLE baget nocreatedb nocreaterole noreplication;
|
||||||
|
CREATE ROLE baget nocreatedb nocreaterole noreplication;
|
||||||
|
DROP ROLE baget;
|
||||||
|
commit;
|
||||||
|
alter role baget with superuser
|
||||||
|
;
|
||||||
|
commit;
|
||||||
|
\dT Project
|
||||||
|
\dt Project
|
||||||
|
\dt "Project"
|
||||||
|
desc "Project"
|
||||||
|
\?
|
||||||
|
\d "Project"
|
||||||
|
\d BlogSpot
|
||||||
|
\d Blogspot
|
||||||
|
\d "Blogspot"
|
||||||
|
\d "BlogSpot"
|
||||||
|
\d "BlogPost"
|
||||||
|
\d "BlogPost"
|
||||||
|
\d "BlogPost"
|
||||||
|
\d "BlogPost"
|
||||||
|
\d "BlogPost"
|
||||||
|
\d AspNetUsers
|
||||||
|
\d "AspNetUsers"
|
||||||
|
\dT "AspNetUsers"
|
||||||
|
update "AspNetUsers" set "LockoutEnable" = false;
|
||||||
|
\d "AspNetUsers"
|
||||||
|
\d "AspNetUsers"
|
||||||
|
update "AspNetUsers" set "LockoutEnabled" = false;
|
||||||
|
commit ;
|
||||||
|
\quit
|
||||||
|
update "AspNetUsers" set "LockoutEnabled" = true;
|
||||||
|
\s
|
||||||
|
\d
|
||||||
|
\dT
|
||||||
|
\?
|
||||||
|
\dn
|
||||||
|
\?
|
||||||
|
\?
|
||||||
|
\conninfo
|
||||||
|
\h create database
|
||||||
|
\h create user
|
||||||
|
create user forgejo with login 'ogVZ)f#m85zx';
|
||||||
|
create user forgejo with login;
|
||||||
|
\h alter user
|
||||||
|
alter user forgejo with PASSWORD 'ogVZ)f#m85zx';
|
||||||
|
commit:
|
||||||
|
commit;
|
||||||
|
commit;
|
||||||
|
\h create databse
|
||||||
|
\h create databse
|
||||||
|
create database forgejo with owner forgejo;
|
||||||
|
create user woodpecker with password 'aormb%$98zv<U&@' ;'
|
||||||
|
\sd
|
||||||
|
\?d
|
||||||
|
\dd
|
||||||
|
\dT
|
||||||
|
\dt
|
||||||
|
\d
|
||||||
|
\dd
|
||||||
|
\?
|
||||||
|
\dS
|
||||||
|
\?
|
||||||
|
\dD
|
||||||
|
\?
|
||||||
|
\dg
|
||||||
|
\?
|
||||||
|
\dn
|
||||||
|
\?
|
||||||
|
\l
|
||||||
|
\dl
|
||||||
|
\l
|
||||||
|
\dg
|
||||||
|
create database woodpecker with OWNER 'woodpecker';
|
||||||
|
select count(*) from "Users"
|
||||||
|
;
|
||||||
|
select count(*) from "AspNetUsers";
|
||||||
|
desc "AspNetUsers";
|
||||||
|
\dT "AspNetUsers"
|
||||||
|
\d "AspNetUsers"
|
||||||
|
update "AspNetUsers" set "EmailConfirmed" = true;
|
||||||
|
commit
|
||||||
|
;
|
||||||
|
select "UserName" from "AspNetUsers" ;
|
||||||
|
desc "AspNetUsers"
|
||||||
|
\d "AspNetUsers"
|
||||||
|
select "UserName", "Email" from "AspNetUsers" ;
|
||||||
|
select "UserName", "Email" from "AspNetUsers" ;
|
||||||
|
\d "AspNetUsers"
|
||||||
|
select "Id", "UserName", "Email" from "AspNetUsers" ;
|
||||||
|
\d "AspNetUsers"
|
||||||
|
select "Id", "UserName", "Email", "ConfirmedEmail" from "AspNetUsers" ;
|
||||||
|
\d "AspNetUsers"
|
||||||
|
select "Id", "UserName", "Email", "EmailConfirmed" from "AspNetUsers" ;
|
||||||
|
select * from "AspNetUsers" ;
|
||||||
|
\d "AspNetUsers"
|
||||||
|
select "Id", "UserName", "Email", "EmailConfirmed", "LockoutEnabe" from "AspNetUsers" ;
|
||||||
|
\d "AspNetUsers"
|
||||||
|
select "Id", "UserName", "Email", "EmailConfirmed", "LockoutEnabled" from "AspNetUsers" ;
|
||||||
|
upate AspNetUsers set LockoutEnabled = false;
|
||||||
|
update AspNetUsers set LockoutEnabled = false;
|
||||||
|
update "AspNetUsers" set "LockoutEnabled" = false;
|
||||||
|
commit;
|
||||||
|
select "Id", "UserName", "Email", "EmailConfirmed", "LockoutEnabled" from "AspNetUsers" ;
|
||||||
|
SELECT a."Id", a."AccessFailedCount", a."AllowMonthlyEmail", a."Avatar", a."BankInfoId", a."ConcurrencyStamp", a."DedicatedGoogleCalendar", a."DiskQuota", a."DiskUsage", a."Email", a."EmailConfirmed", a."FullName", a."LockoutEnabled", a."LockoutEnd", a."MaxFileSize", a."NormalizedEmail", a."NormalizedUserName", a."PasswordHash", a."PhoneNumber", a."PhoneNumberConfirmed", a."PostalAddressId", a."SecurityStamp", a."TwoFactorEnabled", a."UserName"
|
||||||
|
FROM "AspNetUsers" AS a
|
||||||
|
WHERE a."Email" = 'paul@pschneider.fr';
|
||||||
|
update "AspNetUsers" set "UserName" = 'Paul' where "Email" = 'paul@pschneider.fr';
|
||||||
|
update "AspNetUsers" set "UserName" = 'PaulS' where "Email" = 'contact@pschneider.fr';
|
||||||
|
update "AspNetUsers" set "UserName" = 'PaulSc' where "Email" = 'redienhcs.luap@gmail.com';
|
||||||
|
delete from Users where "userName" = 'pa'
|
||||||
|
;
|
||||||
|
delete from "Users" where "UserName" = 'pa';
|
||||||
|
delete from "AspNetUsers" where "UserName" = 'pa';
|
||||||
|
select "Id", "UserName", "Email", "EmailConfirmed", "LockoutEnabled" from "AspNetUsers" ;
|
||||||
|
\dT
|
||||||
|
\d
|
||||||
|
alter table "Activity" rename to "Activities";
|
||||||
|
\d
|
||||||
|
alter table "BlogPost" rename to "BlogSpot";
|
||||||
|
\s "BlogSpot"
|
@ -1,5 +1,6 @@
|
|||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
|
using Yavsc.Abstract.Models.Messaging;
|
||||||
using Yavsc.Helpers;
|
using Yavsc.Helpers;
|
||||||
using Yavsc.Models;
|
using Yavsc.Models;
|
||||||
using Yavsc.Models.Messaging;
|
using Yavsc.Models.Messaging;
|
||||||
|
@ -25,6 +25,7 @@ namespace Yavsc.Controllers
|
|||||||
using Microsoft.AspNetCore.Identity.UI.Services;
|
using Microsoft.AspNetCore.Identity.UI.Services;
|
||||||
using Yavsc.Interface;
|
using Yavsc.Interface;
|
||||||
using Yavsc.Settings;
|
using Yavsc.Settings;
|
||||||
|
using Yavsc.Abstract.Models.Messaging;
|
||||||
|
|
||||||
public class HairCutCommandController : CommandController
|
public class HairCutCommandController : CommandController
|
||||||
{
|
{
|
||||||
|
@ -48,9 +48,6 @@ namespace Yavsc.Controllers
|
|||||||
);
|
);
|
||||||
if (notes.Any()) this.Notify(notes);
|
if (notes.Any()) this.Notify(notes);
|
||||||
|
|
||||||
ViewData["HaircutCommandCount"] = _dbContext.HairCutQueries.Where(
|
|
||||||
q => q.ClientId == uid && q.Status < QueryStatus.Failed
|
|
||||||
).Count();
|
|
||||||
var toShow = _dbContext.Activities
|
var toShow = _dbContext.Activities
|
||||||
.Include(a => a.Forms)
|
.Include(a => a.Forms)
|
||||||
.Include(a => a.Parent)
|
.Include(a => a.Parent)
|
||||||
|
@ -32,6 +32,7 @@ using Yavsc.ViewModels.Auth;
|
|||||||
using Yavsc.Server.Helpers;
|
using Yavsc.Server.Helpers;
|
||||||
using System.Security.Cryptography;
|
using System.Security.Cryptography;
|
||||||
using Microsoft.IdentityModel.Tokens;
|
using Microsoft.IdentityModel.Tokens;
|
||||||
|
using Microsoft.IdentityModel.Protocols.Configuration;
|
||||||
|
|
||||||
namespace Yavsc.Extensions;
|
namespace Yavsc.Extensions;
|
||||||
|
|
||||||
@ -304,7 +305,8 @@ public static class HostingExtensions
|
|||||||
{
|
{
|
||||||
var path = builder.Configuration["SigningCert:Path"];
|
var path = builder.Configuration["SigningCert:Path"];
|
||||||
var pass = builder.Configuration["SigningCert:Password"];
|
var pass = builder.Configuration["SigningCert:Password"];
|
||||||
Debug.Assert(path != null);
|
if (path == null)
|
||||||
|
throw new InvalidConfigurationException("No signing cert path");
|
||||||
FileInfo certFileInfo = new FileInfo(path);
|
FileInfo certFileInfo = new FileInfo(path);
|
||||||
Debug.Assert(certFileInfo.Exists);
|
Debug.Assert(certFileInfo.Exists);
|
||||||
RSA rsa = RSA.Create();
|
RSA rsa = RSA.Create();
|
||||||
|
@ -70,6 +70,11 @@ namespace Yavsc.Helpers
|
|||||||
{
|
{
|
||||||
switch (elt.GetType().FullName)
|
switch (elt.GetType().FullName)
|
||||||
{
|
{
|
||||||
|
case "AsciiDocNet.Monospace":
|
||||||
|
sb.AppendHtml("<code>");
|
||||||
|
Monospace mono = (Monospace)elt;
|
||||||
|
AllItemsToHtml(sb, mono);
|
||||||
|
break;
|
||||||
case "AsciiDocNet.Link":
|
case "AsciiDocNet.Link":
|
||||||
Link link = (Link)elt;
|
Link link = (Link)elt;
|
||||||
Uri uri;
|
Uri uri;
|
||||||
@ -98,11 +103,8 @@ namespace Yavsc.Helpers
|
|||||||
|
|
||||||
case "AsciiDocNet.Strong":
|
case "AsciiDocNet.Strong":
|
||||||
sb.AppendHtml("<b>");
|
sb.AppendHtml("<b>");
|
||||||
AsciiDocNet.Strong str = (Strong)elt;
|
Strong str = (Strong)elt;
|
||||||
foreach (var stritem in str)
|
AllItemsToHtml(sb, str);
|
||||||
{
|
|
||||||
stritem.ToHtml(sb);
|
|
||||||
}
|
|
||||||
sb.AppendHtml("</b>");
|
sb.AppendHtml("</b>");
|
||||||
break;
|
break;
|
||||||
case "AsciiDocNet.InternalAnchor":
|
case "AsciiDocNet.InternalAnchor":
|
||||||
@ -138,10 +140,35 @@ namespace Yavsc.Helpers
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
string unsupportedType = elt.GetType().FullName;
|
string unsupportedType = elt.GetType().FullName;
|
||||||
throw new InvalidProgramException(unsupportedType);
|
if (elt is InlineContainer inlineContainer)
|
||||||
|
{
|
||||||
|
sb.AppendHtml($"<span title=\"E NOT SUPPORTED : {unsupportedType}\">");
|
||||||
|
AllItemsToHtml(sb, inlineContainer);
|
||||||
|
sb.AppendHtml("</span>");
|
||||||
|
}
|
||||||
|
else if (elt is IInlineElement inlineElement)
|
||||||
|
{
|
||||||
|
sb.AppendHtml($"<span title=\"E NOT SUPPORTED : {unsupportedType}\">");
|
||||||
|
RenderLitteral(inlineElement, sb);
|
||||||
|
sb.AppendHtml("</span>");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
throw new InvalidProgramException(unsupportedType);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void AllItemsToHtml(IHtmlContentBuilder sb, InlineContainer mono)
|
||||||
|
{
|
||||||
|
foreach (var item in mono)
|
||||||
|
{
|
||||||
|
item.ToHtml(sb);
|
||||||
|
}
|
||||||
|
sb.AppendHtml("</code>");
|
||||||
|
}
|
||||||
|
|
||||||
private static void RenderLitteral(IInlineElement elt, IHtmlContentBuilder sb)
|
private static void RenderLitteral(IInlineElement elt, IHtmlContentBuilder sb)
|
||||||
{
|
{
|
||||||
var tl = elt as TextLiteral;
|
var tl = elt as TextLiteral;
|
||||||
@ -173,39 +200,39 @@ namespace Yavsc.Helpers
|
|||||||
return contentbuilder;
|
return contentbuilder;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
public static IHtmlContent AsciiDocFor<TModel>(this IHtmlHelper<TModel> html,
|
public static IHtmlContent AsciiDocFor<TModel>(this IHtmlHelper<TModel> html,
|
||||||
Expression<Func<TModel, string>> expression)
|
Expression<Func<TModel, string>> expression)
|
||||||
{
|
{
|
||||||
string ascii = html.ValueFor<string>(expression, "{0}");
|
string ascii = html.ValueFor<string>(expression, "{0}");
|
||||||
if (string.IsNullOrWhiteSpace(ascii))
|
if (string.IsNullOrWhiteSpace(ascii))
|
||||||
return new HtmlString(string.Empty);
|
return new HtmlString(string.Empty);
|
||||||
Document document = Document.Parse(ascii);
|
Document document = Document.Parse(ascii);
|
||||||
var htmlDoc = document.ToHtml();
|
var htmlDoc = document.ToHtml();
|
||||||
var span = new TagBuilder("p") { TagRenderMode = TagRenderMode.SelfClosing };
|
var span = new TagBuilder("p") { TagRenderMode = TagRenderMode.SelfClosing };
|
||||||
span.InnerHtml.AppendHtml(htmlDoc);
|
span.InnerHtml.AppendHtml(htmlDoc);
|
||||||
return span.RenderBody();
|
return span.RenderBody();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string AsciiDoc(IHtmlHelper<BlogPost> htmlHelper, string text)
|
public static string AsciiDoc(IHtmlHelper<BlogPost> htmlHelper, string text)
|
||||||
{
|
{
|
||||||
return AsciiDoc(htmlHelper, text, null);
|
return AsciiDoc(htmlHelper, text, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string AsciiDoc(IHtmlHelper<BlogPost> htmlHelper, string text, object htmlAttributes)
|
private static string AsciiDoc(IHtmlHelper<BlogPost> htmlHelper, string text, object htmlAttributes)
|
||||||
{
|
{
|
||||||
// Create tag builder
|
// Create tag builder
|
||||||
var builder = new TagBuilder("div");
|
var builder = new TagBuilder("div");
|
||||||
var document = Document.Parse(text);
|
var document = Document.Parse(text);
|
||||||
|
|
||||||
// builder.InnerHtml = .
|
// builder.InnerHtml = .
|
||||||
|
|
||||||
// Add attributes
|
// Add attributes
|
||||||
builder.MergeAttribute("class", "ascii");
|
builder.MergeAttribute("class", "ascii");
|
||||||
builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
|
builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
|
||||||
|
|
||||||
// Render tag
|
// Render tag
|
||||||
return builder.ToString();
|
return builder.ToString();
|
||||||
} */
|
} */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using Microsoft.AspNetCore.Mvc;
|
using Microsoft.AspNetCore.Mvc;
|
||||||
using Yavsc.Models.Messaging;
|
using Yavsc.Abstract.Models.Messaging;
|
||||||
|
|
||||||
namespace Yavsc.Helpers
|
namespace Yavsc.Helpers
|
||||||
{
|
{
|
||||||
|
@ -1,36 +1,33 @@
|
|||||||
DESTDIR=/srv/www/yavsc
|
DESTDIR=/srv/www/yavsc
|
||||||
HOSTING=localhost
|
CONFIGURATION=Release
|
||||||
ASPNET_LOG_LEVEL=debug
|
|
||||||
SOURCE_DIR=../..
|
|
||||||
USER=www-data
|
USER=www-data
|
||||||
HOSTING_PRE=yavsv.pschneider.fr
|
SERVICE_PROD=yavsc
|
||||||
CONFIGURATION=Debug
|
DOTNET_FRAMEWORK=net9.0
|
||||||
SERVICE_PRE=Yavsc
|
|
||||||
|
|
||||||
all:
|
all:
|
||||||
dotnet build
|
dotnet build
|
||||||
|
|
||||||
showConfig:
|
showConfig:
|
||||||
@echo HOSTING_PRE: $(USER)@$(HOSTING_PRE)
|
|
||||||
@echo CONFIGURATION: $(CONFIGURATION)
|
@echo CONFIGURATION: $(CONFIGURATION)
|
||||||
@echo DESTDIR: $(DESTDIR)
|
@echo DESTDIR: $(DESTDIR)
|
||||||
@echo SERVICE_PRE: $(SERVICE_PRE)
|
@echo SERVICE_PROD: $(SERVICE_PROD)
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
ASPNETCORE_ENV=$(CONFIGURATION) dotnet publish
|
ASPNETCORE_ENV=$(CONFIGURATION) dotnet publish
|
||||||
|
|
||||||
pushInPre: publish
|
install_service:
|
||||||
sudo service $(SERVICE_PRE) stop
|
sudo cp ../../contrib/yavsc.service /etc/systemd/system
|
||||||
sudo cp -a bin/Debug/net7.0/publish/* $(DESTDIR)
|
sudo systemctl enable yavsc
|
||||||
|
|
||||||
|
pushInProd: publish
|
||||||
|
sudo systemctl stop $(SERVICE_PROD)
|
||||||
|
sudo cp -a bin/$(CONFIGURATION)/$(DOTNET_FRAMEWORK)/publish/* $(DESTDIR)
|
||||||
sudo chown -R $(USER) $(DESTDIR)
|
sudo chown -R $(USER) $(DESTDIR)
|
||||||
sudo sync
|
sudo sync
|
||||||
sudo service $(SERVICE_PRE) start
|
sudo systemctl start $(SERVICE_PROD)
|
||||||
|
|
||||||
%.min.js: %.js
|
%.min.js: %.js
|
||||||
jsmin < $^ > $@
|
jsmin < $^ > $@
|
||||||
|
|
||||||
%.min.css: %.css
|
%.min.css: %.css
|
||||||
jsmin < $^ > $@
|
jsmin < $^ > $@
|
||||||
|
|
||||||
%.Designer.cs: %.resx
|
|
||||||
strongresbuildercli -l -p -t -r "Yavsc.Resources." $^
|
|
||||||
|
@ -80,11 +80,6 @@
|
|||||||
<li><a asp-controller="Announces" class="badge" >
|
<li><a asp-controller="Announces" class="badge" >
|
||||||
<img src="@SiteSettings.Value.Logo" alt="announces" title="Annonces @SiteSettings.Value.Title" /></a></li>
|
<img src="@SiteSettings.Value.Logo" alt="announces" title="Annonces @SiteSettings.Value.Title" /></a></li>
|
||||||
}
|
}
|
||||||
@if ((int)ViewData["HaircutCommandCount"]>0) {
|
|
||||||
<li><a asp-controller="HairCutCommand" class="badge" >
|
|
||||||
<img src="~/images/shoppingcart.svg" alt="basket" title="Vos bons de commande" />(@ViewData["HaircutCommandCount"])</a></li>
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@section header {
|
@section header {
|
||||||
<script src="~/lib/bootstrap/js/carousel.js" asp-append-version="true"></script>
|
<script src="~/lib/bootstrap/js/carousel.js" asp-append-version="true"></script>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@model Yavsc.Models.Messaging.Notification
|
@model Notification
|
||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Create";
|
ViewData["Title"] = "Create";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@model Yavsc.Models.Messaging.Notification
|
@model Notification
|
||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Delete";
|
ViewData["Title"] = "Delete";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@model Yavsc.Models.Messaging.Notification
|
@model Notification
|
||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Details";
|
ViewData["Title"] = "Details";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@model Yavsc.Models.Messaging.Notification
|
@model Notification
|
||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Edit";
|
ViewData["Title"] = "Edit";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
@model IEnumerable<Yavsc.Models.Messaging.Notification>
|
@model IEnumerable<Notification>
|
||||||
|
|
||||||
@{
|
@{
|
||||||
ViewData["Title"] = "Index";
|
ViewData["Title"] = "Index";
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
@using Yavsc.Models.Auth;
|
@using Yavsc.Models.Auth;
|
||||||
@using Yavsc.Models.Identity;
|
@using Yavsc.Models.Identity;
|
||||||
@using Yavsc.Models.Access;
|
@using Yavsc.Models.Access;
|
||||||
|
@using Yavsc.Abstract.Models.Messaging;
|
||||||
@using Yavsc.Billing;
|
@using Yavsc.Billing;
|
||||||
@using Yavsc.Server.Models.Calendar;
|
@using Yavsc.Server.Models.Calendar;
|
||||||
@using Yavsc.ViewModels.Blog;
|
@using Yavsc.ViewModels.Blog;
|
||||||
@ -28,7 +29,6 @@
|
|||||||
@using Microsoft.AspNetCore.Html;
|
@using Microsoft.AspNetCore.Html;
|
||||||
@using Microsoft.AspNetCore.Identity;
|
@using Microsoft.AspNetCore.Identity;
|
||||||
@using Yavsc.Helpers;
|
@using Yavsc.Helpers;
|
||||||
|
|
||||||
@using PayPal.PayPalAPIInterfaceService.Model;
|
@using PayPal.PayPalAPIInterfaceService.Model;
|
||||||
|
|
||||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<PackageLicenseExpression>WTFPL</PackageLicenseExpression>
|
<PackageLicenseExpression>WTFPL</PackageLicenseExpression>
|
||||||
@ -15,33 +15,34 @@
|
|||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="HigginsSoft.IdentityServer8.AspNetIdentity" Version="8.0.4" />
|
<PackageReference Include="HigginsSoft.IdentityServer8.AspNetIdentity" Version="8.0.4" />
|
||||||
|
|
||||||
<PackageReference Include="Serilog.AspNetCore" Version="8.0.3" />
|
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="8.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="8.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="8.0.13" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="8.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.13">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.6">
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.13">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.6">
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.6" />
|
||||||
<PackageReference Include="Google.Apis.Compute.v1" Version="1.54.0" />
|
<PackageReference Include="Google.Apis.Compute.v1" Version="1.54.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.1.0" />
|
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.2.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Razor" Version="2.2.0" />
|
<PackageReference Include="Microsoft.AspNetCore.Razor" Version="2.3.0" />
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.7" />
|
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0" />
|
||||||
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="8.0.0" />
|
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.6" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="2.2.0" />
|
<PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="2.3.0" />
|
||||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
|
<PackageReference Include="Swashbuckle.AspNetCore" Version="8.1.4" />
|
||||||
<PackageReference Include="AsciiDocNet" Version="1.0.0-alpha6" />
|
<PackageReference Include="AsciiDocNet" Version="1.0.0-alpha6" />
|
||||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.7" />
|
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.9" />
|
||||||
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="../Yavsc.Server/Yavsc.Server.csproj" />
|
<ProjectReference Include="../Yavsc.Server/Yavsc.Server.csproj" />
|
||||||
|
<ProjectReference Include="../Yavsc.Abstract/Yavsc.Abstract.csproj" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
16
src/Yavsc/data/key-afbdf233-abc3-4762-865b-884187518d95.xml
Normal file
16
src/Yavsc/data/key-afbdf233-abc3-4762-865b-884187518d95.xml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<key id="afbdf233-abc3-4762-865b-884187518d95" version="1">
|
||||||
|
<creationDate>2025-06-13T12:15:54.5621476Z</creationDate>
|
||||||
|
<activationDate>2025-06-13T12:15:54.558788Z</activationDate>
|
||||||
|
<expirationDate>2025-09-11T12:15:54.558788Z</expirationDate>
|
||||||
|
<descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">
|
||||||
|
<descriptor>
|
||||||
|
<encryption algorithm="AES_256_CBC" />
|
||||||
|
<validation algorithm="HMACSHA256" />
|
||||||
|
<masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">
|
||||||
|
<!-- Warning: the key below is in an unencrypted form. -->
|
||||||
|
<value>mNS2X6pB+1DLQ8JaiXInlPJF6xFGLIRrMtgLF1oRfJ/60kCHY7OJuu/NOD18mxOTQEUj/IoHBM3PCAnGwiRG4Q==</value>
|
||||||
|
</masterKey>
|
||||||
|
</descriptor>
|
||||||
|
</descriptor>
|
||||||
|
</key>
|
@ -1,8 +1,14 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net9.0</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\Yavsc.Abstract\Yavsc.Abstract.csproj" />
|
<ProjectReference Include="..\Yavsc.Abstract\Yavsc.Abstract.csproj" />
|
||||||
<PackageReference Include="IdentityModel.AspNetCore" Version="4.3.0" />
|
<PackageReference Include="IdentityModel.AspNetCore" Version="4.3.0" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.13" />
|
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.6" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
@ -12,10 +18,4 @@
|
|||||||
</Content>
|
</Content>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
|
||||||
<Nullable>enable</Nullable>
|
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
Reference in New Issue
Block a user