Lyo.Story.Api 3.0.0

dotnet add package Lyo.Story.Api --version 3.0.0
                    
NuGet\Install-Package Lyo.Story.Api -Version 3.0.0
                    
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="Lyo.Story.Api" Version="3.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Lyo.Story.Api" Version="3.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Lyo.Story.Api" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Lyo.Story.Api --version 3.0.0
                    
#r "nuget: Lyo.Story.Api, 3.0.0"
                    
#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.
#:package Lyo.Story.Api@3.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Lyo.Story.Api&version=3.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Lyo.Story.Api&version=3.0.0
                    
Install as a Cake Tool

Lyo.Story.Api

Maps Story Req/Res CRUD via Lyo.Api CreateBuilder (stories, scenes, nodes, variables, actions, choices, reactions, effects, read-only playthroughs). List and filter use Query on those routes. Graph save and load and play routes delegate to IStoryStore. Register the store with AddStoryApiFromConfiguration (the Postgres package registers CRUD services and StoryLyoMapper), then call BuildStoryGroup.

Features

  • BuildStoryGroup maps Req/Res CRUD, Query, graph save/load/list, and playthrough start/choose/advance/events/causes. Every route allows anonymous callers; put the host's own authorization in front before exposing it.
  • AddStoryApiFromConfiguration registers the Postgres store. CRUD services and the mapper are registered there, not again in this package.
  • MapStoryRoutes(routes, authorPolicy) maps only the graph and play routes over any registered IStoryStore (Postgres, SQLite, or a client store), without the CRUD routes or any authorization metadata. Apply the host's policy to the route group; when authorPolicy is set, graph save and list also require it. Lyo.Game.Server uses this.
  • Graph requests and responses carry TenantId and GameKey. POST Story/graph/list (StoryListReq) lists graph headers for one tenant and game.
  • Known gap: the play routes do not check that a playthrough belongs to the caller or the caller's tenant, and SetStoryPlaythroughVariables is open to any caller that can reach the routes.

Examples

Map the Story API

services.AddLocalCache();
services.AddLyoQueryServices();
services.AddStoryApiFromConfiguration(configuration);
var app = builder.Build();
app.BuildStoryGroup();

Dependencies

Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).

  • Lyo.Api (direct, lyo)
  • Lyo.Common.Core (direct, lyo)
  • Lyo.Exceptions (direct, lyo)
  • Lyo.Story (direct, lyo)
  • Lyo.Story.Models (direct, lyo)
  • Lyo.Story.Postgres (direct, lyo)
  • Lyo.Api.Models (transitive, lyo)
  • Lyo.Cache (transitive, lyo)
  • Lyo.Common.Metadata (transitive, lyo)
  • Lyo.Compression (transitive, lyo)
  • Lyo.DateAndTime (transitive, lyo)
  • Lyo.Diagnostic (transitive, lyo)
  • Lyo.Diagnostic.AspNetCore (transitive, lyo)
  • Lyo.Diff (transitive, lyo)
  • Lyo.Encryption (transitive, lyo)
  • Lyo.Formatter (transitive, lyo)
  • Lyo.Hashing (transitive, lyo)
  • Lyo.Health (transitive, lyo)
  • Lyo.Json (transitive, lyo)
  • Lyo.KeyStore (transitive, lyo)
  • Lyo.Metrics (transitive, lyo)
  • Lyo.PackageMetadata (transitive, lyo)
  • Lyo.Parameters (transitive, lyo)
  • Lyo.Postgres (transitive, lyo)
  • Lyo.Query (transitive, lyo)
  • Lyo.Query.Evaluation (transitive, lyo)
  • Lyo.Query.Models (transitive, lyo)
  • Lyo.Query.Sql (transitive, lyo)
  • Lyo.Result (transitive, lyo)
  • Lyo.Streams (transitive, lyo)
  • Lyo.Validation (transitive, lyo)
  • Lyo.Validation.Models (transitive, lyo)
  • BouncyCastle.Cryptography 2.6.2 (transitive, third-party, netstandard2.0)
  • DynamicExpresso.Core 2.19.3 (transitive, third-party)
  • EasyCompressor 2.1.0 (transitive, third-party)
  • Konscious.Security.Cryptography.Argon2 1.3.1 (transitive, third-party)
  • Microsoft.AspNetCore.OpenApi 10.0.5 (transitive, microsoft)
  • Microsoft.Bcl.AsyncInterfaces 10.0.5 (transitive, microsoft, netstandard2.0)
  • Microsoft.EntityFrameworkCore 10.0.5 (transitive, microsoft)
  • Microsoft.EntityFrameworkCore.Analyzers 10.0.5 (transitive, microsoft)
  • Microsoft.EntityFrameworkCore.Design 10.0.5 (transitive, microsoft)
  • Microsoft.EntityFrameworkCore.Relational 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Caching.Memory 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Configuration.Binder 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.DependencyInjection 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.DependencyInjection.Abstractions 10.0.5 (transitive, microsoft, net10.0, netstandard2.0)
  • Microsoft.Extensions.Hosting.Abstractions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Logging.Abstractions 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Options 10.0.5 (transitive, microsoft)
  • Microsoft.Extensions.Options.ConfigurationExtensions 10.0.5 (transitive, microsoft)
  • Npgsql.EntityFrameworkCore.PostgreSQL 10.0.3 (transitive, third-party)
  • SmartFormat.NET 3.6.1 (transitive, third-party)
  • System.Buffers 4.6.1 (transitive, microsoft, netstandard2.0)
  • System.ComponentModel.Annotations 5.0.0 (transitive, microsoft)
  • System.IO.Hashing 10.0.5 (transitive, microsoft, net10.0)
  • System.Memory 4.6.3 (transitive, microsoft, netstandard2.0)
  • System.Text.Encoding.CodePages 10.0.5 (transitive, microsoft)
  • System.Text.Json 10.0.5 (transitive, microsoft, netstandard2.0)
  • System.Threading.Tasks.Extensions 4.6.3 (transitive, microsoft, netstandard2.0)
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.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
3.0.0 71 10/23/2026