Accompagner le nouveau projet du client avec une proposition précise et documentée.
surface-asset · types
Interfaces, valeurs et contrats nommés de surface-asset.
Les types ci-dessous définissent les objets nommés et leurs relations. Les propriétés héritées sont incluses dans les tableaux. Les types dérivés d’un schéma renvoient à sa structure; une déclaration TypeScript ne remplace pas les contrôles sémantiques du compilateur.
SurfaceAssetMediaType
Native raster formats admitted by the first qualified binary asset protocol.
export type SurfaceAssetMediaType = 'image/png' | 'image/jpeg';
type SurfaceAssetMediaType = "image/png" | "image/jpeg";
SurfaceAssetPayloadReference
Provider-specific immutable bytes are referenced, never embedded in canonical Revision JSON.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
storageLocation |
"r2-asset" |
Requis. Référence de stockage contrôlée, distincte d’un contenu encodé dans le Model. |
payloadHash |
string |
Requis. Définit « payload Hash » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
payloadSize |
number |
Requis. Définit « payload Size » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface SurfaceAssetPayloadReference {
storageLocation: 'r2-asset';
payloadHash: string;
payloadSize: number;
}
SurfaceAssetContent
Explicit native content kind; a legacy Markdown document is never reinterpreted as an asset.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
type |
"surface_asset" |
Requis. Définit « type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
schema_version |
1 |
Requis. Définit « schema_version » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
mediaType |
SurfaceAssetMediaType |
Requis. Type MIME de la ressource; doit appartenir aux formats autorisés. |
pixelWidth |
number |
Requis. Définit « pixel Width » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
pixelHeight |
number |
Requis. Définit « pixel Height » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
payload |
SurfaceAssetPayloadReference |
Requis. Définit « payload » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface SurfaceAssetContent {
type: 'surface_asset';
schema_version: 1;
mediaType: SurfaceAssetMediaType;
pixelWidth: number;
pixelHeight: number;
payload: SurfaceAssetPayloadReference;
}
SurfaceAssetPolicy
Immutable Model capability for asset instances, distinct from a user or source grant.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"SurfaceAssetPolicy@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
mediaTypes |
SurfaceAssetMediaType[] |
Requis. Types MIME autorisés pour les ressources de cette politique. |
maximumBytes |
number |
Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
maximumPixels |
number |
Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
export interface SurfaceAssetPolicy {
contract: 'SurfaceAssetPolicy@1';
mediaTypes: SurfaceAssetMediaType[];
maximumBytes: number;
maximumPixels: number;
}
SurfaceAssetReference
Revision-pinned source address; neither a media id nor a content hash grants access.
| Champ | Options / valeurs attendues | Description |
|---|---|---|
contract |
"SurfaceAssetReference@1" |
Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
surfaceId |
string |
Requis. Définit « surface Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
revisionId |
string |
Requis. Définit « revision Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
workspaceId |
string |
Requis. Définit « workspace Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
modelId |
string |
Requis. Définit « model Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
modelRevisionId |
string |
Requis. Définit « model Revision Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
definitionPath |
string |
Requis. Chemin exact d’une définition du Model; il ne désigne pas l’ID d’une fiche. |
payloadHash |
string |
Requis. Définit « payload Hash » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
export interface SurfaceAssetReference {
contract: 'SurfaceAssetReference@1';
surfaceId: string;
revisionId: string;
workspaceId: string;
modelId: string;
modelRevisionId: string;
definitionPath: string;
payloadHash: string;
}
Exemples appliqués : Choisir le contenu de la Surface
Les propriétés du composant sélectionnent l’éditeur natif; chaque contenu conserve son propre format.
Configuration
Propriétés du composant NativeContent.props. Propriétés et valeurs admises.
{
"recordProfileKey": "client",
"contentKind": "document"
}
Variante et raccordement
Propriétés du composant NativeContent.props. Propriétés et valeurs admises.
{
"recordProfileKey": "client",
"contentKind": "code"
}
Exemple de disposition UI
La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.
- Soumission S-1042
- Objet et besoin
- Proposition
- Références retenues