Dav.AspNetCore.Server.Extensions.Npgsql 2.0.1

dotnet add package Dav.AspNetCore.Server.Extensions.Npgsql --version 2.0.1                
NuGet\Install-Package Dav.AspNetCore.Server.Extensions.Npgsql -Version 2.0.1                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Dav.AspNetCore.Server.Extensions.Npgsql" Version="2.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dav.AspNetCore.Server.Extensions.Npgsql --version 2.0.1                
#r "nuget: Dav.AspNetCore.Server.Extensions.Npgsql, 2.0.1"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Dav.AspNetCore.Server.Extensions.Npgsql as a Cake Addin
#addin nuget:?package=Dav.AspNetCore.Server.Extensions.Npgsql&version=2.0.1

// Install Dav.AspNetCore.Server.Extensions.Npgsql as a Cake Tool
#tool nuget:?package=Dav.AspNetCore.Server.Extensions.Npgsql&version=2.0.1                

Npgsql

Installation

Install Dav.AspNetCore.Server.Extensions.Npgsql via dotnet cli or through the package manager provided by your favorite IDE.

> dotnet add package Dav.AspNetCore.Server.Extensions.Npgsql

Getting started

This packages provides both: a property store, as well as a lock manager implementation. Based on what you want add either or both service registrations:

builder.Services.AddWebDav(davBuilder =>
{
    davBuilder.AddLocalFiles(options =>
    {
        options.RootPath = "/tmp/";
    });

    davBuilder.AddNpgsqlLocks(options => options.ConnectionString = "Server=127.0.0.1;Port=5432;Database=webdav;User Id=root;Password=root;");
    davBuilder.AddNpgsqlPropertyStore(options =>
    {
        // This would also allow not defined properties to be accepted
        options.AcceptCustomProperties = true;
        options.ConnectionString = "Server=127.0.0.1;Port=5432;Database=webdav;User Id=root;Password=root;";
    });
});

Schema

The schema needs to be created beforehand, there is no migration on app start.

CREATE TABLE dav_aspnetcore_server_resource_lock 
(
	Id text NOT NULL,
  	Uri text NOT NULL,
  	LockType INTEGER NOT NULL,
  	Owner text NOT NULL,
  	Recursive boolean NOT NULL,
  	Timeout bigint NOT NULL,
  	Issued bigint NOT NULL,
  	Depth INTEGER NOT NULL
);
CREATE TABLE dav_aspnetcore_server_property
(
  	Uri text NOT NULL,
  	ElementName text NOT NULL,
  	ElementNamespace text NOT NULL,
  	ElementValue text NOT NULL
);
Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.1 176 6/16/2023
2.0.0 167 6/10/2023
1.0.0 157 5/6/2023