function requireEnv(name: string): string { const value = process.env[name]; if (!value) { throw new Error(`Не задана переменная окружения ${name}`); } return value; } export const config = { tenantId: requireEnv('GRAPH_TENANT_ID'), clientId: requireEnv('GRAPH_CLIENT_ID'), certPath: requireEnv('GRAPH_CERT_PATH'), keyPath: requireEnv('GRAPH_KEY_PATH'), // Токен нужен не для Graph напрямую, а для api.tnsu.kz — он сам ходит в // SharePoint. Это его App ID URI: с graph.microsoft.com/.default api вернёт // 401, потому что проверяет aud во входящем JWT. scope: process.env.GRAPH_SCOPE ?? 'api://9232d9e2-9807-4753-808f-07250e5474b0/.default', port: Number(process.env.PORT ?? 3000), sharepointSiteUrl: 'https://tnsukz.sharepoint.com/sites/hrm', sharepointListName: 'Обращения' };