Refactor user schema and update database references: rename 'users_temp' to 'user' across the codebase, update related database queries, and enhance endpoint specifications for swarm settings in various database schemas.

This commit is contained in:
Mauricio Siu
2025-11-08 13:54:32 -06:00
parent 1ce153371a
commit 2619733915
29 changed files with 7033 additions and 169 deletions

View File

@@ -4,6 +4,7 @@ import {
calculateResources,
generateBindMounts,
generateConfigContainer,
generateEndpointSpec,
generateFileMounts,
generateVolumeMounts,
prepareEnvironmentVariables,
@@ -89,19 +90,7 @@ export const buildMariadb = async (mariadb: MariadbNested) => {
},
Mode,
RollbackConfig,
EndpointSpec: {
Mode: "dnsrr",
Ports: externalPort
? [
{
Protocol: "tcp",
TargetPort: 3306,
PublishedPort: externalPort,
PublishMode: "host",
},
]
: [],
},
EndpointSpec: generateEndpointSpec(mariadb, 3306),
UpdateConfig,
...(StopGracePeriod !== undefined &&
StopGracePeriod !== null && { StopGracePeriod }),

View File

@@ -4,6 +4,7 @@ import {
calculateResources,
generateBindMounts,
generateConfigContainer,
generateEndpointSpec,
generateFileMounts,
generateVolumeMounts,
prepareEnvironmentVariables,
@@ -142,19 +143,7 @@ ${command ?? "wait $MONGOD_PID"}`;
},
Mode,
RollbackConfig,
EndpointSpec: {
Mode: "dnsrr",
Ports: externalPort
? [
{
Protocol: "tcp",
TargetPort: 27017,
PublishedPort: externalPort,
PublishMode: "host",
},
]
: [],
},
EndpointSpec: generateEndpointSpec(mongo, 27017),
UpdateConfig,
...(StopGracePeriod !== undefined &&
StopGracePeriod !== null && { StopGracePeriod }),

View File

@@ -4,6 +4,7 @@ import {
calculateResources,
generateBindMounts,
generateConfigContainer,
generateEndpointSpec,
generateFileMounts,
generateVolumeMounts,
prepareEnvironmentVariables,
@@ -95,19 +96,7 @@ export const buildMysql = async (mysql: MysqlNested) => {
},
Mode,
RollbackConfig,
EndpointSpec: {
Mode: "dnsrr",
Ports: externalPort
? [
{
Protocol: "tcp",
TargetPort: 3306,
PublishedPort: externalPort,
PublishMode: "host",
},
]
: [],
},
EndpointSpec: generateEndpointSpec(mysql, 3306),
UpdateConfig,
...(StopGracePeriod !== undefined &&
StopGracePeriod !== null && { StopGracePeriod }),

View File

@@ -4,6 +4,7 @@ import {
calculateResources,
generateBindMounts,
generateConfigContainer,
generateEndpointSpec,
generateFileMounts,
generateVolumeMounts,
prepareEnvironmentVariables,
@@ -88,19 +89,7 @@ export const buildPostgres = async (postgres: PostgresNested) => {
},
Mode,
RollbackConfig,
EndpointSpec: {
Mode: "dnsrr",
Ports: externalPort
? [
{
Protocol: "tcp",
TargetPort: 5432,
PublishedPort: externalPort,
PublishMode: "host",
},
]
: [],
},
EndpointSpec: generateEndpointSpec(postgres, 5432),
UpdateConfig,
...(StopGracePeriod !== undefined &&
StopGracePeriod !== null && { StopGracePeriod }),

View File

@@ -4,6 +4,7 @@ import {
calculateResources,
generateBindMounts,
generateConfigContainer,
generateEndpointSpec,
generateFileMounts,
generateVolumeMounts,
prepareEnvironmentVariables,
@@ -85,19 +86,7 @@ export const buildRedis = async (redis: RedisNested) => {
},
Mode,
RollbackConfig,
EndpointSpec: {
Mode: "dnsrr",
Ports: externalPort
? [
{
Protocol: "tcp",
TargetPort: 6379,
PublishedPort: externalPort,
PublishMode: "host",
},
]
: [],
},
EndpointSpec: generateEndpointSpec(redis, 6379),
UpdateConfig,
...(StopGracePeriod !== undefined &&
StopGracePeriod !== null && { StopGracePeriod }),

View File

@@ -464,6 +464,42 @@ export const generateConfigContainer = (
};
};
export const generateEndpointSpec = (
database: Partial<
PostgresNested | MysqlNested | MariadbNested | MongoNested | RedisNested
>,
defaultTargetPort: number,
) => {
const { endpointSpecSwarm, externalPort } = database;
if (endpointSpecSwarm) {
return {
...(endpointSpecSwarm.Mode && { Mode: endpointSpecSwarm.Mode }),
Ports:
endpointSpecSwarm.Ports?.map((port) => ({
Protocol: (port.Protocol || "tcp") as "tcp" | "udp" | "sctp",
TargetPort: port.TargetPort,
PublishedPort: port.PublishedPort || 0,
PublishMode: (port.PublishMode || "host") as "ingress" | "host",
})) || [],
};
}
return {
Mode: "dnsrr" as const,
Ports: externalPort
? [
{
Protocol: "tcp" as const,
TargetPort: defaultTargetPort,
PublishedPort: externalPort,
PublishMode: "host" as const,
},
]
: [],
};
};
export const generateBindMounts = (mounts: ApplicationNested["mounts"]) => {
if (!mounts || mounts.length === 0) {
return [];