Skip to content

Commit 6d40b65

Browse files
committed
feat: restructure API configuration to separate internal and external settings
1 parent 794a594 commit 6d40b65

File tree

3 files changed

+41
-20
lines changed

3 files changed

+41
-20
lines changed

.env.example

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,23 @@
1+
# Server side (secret) env vars
2+
13
NODE_ENV=development
24

5+
API_PROTOCOL=http
6+
API_HOST=localhasdfost
7+
API_PORT=1234
8+
API_PREFIX=/api
9+
API_VERSION=/v2
10+
11+
# FOR LOCAL DEVELOPMENT ONLY
12+
# DO NOT USE IN PRODUCTION
13+
OPENAI_API_KEY=your-api-key-here
14+
15+
16+
17+
# Client side (public) env vars
18+
319
NEXT_PUBLIC_API_PROTOCOL=http
420
NEXT_PUBLIC_API_HOST=localhost
521
NEXT_PUBLIC_API_PORT=1234
622
NEXT_PUBLIC_API_PREFIX=/api
723
NEXT_PUBLIC_API_VERSION=/v2
8-
9-
# FOR LOCAL DEVELOPMENT ONLY
10-
# DO NOT USE IN PRODUCTION
11-
OPENAI_API_KEY=your-api-key-here

src/config/index.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
export const config = {
22
api: {
3-
protocol: process.env.NEXT_PUBLIC_API_PROTOCOL || 'http',
4-
host: process.env.NEXT_PUBLIC_API_HOST || 'localhost',
5-
port: process.env.NEXT_PUBLIC_API_PORT || '1234',
6-
prefix: process.env.NEXT_PUBLIC_API_PREFIX || '/api',
7-
version: process.env.NEXT_PUBLIC_API_VERSION || '/v2'
3+
internal: {
4+
protocol: process.env.API_PROTOCOL || 'http',
5+
host: process.env.API_HOST || 'localhost',
6+
port: process.env.API_PORT || '1234',
7+
prefix: process.env.API_PREFIX || '/api',
8+
version: process.env.API_VERSION || '/v2'
9+
},
10+
external: {
11+
protocol: process.env.NEXT_PUBLIC_API_PROTOCOL || 'http',
12+
host: process.env.NEXT_PUBLIC_API_HOST || 'localhost',
13+
port: process.env.NEXT_PUBLIC_API_PORT || '1234',
14+
prefix: process.env.NEXT_PUBLIC_API_PREFIX || '/api',
15+
version: process.env.NEXT_PUBLIC_API_VERSION || '/v2'
16+
}
817
}
9-
}
18+
};

src/factories/apiRequestService.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@ import { config } from "../config";
33

44
export function getSSRApiRequestService(jwt?: string | null): ApiRequestService {
55
return new ApiRequestService({
6-
protocol: config.api.protocol,
7-
host: config.api.host,
8-
port: config.api.port,
9-
prefix: config.api.prefix,
10-
version: config.api.version,
6+
protocol: config.api.internal.protocol,
7+
host: config.api.internal.host,
8+
port: config.api.internal.port,
9+
prefix: config.api.internal.prefix,
10+
version: config.api.internal.version,
1111
...(jwt ? { jwt } : {})
1212
});
1313
}
1414

1515
export const apiRequestService = new ApiRequestService({
16-
protocol: config.api.protocol,
17-
host: config.api.host,
18-
port: config.api.port,
19-
prefix: config.api.prefix,
20-
version: config.api.version
16+
protocol: config.api.external.protocol,
17+
host: config.api.external.host,
18+
port: config.api.external.port,
19+
prefix: config.api.external.prefix,
20+
version: config.api.external.version
2121
});

0 commit comments

Comments
 (0)