Initial commit
This commit is contained in:
73
config/api.ts
Normal file
73
config/api.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
/**
|
||||
* API Configuration for BTP Xpress Client
|
||||
*/
|
||||
|
||||
export const API_CONFIG = {
|
||||
baseURL: process.env.NEXT_PUBLIC_API_URL || 'http://localhost:8080',
|
||||
timeout: parseInt(process.env.NEXT_PUBLIC_API_TIMEOUT || '10000'),
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Accept': 'application/json',
|
||||
},
|
||||
} as const;
|
||||
|
||||
export const KEYCLOAK_CONFIG = {
|
||||
url: process.env.NEXT_PUBLIC_KEYCLOAK_URL || 'https://security.lions.dev',
|
||||
realm: process.env.NEXT_PUBLIC_KEYCLOAK_REALM || 'btpxpress',
|
||||
clientId: process.env.NEXT_PUBLIC_KEYCLOAK_CLIENT_ID || 'btpxpress-frontend',
|
||||
// Configuration pour l'authentification
|
||||
'ssl-required': 'external',
|
||||
'public-client': true,
|
||||
'confidential-port': 0,
|
||||
'use-resource-role-mappings': true,
|
||||
'cors': true,
|
||||
'enable-cors': true,
|
||||
'cors-max-age': 1000,
|
||||
'cors-allowed-methods': 'POST, PUT, DELETE, GET',
|
||||
'cors-allowed-headers': 'X-Requested-With, Content-Type, Authorization, Origin, Accept, Access-Control-Request-Method, Access-Control-Request-Headers',
|
||||
'bearer-only': false,
|
||||
'autodetect-bearer-only': true,
|
||||
'connection-pool-size': 20,
|
||||
'socket-timeout-millis': 5000,
|
||||
'connection-timeout-millis': 5000,
|
||||
'connection-ttl-millis': 5000,
|
||||
'disable-trust-manager': false,
|
||||
'allow-any-hostname': false,
|
||||
'truststore': '',
|
||||
'truststore-password': '',
|
||||
'client-keystore': '',
|
||||
'client-keystore-password': '',
|
||||
'client-key-password': '',
|
||||
'token-minimum-time-to-live': 10,
|
||||
'min-time-between-jwks-requests': 10,
|
||||
'public-key-cache-ttl': 86400,
|
||||
'redirect-rewrite-rules': {},
|
||||
} as const;
|
||||
|
||||
// Configuration des rôles et permissions
|
||||
export const KEYCLOAK_ROLES = {
|
||||
ADMIN: 'admin',
|
||||
MANAGER: 'manager',
|
||||
USER: 'user',
|
||||
CHEF_CHANTIER: 'chef_chantier',
|
||||
EMPLOYE: 'employe',
|
||||
CLIENT: 'client',
|
||||
} as const;
|
||||
|
||||
// Configuration des scopes OAuth2
|
||||
export const KEYCLOAK_SCOPES = [
|
||||
'openid',
|
||||
'profile',
|
||||
'email',
|
||||
] as const;
|
||||
|
||||
export const APP_CONFIG = {
|
||||
name: process.env.NEXT_PUBLIC_APP_NAME || 'BTP Xpress',
|
||||
version: process.env.NEXT_PUBLIC_APP_VERSION || '1.0.0',
|
||||
description: process.env.NEXT_PUBLIC_APP_DESCRIPTION || 'Plateforme de gestion BTP',
|
||||
} as const;
|
||||
|
||||
export const THEME_CONFIG = {
|
||||
defaultTheme: process.env.NEXT_PUBLIC_DEFAULT_THEME || 'blue',
|
||||
defaultMode: process.env.NEXT_PUBLIC_DEFAULT_THEME_MODE || 'light',
|
||||
} as const;
|
||||
Reference in New Issue
Block a user