Repository navigation
Expand file tree
/
Copy pathproxy.conf.json
More file actions
184 lines (184 loc) · 6.12 KB
/
Copy pathproxy.conf.json
File metadata and controls
184 lines (184 loc) · 6.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
[
{
"_comentario": [
"Los prefijos se comparan por INICIO de ruta, así que cada uno tiene que",
"ser inequívoco frente a las rutas del router de Angular.",
"",
"Ya mordió una vez: agregar `/admin` para `GET /admin/tenants` desvió",
"`/administracion/pacientes` —una ruta de la aplicación— hacia la API, que",
"respondió `Cannot GET /administracion/pacientes` y dejó la sección en",
"blanco. Lo encontró el recorrido con usuarios reales.",
"",
"Regla: sólo se listan prefijos que algún cliente de `core/data-access`",
"use de verdad, y que no sean prefijo de ninguna ruta de `APP_SECTIONS`.",
"",
"`/admin/tenants` va con dos segmentos por esa regla: `/admin` a secas",
"volvería a comerse `/administracion/*`.",
"",
"Desde el 2026-08-11 la regla la hace cumplir `check-route-prefixes.mjs`,",
"que corre en CI: un comentario no impide nada. Y al pasar el router a",
"inglés la regla dejó de cumplirse por accidente — los nombres en",
"castellano eran seguros porque el proxy está en inglés. Por eso M13 vive",
"en `administration/geolocation` y no en `geolocation`: `/geo` se la",
"comería entera.",
"",
"Mismo caso con `/surveys` (encuestas): las pantallas viven en",
"`questionnaires` y `my-account/questionnaires`, no en `surveys`, porque",
"este prefijo se las comería enteras.",
"",
"Carril 17: la API expone `/pharma-labs` y `/visit-*`, y las pantallas",
"viven en `administration/pharma-lab`, `lab-visits` y `my-visits` — en",
"singular y con otro prefijo justamente para que el proxy no se las coma.",
"",
"La consola de laboratorio escribe además en `/diagnostic-study-offerings`,",
"`/price-schedules` y `/study-prices`: la API cuelga el precio del tarifario",
"y el cierre de la cosa misma, no de la unidad. Sin estos tres prefijos el",
"POST se lo quedaba el dev-server y devolvía el index en HTML con un 200, que",
"la pantalla sólo puede leer como «no pudimos guardar el precio». Ninguna",
"ruta de la aplicación empieza con ellos.",
"",
"BR-17 (`DiagnosticsLabClient`): `/diagnostics/accessions`, `/diagnostics/",
"specimens`, `/diagnostics/containers` y `/diagnostics/reports` — acesión,",
"espécimen, cadena de custodia y versión/liberación del informe. Ninguna",
"pantalla los llama todavía (la consola del laboratorio queda para un",
"carril propio), pero el cliente ya existe y `check-client-prefixes.mjs`",
"los exige igual: sin ruta no distingue código sin pantalla de código roto."
],
"context": [
"/iam",
"/public/",
"/terminology",
"/profiles",
"/identity",
"/common",
"/scheduling",
"/charts",
"/forms",
"/surveys",
"/clinical",
"/authz",
"/audit/",
"/consent",
"/practitioners",
"/practitioner-delegates",
"/access-requests",
"/delegated-access",
"/delegated-permission-sets",
"/org",
"/auth-providers",
"/admin/tenants",
"/admin/catalog",
"/admin/portal",
"/admin/analytics",
"/admin/qa",
"/admin/ops",
"/tenants",
"/practices",
"/medical-centers/",
"/role-assignments/",
"/accounting",
"/notifications",
"/health-context",
"/geo",
"/procedure-cases",
"/dental-procedures",
"/diagnostic-units",
"/diagnostic-study-offerings",
"/price-schedules",
"/study-prices",
"/diagnostic-results",
"/pharma-labs",
"/pharmacy",
"/pharmacy-inventory",
"/pharmacies/",
"/loyalty",
"/patients/me",
"/visit-agenda",
"/visit-requests",
"/visit-records",
"/visit-surveys",
"/community",
"/system-context",
"/insurance-carriers",
"/insurance-brokers",
"/insurance-claims",
"/insurance-campaigns",
"/cds",
"/billing/service-catalog",
"/billing/invoices",
"/billing/payments-received",
"/diagnostics/patients",
"/diagnostics/work-orders",
"/diagnostics/accessions",
"/diagnostics/specimens",
"/diagnostics/containers",
"/diagnostics/reports",
"/quotations",
"/medical-groups",
"/prescription-favorites",
"/referrals",
"/insurance-carrier-catalog",
"/insurance-marketplace",
"/admin/content-packs",
"/insurance-plans",
"/insurance-products",
"/insurance/analytics",
"/insurance/portability",
"/billing/simulated",
"/diagnostics/service-requests",
"/insurance/received-claims",
"/insurance/my-claims",
"/diagnostics/lab",
"/patient-spending",
"/patient-coverages",
"/promotions/me",
"/patients/me/reviews",
"/patients/me/",
"/insurance/patients",
"/telemetry"
],
"target": "http://localhost:3000",
"secure": false,
"changeOrigin": true
},
{
"_comentario": [
"`/ai` va al servicio de triage. Declarado acá SOLO para que",
"check-api-prefixes.mjs vea el mismo prefijo en las tres fuentes (H3.S1);",
"en `yarn start` real lo resuelve `proxy.conf.mjs`, que antepone su propia",
"entrada con `ALOVIDA_AI_TARGET` y por eso ésta nunca se alcanza. El",
"servicio que atiende el triage no está definido en este repositorio (D-C)."
],
"context": [
"/ai"
],
"target": "http://localhost:3106",
"secure": false,
"changeOrigin": true
},
{
"context": [
"/otel"
],
"target": "http://localhost:4318",
"secure": false,
"changeOrigin": true,
"pathRewrite": {
"^/otel": ""
}
},
{
"_comentario": [
"El gateway WS de mensajería (community-messaging.gateway.ts). Entrada",
"aparte porque necesita `ws: true` — sin eso el dev-server acepta el",
"handshake HTTP pero nunca hace el upgrade, y el socket nunca conecta."
],
"context": [
"/socket.io"
],
"target": "http://localhost:3000",
"secure": false,
"changeOrigin": true,
"ws": true
}
]