Table of Contents

Class ContentImportItem

Namespace
Quilt4Net.Toolkit.Features.FeatureToggle
Assembly
Quilt4Net.Toolkit.dll

One key's worth of writes within a ContentImportRequest.

public sealed record ContentImportItem : IEquatable<ContentImportItem>
Inheritance
ContentImportItem
Implements
Inherited Members

Properties

Application

The application the key is stored under. Null or empty targets the shared bucket.

public string Application { get; init; }

Property Value

string

Remarks

⚠️ Matched exactly against what is stored, not folded or normalised. Naming an application the row was not stored under does not fail — it addresses a different coordinate, so the write creates a second row instead of updating the one you meant. If a value does not change after an import that reported success, this is almost always why. Read the coordinate back from the key you are changing rather than assuming it.

ContentFormat

How the value should be rendered. Leave null to keep what the key already has.

public ContentFormat? ContentFormat { get; init; }

Property Value

ContentFormat?

DefaultValue

New text for the default language, or null to leave the default language untouched and change only the entries in Translations.

public string DefaultValue { get; init; }

Property Value

string

Remarks

Writing this marks every sister translation stale for review, because the text they were translated from has changed. Translations supplied in the same item clear their own flag as they land, so sending a full set does not leave the whole key flagged.

Instance

The instance the key is stored under. Null or empty targets rows stored without one.

public string Instance { get; init; }

Property Value

string

Remarks

Matched exactly, with the same consequence described on Application.

Key

The content key.

public required string Key { get; init; }

Property Value

string

Translations

New text per language, keyed by language name as entered on the server, e.g. { ["Swedish"] = "Ärende" }. A name matching no configured language is ignored.

public IReadOnlyDictionary<string, string> Translations { get; init; }

Property Value

IReadOnlyDictionary<string, string>

Remarks

Keyed by name rather than by language key for the same reason Translations is: a caller writing a literal in source has the language's name, not a per-tenant GUID.

A language absent here is left untouched, so a Swedish correction can never blank English. That also means an unchanged value should be omitted rather than resent: this path stamps what it writes as human-authored, and rewriting an untouched machine translation would make that output eligible as a translation source for other languages.