sarveshpatel commited on
Commit
b2c9640
·
verified ·
1 Parent(s): bdc9e3d

Create main.go

Browse files
Files changed (1) hide show
  1. main.go +64 -0
main.go ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ package main
2
+
3
+ import (
4
+ "log"
5
+ "tempmail-service/config"
6
+ "tempmail-service/database"
7
+ "tempmail-service/handlers"
8
+ "tempmail-service/middleware"
9
+
10
+ "github.com/gin-gonic/gin"
11
+ )
12
+
13
+ func main() {
14
+ // Initialize config
15
+ cfg := config.Load()
16
+
17
+ // Initialize database
18
+ database.InitDB(cfg.DatabasePath)
19
+
20
+ // Setup Gin
21
+ gin.SetMode(gin.ReleaseMode)
22
+ r := gin.Default()
23
+
24
+ // Load templates
25
+ r.LoadHTMLGlob("templates/*")
26
+
27
+ // Static files
28
+ r.Static("/static", "./static")
29
+
30
+ // Middleware
31
+ r.Use(middleware.CORS())
32
+ r.Use(middleware.RateLimit())
33
+
34
+ // Routes - Pages
35
+ r.GET("/", handlers.IndexPage)
36
+ r.GET("/inbox/:sessionId", handlers.InboxPage)
37
+ r.GET("/message/:sessionId/:messageId", handlers.MessagePage)
38
+
39
+ // Routes - API
40
+ api := r.Group("/api")
41
+ {
42
+ // Domain
43
+ api.GET("/domains", handlers.GetDomains)
44
+
45
+ // Account
46
+ api.POST("/account/create", handlers.CreateAccount)
47
+ api.DELETE("/account/:sessionId", handlers.DeleteAccount)
48
+ api.GET("/account/:sessionId", handlers.GetAccount)
49
+
50
+ // Messages
51
+ api.GET("/messages/:sessionId", handlers.GetMessages)
52
+ api.GET("/message/:sessionId/:messageId", handlers.GetMessage)
53
+ api.DELETE("/message/:sessionId/:messageId", handlers.DeleteMessage)
54
+ api.PATCH("/message/:sessionId/:messageId/read", handlers.MarkAsRead)
55
+
56
+ // Session
57
+ api.GET("/session/:sessionId/check", handlers.CheckSession)
58
+ }
59
+
60
+ log.Printf("Server starting on port %s", cfg.Port)
61
+ if err := r.Run(":" + cfg.Port); err != nil {
62
+ log.Fatal("Failed to start server:", err)
63
+ }
64
+ }