@kwirthmagnify/kwirth-common-back 0.5.39 → 0.5.40

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.
@@ -17,6 +17,33 @@ export interface IProviderStorage {
17
17
  writeStorageCommon(id: string, secret: boolean, data: any): Promise<void>;
18
18
  readStorageCommon(id: string, secret: boolean): Promise<any>;
19
19
  }
20
+ /**
21
+ * Un campo del payload de suscripcion, descrito para que un consumidor pueda pintar un formulario
22
+ * en vez de exigir JSON a mano. Solo tiene sentido declararlos cuando el payload es plano; si es
23
+ * anidado (p.ej. otel, con 'spaces'), basta con 'usage' y 'example'.
24
+ */
25
+ export interface IProviderSubscriptionField {
26
+ name: string;
27
+ type: 'string' | 'number' | 'boolean' | 'string[]';
28
+ required?: boolean;
29
+ description: string;
30
+ }
31
+ /**
32
+ * Ayuda que un provider publica sobre COMO SUSCRIBIRSE a el, es decir sobre el argumento 'data' de
33
+ * addSubscriber. No confundir con el 'schema' que un provider exporta desde su back.js, que
34
+ * describe la configuracion del propio provider (configure/configRouter).
35
+ *
36
+ * La consume provider-debug para explicarle al usuario que escribir, pero cualquier canal que
37
+ * ofrezca elegir provider puede usarla.
38
+ */
39
+ export interface IProviderSubscriptionHelp {
40
+ /** Como se usa, en prosa: que entrega, que hace falta para recibir algo, gotchas. */
41
+ usage: string;
42
+ /** Payload de ejemplo, listo para pasar tal cual a addSubscriber. */
43
+ example: Record<string, unknown>;
44
+ /** Descripcion campo a campo. Opcional: solo para payloads planos. */
45
+ fields?: IProviderSubscriptionField[];
46
+ }
20
47
  /**
21
48
  * Interface that all provider plugins must implement.
22
49
  * Use 'any' for clusterInfo to avoid pulling in kubernetes/docker dependencies.
@@ -34,6 +61,12 @@ export interface IProvider {
34
61
  * de terceros que aun usen la config gestionada por el core.
35
62
  */
36
63
  configure?(config: Record<string, unknown>): void;
64
+ /**
65
+ * Ayuda de suscripcion. OPCIONAL: quien escriba un provider la añade si quiere. Sin ella el
66
+ * consumidor sigue funcionando, simplemente no tiene nada que enseñarle al usuario sobre que
67
+ * payload escribir.
68
+ */
69
+ getSubscriptionHelp?(): IProviderSubscriptionHelp;
37
70
  startProvider(): Promise<void>;
38
71
  stopProvider(): Promise<void>;
39
72
  router: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kwirthmagnify/kwirth-common-back",
3
- "version": "0.5.39",
3
+ "version": "0.5.40",
4
4
  "description": "Backend interfaces for building Kwirth provider and channel plugins",
5
5
  "scripts": {
6
6
  "build": "tsc",