case 4690 - NET10-PORT survey: n/a items, evidence, resolve [unverified] markers
This commit is contained in:
@@ -18,7 +18,7 @@ truth**. Anything marked **[unverified]** has not been checked against the code.
|
||||
| MailKit | 4.5.0 | Email |
|
||||
| Swashbuckle.AspNetCore | 6.5.0 | OpenAPI |
|
||||
| NLog.Web.AspNetCore | 5.3.11 | Logging |
|
||||
| Asp.Versioning.Mvc | — | API versioning **[unverified]** |
|
||||
| Asp.Versioning.Mvc | 8.1.0 | API versioning (with `Asp.Versioning.Mvc.ApiExplorer`) |
|
||||
|
||||
### Structure
|
||||
|
||||
@@ -26,14 +26,21 @@ truth**. Anything marked **[unverified]** has not been checked against the code.
|
||||
raven/server/AyaNova/
|
||||
├── AyaNova.csproj
|
||||
├── Program.cs, Startup.cs
|
||||
├── biz/ business objects (…Biz.cs), report rendering (ReportBiz.cs)
|
||||
├── ControllerHelpers/
|
||||
├── Controllers/ API controllers
|
||||
├── DataList/ data-list definitions and the SQL filter builder
|
||||
├── generator/ background jobs (CoreJob…: backup, licence, sweeper …)
|
||||
├── kpi/
|
||||
├── models/ EF Core context and entities
|
||||
├── PickList/
|
||||
├── util/ ServerBootConfig, DbUtil, License, FileUtil, Mailer …
|
||||
├── resource/ report templates and static resources, copied to output
|
||||
│ └── rpt/ report templates (.ayrt)
|
||||
└── wwwroot/ built front end and customer manual, copied in by the build
|
||||
```
|
||||
|
||||
Older notes also list `Controllers/`, `Models/`, `Services/` and `Data/` folders
|
||||
**[unverified]**: that list reads like a generic template, not the actual layout.
|
||||
Data-list classes live in the `AyaNova.DataList` namespace, and their class names are the
|
||||
There are no `Services/` or `Data/` folders. Data-list classes live in the `AyaNova.DataList` namespace, and their class names are the
|
||||
list keys (`WorkOrderDataList`, `CustomerDataList` …).
|
||||
|
||||
### Hosted vs self-hosted
|
||||
@@ -50,19 +57,24 @@ list keys (`WorkOrderDataList`, `CustomerDataList` …).
|
||||
|
||||
### Reports
|
||||
|
||||
PuppeteerSharp renders PDFs in headless Chrome, downloaded on first run. A customer
|
||||
setting holds extra browser launch parameters, and an environment variable can point at
|
||||
an existing browser instead of downloading one (`REPORT_RENDER_BROWSER_PATH` in older
|
||||
notes **[unverified]**).
|
||||
PuppeteerSharp renders PDFs in headless Chrome, downloaded on first run
|
||||
(`biz/ReportBiz.cs`). Two configuration keys control it: `AYANOVA_REPORT_RENDER_BROWSER_PATH`
|
||||
points at an existing browser instead of downloading one, and
|
||||
`AYANOVA_REPORT_RENDER_BROWSER_PARAMS` replaces the default launch arguments
|
||||
(`util/ServerBootConfig.cs:84-88`, `:185-191`).
|
||||
|
||||
### Configuration
|
||||
|
||||
Older notes list `ConnectionStrings__DefaultConnection`, `JWT_SECRET` and
|
||||
`ASPNETCORE_ENVIRONMENT` as the server's settings **[unverified]**. Sockeye, the near-copy,
|
||||
reads `SOCKEYE_*` keys from a `config.json` beside the app (`SOCKEYE_DB_CONNECTION`,
|
||||
`SOCKEYE_USE_URLS`, `SOCKEYE_JWT_SECRET`, `SOCKEYE_DATA_PATH` …), so AyaNova likely does the
|
||||
same with its own prefix. The Linux packages ship a `config.json` from
|
||||
`dist/assets/linux-server/` or `dist/assets/linux-desktop/`, which supports that.
|
||||
`Program.cs:38` reads `config.json` beside the app, then environment variables, then the
|
||||
command line (later sources win). `util/ServerBootConfig.cs` reads `AYANOVA_*` keys:
|
||||
`AYANOVA_DB_CONNECTION`, `AYANOVA_USE_URLS`, `AYANOVA_JWT_SECRET`, `AYANOVA_DATA_PATH`,
|
||||
`AYANOVA_LOG_PATH`, `AYANOVA_LOG_LEVEL`, `AYANOVA_ATTACHMENT_FILES_PATH`,
|
||||
`AYANOVA_BACKUP_FILES_PATH`, `AYANOVA_TEMP_FILES_PATH`, `AYANOVA_BACKUP_PG_DUMP_PATH`,
|
||||
`AYANOVA_DEFAULT_TRANSLATION`, `AYANOVA_SET_SUPERUSER_PW`, `AYANOVA_REPORT_RENDER_*`, plus
|
||||
boot flags such as `AYANOVA_PERMANENTLY_ERASE_DATABASE` and `AYANOVA_REMOVE_LICENSE_FROM_DB`.
|
||||
The names in older notes (`ConnectionStrings__DefaultConnection`, `JWT_SECRET`) were wrong.
|
||||
The Linux packages ship a `config.json` from `dist/assets/linux-server/` or
|
||||
`dist/assets/linux-desktop/`; the LAN installer uses `dist/assets/lan-install-config.json`.
|
||||
|
||||
### API conventions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user