migration net9.0
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,6 +7,7 @@
|
||||
.paket/
|
||||
.vs/
|
||||
.sass-cache/
|
||||
.private/
|
||||
|
||||
/out
|
||||
bin
|
||||
|
2
.vscode/launch.json
vendored
2
.vscode/launch.json
vendored
@ -43,7 +43,7 @@
|
||||
"type": "coreclr",
|
||||
"request": "launch",
|
||||
"preLaunchTask": "build",
|
||||
"program": "${workspaceFolder}/src/Yavsc/bin/Debug/net8.0/Yavsc.dll",
|
||||
"program": "${workspaceFolder}/src/Yavsc/bin/Debug/net9.0/Yavsc.dll",
|
||||
"args": [],
|
||||
"cwd": "${workspaceFolder}/src/Yavsc",
|
||||
"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
|
||||
|
||||
```
|
||||
~/workspace/yavsc/Yavsc @ ASPNETCORE_ENV=Development dotnet run
|
||||
```bash
|
||||
~/workspace/yavsc/Yavsc @ ASPNETCORE_ENV=Development dotnet run
|
||||
```
|
||||
|
||||
## Tests
|
||||
|
||||
Utilisez GNU/Makefile (et visitez le code, dans le dossier `test` ):
|
||||
|
||||
[TOREDO] Depuis le répertoire racine:
|
||||
[TODO] Depuis le répertoire racine:
|
||||
|
||||
```bash
|
||||
make test
|
||||
@ -33,13 +33,14 @@ make test
|
||||
|
||||
## Installation / Déploiment / Développement
|
||||
|
||||
### les services kestrel et kestrel-pre
|
||||
|
||||
[TODO]
|
||||
### les services et l'API
|
||||
|
||||
### 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)
|
||||
|
||||
|
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">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<UserSecretsId>1c73094f-959f-4211-b1a1-6a69b236c283</UserSecretsId>
|
||||
</PropertyGroup>
|
||||
<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" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
@ -19,6 +19,7 @@
|
||||
// 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/>.
|
||||
|
||||
using Yavsc.Abstract.Models.Messaging;
|
||||
using Yavsc.Models.Messaging;
|
||||
|
||||
namespace Yavsc.Models.Google.Messaging
|
||||
|
@ -5,8 +5,8 @@ namespace Yavsc
|
||||
public interface ITrackedEntity
|
||||
{
|
||||
DateTime DateCreated { get; set; }
|
||||
string UserCreated { get; set; }
|
||||
string? UserCreated { 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.Schema;
|
||||
|
||||
namespace Yavsc.Models.Messaging
|
||||
namespace Yavsc.Abstract.Models.Messaging
|
||||
{
|
||||
/// <summary>
|
||||
/// A Notification, that mocks the one sent to Google,
|
||||
@ -29,25 +29,25 @@ namespace Yavsc.Models.Messaging
|
||||
/// </summary>
|
||||
[StringLength(512)]
|
||||
[Display(Name = "Icône")]
|
||||
public string icon { get; set; }
|
||||
public string? icon { get; set; }
|
||||
/// <summary>
|
||||
/// The sound.
|
||||
/// </summary>
|
||||
[StringLength(512)]
|
||||
[Display(Name = "Son")]
|
||||
public string sound { get; set; }
|
||||
public string? sound { get; set; }
|
||||
/// <summary>
|
||||
/// The tag.
|
||||
/// </summary>
|
||||
[StringLength(512)]
|
||||
[Display(Name = "Tag")]
|
||||
public string tag { get; set; }
|
||||
public string? tag { get; set; }
|
||||
/// <summary>
|
||||
/// The color.
|
||||
/// </summary>
|
||||
[StringLength(512)]
|
||||
[Display(Name = "Couleur")]
|
||||
public string color { get; set; }
|
||||
public string? color { get; set; }
|
||||
/// <summary>
|
||||
/// The click action.
|
||||
/// </summary>
|
||||
@ -63,7 +63,7 @@ namespace Yavsc.Models.Messaging
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[StringLength(512)]
|
||||
public string Target { get; set; }
|
||||
public string? Target { get; set; }
|
||||
|
||||
public Notification()
|
||||
{
|
||||
|
@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0</TargetFrameworks>
|
||||
<TargetFrameworks>net9.0</TargetFrameworks>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<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
|
||||
modelBuilder
|
||||
.HasAnnotation("ProductVersion", "8.0.2")
|
||||
.HasAnnotation("ProductVersion", "9.0.6")
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 63);
|
||||
|
||||
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
|
||||
@ -183,6 +183,56 @@ namespace Yavsc.Migrations
|
||||
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 =>
|
||||
{
|
||||
b.Property<long>("Id")
|
||||
@ -711,7 +761,6 @@ namespace Yavsc.Migrations
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("Content")
|
||||
.IsRequired()
|
||||
.HasMaxLength(56224)
|
||||
.HasColumnType("character varying(56224)");
|
||||
|
||||
@ -731,16 +780,11 @@ namespace Yavsc.Migrations
|
||||
.HasColumnType("character varying(1024)");
|
||||
|
||||
b.Property<string>("UserCreated")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<string>("UserModified")
|
||||
.IsRequired()
|
||||
.HasColumnType("text");
|
||||
|
||||
b.Property<bool>("Visible")
|
||||
.HasColumnType("boolean");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("AuthorId");
|
||||
@ -1602,61 +1646,6 @@ namespace Yavsc.Migrations
|
||||
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 =>
|
||||
{
|
||||
b.Property<long>("Id")
|
||||
@ -3057,7 +3046,7 @@ namespace Yavsc.Migrations
|
||||
|
||||
modelBuilder.Entity("Yavsc.Models.Messaging.DismissClicked", b =>
|
||||
{
|
||||
b.HasOne("Yavsc.Models.Messaging.Notification", "Notified")
|
||||
b.HasOne("Yavsc.Abstract.Models.Messaging.Notification", "Notified")
|
||||
.WithMany()
|
||||
.HasForeignKey("NotificationId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
|
@ -40,6 +40,7 @@ namespace Yavsc.Models
|
||||
using Yavsc.Server.Models.Calendar;
|
||||
|
||||
using Microsoft.EntityFrameworkCore.ChangeTracking;
|
||||
using Yavsc.Abstract.Models.Messaging;
|
||||
|
||||
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
|
||||
{
|
||||
|
@ -35,7 +35,7 @@ namespace Yavsc.Models.Blog
|
||||
}
|
||||
|
||||
[Display(Name="Créateur")]
|
||||
public string UserCreated
|
||||
public string? UserCreated
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
@ -47,7 +47,7 @@ namespace Yavsc.Models.Blog
|
||||
}
|
||||
|
||||
[Display(Name="Utilisateur ayant modifé le dernier")]
|
||||
public string UserModified
|
||||
public string? UserModified
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Yavsc.Abstract.Models.Messaging;
|
||||
using Yavsc.Attributes.Validation;
|
||||
|
||||
namespace Yavsc.Models.Messaging
|
||||
|
@ -11,10 +11,11 @@ namespace Yavsc.ViewModels.Blog
|
||||
public string? Photo { get; set; }
|
||||
|
||||
[StringLength(1024)]
|
||||
[Required]
|
||||
public string Title { get; set; }
|
||||
|
||||
[StringLength(56224)]
|
||||
public string Content { get; set; }
|
||||
public string? Content { get; set; }
|
||||
|
||||
[InverseProperty("Target")]
|
||||
[Display(Name="Liste de contrôle d'accès")]
|
||||
|
@ -1,30 +1,30 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<UserSecretsId>53bd70e8-ff81-497a-847f-a15fd8ea7a09</UserSecretsId>
|
||||
|
||||
</PropertyGroup>
|
||||
<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="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="8.0.2" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.6" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="9.0.6" />
|
||||
<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>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.3.0" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.2" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.1" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.6" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0" />
|
||||
<PackageReference Include="Google.Apis.Calendar.v3" Version="1.60.0.2993" />
|
||||
<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="MailKit" Version="4.3.0" />
|
||||
<PackageReference Include="MimeKit" Version="4.7.1" />
|
||||
<PackageReference Include="MailKit" Version="4.12.1" />
|
||||
<PackageReference Include="MimeKit" Version="4.12.0" />
|
||||
<PackageReference Include="pazof.rules" Version="1.1.3" />
|
||||
</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.EntityFrameworkCore;
|
||||
using Yavsc.Abstract.Models.Messaging;
|
||||
using Yavsc.Helpers;
|
||||
using Yavsc.Models;
|
||||
using Yavsc.Models.Messaging;
|
||||
|
@ -25,6 +25,7 @@ namespace Yavsc.Controllers
|
||||
using Microsoft.AspNetCore.Identity.UI.Services;
|
||||
using Yavsc.Interface;
|
||||
using Yavsc.Settings;
|
||||
using Yavsc.Abstract.Models.Messaging;
|
||||
|
||||
public class HairCutCommandController : CommandController
|
||||
{
|
||||
|
@ -48,9 +48,6 @@ namespace Yavsc.Controllers
|
||||
);
|
||||
if (notes.Any()) this.Notify(notes);
|
||||
|
||||
ViewData["HaircutCommandCount"] = _dbContext.HairCutQueries.Where(
|
||||
q => q.ClientId == uid && q.Status < QueryStatus.Failed
|
||||
).Count();
|
||||
var toShow = _dbContext.Activities
|
||||
.Include(a => a.Forms)
|
||||
.Include(a => a.Parent)
|
||||
|
@ -32,6 +32,7 @@ using Yavsc.ViewModels.Auth;
|
||||
using Yavsc.Server.Helpers;
|
||||
using System.Security.Cryptography;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using Microsoft.IdentityModel.Protocols.Configuration;
|
||||
|
||||
namespace Yavsc.Extensions;
|
||||
|
||||
@ -304,7 +305,8 @@ public static class HostingExtensions
|
||||
{
|
||||
var path = builder.Configuration["SigningCert:Path"];
|
||||
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);
|
||||
Debug.Assert(certFileInfo.Exists);
|
||||
RSA rsa = RSA.Create();
|
||||
|
@ -70,6 +70,11 @@ namespace Yavsc.Helpers
|
||||
{
|
||||
switch (elt.GetType().FullName)
|
||||
{
|
||||
case "AsciiDocNet.Monospace":
|
||||
sb.AppendHtml("<code>");
|
||||
Monospace mono = (Monospace)elt;
|
||||
AllItemsToHtml(sb, mono);
|
||||
break;
|
||||
case "AsciiDocNet.Link":
|
||||
Link link = (Link)elt;
|
||||
Uri uri;
|
||||
@ -98,11 +103,8 @@ namespace Yavsc.Helpers
|
||||
|
||||
case "AsciiDocNet.Strong":
|
||||
sb.AppendHtml("<b>");
|
||||
AsciiDocNet.Strong str = (Strong)elt;
|
||||
foreach (var stritem in str)
|
||||
{
|
||||
stritem.ToHtml(sb);
|
||||
}
|
||||
Strong str = (Strong)elt;
|
||||
AllItemsToHtml(sb, str);
|
||||
sb.AppendHtml("</b>");
|
||||
break;
|
||||
case "AsciiDocNet.InternalAnchor":
|
||||
@ -138,10 +140,35 @@ namespace Yavsc.Helpers
|
||||
|
||||
default:
|
||||
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)
|
||||
{
|
||||
var tl = elt as TextLiteral;
|
||||
@ -173,39 +200,39 @@ namespace Yavsc.Helpers
|
||||
return contentbuilder;
|
||||
}
|
||||
|
||||
/*
|
||||
public static IHtmlContent AsciiDocFor<TModel>(this IHtmlHelper<TModel> html,
|
||||
Expression<Func<TModel, string>> expression)
|
||||
{
|
||||
string ascii = html.ValueFor<string>(expression, "{0}");
|
||||
if (string.IsNullOrWhiteSpace(ascii))
|
||||
return new HtmlString(string.Empty);
|
||||
Document document = Document.Parse(ascii);
|
||||
var htmlDoc = document.ToHtml();
|
||||
var span = new TagBuilder("p") { TagRenderMode = TagRenderMode.SelfClosing };
|
||||
span.InnerHtml.AppendHtml(htmlDoc);
|
||||
return span.RenderBody();
|
||||
}
|
||||
/*
|
||||
public static IHtmlContent AsciiDocFor<TModel>(this IHtmlHelper<TModel> html,
|
||||
Expression<Func<TModel, string>> expression)
|
||||
{
|
||||
string ascii = html.ValueFor<string>(expression, "{0}");
|
||||
if (string.IsNullOrWhiteSpace(ascii))
|
||||
return new HtmlString(string.Empty);
|
||||
Document document = Document.Parse(ascii);
|
||||
var htmlDoc = document.ToHtml();
|
||||
var span = new TagBuilder("p") { TagRenderMode = TagRenderMode.SelfClosing };
|
||||
span.InnerHtml.AppendHtml(htmlDoc);
|
||||
return span.RenderBody();
|
||||
}
|
||||
|
||||
public static string AsciiDoc(IHtmlHelper<BlogPost> htmlHelper, string text)
|
||||
{
|
||||
return AsciiDoc(htmlHelper, text, null);
|
||||
}
|
||||
public static string AsciiDoc(IHtmlHelper<BlogPost> htmlHelper, string text)
|
||||
{
|
||||
return AsciiDoc(htmlHelper, text, null);
|
||||
}
|
||||
|
||||
private static string AsciiDoc(IHtmlHelper<BlogPost> htmlHelper, string text, object htmlAttributes)
|
||||
{
|
||||
// Create tag builder
|
||||
var builder = new TagBuilder("div");
|
||||
var document = Document.Parse(text);
|
||||
private static string AsciiDoc(IHtmlHelper<BlogPost> htmlHelper, string text, object htmlAttributes)
|
||||
{
|
||||
// Create tag builder
|
||||
var builder = new TagBuilder("div");
|
||||
var document = Document.Parse(text);
|
||||
|
||||
// builder.InnerHtml = .
|
||||
// builder.InnerHtml = .
|
||||
|
||||
// Add attributes
|
||||
builder.MergeAttribute("class", "ascii");
|
||||
builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
|
||||
// Add attributes
|
||||
builder.MergeAttribute("class", "ascii");
|
||||
builder.MergeAttributes(new RouteValueDictionary(htmlAttributes));
|
||||
|
||||
// Render tag
|
||||
return builder.ToString();
|
||||
} */
|
||||
// Render tag
|
||||
return builder.ToString();
|
||||
} */
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Yavsc.Models.Messaging;
|
||||
using Yavsc.Abstract.Models.Messaging;
|
||||
|
||||
namespace Yavsc.Helpers
|
||||
{
|
||||
|
@ -1,36 +1,33 @@
|
||||
DESTDIR=/srv/www/yavsc
|
||||
HOSTING=localhost
|
||||
ASPNET_LOG_LEVEL=debug
|
||||
SOURCE_DIR=../..
|
||||
CONFIGURATION=Release
|
||||
USER=www-data
|
||||
HOSTING_PRE=yavsv.pschneider.fr
|
||||
CONFIGURATION=Debug
|
||||
SERVICE_PRE=Yavsc
|
||||
SERVICE_PROD=yavsc
|
||||
DOTNET_FRAMEWORK=net9.0
|
||||
|
||||
all:
|
||||
dotnet build
|
||||
|
||||
showConfig:
|
||||
@echo HOSTING_PRE: $(USER)@$(HOSTING_PRE)
|
||||
@echo CONFIGURATION: $(CONFIGURATION)
|
||||
@echo DESTDIR: $(DESTDIR)
|
||||
@echo SERVICE_PRE: $(SERVICE_PRE)
|
||||
@echo SERVICE_PROD: $(SERVICE_PROD)
|
||||
|
||||
publish:
|
||||
ASPNETCORE_ENV=$(CONFIGURATION) dotnet publish
|
||||
|
||||
pushInPre: publish
|
||||
sudo service $(SERVICE_PRE) stop
|
||||
sudo cp -a bin/Debug/net7.0/publish/* $(DESTDIR)
|
||||
install_service:
|
||||
sudo cp ../../contrib/yavsc.service /etc/systemd/system
|
||||
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 sync
|
||||
sudo service $(SERVICE_PRE) start
|
||||
sudo systemctl start $(SERVICE_PROD)
|
||||
|
||||
%.min.js: %.js
|
||||
jsmin < $^ > $@
|
||||
|
||||
%.min.css: %.css
|
||||
jsmin < $^ > $@
|
||||
|
||||
%.Designer.cs: %.resx
|
||||
strongresbuildercli -l -p -t -r "Yavsc.Resources." $^
|
||||
|
@ -80,11 +80,6 @@
|
||||
<li><a asp-controller="Announces" class="badge" >
|
||||
<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 {
|
||||
<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";
|
||||
|
@ -1,4 +1,4 @@
|
||||
@model Yavsc.Models.Messaging.Notification
|
||||
@model Notification
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Delete";
|
||||
|
@ -1,4 +1,4 @@
|
||||
@model Yavsc.Models.Messaging.Notification
|
||||
@model Notification
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Details";
|
||||
|
@ -1,4 +1,4 @@
|
||||
@model Yavsc.Models.Messaging.Notification
|
||||
@model Notification
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Edit";
|
||||
|
@ -1,4 +1,4 @@
|
||||
@model IEnumerable<Yavsc.Models.Messaging.Notification>
|
||||
@model IEnumerable<Notification>
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Index";
|
||||
|
@ -11,6 +11,7 @@
|
||||
@using Yavsc.Models.Auth;
|
||||
@using Yavsc.Models.Identity;
|
||||
@using Yavsc.Models.Access;
|
||||
@using Yavsc.Abstract.Models.Messaging;
|
||||
@using Yavsc.Billing;
|
||||
@using Yavsc.Server.Models.Calendar;
|
||||
@using Yavsc.ViewModels.Blog;
|
||||
@ -28,7 +29,6 @@
|
||||
@using Microsoft.AspNetCore.Html;
|
||||
@using Microsoft.AspNetCore.Identity;
|
||||
@using Yavsc.Helpers;
|
||||
|
||||
@using PayPal.PayPalAPIInterfaceService.Model;
|
||||
|
||||
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
||||
|
@ -1,6 +1,6 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<PackageLicenseExpression>WTFPL</PackageLicenseExpression>
|
||||
@ -15,33 +15,34 @@
|
||||
</PackageReference>
|
||||
<PackageReference Include="HigginsSoft.IdentityServer8.AspNetIdentity" Version="8.0.4" />
|
||||
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="8.0.3" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="8.0.13" />
|
||||
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="9.0.6" />
|
||||
<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.UI" Version="8.0.13" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.13">
|
||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.6" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="9.0.6" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.6">
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</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>
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.13" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.13" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="9.0.6" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="9.0.6" />
|
||||
<PackageReference Include="Google.Apis.Compute.v1" Version="1.54.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.1.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Razor" Version="2.2.0" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.7" />
|
||||
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="8.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="2.2.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.SignalR" Version="1.2.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Razor" Version="2.3.0" />
|
||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="9.0.0" />
|
||||
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="9.0.6" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="2.3.0" />
|
||||
<PackageReference Include="Swashbuckle.AspNetCore" Version="8.1.4" />
|
||||
<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>
|
||||
<ProjectReference Include="../Yavsc.Server/Yavsc.Server.csproj" />
|
||||
<ProjectReference Include="../Yavsc.Abstract/Yavsc.Abstract.csproj" />
|
||||
</ItemGroup>
|
||||
</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">
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Yavsc.Abstract\Yavsc.Abstract.csproj" />
|
||||
<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>
|
||||
@ -12,10 +18,4 @@
|
||||
</Content>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
||||
|
Reference in New Issue
Block a user