# Pams.Web

**Kind:** Module

**Source:** `Pams/Web/Pams.Web/Pams.Web.csproj` (line 1)

**Part of:** [Pams](subsystem-pams)

.NET Library project (C#)

`Pams.Web` is a C# .NET library project in the Pams solution. It contains web-facing application code and connects client requests with shared Pams domain and service components.

## Diagram

```mermaid
graph TD
  Client[JavaScript Client] --> Web[Pams.Web]
  Web --> Services[Pams Services]
  Services --> Domain[Pams Domain]
  Services --> Data[Data Access]
```

## Usage

```ts
const response = await fetch("/api/pams", {
  method: "GET",
  headers: {
    Accept: "application/json",
  },
});

if (!response.ok) {
  throw new Error(`Request failed: ${response.status}`);
}

const data = await response.json();
console.log(data);
```

## AI Coding Instructions

- Keep web request handling in `Pams.Web`; place business rules in the relevant service or domain project.
- Follow existing C# project conventions for namespaces, dependency injection, and configuration.
- Do not expose data-access details directly from web endpoints.
- Check API route, request, and response contracts before changing JavaScript clients.

## Relationships

- DEPENDS_ON → `Microsoft.ApplicationInsights.AspNetCore`
- DEPENDS_ON → `Microsoft.AspNet.SignalR.JS`
- DEPENDS_ON → `Microsoft.AspNetCore`
- DEPENDS_ON → `Microsoft.AspNetCore.Mvc`
- DEPENDS_ON → `Microsoft.AspNetCore.Server.IISIntegration`
- DEPENDS_ON → `Microsoft.AspNetCore.Server.Kestrel`
- DEPENDS_ON → `Microsoft.AspNetCore.SpaServices`
- DEPENDS_ON → `Microsoft.AspNetCore.StaticFiles`
- DEPENDS_ON → `Microsoft.Extensions.Configuration.Json`
- DEPENDS_ON → `Microsoft.Extensions.Logging.Debug`
- DEPENDS_ON → `Microsoft.Extensions.Options.ConfigurationExtensions`
- DEPENDS_ON → `Microsoft.Owin.Host.SystemWeb`
- DEPENDS_ON → `Microsoft.VisualStudio.Web.BrowserLink`
- DEPENDS_ON → `SaasKit.Multitenancy`

## Used by

1 reference from 1 file. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Declared in (1)

- `Pams` — `Pams/Pams.sln`:1
