Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Task<IReadOnlySet<Guid>> GetEntityIdsForEntityTypeActionsAsync(
CancellationToken ct = default);
}

/// <summary><c>Action</c> is the stored name; <see cref="IAuditViewerService"/> resolves it to its definition.</summary>
/// <summary><c>Action</c> is the stored name; <c>IAuditViewerService</c> resolves it to its definition.</summary>
public sealed record AuditLogEntrySnapshot(
Guid Id,
string Action,
Expand Down
1 change: 1 addition & 0 deletions src/Humans.Base/Humans.Base.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@
were self-retiring and went with the assembly.

Gdpr/ is the GDPR export/erase fan-out seam every data-owning section implements.
AuditLog/ is the audit append path every writing section calls.
-->

<!--
Expand Down
7 changes: 4 additions & 3 deletions src/Sections/Humans.AuditLog/Docs/AuditLog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<!-- freshness:triggers
src/Sections/Humans.AuditLog/**
src/Sections/Humans.AuditLog/Contracts/**
src/Humans.Base/AuditLog/**
-->
<!-- freshness:flag-on-change
Audit log append-only invariant, audit action definitions and registry, and self-persisting semantics — review when AuditLog service/repo/entity changes.
Expand Down Expand Up @@ -138,13 +139,13 @@ No other cross-section writes from this section outward. Audit is a sink.

### Read+render path and the Contracts home

`AuditViewerService` wraps the section's own `IAuditLogReader` raw queries with actor, subject and team name resolution, taken from `IEnumerable<IEntityNameContributor>` (`Humans.Base`). Project references are `Humans.Base`, `Humans.Gdpr` (the `IUserDataContributor` contract) and `Humans.Users.Contracts` (merge-tombstone chain-following).
`AuditViewerService` wraps the section's own `IAuditLogReader` raw queries with actor, subject and team name resolution, taken from `IEnumerable<IEntityNameContributor>` (`Humans.Base`). Project references are `Humans.Base` and `Humans.Users.Contracts` (merge-tombstone chain-following).

**One Contracts home.** The section's `Contracts/` folder (namespace `Humans.AuditLog.Contracts`) carries `IAuditLogService` — the append path, called from most sections — plus `AuditActionDefinition` / `IAuditActionContributor` / `AuditActionContributor`, `IAuditViewerService` / `AuditEvent` and `ILegacyGoogleSyncAuditReader`.
**Two homes, one namespace.** The append path every section calls — `IAuditLogService` (with `AuditLogEntrySnapshot`) and `AuditActionDefinition` / `IAuditActionContributor` / `AuditActionContributor` — lives in `src/Humans.Base/AuditLog/`, so writers need no reference to this section. The section's `Contracts/` folder keeps the narrow reads: `IAuditViewerService` / `AuditEvent` (Agent) and `ILegacyGoogleSyncAuditReader` (GoogleIntegration). Both use namespace `Humans.AuditLog.Contracts`.
Comment thread
peterdrier marked this conversation as resolved.
Resolved

**Section-internal reads: `IAuditLogReader`.** `internal interface IAuditLogReader` (`Services/IAuditLogReader.cs`) holds the raw-snapshot reads whose only caller is `AuditViewerService` — `GetFilteredAsync`, `GetByUserAsync`, plus `GetFilteredEntriesAsync` so the viewer takes one injection rather than two. `AuditLogService` implements it alongside `IAuditLogService`; `Section.Register` maps both to the same scoped instance. Nothing outside this assembly can name it, which is the point: those reads stay off the public surface.

**`<vc:audit-log>` binding.** The component is public in `Humans.AuditLog.ViewComponents`; its views are at `Views/Shared/Components/AuditLog/`. Every consuming assembly — `Humans.Calendar`, `Humans.Debug`, `Humans.Expenses`, `Humans.Store`, `Humans.Teams`, `Humans.Tickets`, `Humans.Users` — needs both a `ProjectReference` and `@addTagHelper *, Humans.AuditLog` in its `_ViewImports.cshtml`; a missing directive ships inert literal markup with a green build. Note the reference can be IL-invisible: Razor resolves `@addTagHelper` at compile time and the generated tag helper names no type from this assembly, so a consumer that only *renders* audit shows no `Humans.AuditLog` entry in `GetReferencedAssemblies()`. Seeded-marker render assertions guard the binding (`Humans.Integration.Tests`, nightly, not CI): `AuditLogPageRenderTests` on `/Users/Admin/{id}`, `/Debug/WidgetGallery` and `/Profile/{id}`, `StoreControllerTests` on `/Store/Order/{id}`, plus a source scan asserting every `<vc:audit-log>` call site sits under a `_ViewImports` chain that binds it.
**`<vc:audit-log>` binding.** The component is public in `Humans.AuditLog.ViewComponents`; its views are at `Views/Shared/Components/AuditLog/`. Every consuming assembly — `Humans.Calendar`, `Humans.Expenses`, `Humans.Store`, `Humans.Teams`, `Humans.Tickets`, `Humans.Users` — needs both a `ProjectReference` and `@addTagHelper *, Humans.AuditLog` in its `_ViewImports.cshtml`; a missing directive ships inert literal markup with a green build. Note the reference can be IL-invisible: Razor resolves `@addTagHelper` at compile time and the generated tag helper names no type from this assembly, so a consumer that only *renders* audit shows no `Humans.AuditLog` entry in `GetReferencedAssemblies()`. Seeded-marker render assertions guard the binding (`Humans.Integration.Tests`, nightly, not CI): `AuditLogPageRenderTests` on `/Users/Admin/{id}`, `/Debug/WidgetGallery` and `/Profile/{id}`, `StoreControllerTests` on `/Store/Order/{id}`, plus a source scan asserting every `<vc:audit-log>` call site sits under a `_ViewImports` chain that binds it.

- `AuditLogService` (`internal sealed`, `Humans.AuditLog.Services`) depends only on abstractions — no `DbContext`, no `IMemoryCache`. Its cross-section surface is the whole of `Humans.AuditLog.Contracts.IAuditLogService`: the `LogAsync` write overloads plus `GetFilteredEntriesAsync` (Issues, `ExpenseReportService`, Users' `DuplicateAccountService`) and `GetEntityIdsForEntityTypeActionsAsync` (`ShiftsController.OrphanSignups`).
- `IAuditLogRepository` (impl `src/Sections/Humans.AuditLog/Data/AuditLogRepository.cs`, `internal sealed`) is the only file that touches `DbContext.AuditLogEntries` — confirmed by source: no other repository references the `AuditLogEntries` DbSet. Uses `IDbContextFactory<AuditLogDbContext>` with short-lived contexts per call.
Expand Down
9 changes: 5 additions & 4 deletions src/Sections/Humans.AuditLog/Docs/health.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ prune or delete path, by design (Art. 30 / Art. 17(3)(b)).

## 3. Structure

- **Contracts, one folder.** `Contracts/` (namespace `Humans.AuditLog.Contracts`) holds the
append path (`IAuditLogService`, `AuditLogEntrySnapshot`, `AuditActionDefinition` + its
contributor contract, `ILegacyGoogleSyncAuditReader`) and the
read surface (`IAuditViewerService`, `AuditEvent`). The `/AuditLog` page read stays
- **Contracts, two homes, one namespace** (`Humans.AuditLog.Contracts`). The append path
(`IAuditLogService`, `AuditLogEntrySnapshot`, `AuditActionDefinition` + its contributor
contract) is in `src/Humans.Base/AuditLog/`, so writers don't reference this section.
`Contracts/` keeps `ILegacyGoogleSyncAuditReader` and the read surface
(`IAuditViewerService`, `AuditEvent`). The `/AuditLog` page read stays
internal on `AuditViewerService`.
- **Write and raw reads:** `AuditLogService` (internal; implements `IAuditLogService`,
`IAuditLogReader`, `IUserDataContributor`, `ILegacyGoogleSyncAuditReader`) over
Expand Down
2 changes: 0 additions & 2 deletions src/Sections/Humans.Auth/Humans.Auth.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<!--
One reason per reference:
AuditLog — RoleAssignmentService writes an audit row per assign/end.
Notifications.Contracts — best-effort in-app notice to the human whose role changed.
Users.Contracts — IUserService for assignee/creator display stitching;
MagicLinkService adds UserManager<User> and IUserEmailService.
Expand All @@ -37,7 +36,6 @@
the Board system team.
No Onboarding.Contracts reference.
-->
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.Notifications.Contracts\Humans.Notifications.Contracts.csproj" />
<ProjectReference Include="..\Humans.Teams.Contracts\Humans.Teams.Contracts.csproj" />
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Backdoor/Humans.Backdoor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.Auth\Humans.Auth.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
<!--
The sections whose machine surface Backdoor serves. Each is reached only through
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Campaigns/Humans.Campaigns.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.Notifications.Contracts\Humans.Notifications.Contracts.csproj" />
<ProjectReference Include="..\Humans.Teams.Contracts\Humans.Teams.Contracts.csproj" />
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Camps/Humans.Camps.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
<!-- IIssueQueueOwner: this section declares the issue queue it owns. -->
<ProjectReference Include="..\Humans.Issues\Humans.Issues.csproj" />
<ProjectReference Include="..\Humans.Camps.Contracts\Humans.Camps.Contracts.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.GoogleIntegration\Humans.GoogleIntegration.csproj" />
<ProjectReference Include="..\Humans.Notifications.Contracts\Humans.Notifications.Contracts.csproj" />
Expand Down
4 changes: 1 addition & 3 deletions src/Sections/Humans.Cantina/Humans.Cantina.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,9 @@
<!--
Cantina owns cantina_dietary_profiles (its own CantinaDbContext). The roster service
composes over IShiftService / ISettingsService / IUserService, all in their
owners' public contracts, and the CSV writers use Humans.Base.Csv.HumansCsv. AuditLog for
IAuditLogService (roster CSV export disclosure).
owners' public contracts, and the CSV writers use Humans.Base.Csv.HumansCsv.
-->
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Shifts.Contracts\Humans.Shifts.Contracts.csproj" />
<ProjectReference Include="..\Humans.Settings\Humans.Settings.csproj" />
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
<!-- IIssueQueueOwner: this section declares the issue queue it owns. -->
<ProjectReference Include="..\Humans.Issues\Humans.Issues.csproj" />
<ProjectReference Include="..\Humans.CityPlanning.Contracts\Humans.CityPlanning.Contracts.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Camps.Contracts\Humans.Camps.Contracts.csproj" />
<ProjectReference Include="..\Humans.Teams.Contracts\Humans.Teams.Contracts.csproj" />
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Consent/Humans.Consent.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<!-- IIssueQueueOwner: this section declares the issue queue it owns. -->
<ProjectReference Include="..\Humans.Issues\Humans.Issues.csproj" />
<ProjectReference Include="..\Humans.Teams.Contracts\Humans.Teams.Contracts.csproj" />
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Containers/Humans.Containers.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@

<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Camps.Contracts\Humans.Camps.Contracts.csproj" />
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
<!--
Expand Down
5 changes: 2 additions & 3 deletions src/Sections/Humans.Debug/Humans.Debug.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,14 @@
<ItemGroup>
<!--
The users debug page and the dashboard card read Shifts, Tickets and Consent through their
contracts; DataMigrationService audits through AuditLog's contracts. Consent and AuditLog keep
their public surface in a Contracts/ folder, so the main project is the reference. The widget
contracts; DataMigrationService audits through IAuditLogService in Base. Consent keeps
its public surface in a Contracts/ folder, so the main project is the reference. The widget
gallery itself references no section: every section-owned card arrives through the
ChromeSlots.WidgetGallery slot.
-->
<ProjectReference Include="..\Humans.Shifts.Contracts\Humans.Shifts.Contracts.csproj" />
<ProjectReference Include="..\Humans.Tickets.Contracts\Humans.Tickets.Contracts.csproj" />
<ProjectReference Include="..\Humans.Consent\Humans.Consent.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Development/Humans.Development.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Auth\Humans.Auth.csproj" />
</ItemGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,13 @@
IImmediateOutboxProcessor), the MessageCategory rules, the facilitated-message builder, the body composer, the SMTP
transport, the repository and the entity.

References Humans.Base, plus Humans.AuditLog for the AuditActionDefinition that EmailAuditActions
declares (Camps and Teams audit facilitated messages with it). Base references Humans.Users.Contracts,
References only Humans.Base (AuditActionDefinition, which EmailAuditActions declares for
Camps and Teams to audit facilitated messages, lives there). Base references Humans.Users.Contracts,
so nothing in that project may ever reference this one.
-->

<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Email/Humans.Email.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@

<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
<!--
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Events/Humans.Events.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.Camps.Contracts\Humans.Camps.Contracts.csproj" />
<ProjectReference Include="..\Humans.Settings\Humans.Settings.csproj" />
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Feedback/Humans.Feedback.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@

<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.Notifications.Contracts\Humans.Notifications.Contracts.csproj" />
<ProjectReference Include="..\Humans.Teams.Contracts\Humans.Teams.Contracts.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,13 @@
Finance's cross-section surface as its own leaf, because Humans.Holded, Humans.Expenses and
Humans.Budget consume it: a Contracts/ folder inside Humans.Finance would make each of them
reference a section project instead of a leaf (memory/architecture/section-project-cycle-fix.md).
References Humans.Base, plus Humans.AuditLog for the AuditActionDefinition that FinanceAuditActions
declares (Expenses exports IbanReveal rows with it), so anything above may reference it freely — which
References only Humans.Base (AuditActionDefinition, which FinanceAuditActions declares for Expenses'
IbanReveal rows, lives there), so anything above may reference it freely — which
is also why CreditorLedgerLine lives here rather than reaching for the Holded connector's own DTO.
-->

<ItemGroup>
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Finance/Humans.Finance.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
<ProjectReference Include="..\Humans.Tickets.Contracts\Humans.Tickets.Contracts.csproj" />
<ProjectReference Include="..\Humans.Holded\Humans.Holded.csproj" />
<ProjectReference Include="..\Humans.Expenses\Humans.Expenses.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
</ItemGroup>

Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Gate/Humans.Gate.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
<ProjectReference Include="..\Humans.Shifts.Contracts\Humans.Shifts.Contracts.csproj" />
<ProjectReference Include="..\Humans.Settings\Humans.Settings.csproj" />
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<!--
Tickets' contracts leaf: GateVendorCheckInJob mirrors a gate admit back to the vendor
through ITicketVendorMirror rather than naming the vendor port. The leaf references
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Governance/Humans.Governance.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
<!-- IIssueQueueOwner: this section declares the issue queue it owns. -->
<ProjectReference Include="..\Humans.Issues\Humans.Issues.csproj" />
<ProjectReference Include="..\Humans.Governance.Contracts\Humans.Governance.Contracts.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Consent\Humans.Consent.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.Notifications.Contracts\Humans.Notifications.Contracts.csproj" />
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Grants/Humans.Grants.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
<ProjectReference Include="..\Humans.Notifications.Contracts\Humans.Notifications.Contracts.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Settings\Humans.Settings.csproj" />
</ItemGroup>

Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Issues/Humans.Issues.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.Notifications.Contracts\Humans.Notifications.Contracts.csproj" />
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
</ItemGroup>

<ItemGroup>
Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.MailerLite/Humans.MailerLite.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
</ItemGroup>

</Project>
1 change: 0 additions & 1 deletion src/Sections/Humans.Monitor/Humans.Monitor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
<ProjectReference Include="..\..\Humans.Base\Humans.Base.csproj" />
<ProjectReference Include="..\Humans.GoogleIntegration\Humans.GoogleIntegration.csproj" />
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Settings\Humans.Settings.csproj" />
</ItemGroup>

Expand Down
1 change: 0 additions & 1 deletion src/Sections/Humans.Onboarding/Humans.Onboarding.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
<ProjectReference Include="..\Humans.Users.Contracts\Humans.Users.Contracts.csproj" />
<ProjectReference Include="..\Humans.Notifications.Contracts\Humans.Notifications.Contracts.csproj" />
<ProjectReference Include="..\Humans.Email.Contracts\Humans.Email.Contracts.csproj" />
<ProjectReference Include="..\Humans.AuditLog\Humans.AuditLog.csproj" />
<ProjectReference Include="..\Humans.Finance.Contracts\Humans.Finance.Contracts.csproj" />
</ItemGroup>

Expand Down
Loading
Loading