Aller au contenu

@platform/beneva

Emplacement : modules/application/beneva/ Dépendances : @platform/core, @platform/doc, @platform/schema

Vue d'ensemble

@platform/beneva implémente les fonctionnalités liées à l'assurance Beneva. Ce module gère :

  • Les polices d'assurance — création et gestion des polices.
  • Les employeurs — entités employeurs associées aux polices.
  • Les membres assurés — bénéficiaires des polices d'assurance.
  • Publications réactives — données publiées en temps réel aux clients connectés.

Contextes

Contexte Point d'entrée Contenu
client src/client/index.ts BenevaModule — descripteur du module pour le shell d'application
server src/server/index.ts Publication des données polices, employeurs et membres
common src/common/index.ts Schémas d'entités, publications, traductions i18n

Common API

import {
  PolicySchema, EmployerSchema, MemberSchema,
  policyAllPublication, employerAllPublication, memberAllPublication
} from '@platform/beneva/common'
Export Description
PolicySchema Schéma Zod pour les polices d'assurance
EmployerSchema Schéma Zod pour les employeurs
MemberSchema Schéma Zod pour les membres assurés
policyAllPublication Définition de publication pour toutes les polices
employerAllPublication Définition de publication pour tous les employeurs
memberAllPublication Définition de publication pour tous les membres

Server

Le serveur publie les trois collections de données via ServerDocService :

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

ServerDocService.publish(policyAllPublication)
ServerDocService.publish(employerAllPublication)
ServerDocService.publish(memberAllPublication)

Client

Le module exporte un BenevaModule compatible avec le shell Application de @platform/core/client :

import { BenevaModule } from '@platform/beneva/client'

Exemple d'utilisation

import { Application } from '@platform/core/client'
import { BenevaModule } from '@platform/beneva/client'

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