GoogleCloudPlatform / GoogleCloudPlatform/cloud-sql-nodejs-connector

Align class names and code structure with the connectors in other languages

Offen
#341 0 Kommentare 1 Reaktion 1 zugewiesene Person Zugewiesen an @hessjcg Auf GitHub ansehen
priority: p2 type: feature request
Vorherrschende Sprache
TypeScript
Sterne
97
Forks
16
Ø Merge
4 T. 16 Std.
Gemergte PRs (30 T.)
4

Beschreibung

The connectors in the other languages are structured with common names and separation of concerns.

Public API:
- `Connector` is the main public API to configure and connect.
- `ConnectionOptions` is the value object containing connection options. main public API to configure and connect.

Internal API:
- `ConnectorRegistry` is the internal class that holds configuration and caches for each database instance.
- `ConnectionInfo` is a value object that holds the configuration and data for one database instance.
- `ConnectionInfoCache` interface holds the active `ConnectionInfo` value for a single database instance and keeps it up to date, refreshing the data as needed.
- `RefreshAheadCache` implements the `ConnectionInfoCache` using the current connector refresh algorithm
- `LazyRefreshCache` (to be added with #285) implements `ConnectionInfoCache` using the lazy refresh algorithm.
- `ConnectionInfoRepository` calls the Cloud SQL Admin API to build an up-to-date `ConnectionInfo` object.

To get to the NodeJS connector codebase into state, we will need to move some code and rename some classes.
- Rename `CloudSQLInstanceMap` to `ConnectorRegistry`
- Rename `InstanceConnectionInfo` to `ConnectionInfo`
- Rename `CloudSQLInstance` class to `RefreshAheadCache`
- Rename `Fetcher` interface to `ConnectionInfoRepository`
- Rename `SqlAdminFetcher` class to `DefaultConnectionInfoRepository`

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.