Initial commit including .env

This commit is contained in:
2026-06-22 17:43:40 +05:30
commit c577d47b75
286 changed files with 85878 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
package controllers
import (
"context"
"fmt"
"time"
"doormile/db"
"doormile/utils"
"github.com/gofiber/fiber/v2"
)
func GetBookingFromCache(c *fiber.Ctx) error {
bookingID := c.Params("booking_id")
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
data, err := db.Rdb.HGetAll(ctx, fmt.Sprintf("bookings:%s", bookingID)).Result()
if err != nil {
return utils.Internal(c, "failed to fetch booking from cache")
}
if len(data) == 0 {
return utils.NotFound(c, "booking not found in cache")
}
return utils.OK(c, data)
}
func GetCustomerBookingsFromCache(c *fiber.Ctx) error {
customerID := c.Params("customer_id")
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
ids, err := db.Rdb.SMembers(ctx, fmt.Sprintf("bookings:customer:%s", customerID)).Result()
if err != nil {
return utils.Internal(c, "failed to fetch customer booking IDs from cache")
}
bookings := make([]map[string]string, 0, len(ids))
for _, bid := range ids {
ctx2, cancel2 := context.WithTimeout(context.Background(), 3*time.Second)
bdata, berr := db.Rdb.HGetAll(ctx2, fmt.Sprintf("bookings:%s", bid)).Result()
cancel2()
if berr == nil && len(bdata) > 0 {
bookings = append(bookings, bdata)
}
}
return utils.List(c, bookings, int64(len(bookings)))
}
func ListAllBookingsFromCache(c *fiber.Ctx) error {
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second)
defer cancel()
ids, err := db.Rdb.SMembers(ctx, "bookings:all").Result()
if err != nil {
return utils.Internal(c, "failed to fetch booking IDs from cache")
}
bookings := make([]map[string]string, 0, len(ids))
for _, bid := range ids {
ctx2, cancel2 := context.WithTimeout(context.Background(), 3*time.Second)
bdata, berr := db.Rdb.HGetAll(ctx2, fmt.Sprintf("bookings:%s", bid)).Result()
cancel2()
if berr == nil && len(bdata) > 0 {
bookings = append(bookings, bdata)
}
}
return utils.List(c, bookings, int64(len(bookings)))
}