All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
- Fix no-op RequireProjectAccess middleware to enforce project_ids
- Apply project access middleware to all project-scoped routes
- Filter GET /projects by allowed project IDs for restricted keys
- Add GET /me endpoint with key identity, scopes, and project access info
- Add PATCH /keys/{id} for partial key updates (name, scopes, project_ids, allowed_ips, expires_in)
- Add GET/POST/DELETE /projects/{id}/access for project-centric access management
- Auto-grant creating key access when using POST /project/create-and-build
- Accept grant_to_key_ids in create-and-build to grant multiple keys on project creation
- Move newProvisionerWithDeps test helper from production code to test file
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
29 lines
807 B
Go
29 lines
807 B
Go
// Package domain contains core business entities.
|
|
package domain
|
|
|
|
import "time"
|
|
|
|
// NotifyCredentials holds per-project email delivery credentials.
|
|
type NotifyCredentials struct {
|
|
// ProjectID is the rdev project this credential set belongs to.
|
|
ProjectID string
|
|
|
|
// AccountID is the notify service account UUID (used for deletion).
|
|
AccountID string
|
|
|
|
// APIKey is the notify send key (notify_send_...) for sending emails.
|
|
APIKey string
|
|
|
|
// Host is the per-project sending host (e.g., "mail.{slug}.threesix.ai").
|
|
Host string
|
|
|
|
// From is the from-address for outgoing email (e.g., "noreply@mail.{slug}.threesix.ai").
|
|
From string
|
|
|
|
// ResendDomainID is the Resend domain UUID (used for deletion).
|
|
ResendDomainID string
|
|
|
|
// CreatedAt is when the credentials were provisioned.
|
|
CreatedAt time.Time
|
|
}
|