Files
next.orly.dev/.gitignore
mleku 24383ef1f4
Some checks failed
Go / build-and-release (push) Has been cancelled
Decompose handle-event.go into DDD domain services (v0.36.15)
Major refactoring of event handling into clean, testable domain services:

- Add pkg/event/validation: JSON hex validation, signature verification,
  timestamp bounds, NIP-70 protected tag validation
- Add pkg/event/authorization: Policy and ACL authorization decisions,
  auth challenge handling, access level determination
- Add pkg/event/routing: Event router registry with ephemeral and delete
  handlers, kind-based dispatch
- Add pkg/event/processing: Event persistence, delivery to subscribers,
  and post-save hooks (ACL reconfig, sync, relay groups)
- Reduce handle-event.go from 783 to 296 lines (62% reduction)
- Add comprehensive unit tests for all new domain services
- Refactor database tests to use shared TestMain setup
- Fix blossom URL test expectations (missing "/" separator)
- Add go-memory-optimization skill and analysis documentation
- Update DDD_ANALYSIS.md to reflect completed decomposition

Files modified:
- app/handle-event.go: Slim orchestrator using domain services
- app/server.go: Service initialization and interface wrappers
- app/handle-event-types.go: Shared types (OkHelper, result types)
- pkg/event/validation/*: New validation service package
- pkg/event/authorization/*: New authorization service package
- pkg/event/routing/*: New routing service package
- pkg/event/processing/*: New processing service package
- pkg/database/*_test.go: Refactored to shared TestMain
- pkg/blossom/http_test.go: Fixed URL format expectations

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 05:30:07 +01:00

118 lines
1.6 KiB
Plaintext

# Allowlisting gitignore template for GO projects prevents us
# from adding various unwanted local files, such as generated
# files, developer configurations or IDE-specific files etc.
#
# Recommended: Go.AllowList.gitignore
# Ignore everything
*
# Especially these
.vscode/
**/.vscode/
/test*
.idea/
# and others
/go.work.sum
/secp256k1/
cmd/benchmark/external
cmd/benchmark/data
# But not these files...
!/.gitignore
!*.go
!go.sum
!go.mod
!*.md
!LICENSE
!*.sh
!Makefile
!*.json
!*.pdf
!*.csv
!*.py
!*.mediawiki
!*.did
!*.rs
!*.toml
!*.file
!.gitkeep
!pkg/eth/**
!*.h
!*.c
!*.proto
!bundleData
!*.item
!*.bin
!*.yml
!*.yaml
!*.tmpl
!*.s
!*.asm
!.gitmodules
!*.txt
!*.sum
!pkg/version
!*.service
!*.benc
!*.png
!*.adoc
!*.js
!*.bash
!PATENTS
!*.css
!*.ts
!*.html
!*.lock
!*.nix
!license
!readme
!*.ico
!*.xml
!.gitignore
!version
!out.jsonl
!strfry.conf
!config.toml
!*.jsx
!*.tsx
!bun.lock
!*.svelte
!.github/**
!.github/workflows/**
!.claude/**
!app/web/dist/**
!app/web/dist/*.js
!app/web/dist/*.js.map
!app/web/dist/*.css
!app/web/dist/*.html
!app/web/dist/*.ico
!app/web/dist/*.png
!app/web/dist/*.svg
!Dockerfile*
!.dockerignore
!libsecp256k1.so
# ...even if they are in subdirectories
!*/
# Re-ignore IDE directories (must come after !*/)
.idea/
**/.idea/
# Re-ignore node_modules everywhere (must come after !*/)
node_modules/
**/node_modules/
/blocklist.json
/gui/gui/main.wasm
/gui/gui/index.html
pkg/database/testrealy
/ctxproxy.config.yml
cmd/benchmark/external/**
private*
# Build outputs
build/orly-*
build/libsecp256k1-*
build/SHA256SUMS-*
cmd/benchmark/data.claude/skills/skill-creator/scripts/__pycache__/