e0d8526577
Add Altcha captcha provider support
continuous-integration/drone/push Build is running
2026-02-13 12:29:14 +07:00
0090054324
Add CAPTCHA support for login and registration
...
Integrates optional bot protection on the registration endpoint (always
required when a provider is configured) and the login endpoint (triggered
after N consecutive failures for the same IP or email address).
Supported providers: hCaptcha, reCAPTCHA v2, Cloudflare Turnstile.
2026-02-13 11:31:37 +07:00
bee17f7761
Add missing json tag on all structs for better OpenAPI generation
2026-01-26 12:34:55 +08:00
2d39de5eb9
Add service initialization endpoint with DNS type detection
...
Implement backend-driven service initialization to replace hazardous
frontend initialization logic. Services can now provide custom
initialization via ServiceInitializer interface or get sensible
defaults automatically.
2026-01-12 10:19:33 +07:00
6add2f220e
Refactor storage layer to use key-value template pattern
...
continuous-integration/drone/tag Build is passing
Extract common key-value storage operations into internal/storage/kvtpl/
template directory. This consolidates duplicated logic from both leveldb
and inmemory implementations into reusable generic functions.
Key changes:
- Create kvtpl/ package with generic KV storage operations
- Consolidate iterator implementation using generics
- Update migration functions to use new template structure
- Refactor tests to work with new storage interface
This prepares the codebase for easier addition of new storage backends
by providing a consistent template layer.
2026-01-09 17:17:04 +07:00
21b9072bba
Add comprehensive test coverage for model package
2026-01-09 15:34:31 +07:00
ae0f9018bb
Can add and update records in service
2026-01-09 15:01:51 +07:00
f5911cb256
Can delete a record in a service
2026-01-08 18:15:37 +07:00
437cf4d80b
Create copy of returned records
2026-01-07 22:26:19 +07:00
df825f1f50
Services stores records instead of abstact data
2026-01-07 22:26:19 +07:00
d6e49e0440
Update go modules and dnscontrol to v4.29.0
2025-12-24 19:03:33 +07:00
8fa8efcefc
insights: Send stats about users' settings
continuous-integration/drone/push Build is failing
2025-06-12 20:07:57 +02:00
ebb5d34be5
Use ListRecordsUC when generating zonefile
2025-06-10 09:53:44 +02:00
ce91b49a73
Create a usecase from API to extract domain creation on provider
...
Fixes a security issue where a user can create a domain on a provider
while DisableProviders option was set
2025-06-09 15:38:11 +02:00
b0e0ab6d9e
Create a usecase from provider controller
2025-06-09 15:38:11 +02:00
f63860af83
Can create domain directly on the provider if supported
...
continuous-integration/drone/push Build is passing
Closes: https://github.com/happyDomain/happydomain/issues/24
2025-05-28 23:02:22 +02:00
b527e0ed26
Refactor usecases: create intermediate structs to facilitate tests
2025-05-28 23:02:22 +02:00
b2b6467575
Refactor domain/provider/zone usecase: split in multiple files
2025-05-28 23:02:22 +02:00
1408e04f45
Refactor domain's logs usecase: split in multiple files
2025-05-28 23:02:22 +02:00
0495ab4693
Refactor auth_user usecase: split in multiple files
2025-05-28 23:02:22 +02:00
cffbc104ae
Refactor session usecase: split in multiple files
2025-05-28 22:00:02 +02:00
356e733e76
Move config struct to model, avoid dependancy to storage
2025-05-28 22:00:02 +02:00
b575a17674
Improve error report
2025-05-28 22:00:02 +02:00
e186a33f89
refactor: Move storage interfaces to usecases
2025-05-28 22:00:02 +02:00
b77e2b8c3a
Refactor App to add clarity
2025-05-22 15:46:06 +02:00
fb971236f9
Rename Service to Usecase to be consistent
2025-05-22 15:46:06 +02:00
2f21ebee44
Rename ProviderId attribute
2025-05-22 15:46:06 +02:00
2e9b9e6adf
Standardize databases errors
2025-05-22 15:46:06 +02:00
5d0fe5edb5
Remove plural structs not used as struct
2025-05-22 15:46:06 +02:00
d427ef4377
Move tidy operation to a usecase
2025-05-22 15:46:05 +02:00
401ba892f7
Use iterators in return to ListAll database functions
2025-05-22 15:46:05 +02:00
f4daca892e
Simplify database calls and move the logic in usecases: providers
2025-05-22 15:46:05 +02:00
9152a2697b
Simplify database calls and move the logic in usecases: domains
2025-05-22 15:46:05 +02:00
6c2aaa2f6e
Standardize owner field name for domains and providers
2025-05-22 15:46:05 +02:00
b25072377d
auth: Extract login through session in middleware
2025-04-22 23:35:25 +02:00
2e5f36a11e
Allow registering a domain multiple time
...
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Fixes: https://github.com/happyDomain/happydomain/issues/19
Fixes: https://github.com/happyDomain/happydomain/issues/32
2025-04-22 14:32:10 +02:00
f36337e14c
Reports usage statistics to happydomain.org
2025-04-22 14:29:08 +02:00
959b800286
If zone is commited, automatically fork on editing
2025-04-22 14:15:04 +02:00
ba09d123fd
Store a link to parent zone when derivate
2025-04-22 14:15:04 +02:00
1c7e0b84c3
Use hashes to identify corrections to apply instead of full diff message
2025-04-22 14:15:04 +02:00
0edc2e66e2
Clean architecture refactoring
2025-04-22 14:15:03 +02:00
9c6de4fdae
Don't require origin when generating service comment
2025-04-22 14:15:03 +02:00
e7877e9363
Make the records relatives inside the storage
2025-04-19 15:10:05 +02:00
70e271ce84
Generate dns.RR, limit dnscontrol structs
2025-04-19 15:10:05 +02:00
8f34c45f00
Store raw DNS records under Services instead of custom attributes
2025-04-19 15:10:05 +02:00
109023aa75
GenerateRRs can now return error
2025-04-19 15:10:05 +02:00
9acd96a23c
Refactor providers decoding
2024-10-23 19:43:57 +02:00
3d9aecf214
Refactor session to use gorilla like sessions
2024-05-23 17:29:34 +02:00
fab386534c
Try to ListZones when validating providers settings
...
Bug: https://github.com/happyDomain/happydomain/issues/20
2024-02-06 14:28:37 +01:00
1035610be0
Relicense the project to AGPL-3.0
2023-12-24 11:42:00 +01:00