@chisquare-tech/origine-ngx-apps-services 0.2.2 → 0.2.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chisquare-tech/origine-ngx-apps-services",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Origine's Services module screens: managed Postgres, MySQL and Valkey — the list with quota, the create wizard, and the instance page (connection details, attachments, databases and users, backups and PITR, metrics, logs, settings).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -54,9 +54,8 @@ interface Engine {
54
54
  pitr: boolean;
55
55
  port: number;
56
56
  available: boolean;
57
- tag?: string;
58
57
  databases: boolean;
59
- ha?: 'standby' | 'cluster' | '';
58
+ ha?: 'standby' | 'replica' | 'cluster' | '';
60
59
  maxReplicas?: number;
61
60
  dumps?: boolean;
62
61
  console: 'sql' | 'keys' | 'streams' | 'queues';
@@ -177,6 +176,17 @@ interface Backup {
177
176
  startedAt?: string;
178
177
  stoppedAt?: string;
179
178
  error?: string;
179
+ /** The backup's volume snapshots (RabbitMQ's queue data), one per node. */
180
+ volumes?: {
181
+ phase: string;
182
+ snapshots: number;
183
+ error?: string;
184
+ };
185
+ }
186
+ interface ManagementLink {
187
+ url: string;
188
+ mode: 'admin' | 'read';
189
+ expiresAt: string;
180
190
  }
181
191
  interface Attachment {
182
192
  id: string;
@@ -252,6 +262,20 @@ interface Detail extends Summary {
252
262
  vhosts: string[] | null;
253
263
  dumps: Dump[];
254
264
  declaredBy?: string;
265
+ /** Valkey with replicas: where Sentinel-aware clients find the primary. */
266
+ sentinel?: {
267
+ hosts: string[];
268
+ port: number;
269
+ master: string;
270
+ };
271
+ /** RabbitMQ: the cell's snapshot class for the queue data, or why there is none. */
272
+ volumeSnapshots?: {
273
+ class?: string;
274
+ message?: string;
275
+ };
276
+ /** RabbitMQ: what the caller's role opens of the management UI. */
277
+ management?: 'admin' | 'read' | '';
278
+ restoreVolumes?: boolean;
255
279
  }
256
280
  interface Revealed {
257
281
  user: string;
@@ -362,10 +386,13 @@ declare class ServicesApi {
362
386
  retire(project: string, id: string, rotation: string): Observable<unknown>;
363
387
  backupNow(project: string, id: string): Observable<unknown>;
364
388
  deleteBackup(project: string, id: string, name: string): Observable<unknown>;
389
+ /** A link to a RabbitMQ instance's management UI, for the caller only (read-only for Developers). */
390
+ management(project: string, id: string): Observable<ManagementLink>;
365
391
  restore(project: string, id: string, body: {
366
392
  pointInTime?: string;
367
393
  backup?: string;
368
394
  name?: string;
395
+ volumes?: boolean;
369
396
  }): Observable<Detail>;
370
397
  attach(project: string, id: string, body: {
371
398
  app: string;
@@ -511,7 +538,7 @@ declare class ServicesNewPage {
511
538
  protected readonly attach: _angular_core.WritableSignal<string>;
512
539
  protected readonly hour: _angular_core.WritableSignal<number>;
513
540
  protected readonly ha: _angular_core.WritableSignal<boolean>;
514
- protected readonly nodes: _angular_core.Signal<2 | 1 | 3>;
541
+ protected readonly nodes: _angular_core.Signal<1 | 2 | 3>;
515
542
  protected readonly haLabel: _angular_core.Signal<string>;
516
543
  protected readonly keep: _angular_core.WritableSignal<number>;
517
544
  protected readonly busy: _angular_core.WritableSignal<boolean>;
@@ -547,6 +574,8 @@ type Dialog = {
547
574
  name: string;
548
575
  point: string;
549
576
  backup: string;
577
+ volumes?: boolean;
578
+ hasVolumes?: boolean;
550
579
  } | {
551
580
  kind: 'rotate';
552
581
  user: string;
@@ -673,6 +702,7 @@ declare class ServicePage {
673
702
  name: string;
674
703
  point: string;
675
704
  backup: string;
705
+ volumes?: boolean;
676
706
  }): void;
677
707
  protected swap(d: Detail, from: string): void;
678
708
  protected save(d: Detail, body: Parameters<ServicesApi['update']>[2], ok: string): void;
@@ -682,6 +712,9 @@ declare class ServicePage {
682
712
  protected remove(d: Detail, finalBackup: boolean): void;
683
713
  protected nodesPrice(d: Detail): string;
684
714
  protected refresh(): void;
715
+ /** Opens the instance's management UI in a new tab: a link for this person that expires. */
716
+ protected openManagement(d: Detail): void;
717
+ protected snapshotLine(d: Detail): string;
685
718
  protected snapshotName(d: Detail): string;
686
719
  /** MySQL replicas come in pairs. */
687
720
  protected step(d: Detail): number;
@@ -769,7 +802,7 @@ declare class ServiceConsoleTab {
769
802
  private readonly api;
770
803
  readonly d: _angular_core.InputSignal<Detail>;
771
804
  readonly projectKey: _angular_core.InputSignal<string>;
772
- readonly kind: _angular_core.InputSignal<"sql" | "keys" | "streams" | "queues">;
805
+ readonly kind: _angular_core.InputSignal<"keys" | "sql" | "streams" | "queues">;
773
806
  protected readonly sql: _angular_core.Signal<boolean>;
774
807
  protected readonly running: _angular_core.Signal<boolean>;
775
808
  protected readonly runsAs: _angular_core.Signal<string>;
@@ -824,4 +857,4 @@ declare class ServiceDumpsCard {
824
857
  }
825
858
 
826
859
  export { DAYS, ENGINE_COLOUR, HIDDEN_POLL_MS, LIFECYCLE, PRESETS, ServiceConsoleTab, ServiceDumpsCard, ServiceLogsTab, ServiceMetricsTab, ServicePage, ServicesApi, ServicesHost, ServicesListPage, ServicesNewPage, apiMessage, backupKind, backupsLine, bytes, fromLocalInput, hhmm, hhmmss, money, moving, num, pct, pollDelay, presetChip, ratio, shortDate, spark, sparkPath, stateChip, stateDot, toLocalInput, utcHour, when };
827
- export type { Attachment, Backup, Catalog, Connection, CreateInput, Database, Detail, Dump, Engine, EngineVersion, Figure, Gauge, Inspection, LogKind, LogLine, Logs, Metrics, Param, Plan, PodView, QueryResult, Quota, Revealed, Rotation, ServiceList, ServicesApp, ServicesProject, State, Stream, Summary, UpdateInput, UserView };
860
+ export type { Attachment, Backup, Catalog, Connection, CreateInput, Database, Detail, Dump, Engine, EngineVersion, Figure, Gauge, Inspection, LogKind, LogLine, Logs, ManagementLink, Metrics, Param, Plan, PodView, QueryResult, Quota, Revealed, Rotation, ServiceList, ServicesApp, ServicesProject, State, Stream, Summary, UpdateInput, UserView };