data-primals-engine 1.0.2-s → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/swagger-fr.yml ADDED
@@ -0,0 +1,2897 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ title: data.primals.net API
4
+ description: API pour la gestion des données personnalisées, incluant la vérification de compte et les opérations CRUD génériques.
5
+ version: 1.0.0
6
+ servers:
7
+ - url: http://localhost:7633
8
+ description: Serveur de développement local
9
+ - url: https://data.primals.net
10
+ description: Serveur de production
11
+ security:
12
+ - BearerAuth: []
13
+ tags:
14
+ - name: Gestion des Modèles
15
+ description: Opérations liées aux modèles de données.
16
+ - name: Gestion des Données
17
+ description: Opérations CRUD génériques pour tous les modèles de données définis.
18
+ paths:
19
+
20
+ /api/model:
21
+ post:
22
+ tags:
23
+ - Gestion des Modèles
24
+ summary: "Créer un nouveau modèle"
25
+ description: "Crée une nouvelle structure de modèle de données. L'utilisateur doit avoir les permissions nécessaires."
26
+ security:
27
+ - BearerAuth: [ ]
28
+ parameters:
29
+ - name: _user
30
+ in: query
31
+ required: true
32
+ description: "Votre nom d'utilisateur pour l'authentification."
33
+ schema:
34
+ type: string
35
+ requestBody:
36
+ required: true
37
+ description: "L'objet de définition du modèle à créer. La structure doit être valide."
38
+ content:
39
+ application/json:
40
+ schema:
41
+ type: object
42
+ description: "La définition complète du modèle."
43
+ example:
44
+ name: "nouveauModele"
45
+ description: "Description de mon nouveau modèle."
46
+ fields:
47
+ - name: "titre"
48
+ type: "string"
49
+ required: true
50
+ - name: "prix"
51
+ type: "number"
52
+ unit: "€"
53
+ - name: "categorie"
54
+ type: "relation"
55
+ relation: "taxonomy"
56
+ responses:
57
+ '201':
58
+ description: "Modèle créé avec succès."
59
+ content:
60
+ application/json:
61
+ schema:
62
+ type: object
63
+ properties:
64
+ success:
65
+ type: boolean
66
+ example: true
67
+ insertedId:
68
+ type: string
69
+ description: "L'ID du nouveau modèle créé."
70
+ example: "60d0fe4f5311236168a109ca"
71
+ '400':
72
+ description: "Définition du modèle invalide ou nom déjà utilisé."
73
+ content:
74
+ application/json:
75
+ schema:
76
+ $ref: '#/components/schemas/ErrorResponse'
77
+ '401':
78
+ description: "Non autorisé (token manquant ou invalide)."
79
+ content:
80
+ application/json:
81
+ schema:
82
+ $ref: '#/components/schemas/ErrorResponse'
83
+ '403':
84
+ description: "Permission refusée pour créer un modèle."
85
+ content:
86
+ application/json:
87
+ schema:
88
+ $ref: '#/components/schemas/ErrorResponse'
89
+ delete:
90
+ tags:
91
+ - Gestion des Modèles
92
+ summary: "Supprimer un modèle"
93
+ description: "Supprime un modèle de données et toutes les données associées. Cette action est irréversible."
94
+ security:
95
+ - BearerAuth: [ ]
96
+ parameters:
97
+ - name: _user
98
+ in: query
99
+ required: true
100
+ description: "Votre nom d'utilisateur pour l'authentification."
101
+ schema:
102
+ type: string
103
+ - name: name
104
+ in: query
105
+ required: true
106
+ description: "Le nom du modèle à supprimer."
107
+ schema:
108
+ type: string
109
+ responses:
110
+ '200':
111
+ description: "Modèle et données associées supprimés avec succès."
112
+ content:
113
+ application/json:
114
+ schema:
115
+ type: object
116
+ properties:
117
+ success:
118
+ type: boolean
119
+ example: true
120
+ '400':
121
+ description: "Requête invalide (ex: paramètre 'name' manquant)."
122
+ content:
123
+ application/json:
124
+ schema:
125
+ $ref: '#/components/schemas/ErrorResponse'
126
+ '401':
127
+ description: "Non autorisé (token manquant ou invalide)."
128
+ content:
129
+ application/json:
130
+ schema:
131
+ $ref: '#/components/schemas/ErrorResponse'
132
+ '403':
133
+ description: "Permission refusée pour supprimer ce modèle."
134
+ content:
135
+ application/json:
136
+ schema:
137
+ $ref: '#/components/schemas/ErrorResponse'
138
+ '404':
139
+ description: "Modèle non trouvé."
140
+ content:
141
+ application/json:
142
+ schema:
143
+ $ref: '#/components/schemas/ErrorResponse'
144
+
145
+ /api/model/{id}:
146
+ put:
147
+ tags:
148
+ - Gestion des Modèles
149
+ summary: "Mettre à jour un modèle existant"
150
+ description: "Met à jour la structure d'un modèle de données existant en utilisant son ID."
151
+ security:
152
+ - BearerAuth: [ ]
153
+ parameters:
154
+ - name: _user
155
+ in: query
156
+ required: true
157
+ description: "Votre nom d'utilisateur pour l'authentification."
158
+ schema:
159
+ type: string
160
+ - name: id
161
+ in: path
162
+ required: true
163
+ description: "L'identifiant unique (_id) du modèle à mettre à jour."
164
+ schema:
165
+ type: string
166
+ requestBody:
167
+ required: true
168
+ description: "L'objet de définition complet du modèle mis à jour."
169
+ content:
170
+ application/json:
171
+ schema:
172
+ type: object
173
+ description: "La définition complète du modèle."
174
+ example:
175
+ name: "nouveauModeleModifie"
176
+ description: "Description mise à jour."
177
+ fields:
178
+ - name: "titre"
179
+ type: "string"
180
+ required: true
181
+ - name: "prix"
182
+ type: "number"
183
+ unit: "€"
184
+ - name: "statut"
185
+ type: "enum"
186
+ items: [ "actif", "inactif" ]
187
+ responses:
188
+ '200':
189
+ description: "Modèle mis à jour avec succès."
190
+ content:
191
+ application/json:
192
+ schema:
193
+ type: object
194
+ properties:
195
+ success:
196
+ type: boolean
197
+ example: true
198
+ data:
199
+ type: object
200
+ description: "Le document du modèle mis à jour."
201
+ '400':
202
+ description: "Requête invalide ou définition du modèle invalide."
203
+ '401':
204
+ description: "Non autorisé (token manquant ou invalide)."
205
+ '403':
206
+ description: "Permission refusée pour modifier ce modèle."
207
+ '404':
208
+ description: "Modèle non trouvé."
209
+ # --- Endpoints CRUD génériques ---
210
+ /api/data/search:
211
+ post:
212
+ tags:
213
+ - Gestion des Données
214
+ consumes:
215
+ - application/json
216
+ summary: "Rechercher parmi les données"
217
+ description: "Recherche sur l'ensemble des données du modèle spécifié."
218
+ security:
219
+ - BearerAuth: []
220
+ parameters:
221
+ - name: _user
222
+ in: query
223
+ required: true
224
+ description: "Votre nom d'utilisateur pour l'authentification."
225
+ schema:
226
+ type: string
227
+ - in: body
228
+ name: model
229
+ required: true
230
+ description: "Le nom du modèle de données (ex: 'user', 'product')."
231
+ schema:
232
+ type: string
233
+ - name: filter
234
+ in: body
235
+ description: "Objet JSON de filtre MongoDB pour la recherche. "
236
+ schema:
237
+ type: object
238
+ example:
239
+ { "$and": [ { "lang": { "$eq": [ "$$this.code", "fr" ] } }, { "user": { "$exists": true } } ] }
240
+ - name: sort
241
+ in: query
242
+ description: "Paramètre de tri par champ."
243
+ schema:
244
+ type: string
245
+ example: fieldName:ASC;fieldName2:DESC
246
+ - name: limit
247
+ in: query
248
+ description: "Nombre maximum de documents à retourner."
249
+ schema:
250
+ type: integer
251
+ default: 1000
252
+ - name: offset
253
+ in: query
254
+ description: "Nombre de documents à sauter (pour la pagination)."
255
+ schema:
256
+ type: integer
257
+ default: 0
258
+ - name: depth
259
+ in: query
260
+ description: "Profondeur de population pour les champs de type 'relation'."
261
+ schema:
262
+ type: integer
263
+ default: 1
264
+ - name: lang
265
+ in: query
266
+ description: "Langue utilisée pour les messages d'erreur."
267
+ schema:
268
+ type: string
269
+ default: 'en'
270
+ requestBody:
271
+ required: true
272
+ content:
273
+ application/json:
274
+ schema:
275
+ type: array
276
+ description: "Les données retournées. Les champs retournés correspondent à la définition du modèle."
277
+ example:
278
+ [{ _id: "68624b95e59ff3523e72cfff", _hash: "6537742658626211", name: "Nouveau Produit", price: 99.99}]
279
+ /api/data/{id}:
280
+ put:
281
+ tags:
282
+ - Gestion des Données
283
+ summary: "Mettre à jour un document"
284
+ description: "Met à jour un document existant en utilisant son ID."
285
+ security:
286
+ - BearerAuth: []
287
+ parameters:
288
+ - name: _user
289
+ in: query
290
+ required: true
291
+ description: "Votre nom d'utilisateur pour l'authentification."
292
+ schema:
293
+ type: string
294
+ - name: id
295
+ in: path
296
+ required: true
297
+ description: "L'identifiant unique (_id) du document à mettre à jour."
298
+ schema:
299
+ type: string
300
+ - name: lang
301
+ in: query
302
+ description: "Langue utilisée pour les messages d'erreur."
303
+ schema:
304
+ type: string
305
+ default: 'en'
306
+ - in: body
307
+ name: model
308
+ required: true
309
+ description: "Le nom du modèle de données (ex: 'user', 'product')."
310
+ schema:
311
+ type: string
312
+ - name: data
313
+ in: body
314
+ required: true
315
+ description: "Les données à éditer. L'utilisation de l'opérateur $find est recommandée pour copier par référence des données relationnelles."
316
+ schema:
317
+ type: object
318
+ example: {}
319
+ responses:
320
+ '200':
321
+ description: "Document mis à jour avec succès."
322
+ '400':
323
+ description: "Données invalides."
324
+ '401':
325
+ description: "Non autorisé."
326
+ '404':
327
+ description: "Document non trouvé."
328
+ /api/data:
329
+ post:
330
+ tags:
331
+ - Gestion des Données
332
+ summary: "Créer un ou plusieurs documents"
333
+ description: "Crée un ou plusieurs nouveaux documents dans un modèle spécifié."
334
+ security:
335
+ - BearerAuth: [ ]
336
+ parameters:
337
+ - name: _user
338
+ in: query
339
+ required: true
340
+ description: "Votre nom d'utilisateur pour l'authentification."
341
+ schema:
342
+ type: string
343
+ - name: model
344
+ in: body
345
+ required: true
346
+ description: "Le nom du modèle dans lequel créer les documents."
347
+ schema:
348
+ type: string
349
+ - name: data
350
+ in: body
351
+ required: true
352
+ description: "Les données à insérer. L'utilisation de l'opérateur $find est recommandée pour les données relationnelles."
353
+ schema:
354
+ type: object
355
+ example: {}
356
+ - name: lang
357
+ in: query
358
+ description: "Langue utilisée pour les messages d'erreur."
359
+ schema:
360
+ type: string
361
+ default: 'en'
362
+ responses:
363
+ '201':
364
+ description: "Document(s) créé(s) avec succès."
365
+ '400':
366
+ description: "Données invalides."
367
+ '401':
368
+ description: "Non autorisé."
369
+ put:
370
+ tags:
371
+ - Gestion des Données
372
+ summary: "Mettre à jour des documents en masse"
373
+ description: "Met à jour un document existant en utilisant son ID."
374
+ security:
375
+ - BearerAuth: []
376
+ parameters:
377
+ - name: _user
378
+ in: query
379
+ required: true
380
+ description: "Votre nom d'utilisateur pour l'authentification."
381
+ schema:
382
+ type: string
383
+ - in: body
384
+ name: model
385
+ required: true
386
+ description: "Le nom du modèle de données (ex: 'user', 'product')."
387
+ schema:
388
+ type: string
389
+ - name: data
390
+ in: body
391
+ required: true
392
+ description: "Les données à éditer. L'utilisation de l'opérateur $find est recommandée pour copier par référence des données relationnelles."
393
+ schema:
394
+ type: object
395
+ example: {}
396
+ - name: lang
397
+ in: query
398
+ description: "Langue utilisée pour les messages d'erreur."
399
+ schema:
400
+ type: string
401
+ default: 'en'
402
+ responses:
403
+ '200':
404
+ description: "Document mis à jour avec succès."
405
+ '400':
406
+ description: "Données invalides."
407
+ '401':
408
+ description: "Non autorisé."
409
+ '404':
410
+ description: "Document non trouvé."
411
+ delete:
412
+ tags:
413
+ - Gestion des Données
414
+ summary: "Supprimer un ou plusieurs document(s)"
415
+ description: "Supprime un document de manière permanente en utilisant son ID."
416
+ security:
417
+ - BearerAuth: []
418
+ parameters:
419
+ - name: _user
420
+ in: query
421
+ required: true
422
+ description: "Votre nom d'utilisateur pour l'authentification."
423
+ schema:
424
+ type: string
425
+ - name: ids
426
+ in: body
427
+ description: "Les identifiants des documents à supprimer."
428
+ schema:
429
+ type: string
430
+ - name: filter
431
+ in: body
432
+ description: "Le filtre JSON MongoDB à appliquer pour la suppression en masse."
433
+ schema:
434
+ type: object
435
+ example:
436
+ { "$and": [ { "lang": { "$eq": [ "$$this.code", "fr" ] } }, { "user": { "$exists": true } } ] }
437
+ - name: lang
438
+ in: query
439
+ description: "Langue utilisée pour les messages d'erreur."
440
+ schema:
441
+ type: string
442
+ default: 'en'
443
+ responses:
444
+ '200':
445
+ description: "Document supprimé avec succès."
446
+ '401':
447
+ description: "Non autorisé."
448
+ '404':
449
+ description: "Document non trouvé."
450
+ components:
451
+ securitySchemes:
452
+ BearerAuth:
453
+ type: http
454
+ scheme: bearer
455
+ bearerFormat: JWT # Supposant l'utilisation de tokens JWT
456
+ schemas:
457
+ # --- Réponses Communes ---
458
+ ErrorResponse:
459
+ type: object
460
+ properties:
461
+ success:
462
+ type: boolean
463
+ example: false
464
+ message:
465
+ type: string
466
+ example: "Une erreur interne est survenue."
467
+ SuccessResponse:
468
+ type: object
469
+ properties:
470
+ success:
471
+ type: boolean
472
+ example: true
473
+ message:
474
+ type: string
475
+ example: "Opération réussie."
476
+ # --- Schémas de Modèles (générés dynamiquement) ---
477
+ permission:
478
+ type: object
479
+ properties:
480
+ _id:
481
+ type: string
482
+ description: Identifiant unique du document (MongoDB ObjectId)
483
+ readOnly: true
484
+ _user:
485
+ type: string
486
+ description: Identifiant de l'utilisateur propriétaire de ce document
487
+ readOnly: true
488
+ _model:
489
+ type: string
490
+ description: Nom du modèle auquel appartient ce document
491
+ readOnly: true
492
+ default: permission
493
+ _hash:
494
+ type: number
495
+ description: Hash du document pour les vérifications d'intégrité
496
+ readOnly: true
497
+ _pack:
498
+ type: string
499
+ description: Nom du pack auquel appartient ce document (le cas échéant)
500
+ readOnly: true
501
+ name:
502
+ type: string
503
+ description: ""
504
+ description:
505
+ type: string
506
+ description: ""
507
+ required:
508
+ - name
509
+ role:
510
+ type: object
511
+ properties:
512
+ _id:
513
+ type: string
514
+ description: Identifiant unique du document (MongoDB ObjectId)
515
+ readOnly: true
516
+ _user:
517
+ type: string
518
+ description: Identifiant de l'utilisateur propriétaire de ce document
519
+ readOnly: true
520
+ _model:
521
+ type: string
522
+ description: Nom du modèle auquel appartient ce document
523
+ readOnly: true
524
+ default: role
525
+ _hash:
526
+ type: number
527
+ description: Hash du document pour les vérifications d'intégrité
528
+ readOnly: true
529
+ _pack:
530
+ type: string
531
+ description: Nom du pack auquel appartient ce document (le cas échéant)
532
+ readOnly: true
533
+ name:
534
+ type: string
535
+ description: ""
536
+ permissions:
537
+ type: array
538
+ items:
539
+ type: string
540
+ description: ID of a permission document
541
+ required:
542
+ - name
543
+ user:
544
+ type: object
545
+ properties:
546
+ _id:
547
+ type: string
548
+ description: Identifiant unique du document (MongoDB ObjectId)
549
+ readOnly: true
550
+ _user:
551
+ type: string
552
+ description: Identifiant de l'utilisateur propriétaire de ce document
553
+ readOnly: true
554
+ _model:
555
+ type: string
556
+ description: Nom du modèle auquel appartient ce document
557
+ readOnly: true
558
+ default: user
559
+ _hash:
560
+ type: number
561
+ description: Hash du document pour les vérifications d'intégrité
562
+ readOnly: true
563
+ _pack:
564
+ type: string
565
+ description: Nom du pack auquel appartient ce document (le cas échéant)
566
+ readOnly: true
567
+ username:
568
+ type: string
569
+ description: ""
570
+ password:
571
+ type: string
572
+ format: password
573
+ description: ""
574
+ gender:
575
+ type: string
576
+ enum:
577
+ - male
578
+ - female
579
+ - other
580
+ - prefer_not_to_say
581
+ description: ""
582
+ contact:
583
+ type: string
584
+ description: ID of a contact document
585
+ roles:
586
+ type: array
587
+ items:
588
+ type: string
589
+ description: ID of a role document
590
+ lang:
591
+ type: string
592
+ description: ID of a lang document
593
+ profilePicture:
594
+ type: string
595
+ format: uuid
596
+ description: "Mime types: image/jpeg, image/png."
597
+ tokens:
598
+ type: array
599
+ items:
600
+ type: string
601
+ description: ID of a token document
602
+ required:
603
+ - username
604
+ token:
605
+ type: object
606
+ properties:
607
+ _id:
608
+ type: string
609
+ description: Identifiant unique du document (MongoDB ObjectId)
610
+ readOnly: true
611
+ _user:
612
+ type: string
613
+ description: Identifiant de l'utilisateur propriétaire de ce document
614
+ readOnly: true
615
+ _model:
616
+ type: string
617
+ description: Nom du modèle auquel appartient ce document
618
+ readOnly: true
619
+ default: token
620
+ _hash:
621
+ type: number
622
+ description: Hash du document pour les vérifications d'intégrité
623
+ readOnly: true
624
+ _pack:
625
+ type: string
626
+ description: Nom du pack auquel appartient ce document (le cas échéant)
627
+ readOnly: true
628
+ name:
629
+ type: string
630
+ description: ""
631
+ value:
632
+ type: string
633
+ format: password
634
+ description: ""
635
+ lastRefresh:
636
+ type: string
637
+ format: date-time
638
+ description: ""
639
+ translation:
640
+ type: object
641
+ properties:
642
+ _id:
643
+ type: string
644
+ description: Identifiant unique du document (MongoDB ObjectId)
645
+ readOnly: true
646
+ _user:
647
+ type: string
648
+ description: Identifiant de l'utilisateur propriétaire de ce document
649
+ readOnly: true
650
+ _model:
651
+ type: string
652
+ description: Nom du modèle auquel appartient ce document
653
+ readOnly: true
654
+ default: translation
655
+ _hash:
656
+ type: number
657
+ description: Hash du document pour les vérifications d'intégrité
658
+ readOnly: true
659
+ _pack:
660
+ type: string
661
+ description: Nom du pack auquel appartient ce document (le cas échéant)
662
+ readOnly: true
663
+ lang:
664
+ type: string
665
+ description: ID of a lang document
666
+ key:
667
+ type: string
668
+ maxLength: 200
669
+ description: ""
670
+ value:
671
+ type: string
672
+ description: ""
673
+ required:
674
+ - lang
675
+ - key
676
+ lang:
677
+ type: object
678
+ properties:
679
+ _id:
680
+ type: string
681
+ description: Identifiant unique du document (MongoDB ObjectId)
682
+ readOnly: true
683
+ _user:
684
+ type: string
685
+ description: Identifiant de l'utilisateur propriétaire de ce document
686
+ readOnly: true
687
+ _model:
688
+ type: string
689
+ description: Nom du modèle auquel appartient ce document
690
+ readOnly: true
691
+ default: lang
692
+ _hash:
693
+ type: number
694
+ description: Hash du document pour les vérifications d'intégrité
695
+ readOnly: true
696
+ _pack:
697
+ type: string
698
+ description: Nom du pack auquel appartient ce document (le cas échéant)
699
+ readOnly: true
700
+ name:
701
+ type: string
702
+ maxLength: 200
703
+ description: ""
704
+ code:
705
+ type: string
706
+ maxLength: 5
707
+ description: ""
708
+ currency:
709
+ type: object
710
+ properties:
711
+ _id:
712
+ type: string
713
+ description: Identifiant unique du document (MongoDB ObjectId)
714
+ readOnly: true
715
+ _user:
716
+ type: string
717
+ description: Identifiant de l'utilisateur propriétaire de ce document
718
+ readOnly: true
719
+ _model:
720
+ type: string
721
+ description: Nom du modèle auquel appartient ce document
722
+ readOnly: true
723
+ default: currency
724
+ _hash:
725
+ type: number
726
+ description: Hash du document pour les vérifications d'intégrité
727
+ readOnly: true
728
+ _pack:
729
+ type: string
730
+ description: Nom du pack auquel appartient ce document (le cas échéant)
731
+ readOnly: true
732
+ symbol:
733
+ type: string
734
+ maxLength: 5
735
+ description: ""
736
+ code:
737
+ type: string
738
+ maxLength: 3
739
+ description: ""
740
+ name:
741
+ type: string
742
+ description: ""
743
+ exchangeRate:
744
+ type: number
745
+ description: ""
746
+ default:
747
+ type: boolean
748
+ default: false
749
+ description: ""
750
+ required:
751
+ - symbol
752
+ - code
753
+ - name
754
+ channel:
755
+ type: object
756
+ properties:
757
+ _id:
758
+ type: string
759
+ description: Identifiant unique du document (MongoDB ObjectId)
760
+ readOnly: true
761
+ _user:
762
+ type: string
763
+ description: Identifiant de l'utilisateur propriétaire de ce document
764
+ readOnly: true
765
+ _model:
766
+ type: string
767
+ description: Nom du modèle auquel appartient ce document
768
+ readOnly: true
769
+ default: channel
770
+ _hash:
771
+ type: number
772
+ description: Hash du document pour les vérifications d'intégrité
773
+ readOnly: true
774
+ _pack:
775
+ type: string
776
+ description: Nom du pack auquel appartient ce document (le cas échéant)
777
+ readOnly: true
778
+ name:
779
+ type: string
780
+ description: ""
781
+ description:
782
+ type: string
783
+ description: ""
784
+ type:
785
+ type: string
786
+ enum:
787
+ - email
788
+ - SMS
789
+ - forum
790
+ - messagerie
791
+ - push
792
+ - in-app
793
+ description: ""
794
+ required:
795
+ - name
796
+ - type
797
+ message:
798
+ type: object
799
+ properties:
800
+ _id:
801
+ type: string
802
+ description: Identifiant unique du document (MongoDB ObjectId)
803
+ readOnly: true
804
+ _user:
805
+ type: string
806
+ description: Identifiant de l'utilisateur propriétaire de ce document
807
+ readOnly: true
808
+ _model:
809
+ type: string
810
+ description: Nom du modèle auquel appartient ce document
811
+ readOnly: true
812
+ default: message
813
+ _hash:
814
+ type: number
815
+ description: Hash du document pour les vérifications d'intégrité
816
+ readOnly: true
817
+ _pack:
818
+ type: string
819
+ description: Nom du pack auquel appartient ce document (le cas échéant)
820
+ readOnly: true
821
+ sender:
822
+ type: string
823
+ description: ID of a user document
824
+ recipient:
825
+ type: string
826
+ description: ID of a user document
827
+ lang:
828
+ type: string
829
+ description: ID of a lang document
830
+ subject:
831
+ type: string
832
+ description: ""
833
+ content:
834
+ type: string
835
+ description: ""
836
+ channels:
837
+ type: array
838
+ items:
839
+ type: string
840
+ description: ID of a channel document
841
+ status:
842
+ type: string
843
+ enum:
844
+ - en attente
845
+ - envoyée
846
+ - lue
847
+ - échouée
848
+ description: ""
849
+ sentAt:
850
+ type: string
851
+ format: date-time
852
+ description: ""
853
+ readAt:
854
+ type: string
855
+ format: date-time
856
+ description: ""
857
+ type:
858
+ type: string
859
+ description: ""
860
+ priority:
861
+ type: string
862
+ enum:
863
+ - basse
864
+ - moyenne
865
+ - haute
866
+ description: ""
867
+ required:
868
+ - content
869
+ webpage:
870
+ type: object
871
+ properties:
872
+ _id:
873
+ type: string
874
+ description: Identifiant unique du document (MongoDB ObjectId)
875
+ readOnly: true
876
+ _user:
877
+ type: string
878
+ description: Identifiant de l'utilisateur propriétaire de ce document
879
+ readOnly: true
880
+ _model:
881
+ type: string
882
+ description: Nom du modèle auquel appartient ce document
883
+ readOnly: true
884
+ default: webpage
885
+ _hash:
886
+ type: number
887
+ description: Hash du document pour les vérifications d'intégrité
888
+ readOnly: true
889
+ _pack:
890
+ type: string
891
+ description: Nom du pack auquel appartient ce document (le cas échéant)
892
+ readOnly: true
893
+ title:
894
+ type: string
895
+ description: ""
896
+ path:
897
+ type: string
898
+ description: ""
899
+ html:
900
+ type: string
901
+ description: ""
902
+ published:
903
+ type: boolean
904
+ default: false
905
+ description: ""
906
+ inSitemap:
907
+ type: boolean
908
+ default: true
909
+ description: ""
910
+ description:
911
+ type: string
912
+ description: ""
913
+ keywords:
914
+ type: array
915
+ items:
916
+ type: string
917
+ description: ID of a taxonomy document
918
+ image:
919
+ type: string
920
+ format: uri
921
+ description: ""
922
+ category:
923
+ type: string
924
+ description: ID of a taxonomy document
925
+ required:
926
+ - title
927
+ - path
928
+ content:
929
+ type: object
930
+ properties:
931
+ _id:
932
+ type: string
933
+ description: Identifiant unique du document (MongoDB ObjectId)
934
+ readOnly: true
935
+ _user:
936
+ type: string
937
+ description: Identifiant de l'utilisateur propriétaire de ce document
938
+ readOnly: true
939
+ _model:
940
+ type: string
941
+ description: Nom du modèle auquel appartient ce document
942
+ readOnly: true
943
+ default: content
944
+ _hash:
945
+ type: number
946
+ description: Hash du document pour les vérifications d'intégrité
947
+ readOnly: true
948
+ _pack:
949
+ type: string
950
+ description: Nom du pack auquel appartient ce document (le cas échéant)
951
+ readOnly: true
952
+ lang:
953
+ type: string
954
+ description: ID of a lang document
955
+ title:
956
+ type: string
957
+ description: ""
958
+ slug:
959
+ type: string
960
+ description: ""
961
+ html:
962
+ type: string
963
+ description: ""
964
+ image:
965
+ type: string
966
+ format: uuid
967
+ description: "Mime types: image/jpeg, image/png, image/gif, image/webp."
968
+ published:
969
+ type: boolean
970
+ description: ""
971
+ publishedAt:
972
+ type: string
973
+ format: date-time
974
+ description: ""
975
+ author:
976
+ type: string
977
+ description: ID of a user document
978
+ category:
979
+ type: string
980
+ description: ID of a taxonomy document
981
+ keywords:
982
+ type: array
983
+ items:
984
+ type: string
985
+ description: ID of a taxonomy document
986
+ order:
987
+ type: number
988
+ default: 0
989
+ description: ""
990
+ required:
991
+ - title
992
+ resource:
993
+ type: object
994
+ properties:
995
+ _id:
996
+ type: string
997
+ description: Identifiant unique du document (MongoDB ObjectId)
998
+ readOnly: true
999
+ _user:
1000
+ type: string
1001
+ description: Identifiant de l'utilisateur propriétaire de ce document
1002
+ readOnly: true
1003
+ _model:
1004
+ type: string
1005
+ description: Nom du modèle auquel appartient ce document
1006
+ readOnly: true
1007
+ default: resource
1008
+ _hash:
1009
+ type: number
1010
+ description: Hash du document pour les vérifications d'intégrité
1011
+ readOnly: true
1012
+ _pack:
1013
+ type: string
1014
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1015
+ readOnly: true
1016
+ source:
1017
+ type: string
1018
+ format: uri
1019
+ description: ""
1020
+ file:
1021
+ type: string
1022
+ format: uuid
1023
+ description: ""
1024
+ taxonomy:
1025
+ type: object
1026
+ properties:
1027
+ _id:
1028
+ type: string
1029
+ description: Identifiant unique du document (MongoDB ObjectId)
1030
+ readOnly: true
1031
+ _user:
1032
+ type: string
1033
+ description: Identifiant de l'utilisateur propriétaire de ce document
1034
+ readOnly: true
1035
+ _model:
1036
+ type: string
1037
+ description: Nom du modèle auquel appartient ce document
1038
+ readOnly: true
1039
+ default: taxonomy
1040
+ _hash:
1041
+ type: number
1042
+ description: Hash du document pour les vérifications d'intégrité
1043
+ readOnly: true
1044
+ _pack:
1045
+ type: string
1046
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1047
+ readOnly: true
1048
+ name:
1049
+ type: string
1050
+ description: ""
1051
+ parent:
1052
+ type: string
1053
+ description: ID of a taxonomy document
1054
+ type:
1055
+ type: string
1056
+ enum:
1057
+ - keyword
1058
+ - category
1059
+ description: ""
1060
+ identifier:
1061
+ type: string
1062
+ description: ""
1063
+ order:
1064
+ type: number
1065
+ default: 0
1066
+ description: ""
1067
+ description:
1068
+ type: string
1069
+ description: ""
1070
+ required:
1071
+ - name
1072
+ contact:
1073
+ type: object
1074
+ properties:
1075
+ _id:
1076
+ type: string
1077
+ description: Identifiant unique du document (MongoDB ObjectId)
1078
+ readOnly: true
1079
+ _user:
1080
+ type: string
1081
+ description: Identifiant de l'utilisateur propriétaire de ce document
1082
+ readOnly: true
1083
+ _model:
1084
+ type: string
1085
+ description: Nom du modèle auquel appartient ce document
1086
+ readOnly: true
1087
+ default: contact
1088
+ _hash:
1089
+ type: number
1090
+ description: Hash du document pour les vérifications d'intégrité
1091
+ readOnly: true
1092
+ _pack:
1093
+ type: string
1094
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1095
+ readOnly: true
1096
+ legalName:
1097
+ type: string
1098
+ description: ""
1099
+ firstName:
1100
+ type: string
1101
+ description: ""
1102
+ lastName:
1103
+ type: string
1104
+ description: ""
1105
+ email:
1106
+ type: string
1107
+ format: email
1108
+ description: ""
1109
+ phone:
1110
+ type: string
1111
+ description: ""
1112
+ location:
1113
+ type: string
1114
+ description: ID of a location document
1115
+ location:
1116
+ type: object
1117
+ properties:
1118
+ _id:
1119
+ type: string
1120
+ description: Identifiant unique du document (MongoDB ObjectId)
1121
+ readOnly: true
1122
+ _user:
1123
+ type: string
1124
+ description: Identifiant de l'utilisateur propriétaire de ce document
1125
+ readOnly: true
1126
+ _model:
1127
+ type: string
1128
+ description: Nom du modèle auquel appartient ce document
1129
+ readOnly: true
1130
+ default: location
1131
+ _hash:
1132
+ type: number
1133
+ description: Hash du document pour les vérifications d'intégrité
1134
+ readOnly: true
1135
+ _pack:
1136
+ type: string
1137
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1138
+ readOnly: true
1139
+ address_1:
1140
+ type: string
1141
+ description: ""
1142
+ address_2:
1143
+ type: string
1144
+ description: ""
1145
+ address_3:
1146
+ type: string
1147
+ description: ""
1148
+ address_4:
1149
+ type: string
1150
+ description: ""
1151
+ city:
1152
+ type: string
1153
+ description: ""
1154
+ postalCode:
1155
+ type: string
1156
+ description: ""
1157
+ region:
1158
+ type: string
1159
+ description: ""
1160
+ country:
1161
+ type: string
1162
+ description: ""
1163
+ latitude:
1164
+ type: number
1165
+ description: "Unit: °"
1166
+ longitude:
1167
+ type: number
1168
+ description: "Unit: °"
1169
+ brand:
1170
+ type: object
1171
+ properties:
1172
+ _id:
1173
+ type: string
1174
+ description: Identifiant unique du document (MongoDB ObjectId)
1175
+ readOnly: true
1176
+ _user:
1177
+ type: string
1178
+ description: Identifiant de l'utilisateur propriétaire de ce document
1179
+ readOnly: true
1180
+ _model:
1181
+ type: string
1182
+ description: Nom du modèle auquel appartient ce document
1183
+ readOnly: true
1184
+ default: brand
1185
+ _hash:
1186
+ type: number
1187
+ description: Hash du document pour les vérifications d'intégrité
1188
+ readOnly: true
1189
+ _pack:
1190
+ type: string
1191
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1192
+ readOnly: true
1193
+ name:
1194
+ type: string
1195
+ description: ""
1196
+ logo:
1197
+ type: string
1198
+ format: uuid
1199
+ description: ""
1200
+ company:
1201
+ type: string
1202
+ description: ID of a contact document
1203
+ required:
1204
+ - name
1205
+ product:
1206
+ type: object
1207
+ properties:
1208
+ _id:
1209
+ type: string
1210
+ description: Identifiant unique du document (MongoDB ObjectId)
1211
+ readOnly: true
1212
+ _user:
1213
+ type: string
1214
+ description: Identifiant de l'utilisateur propriétaire de ce document
1215
+ readOnly: true
1216
+ _model:
1217
+ type: string
1218
+ description: Nom du modèle auquel appartient ce document
1219
+ readOnly: true
1220
+ default: product
1221
+ _hash:
1222
+ type: number
1223
+ description: Hash du document pour les vérifications d'intégrité
1224
+ readOnly: true
1225
+ _pack:
1226
+ type: string
1227
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1228
+ readOnly: true
1229
+ name:
1230
+ type: string
1231
+ description: ""
1232
+ description:
1233
+ type: string
1234
+ description: ""
1235
+ image:
1236
+ type: array
1237
+ items:
1238
+ type: string
1239
+ format: uuid
1240
+ description: "Mime types: image/jpeg, image/png, image/gif, image/webp."
1241
+ price:
1242
+ type: number
1243
+ description: ""
1244
+ currency:
1245
+ type: string
1246
+ description: ID of a currency document
1247
+ billingFrequency:
1248
+ type: string
1249
+ enum:
1250
+ - aucune
1251
+ - au mois
1252
+ - à l'année
1253
+ description: ""
1254
+ brand:
1255
+ type: string
1256
+ description: ID of a brand document
1257
+ category:
1258
+ type: string
1259
+ description: ID of a taxonomy document
1260
+ required:
1261
+ - name
1262
+ - price
1263
+ - currency
1264
+ productVariant:
1265
+ type: object
1266
+ properties:
1267
+ _id:
1268
+ type: string
1269
+ description: Identifiant unique du document (MongoDB ObjectId)
1270
+ readOnly: true
1271
+ _user:
1272
+ type: string
1273
+ description: Identifiant de l'utilisateur propriétaire de ce document
1274
+ readOnly: true
1275
+ _model:
1276
+ type: string
1277
+ description: Nom du modèle auquel appartient ce document
1278
+ readOnly: true
1279
+ default: productVariant
1280
+ _hash:
1281
+ type: number
1282
+ description: Hash du document pour les vérifications d'intégrité
1283
+ readOnly: true
1284
+ _pack:
1285
+ type: string
1286
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1287
+ readOnly: true
1288
+ product:
1289
+ type: string
1290
+ description: ID of a product document
1291
+ size:
1292
+ type: string
1293
+ description: ""
1294
+ color:
1295
+ type: string
1296
+ description: ""
1297
+ sku:
1298
+ type: string
1299
+ description: ""
1300
+ price:
1301
+ type: number
1302
+ description: ""
1303
+ currency:
1304
+ type: string
1305
+ description: ID of a currency document
1306
+ stock:
1307
+ type: number
1308
+ default: 0
1309
+ description: ""
1310
+ description:
1311
+ type: string
1312
+ description: ""
1313
+ image:
1314
+ type: string
1315
+ format: uri
1316
+ description: ""
1317
+ required:
1318
+ - product
1319
+ - price
1320
+ - currency
1321
+ cart:
1322
+ type: object
1323
+ properties:
1324
+ _id:
1325
+ type: string
1326
+ description: Identifiant unique du document (MongoDB ObjectId)
1327
+ readOnly: true
1328
+ _user:
1329
+ type: string
1330
+ description: Identifiant de l'utilisateur propriétaire de ce document
1331
+ readOnly: true
1332
+ _model:
1333
+ type: string
1334
+ description: Nom du modèle auquel appartient ce document
1335
+ readOnly: true
1336
+ default: cart
1337
+ _hash:
1338
+ type: number
1339
+ description: Hash du document pour les vérifications d'intégrité
1340
+ readOnly: true
1341
+ _pack:
1342
+ type: string
1343
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1344
+ readOnly: true
1345
+ user:
1346
+ type: string
1347
+ description: ID of a user document
1348
+ items:
1349
+ type: array
1350
+ items:
1351
+ type: string
1352
+ description: ID of a cartItem document
1353
+ creationDate:
1354
+ type: string
1355
+ format: date-time
1356
+ description: ""
1357
+ lastUpdate:
1358
+ type: string
1359
+ format: date-time
1360
+ description: ""
1361
+ active:
1362
+ type: boolean
1363
+ default: true
1364
+ description: ""
1365
+ required:
1366
+ - user
1367
+ - creationDate
1368
+ - lastUpdate
1369
+ cartItem:
1370
+ type: object
1371
+ properties:
1372
+ _id:
1373
+ type: string
1374
+ description: Identifiant unique du document (MongoDB ObjectId)
1375
+ readOnly: true
1376
+ _user:
1377
+ type: string
1378
+ description: Identifiant de l'utilisateur propriétaire de ce document
1379
+ readOnly: true
1380
+ _model:
1381
+ type: string
1382
+ description: Nom du modèle auquel appartient ce document
1383
+ readOnly: true
1384
+ default: cartItem
1385
+ _hash:
1386
+ type: number
1387
+ description: Hash du document pour les vérifications d'intégrité
1388
+ readOnly: true
1389
+ _pack:
1390
+ type: string
1391
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1392
+ readOnly: true
1393
+ product:
1394
+ type: string
1395
+ description: ID of a product document
1396
+ quantity:
1397
+ type: number
1398
+ minimum: 1
1399
+ description: ""
1400
+ variant:
1401
+ type: string
1402
+ description: ID of a productVariant document
1403
+ required:
1404
+ - product
1405
+ - quantity
1406
+ discount:
1407
+ type: object
1408
+ properties:
1409
+ _id:
1410
+ type: string
1411
+ description: Identifiant unique du document (MongoDB ObjectId)
1412
+ readOnly: true
1413
+ _user:
1414
+ type: string
1415
+ description: Identifiant de l'utilisateur propriétaire de ce document
1416
+ readOnly: true
1417
+ _model:
1418
+ type: string
1419
+ description: Nom du modèle auquel appartient ce document
1420
+ readOnly: true
1421
+ default: discount
1422
+ _hash:
1423
+ type: number
1424
+ description: Hash du document pour les vérifications d'intégrité
1425
+ readOnly: true
1426
+ _pack:
1427
+ type: string
1428
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1429
+ readOnly: true
1430
+ code:
1431
+ type: string
1432
+ description: ""
1433
+ productSelection:
1434
+ type: array
1435
+ items:
1436
+ type: string
1437
+ description: ID of a product document
1438
+ description:
1439
+ type: string
1440
+ description: ""
1441
+ percentAmount:
1442
+ type: number
1443
+ minimum: 0
1444
+ default: null
1445
+ description: ""
1446
+ fixedAmount:
1447
+ type: number
1448
+ minimum: 0
1449
+ default: null
1450
+ description: ""
1451
+ minAmount:
1452
+ type: number
1453
+ minimum: 0
1454
+ default: null
1455
+ description: "Unit: €"
1456
+ minProductQuantity:
1457
+ type: number
1458
+ minimum: 0
1459
+ description: ""
1460
+ freeProductQuantity:
1461
+ type: number
1462
+ minimum: 0
1463
+ default: null
1464
+ description: ""
1465
+ startDate:
1466
+ type: string
1467
+ format: date-time
1468
+ description: ""
1469
+ endDate:
1470
+ type: string
1471
+ format: date-time
1472
+ description: ""
1473
+ required:
1474
+ - code
1475
+ order:
1476
+ type: object
1477
+ properties:
1478
+ _id:
1479
+ type: string
1480
+ description: Identifiant unique du document (MongoDB ObjectId)
1481
+ readOnly: true
1482
+ _user:
1483
+ type: string
1484
+ description: Identifiant de l'utilisateur propriétaire de ce document
1485
+ readOnly: true
1486
+ _model:
1487
+ type: string
1488
+ description: Nom du modèle auquel appartient ce document
1489
+ readOnly: true
1490
+ default: order
1491
+ _hash:
1492
+ type: number
1493
+ description: Hash du document pour les vérifications d'intégrité
1494
+ readOnly: true
1495
+ _pack:
1496
+ type: string
1497
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1498
+ readOnly: true
1499
+ orderId:
1500
+ type: string
1501
+ description: ""
1502
+ orderDate:
1503
+ type: string
1504
+ format: date-time
1505
+ description: ""
1506
+ status:
1507
+ type: string
1508
+ enum:
1509
+ - pending
1510
+ - processing
1511
+ - shipped
1512
+ - delivered
1513
+ - cancelled
1514
+ description: ""
1515
+ products:
1516
+ type: array
1517
+ items:
1518
+ type: string
1519
+ description: ID of a product document
1520
+ customer:
1521
+ type: string
1522
+ description: ID of a user document
1523
+ totalAmount:
1524
+ type: number
1525
+ description: ""
1526
+ currency:
1527
+ type: string
1528
+ description: ID of a currency document
1529
+ paymentMethod:
1530
+ type: string
1531
+ description: ""
1532
+ shippingAddress:
1533
+ type: string
1534
+ description: ID of a location document
1535
+ billingAddress:
1536
+ type: string
1537
+ description: ID of a location document
1538
+ shippedDate:
1539
+ type: string
1540
+ format: date-time
1541
+ description: ""
1542
+ deliveryDate:
1543
+ type: string
1544
+ format: date-time
1545
+ description: ""
1546
+ discount:
1547
+ type: string
1548
+ description: ID of a discount document
1549
+ required:
1550
+ - orderId
1551
+ - products
1552
+ - totalAmount
1553
+ invoice:
1554
+ type: object
1555
+ properties:
1556
+ _id:
1557
+ type: string
1558
+ description: Identifiant unique du document (MongoDB ObjectId)
1559
+ readOnly: true
1560
+ _user:
1561
+ type: string
1562
+ description: Identifiant de l'utilisateur propriétaire de ce document
1563
+ readOnly: true
1564
+ _model:
1565
+ type: string
1566
+ description: Nom du modèle auquel appartient ce document
1567
+ readOnly: true
1568
+ default: invoice
1569
+ _hash:
1570
+ type: number
1571
+ description: Hash du document pour les vérifications d'intégrité
1572
+ readOnly: true
1573
+ _pack:
1574
+ type: string
1575
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1576
+ readOnly: true
1577
+ order:
1578
+ type: string
1579
+ description: ID of a order document
1580
+ invoiceId:
1581
+ type: string
1582
+ description: ""
1583
+ invoiceDate:
1584
+ type: string
1585
+ format: date-time
1586
+ description: ""
1587
+ dueDate:
1588
+ type: string
1589
+ format: date-time
1590
+ description: ""
1591
+ status:
1592
+ type: string
1593
+ enum:
1594
+ - payée
1595
+ - non payée
1596
+ - partiellement payée
1597
+ - annulée
1598
+ description: ""
1599
+ required:
1600
+ - order
1601
+ - invoiceId
1602
+ - invoiceDate
1603
+ userSubscription:
1604
+ type: object
1605
+ properties:
1606
+ _id:
1607
+ type: string
1608
+ description: Identifiant unique du document (MongoDB ObjectId)
1609
+ readOnly: true
1610
+ _user:
1611
+ type: string
1612
+ description: Identifiant de l'utilisateur propriétaire de ce document
1613
+ readOnly: true
1614
+ _model:
1615
+ type: string
1616
+ description: Nom du modèle auquel appartient ce document
1617
+ readOnly: true
1618
+ default: userSubscription
1619
+ _hash:
1620
+ type: number
1621
+ description: Hash du document pour les vérifications d'intégrité
1622
+ readOnly: true
1623
+ _pack:
1624
+ type: string
1625
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1626
+ readOnly: true
1627
+ user:
1628
+ type: string
1629
+ description: ID of a user document
1630
+ product:
1631
+ type: string
1632
+ description: ID of a product document
1633
+ startDate:
1634
+ type: string
1635
+ format: date-time
1636
+ description: ""
1637
+ endDate:
1638
+ type: string
1639
+ format: date-time
1640
+ description: ""
1641
+ price:
1642
+ type: number
1643
+ description: ""
1644
+ currency:
1645
+ type: string
1646
+ description: ID of a currency document
1647
+ paymentMethod:
1648
+ type: string
1649
+ enum:
1650
+ - carte bancaire
1651
+ - mandat SEPA
1652
+ description: ""
1653
+ status:
1654
+ type: string
1655
+ enum:
1656
+ - actif
1657
+ - inactif
1658
+ - annulé
1659
+ - expiré
1660
+ - en attente
1661
+ description: ""
1662
+ billingCycleAnchor:
1663
+ type: string
1664
+ format: date-time
1665
+ description: ""
1666
+ nextBillingDate:
1667
+ type: string
1668
+ format: date-time
1669
+ description: ""
1670
+ lastBillingDate:
1671
+ type: string
1672
+ format: date-time
1673
+ description: ""
1674
+ cancelReason:
1675
+ type: string
1676
+ description: ""
1677
+ autoRenew:
1678
+ type: boolean
1679
+ default: false
1680
+ description: ""
1681
+ required:
1682
+ - user
1683
+ - product
1684
+ - startDate
1685
+ - price
1686
+ - currency
1687
+ stock:
1688
+ type: object
1689
+ properties:
1690
+ _id:
1691
+ type: string
1692
+ description: Identifiant unique du document (MongoDB ObjectId)
1693
+ readOnly: true
1694
+ _user:
1695
+ type: string
1696
+ description: Identifiant de l'utilisateur propriétaire de ce document
1697
+ readOnly: true
1698
+ _model:
1699
+ type: string
1700
+ description: Nom du modèle auquel appartient ce document
1701
+ readOnly: true
1702
+ default: stock
1703
+ _hash:
1704
+ type: number
1705
+ description: Hash du document pour les vérifications d'intégrité
1706
+ readOnly: true
1707
+ _pack:
1708
+ type: string
1709
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1710
+ readOnly: true
1711
+ product:
1712
+ type: string
1713
+ description: ID of a product document
1714
+ variant:
1715
+ type: string
1716
+ description: ID of a productVariant document
1717
+ warehouse:
1718
+ type: string
1719
+ description: ID of a warehouse document
1720
+ available:
1721
+ type: number
1722
+ default: 0
1723
+ description: ""
1724
+ reserved:
1725
+ type: number
1726
+ default: 0
1727
+ description: ""
1728
+ required:
1729
+ - product
1730
+ - warehouse
1731
+ stockAlert:
1732
+ type: object
1733
+ properties:
1734
+ _id:
1735
+ type: string
1736
+ description: Identifiant unique du document (MongoDB ObjectId)
1737
+ readOnly: true
1738
+ _user:
1739
+ type: string
1740
+ description: Identifiant de l'utilisateur propriétaire de ce document
1741
+ readOnly: true
1742
+ _model:
1743
+ type: string
1744
+ description: Nom du modèle auquel appartient ce document
1745
+ readOnly: true
1746
+ default: stockAlert
1747
+ _hash:
1748
+ type: number
1749
+ description: Hash du document pour les vérifications d'intégrité
1750
+ readOnly: true
1751
+ _pack:
1752
+ type: string
1753
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1754
+ readOnly: true
1755
+ user:
1756
+ type: string
1757
+ description: ID of a user document
1758
+ stock:
1759
+ type: string
1760
+ description: ID of a stock document
1761
+ threshold:
1762
+ type: number
1763
+ minimum: 0
1764
+ description: ""
1765
+ required:
1766
+ - user
1767
+ - stock
1768
+ - threshold
1769
+ shipment:
1770
+ type: object
1771
+ properties:
1772
+ _id:
1773
+ type: string
1774
+ description: Identifiant unique du document (MongoDB ObjectId)
1775
+ readOnly: true
1776
+ _user:
1777
+ type: string
1778
+ description: Identifiant de l'utilisateur propriétaire de ce document
1779
+ readOnly: true
1780
+ _model:
1781
+ type: string
1782
+ description: Nom du modèle auquel appartient ce document
1783
+ readOnly: true
1784
+ default: shipment
1785
+ _hash:
1786
+ type: number
1787
+ description: Hash du document pour les vérifications d'intégrité
1788
+ readOnly: true
1789
+ _pack:
1790
+ type: string
1791
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1792
+ readOnly: true
1793
+ order:
1794
+ type: string
1795
+ description: ID of a order document
1796
+ trackingNumber:
1797
+ type: string
1798
+ description: ""
1799
+ carrier:
1800
+ type: string
1801
+ description: ""
1802
+ status:
1803
+ type: string
1804
+ enum:
1805
+ - en attente
1806
+ - en transit
1807
+ - livrée
1808
+ - problème
1809
+ description: ""
1810
+ estimatedDeliveryDate:
1811
+ type: string
1812
+ format: date-time
1813
+ description: ""
1814
+ actualDeliveryDate:
1815
+ type: string
1816
+ format: date-time
1817
+ description: ""
1818
+ required:
1819
+ - order
1820
+ warehouse:
1821
+ type: object
1822
+ properties:
1823
+ _id:
1824
+ type: string
1825
+ description: Identifiant unique du document (MongoDB ObjectId)
1826
+ readOnly: true
1827
+ _user:
1828
+ type: string
1829
+ description: Identifiant de l'utilisateur propriétaire de ce document
1830
+ readOnly: true
1831
+ _model:
1832
+ type: string
1833
+ description: Nom du modèle auquel appartient ce document
1834
+ readOnly: true
1835
+ default: warehouse
1836
+ _hash:
1837
+ type: number
1838
+ description: Hash du document pour les vérifications d'intégrité
1839
+ readOnly: true
1840
+ _pack:
1841
+ type: string
1842
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1843
+ readOnly: true
1844
+ name:
1845
+ type: string
1846
+ description: ""
1847
+ location:
1848
+ type: string
1849
+ description: ID of a location document
1850
+ capacity:
1851
+ type: number
1852
+ description: ""
1853
+ required:
1854
+ - name
1855
+ return:
1856
+ type: object
1857
+ properties:
1858
+ _id:
1859
+ type: string
1860
+ description: Identifiant unique du document (MongoDB ObjectId)
1861
+ readOnly: true
1862
+ _user:
1863
+ type: string
1864
+ description: Identifiant de l'utilisateur propriétaire de ce document
1865
+ readOnly: true
1866
+ _model:
1867
+ type: string
1868
+ description: Nom du modèle auquel appartient ce document
1869
+ readOnly: true
1870
+ default: return
1871
+ _hash:
1872
+ type: number
1873
+ description: Hash du document pour les vérifications d'intégrité
1874
+ readOnly: true
1875
+ _pack:
1876
+ type: string
1877
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1878
+ readOnly: true
1879
+ user:
1880
+ type: string
1881
+ description: ID of a user document
1882
+ reason:
1883
+ type: string
1884
+ maxLength: 2048
1885
+ description: ""
1886
+ channel:
1887
+ type: string
1888
+ description: ID of a channel document
1889
+ status:
1890
+ type: string
1891
+ enum:
1892
+ - en attente
1893
+ - approuvé
1894
+ - remboursé
1895
+ - refusé
1896
+ description: ""
1897
+ amount:
1898
+ type: number
1899
+ minimum: 0
1900
+ description: ""
1901
+ currency:
1902
+ type: string
1903
+ description: ID of a currency document
1904
+ refundDate:
1905
+ type: string
1906
+ format: date-time
1907
+ description: ""
1908
+ required:
1909
+ - reason
1910
+ returnItem:
1911
+ type: object
1912
+ properties:
1913
+ _id:
1914
+ type: string
1915
+ description: Identifiant unique du document (MongoDB ObjectId)
1916
+ readOnly: true
1917
+ _user:
1918
+ type: string
1919
+ description: Identifiant de l'utilisateur propriétaire de ce document
1920
+ readOnly: true
1921
+ _model:
1922
+ type: string
1923
+ description: Nom du modèle auquel appartient ce document
1924
+ readOnly: true
1925
+ default: returnItem
1926
+ _hash:
1927
+ type: number
1928
+ description: Hash du document pour les vérifications d'intégrité
1929
+ readOnly: true
1930
+ _pack:
1931
+ type: string
1932
+ description: Nom du pack auquel appartient ce document (le cas échéant)
1933
+ readOnly: true
1934
+ return:
1935
+ type: string
1936
+ description: ID of a return document
1937
+ product:
1938
+ type: string
1939
+ description: ID of a product document
1940
+ variant:
1941
+ type: string
1942
+ description: ID of a productVariant document
1943
+ quantity:
1944
+ type: number
1945
+ minimum: 1
1946
+ description: ""
1947
+ condition:
1948
+ type: string
1949
+ enum:
1950
+ - neuf
1951
+ - très bon état
1952
+ - bon état
1953
+ - ddmmagé
1954
+ - inutilisable
1955
+ description: ""
1956
+ required:
1957
+ - return
1958
+ - product
1959
+ - quantity
1960
+ ticket:
1961
+ type: object
1962
+ properties:
1963
+ _id:
1964
+ type: string
1965
+ description: Identifiant unique du document (MongoDB ObjectId)
1966
+ readOnly: true
1967
+ _user:
1968
+ type: string
1969
+ description: Identifiant de l'utilisateur propriétaire de ce document
1970
+ readOnly: true
1971
+ _model:
1972
+ type: string
1973
+ description: Nom du modèle auquel appartient ce document
1974
+ readOnly: true
1975
+ default: ticket
1976
+ _hash:
1977
+ type: number
1978
+ description: Hash du document pour les vérifications d'intégrité
1979
+ readOnly: true
1980
+ _pack:
1981
+ type: string
1982
+ description: "Nom du pack auquel appartient ce document"
1983
+ order:
1984
+ type: string
1985
+ description: ID of a order document
1986
+ channel:
1987
+ type: string
1988
+ description: ID of a channel document
1989
+ parent:
1990
+ type: string
1991
+ description: ID of a ticket document
1992
+ subject:
1993
+ type: string
1994
+ description: ""
1995
+ message:
1996
+ type: string
1997
+ description: ""
1998
+ status:
1999
+ type: string
2000
+ enum:
2001
+ - ouvert
2002
+ - en cours
2003
+ - fermé
2004
+ priority:
2005
+ type: string
2006
+ enum:
2007
+ - basse
2008
+ - moyenne
2009
+ - haute
2010
+ description: ""
2011
+ assignedTo:
2012
+ type: string
2013
+ description: ID of a user document
2014
+ createdAt:
2015
+ type: string
2016
+ format: date-time
2017
+ description: ""
2018
+ required:
2019
+ - user
2020
+ - subject
2021
+ - message
2022
+ - createdAt
2023
+ campaign:
2024
+ type: object
2025
+ properties:
2026
+ _id:
2027
+ type: string
2028
+ description: Identifiant unique du document (MongoDB ObjectId)
2029
+ readOnly: true
2030
+ _user:
2031
+ type: string
2032
+ description: Identifiant de l'utilisateur propriétaire de ce document
2033
+ readOnly: true
2034
+ _model:
2035
+ type: string
2036
+ description: Nom du modèle auquel appartient ce document
2037
+ readOnly: true
2038
+ default: campaign
2039
+ _hash:
2040
+ type: number
2041
+ description: Hash du document pour les vérifications d'intégrité
2042
+ readOnly: true
2043
+ _pack:
2044
+ type: string
2045
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2046
+ readOnly: true
2047
+ name:
2048
+ type: string
2049
+ description: ""
2050
+ description:
2051
+ type: string
2052
+ description: ""
2053
+ startDate:
2054
+ type: string
2055
+ format: date-time
2056
+ description: ""
2057
+ endDate:
2058
+ type: string
2059
+ format: date-time
2060
+ description: ""
2061
+ type:
2062
+ type: string
2063
+ enum:
2064
+ - email
2065
+ - SMS
2066
+ - publicité
2067
+ - promotion
2068
+ description: ""
2069
+ status:
2070
+ type: string
2071
+ enum:
2072
+ - planifiée
2073
+ - en cours
2074
+ - terminée
2075
+ - annulée
2076
+ description: ""
2077
+ budget:
2078
+ type: number
2079
+ description: ""
2080
+ required:
2081
+ - name
2082
+ review:
2083
+ type: object
2084
+ properties:
2085
+ _id:
2086
+ type: string
2087
+ description: Identifiant unique du document (MongoDB ObjectId)
2088
+ readOnly: true
2089
+ _user:
2090
+ type: string
2091
+ description: Identifiant de l'utilisateur propriétaire de ce document
2092
+ readOnly: true
2093
+ _model:
2094
+ type: string
2095
+ description: Nom du modèle auquel appartient ce document
2096
+ readOnly: true
2097
+ default: review
2098
+ _hash:
2099
+ type: number
2100
+ description: Hash du document pour les vérifications d'intégrité
2101
+ readOnly: true
2102
+ _pack:
2103
+ type: string
2104
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2105
+ readOnly: true
2106
+ user:
2107
+ type: string
2108
+ description: ID of a user document
2109
+ product:
2110
+ type: string
2111
+ description: ID of a product document
2112
+ productVariant:
2113
+ type: string
2114
+ description: ID of a productVariant document
2115
+ comment:
2116
+ type: string
2117
+ maxLength: 2048
2118
+ description: ""
2119
+ score:
2120
+ type: number
2121
+ description: ""
2122
+ publishedAt:
2123
+ type: string
2124
+ format: date-time
2125
+ description: ""
2126
+ required:
2127
+ - comment
2128
+ - publishedAt
2129
+ device:
2130
+ type: object
2131
+ properties:
2132
+ _id:
2133
+ type: string
2134
+ description: Identifiant unique du document (MongoDB ObjectId)
2135
+ readOnly: true
2136
+ _user:
2137
+ type: string
2138
+ description: Identifiant de l'utilisateur propriétaire de ce document
2139
+ readOnly: true
2140
+ _model:
2141
+ type: string
2142
+ description: Nom du modèle auquel appartient ce document
2143
+ readOnly: true
2144
+ default: device
2145
+ _hash:
2146
+ type: number
2147
+ description: Hash du document pour les vérifications d'intégrité
2148
+ readOnly: true
2149
+ _pack:
2150
+ type: string
2151
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2152
+ readOnly: true
2153
+ location:
2154
+ type: string
2155
+ description: ID of a location document
2156
+ lastLocationUpdate:
2157
+ type: string
2158
+ format: date-time
2159
+ description: ""
2160
+ accountingExercise:
2161
+ type: object
2162
+ properties:
2163
+ _id:
2164
+ type: string
2165
+ description: Identifiant unique du document (MongoDB ObjectId)
2166
+ readOnly: true
2167
+ _user:
2168
+ type: string
2169
+ description: Identifiant de l'utilisateur propriétaire de ce document
2170
+ readOnly: true
2171
+ _model:
2172
+ type: string
2173
+ description: Nom du modèle auquel appartient ce document
2174
+ readOnly: true
2175
+ default: accountingExercise
2176
+ _hash:
2177
+ type: number
2178
+ description: Hash du document pour les vérifications d'intégrité
2179
+ readOnly: true
2180
+ _pack:
2181
+ type: string
2182
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2183
+ readOnly: true
2184
+ name:
2185
+ type: string
2186
+ description: Intitulé de l'exercice comptable
2187
+ companyContact:
2188
+ type: string
2189
+ description: ID of a contact document. Désignation de l'entreprise
2190
+ companyIdentifier:
2191
+ type: string
2192
+ description: SIRET de l'entreprise
2193
+ startDate:
2194
+ type: string
2195
+ format: date
2196
+ description: Date de début de l'exercice
2197
+ endDate:
2198
+ type: string
2199
+ format: date
2200
+ description: Date de clôture de l'exercice
2201
+ required:
2202
+ - name
2203
+ - companyContact
2204
+ - companyIdentifier
2205
+ - startDate
2206
+ - endDate
2207
+ accountingLineItem:
2208
+ type: object
2209
+ properties:
2210
+ _id:
2211
+ type: string
2212
+ description: Identifiant unique du document (MongoDB ObjectId)
2213
+ readOnly: true
2214
+ _user:
2215
+ type: string
2216
+ description: Identifiant de l'utilisateur propriétaire de ce document
2217
+ readOnly: true
2218
+ _model:
2219
+ type: string
2220
+ description: Nom du modèle auquel appartient ce document
2221
+ readOnly: true
2222
+ default: accountingLineItem
2223
+ _hash:
2224
+ type: number
2225
+ description: Hash du document pour les vérifications d'intégrité
2226
+ readOnly: true
2227
+ _pack:
2228
+ type: string
2229
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2230
+ readOnly: true
2231
+ accountingExercise:
2232
+ type: string
2233
+ description: ID of a accountingExercise document
2234
+ code:
2235
+ type: string
2236
+ description: "Code unique de la ligne (ex: AA, FB, HA)"
2237
+ label:
2238
+ type: string
2239
+ description: "Libellé de la ligne (ex: Frais d'établissement)"
2240
+ documentType:
2241
+ type: string
2242
+ enum:
2243
+ - bilan_actif
2244
+ - bilan_passif
2245
+ - compte_resultat
2246
+ - immobilisations
2247
+ - amortissements
2248
+ - provisions
2249
+ - creances_dettes
2250
+ - deficits
2251
+ - plus_moins_values
2252
+ - effectifs_valeur_ajoutee
2253
+ - capital_social
2254
+ - filiales_participations
2255
+ - resultat_fiscal
2256
+ description: ""
2257
+ section:
2258
+ type: string
2259
+ description: "Section principale (ex: ACTIF IMMOBILISÉ)"
2260
+ subSection:
2261
+ type: string
2262
+ description: "Sous-section (ex: IMMOBILISATIONS INCORPORELLES)"
2263
+ order:
2264
+ type: number
2265
+ description: Ordre d'affichage dans la section/sous-section
2266
+ calculationFormula:
2267
+ type: string
2268
+ description: Formule de calcul (si applicable)
2269
+ values:
2270
+ type: array
2271
+ items:
2272
+ type: number
2273
+ description: Valeurs de la ligne comptable
2274
+ notes:
2275
+ type: string
2276
+ description: "Notes ou renvois (ex: (1), (3))"
2277
+ required:
2278
+ - accountingExercise
2279
+ - code
2280
+ - label
2281
+ - documentType
2282
+ - section
2283
+ - values
2284
+ accountingEntry:
2285
+ type: object
2286
+ properties:
2287
+ _id:
2288
+ type: string
2289
+ description: Identifiant unique du document (MongoDB ObjectId)
2290
+ readOnly: true
2291
+ _user:
2292
+ type: string
2293
+ description: Identifiant de l'utilisateur propriétaire de ce document
2294
+ readOnly: true
2295
+ _model:
2296
+ type: string
2297
+ description: Nom du modèle auquel appartient ce document
2298
+ readOnly: true
2299
+ default: accountingEntry
2300
+ _hash:
2301
+ type: number
2302
+ description: Hash du document pour les vérifications d'intégrité
2303
+ readOnly: true
2304
+ _pack:
2305
+ type: string
2306
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2307
+ readOnly: true
2308
+ exercise:
2309
+ type: string
2310
+ description: ID of a accountingExercise document
2311
+ label:
2312
+ type: string
2313
+ maxLength: 255
2314
+ description: ""
2315
+ entryDate:
2316
+ type: string
2317
+ format: date
2318
+ description: ""
2319
+ amount:
2320
+ type: number
2321
+ default: 0
2322
+ description: ""
2323
+ currency:
2324
+ type: string
2325
+ description: ID of a currency document
2326
+ referenceNumber:
2327
+ type: string
2328
+ maxLength: 100
2329
+ description: ""
2330
+ notes:
2331
+ type: string
2332
+ description: ""
2333
+ status:
2334
+ type: string
2335
+ enum:
2336
+ - brouillon
2337
+ - validée
2338
+ - annulée
2339
+ default: brouillon
2340
+ description: ""
2341
+ createdBy:
2342
+ type: string
2343
+ description: ID of a user document
2344
+ validatedBy:
2345
+ type: string
2346
+ description: ID of a user document
2347
+ validationDate:
2348
+ type: string
2349
+ format: date-time
2350
+ description: ""
2351
+ attachments:
2352
+ type: array
2353
+ items:
2354
+ type: string
2355
+ format: uuid
2356
+ description: ""
2357
+ required:
2358
+ - exercise
2359
+ - label
2360
+ - entryDate
2361
+ - currency
2362
+ employee:
2363
+ type: object
2364
+ properties:
2365
+ _id:
2366
+ type: string
2367
+ description: Identifiant unique du document (MongoDB ObjectId)
2368
+ readOnly: true
2369
+ _user:
2370
+ type: string
2371
+ description: Identifiant de l'utilisateur propriétaire de ce document
2372
+ readOnly: true
2373
+ _model:
2374
+ type: string
2375
+ description: Nom du modèle auquel appartient ce document
2376
+ readOnly: true
2377
+ default: employee
2378
+ _hash:
2379
+ type: number
2380
+ description: Hash du document pour les vérifications ultérieures
2381
+ employeeId:
2382
+ type: string
2383
+ description: ""
2384
+ personalInfo:
2385
+ type: string
2386
+ description: ID of a user document
2387
+ jobTitle:
2388
+ type: string
2389
+ description: ""
2390
+ department:
2391
+ type: string
2392
+ description: ""
2393
+ manager:
2394
+ type: string
2395
+ description: ID of a employee document
2396
+ workLocation:
2397
+ type: string
2398
+ description: ID of a location document
2399
+ employmentType:
2400
+ type: string
2401
+ enum:
2402
+ - full_time
2403
+ - part_time
2404
+ - contractor
2405
+ - intern
2406
+ - temporary
2407
+ description: ""
2408
+ emergencyContact:
2409
+ type: string
2410
+ description: ID of a contact document
2411
+ homeAddress:
2412
+ type: string
2413
+ description: ID of a location document
2414
+ dateOfBirth:
2415
+ type: string
2416
+ format: date
2417
+ description: ""
2418
+ nationality:
2419
+ type: string
2420
+ description: ""
2421
+ nationalId:
2422
+ type: string
2423
+ description: ""
2424
+ socialSecurityNumber:
2425
+ type: string
2426
+ description: ""
2427
+ taxId:
2428
+ type: string
2429
+ description: ""
2430
+ startDate:
2431
+ type: string
2432
+ format: date
2433
+ description: ""
2434
+ endDate:
2435
+ type: string
2436
+ format: date
2437
+ description: ""
2438
+ contractType:
2439
+ type: string
2440
+ description: ""
2441
+ salary:
2442
+ type: number
2443
+ description: ""
2444
+ salaryCurrency:
2445
+ type: string
2446
+ description: ID of a currency document
2447
+ payFrequency:
2448
+ type: string
2449
+ enum:
2450
+ - weekly
2451
+ - bi_weekly
2452
+ - monthly
2453
+ description: ""
2454
+ bankAccountNumber:
2455
+ type: string
2456
+ description: ""
2457
+ bankName:
2458
+ type: string
2459
+ description: ""
2460
+ iban:
2461
+ type: string
2462
+ description: ""
2463
+ swiftBic:
2464
+ type: string
2465
+ description: ""
2466
+ workPermitNumber:
2467
+ type: string
2468
+ description: ""
2469
+ workPermitExpiry:
2470
+ type: string
2471
+ format: date
2472
+ description: ""
2473
+ visaType:
2474
+ type: string
2475
+ description: ""
2476
+ visaExpiry:
2477
+ type: string
2478
+ format: date
2479
+ description: ""
2480
+ skills:
2481
+ type: array
2482
+ items:
2483
+ type: string
2484
+ description: ""
2485
+ notes:
2486
+ type: string
2487
+ description: ""
2488
+ required:
2489
+ - employeeId
2490
+ - personalInfo
2491
+ - jobTitle
2492
+ - startDate
2493
+ workflow:
2494
+ type: object
2495
+ properties:
2496
+ _id:
2497
+ type: string
2498
+ description: Identifiant unique du document (MongoDB ObjectId)
2499
+ readOnly: true
2500
+ _user:
2501
+ type: string
2502
+ description: Identifiant de l'utilisateur propriétaire de ce document
2503
+ readOnly: true
2504
+ _model:
2505
+ type: string
2506
+ description: Nom du modèle auquel appartient ce document
2507
+ readOnly: true
2508
+ default: workflow
2509
+ _hash:
2510
+ type: number
2511
+ description: Hash du document pour les vérifications d'intégrité
2512
+ readOnly: true
2513
+ _pack:
2514
+ type: string
2515
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2516
+ readOnly: true
2517
+ name:
2518
+ type: string
2519
+ description: "Unique name for the workflow (e.g., 'Order Validation', 'Low Stock Notification')."
2520
+ description:
2521
+ type: string
2522
+ description: "Detailed explanation of the workflow's purpose."
2523
+ startStep:
2524
+ type: string
2525
+ description: "ID of a workflowStep document. The first step to execute when the workflow starts."
2526
+ required:
2527
+ - name
2528
+ workflowTrigger:
2529
+ type: object
2530
+ properties:
2531
+ _id:
2532
+ type: string
2533
+ description: Identifiant unique du document (MongoDB ObjectId)
2534
+ readOnly: true
2535
+ _user:
2536
+ type: string
2537
+ description: Identifiant de l'utilisateur propriétaire de ce document
2538
+ readOnly: true
2539
+ _model:
2540
+ type: string
2541
+ description: Nom du modèle auquel appartient ce document
2542
+ readOnly: true
2543
+ default: workflowTrigger
2544
+ _hash:
2545
+ type: number
2546
+ description: Hash du document pour les vérifications d'intégrité
2547
+ readOnly: true
2548
+ _pack:
2549
+ type: string
2550
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2551
+ readOnly: true
2552
+ workflow:
2553
+ type: string
2554
+ description: "ID of a workflow document. The workflow this step belongs to."
2555
+ name:
2556
+ type: string
2557
+ description: "Descriptive name for the trigger (e.g., 'New Order Created', 'Stock < 5', 'Monday 9 AM Report')."
2558
+ type:
2559
+ type: string
2560
+ enum:
2561
+ - manual
2562
+ - scheduled
2563
+ description: ""
2564
+ onEvent:
2565
+ type: string
2566
+ enum:
2567
+ - DataAdded
2568
+ - DataEdited
2569
+ - DataDeleted
2570
+ - ModelAdded
2571
+ - ModelEdited
2572
+ - ModelDeleted
2573
+ description: ""
2574
+ targetModel:
2575
+ type: string
2576
+ description: Name of the target model
2577
+ dataFilter:
2578
+ type: string
2579
+ format: text
2580
+ description: "Optional conditions checked before executing the step's action."
2581
+ env:
2582
+ type: string
2583
+ format: text
2584
+ default: '{}'
2585
+ description: "Environment variables (JSON key/value pairs)"
2586
+ isActive:
2587
+ type: boolean
2588
+ description: ""
2589
+ cronExpression:
2590
+ type: string
2591
+ description: "Cron expression for scheduling (e.g., '0 9 * * 1' for Monday 9 AM) (used by Scheduled type)."
2592
+ required:
2593
+ - workflow
2594
+ - name
2595
+ - type
2596
+ - onEvent
2597
+ workflowStep:
2598
+ type: object
2599
+ properties:
2600
+ _id:
2601
+ type: string
2602
+ description: Identifiant unique du document (MongoDB ObjectId)
2603
+ readOnly: true
2604
+ _user:
2605
+ type: string
2606
+ description: Identifiant de l'utilisateur propriétaire de ce document
2607
+ readOnly: true
2608
+ _model:
2609
+ type: string
2610
+ description: Nom du modèle auquel appartient ce document
2611
+ readOnly: true
2612
+ default: workflowStep
2613
+ _hash:
2614
+ type: number
2615
+ description: Hash du document pour les vérifications d'intégrité
2616
+ readOnly: true
2617
+ _pack:
2618
+ type: string
2619
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2620
+ readOnly: true
2621
+ workflow:
2622
+ type: string
2623
+ description: "ID of a workflow document. The workflow this step belongs to."
2624
+ name:
2625
+ type: string
2626
+ description: "Optional descriptive name for the step (e.g., 'Check Inventory', 'Send Confirmation Email')."
2627
+ conditions:
2628
+ type: string
2629
+ format: text
2630
+ description: "Optional conditions checked before executing the step's action."
2631
+ actions:
2632
+ type: array
2633
+ items:
2634
+ type: string
2635
+ description: ID of a workflowAction document
2636
+ description: "The main actions performed by this step."
2637
+ onSuccessStep:
2638
+ type: string
2639
+ description: "ID of a workflowStep document. Optional: The next step if this step's action succeeds."
2640
+ onFailureStep:
2641
+ type: string
2642
+ description: "ID of a workflowStep document. Optional: The next step if conditions fail or the action fails."
2643
+ isTerminal:
2644
+ type: boolean
2645
+ default: false
2646
+ description: "Indicates if this step marks the end of a workflow path."
2647
+ required:
2648
+ - workflow
2649
+ - actions
2650
+ workflowAction:
2651
+ type: object
2652
+ properties:
2653
+ _id:
2654
+ type: string
2655
+ description: Identifiant unique du document (MongoDB ObjectId)
2656
+ readOnly: true
2657
+ _user:
2658
+ type: string
2659
+ description: Identifiant de l'utilisateur propriétaire de ce document
2660
+ readOnly: true
2661
+ _model:
2662
+ type: string
2663
+ description: Nom du modèle auquel appartient ce document
2664
+ readOnly: true
2665
+ default: workflowAction
2666
+ _hash:
2667
+ type: number
2668
+ description: Hash du document pour les vérifications d'intégrité
2669
+ readOnly: true
2670
+ _pack:
2671
+ type: string
2672
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2673
+ readOnly: true
2674
+ name:
2675
+ type: string
2676
+ description: "Name of the action (e.g., 'Update Order Status', 'Send Email', 'Call Payment API')."
2677
+ type:
2678
+ type: string
2679
+ enum:
2680
+ - UpdateData
2681
+ - CreateData
2682
+ - DeleteData
2683
+ - ExecuteScript
2684
+ - CallWebhook
2685
+ - Wait
2686
+ description: "The type of operation to perform."
2687
+ targetModel:
2688
+ type: string
2689
+ description: Name of the target model. Model to target
2690
+ targetSelector:
2691
+ type: string
2692
+ format: text
2693
+ description: "Expression to filter to the target document(s)."
2694
+ fieldsToUpdate:
2695
+ type: string
2696
+ format: text
2697
+ default: '{}'
2698
+ description: "Key-value pairs of fields to update (e.g., { status: 'Validé', lastUpdated: '{now}' })"
2699
+ dataToCreate:
2700
+ type: string
2701
+ format: text
2702
+ default: '{}'
2703
+ description: "Object template for the new document to create"
2704
+ script:
2705
+ type: string
2706
+ description: "The script to execute."
2707
+ url:
2708
+ type: string
2709
+ description: "The URL to call."
2710
+ method:
2711
+ type: string
2712
+ enum:
2713
+ - GET
2714
+ - POST
2715
+ - PUT
2716
+ - PATCH
2717
+ - DELETE
2718
+ default: POST
2719
+ description: "HTTP method."
2720
+ headers:
2721
+ type: string
2722
+ format: text
2723
+ default: '{}'
2724
+ description: "HTTP headers as key-value pairs."
2725
+ body:
2726
+ type: string
2727
+ format: text
2728
+ default: '{}'
2729
+ description: "Request body, can include variables."
2730
+ duration:
2731
+ type: number
2732
+ description: "Duration to wait."
2733
+ durationUnit:
2734
+ type: string
2735
+ enum:
2736
+ - milliseconds
2737
+ - seconds
2738
+ - minutes
2739
+ - hours
2740
+ - days
2741
+ default: seconds
2742
+ description: "Unit for the duration."
2743
+ required:
2744
+ - name
2745
+ - type
2746
+ workflowRun:
2747
+ type: object
2748
+ properties:
2749
+ _id:
2750
+ type: string
2751
+ description: Identifiant unique du document (MongoDB ObjectId)
2752
+ readOnly: true
2753
+ _user:
2754
+ type: string
2755
+ description: Identifiant de l'utilisateur propriétaire de ce document
2756
+ readOnly: true
2757
+ _model:
2758
+ type: string
2759
+ description: Nom du modèle auquel appartient ce document
2760
+ readOnly: true
2761
+ default: workflowRun
2762
+ _hash:
2763
+ type: number
2764
+ description: Hash du document pour les vérifications d'intégrité
2765
+ readOnly: true
2766
+ _pack:
2767
+ type: string
2768
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2769
+ readOnly: true
2770
+ workflow:
2771
+ type: string
2772
+ description: "ID of a workflow document. The workflow definition that was executed."
2773
+ contextData:
2774
+ type: string
2775
+ format: text
2776
+ default: '{}'
2777
+ description: "Snapshot of the data or event that triggered this run."
2778
+ status:
2779
+ type: string
2780
+ enum:
2781
+ - pending
2782
+ - running
2783
+ - completed
2784
+ - failed
2785
+ - waiting
2786
+ - cancelled
2787
+ default: pending
2788
+ description: "The current status of the workflow execution."
2789
+ stepExecutionsCount:
2790
+ type: object
2791
+ description: ""
2792
+ currentStep:
2793
+ type: string
2794
+ description: "ID of a workflowStep document. The step currently being executed or waited on."
2795
+ owner:
2796
+ type: string
2797
+ description: ID of a user document
2798
+ startedAt:
2799
+ type: string
2800
+ format: date-time
2801
+ description: "Timestamp when the workflow run began."
2802
+ completedAt:
2803
+ type: string
2804
+ format: date-time
2805
+ description: "Timestamp when the workflow run finished (successfully or failed)."
2806
+ error:
2807
+ type: string
2808
+ maxLength: 4096
2809
+ description: "Error message if the workflow run failed."
2810
+ required:
2811
+ - workflow
2812
+ - status
2813
+ - startedAt
2814
+ dashboard:
2815
+ type: object
2816
+ properties:
2817
+ _id:
2818
+ type: string
2819
+ description: Identifiant unique du document (MongoDB ObjectId)
2820
+ readOnly: true
2821
+ _user:
2822
+ type: string
2823
+ description: Identifiant de l'utilisateur propriétaire de ce document
2824
+ readOnly: true
2825
+ _model:
2826
+ type: string
2827
+ description: Nom du modèle auquel appartient ce document
2828
+ readOnly: true
2829
+ default: dashboard
2830
+ _hash:
2831
+ type: number
2832
+ description: Hash du document pour les vérifications d'intégrité
2833
+ readOnly: true
2834
+ _pack:
2835
+ type: string
2836
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2837
+ readOnly: true
2838
+ name:
2839
+ type: string
2840
+ description: Nom affiché et personnalisable du tableau de bord.
2841
+ description:
2842
+ type: string
2843
+ description: Description facultative pour donner plus de contexte au tableau de bord.
2844
+ layout:
2845
+ type: string
2846
+ format: text
2847
+ default: '{ "type": "columns", "columns": [] }'
2848
+ description: 'Structure JSON décrivant l''organisation des KPIs. Exemple : { "type": "columns", "columns": [ ["kpi_id_1"], ["kpi_id_2", "kpi_id_3"] ] }.'
2849
+ settings:
2850
+ type: string
2851
+ format: text
2852
+ default: '{ "defaultTimeRange": "last_7_days", "refreshInterval": null }'
2853
+ description: 'Paramètres JSON pour le tableau de bord, comme la plage de temps par défaut (''defaultTimeRange'') ou l''intervalle de rafraîchissement en secondes (''refreshInterval'').'
2854
+ isDefault:
2855
+ type: boolean
2856
+ default: false
2857
+ description: "Si 'true', ce tableau de bord est affiché par défaut pour l'utilisateur."
2858
+ required:
2859
+ - name
2860
+ - layout
2861
+ request:
2862
+ type: object
2863
+ properties:
2864
+ _id:
2865
+ type: string
2866
+ description: Identifiant unique du document (MongoDB ObjectId)
2867
+ readOnly: true
2868
+ _user:
2869
+ type: string
2870
+ description: Identifiant de l'utilisateur propriétaire de ce document
2871
+ readOnly: true
2872
+ _model:
2873
+ type: string
2874
+ description: Nom du modèle auquel appartient ce document
2875
+ readOnly: true
2876
+ default: request
2877
+ _hash:
2878
+ type: number
2879
+ description: Hash du document pour les vérifications d'intégrité
2880
+ readOnly: true
2881
+ _pack:
2882
+ type: string
2883
+ description: Nom du pack auquel appartient ce document (le cas échéant)
2884
+ readOnly: true
2885
+ timestamp:
2886
+ type: string
2887
+ format: date-time
2888
+ description: Date et heure exactes de la réception de la requête.
2889
+ method:
2890
+ type: string
2891
+ enum:
2892
+ - GET
2893
+ - POST
2894
+ - PUT
2895
+ - DELETE
2896
+ - PATCH
2897
+ - OPTIONS