Aller au contenu

@platform/kitchen

Emplacement : modules/application/kitchen/ Dépendances : @platform/core, @platform/schema, @platform/doc, @platform/socket, @platform/members

Vue d'ensemble

@platform/kitchen fournit un espace de travail pour la gestion de tables et colonnes de données. Ce module gère :

  • La création et gestion de tables — structures de données persistées.
  • La définition de colonnes — propriétés et types des colonnes de données.
  • Un service Kitchen enregistré comme service Socket.io avec une méthode ping.
  • L'interface utilisateur avec des composants d'entités et de documents.

Contextes

Contexte Point d'entrée Contenu
client src/client/index.ts KitchenModule, Kitchen, composants d'entités
server src/server/index.ts KitchenServiceImpl, publication des tables
common src/common/index.ts Table, Column, KitchenService, publications, i18n

Common API

import {
  TableSchema, ColumnSchema, tableAllPublication
} from '@platform/kitchen/common'
import type { KitchenService } from '@platform/kitchen/common'
Export Description
TableSchema Schéma Zod pour les tables
ColumnSchema Schéma Zod pour les colonnes
tableAllPublication Définition de publication pour toutes les tables
KitchenService Interface du service Kitchen avec méthode ping

Server

Le serveur publie les données de tables et enregistre le service Kitchen :

import { ServerDocService } from '@platform/doc/server'
import { ServerService } from '@platform/socket/server'

ServerDocService.publish(tableAllPublication)
ServerService.register('Kitchen', KitchenServiceImpl)

Client

Le module exporte les composants principaux :

import { KitchenModule, Kitchen } from '@platform/kitchen/client'
Export Description
KitchenModule Descripteur du module pour le shell d'application
Kitchen Composant principal de l'espace de travail Kitchen

Exemple d'utilisation

import { Application } from '@platform/core/client'
import { KitchenModule } from '@platform/kitchen/client'

export function App() {
  return (
    <Application
      name='MonApp'
      logo='/logo.png'
      i18n={i18n}
      modules={[KitchenModule]}
    />
  )
}