Skip to content
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 33 additions & 13 deletions src/server/services/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -362,20 +362,40 @@ export default class DeployService extends BaseService {
ResourceTypeFilters: ['rds:db'],
})
.promise();
const dbArn = results.ResourceTagMappingList[0].ResourceARN;
const params = {
Filters: [
{
Name: 'db-instance-id' /* required */,
Values: [dbArn],
},
],
};
const instances = await rds.describeDBInstances(params, null).promise();

if (instances.DBInstances.length === 1) {
const database = instances.DBInstances[0];
const databaseAddress = database.Endpoint.Address;
const instanceArn = results.ResourceTagMappingList?.find((mapping) =>
mapping.ResourceARN?.includes(':db:')
)?.ResourceARN;

let databaseAddress: string | undefined;

if (instanceArn) {
const instanceIdentifier = instanceArn.split(':').pop();
if (instanceIdentifier) {
const instances = await rds
.describeDBInstances({
DBInstanceIdentifier: instanceIdentifier,
})
.promise();
const database = instances.DBInstances?.[0];
if (database) {
databaseAddress = database.Endpoint?.Address;
if (database.DBClusterIdentifier) {
const clusters = await rds
.describeDBClusters({
DBClusterIdentifier: database.DBClusterIdentifier,
})
.promise();
const clusterEndpoint = clusters.DBClusters?.[0]?.Endpoint;
if (clusterEndpoint) {
databaseAddress = clusterEndpoint;
}
}
}
}
Comment on lines 348 to 374
Copy link

Copilot AI Oct 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] This block is highly nested (five levels) which reduces readability. Consider flattening with early returns/guards or extracting helper functions (e.g., getInstanceIdentifierFromArn, fetchClusterEndpoint) to clarify the happy path and reduce indentation.

Copilot uses AI. Check for mistakes.
}

if (databaseAddress) {
await deploy.$query().patch({
cname: databaseAddress,
});
Expand Down