aboutsummaryrefslogtreecommitdiff
path: root/models/domain
diff options
context:
space:
mode:
authorBobby <[email protected]>2026-03-08 02:27:15 +0530
committerBobby <[email protected]>2026-03-08 02:27:15 +0530
commitcca905d35412f1549400fc3d1aca6dc704d8cae6 (patch)
tree0c0231f5c2ebaeb7700e08a2c1f07373d3251658 /models/domain
parent547384c41181c034a5eaf340c5e569d36eb013be (diff)
downloaddove-cca905d35412f1549400fc3d1aca6dc704d8cae6.tar.xz
dove-cca905d35412f1549400fc3d1aca6dc704d8cae6.zip
feat(domains): add new TLD creation page and update sidebar
- Introduced a new HTMX template for creating TLDs. - Created a new Django template for the new TLD page. - Updated the sidebar to include a link to the domains section. refactor(types): remove unused types and consolidate request handling - Deleted unused type definitions related to authentication, errors, mailboxes, overview, requests, responses, and users. - Introduced a new collections package for generic data structures. - Refactored request handling to use a more streamlined approach with RequestInfo and Param types. fix(meta): improve pagination and sorting functionality - Updated pagination logic to handle default values and edge cases. - Introduced a new Sorting type for better sorting management in queries. chore(urls): refactor URL handling and registry - Replaced enums with string constants for HTTP methods. - Consolidated route registration logic and improved type safety with RegisteredRoute. style(shortcuts): clean up error handling and rendering functions - Enhanced error handling functions for better readability and maintainability. - Removed deprecated functions and improved the structure of rendering logic.
Diffstat (limited to 'models/domain')
-rw-r--r--models/domain/domain.go10
-rw-r--r--models/domain/tld.go10
2 files changed, 20 insertions, 0 deletions
diff --git a/models/domain/domain.go b/models/domain/domain.go
new file mode 100644
index 0000000..9a1a0ef
--- /dev/null
+++ b/models/domain/domain.go
@@ -0,0 +1,10 @@
+package domain
+
+import "gorm.io/gorm"
+
+type Domain struct {
+ gorm.Model
+ Name string `gorm:"not null;uniqueIndex:idx_domain_tld" json:"name"`
+ TLDID uint `gorm:"not null;uniqueIndex:idx_domain_tld" json:"tld_id"`
+ TLD TLD `gorm:"foreignKey:TLDID" json:"tld"`
+}
diff --git a/models/domain/tld.go b/models/domain/tld.go
new file mode 100644
index 0000000..5a47f32
--- /dev/null
+++ b/models/domain/tld.go
@@ -0,0 +1,10 @@
+package domain
+
+import "gorm.io/gorm"
+
+type TLD struct {
+ gorm.Model
+ Name string `gorm:"uniqueIndex;not null" json:"name"`
+ IsDefault bool `gorm:"default:false" json:"is_default"`
+ Domains []Domain `gorm:"foreignKey:TLDID" json:"domains"`
+}