Versions in this module Expand all Collapse all v0 v0.1.3 Dec 30, 2024 v0.1.2 Nov 11, 2024 v0.1.1 Oct 19, 2024 Changes in this version + func SaveConfig[Config any](config *Config) v0.1.0 Oct 17, 2024 Changes in this version + func APIBuilder(handlers ...func(*gin.RouterGroup) *gin.RouterGroup) func(gin.IRouter, string) *gin.RouterGroup + func AddCRUDNew[T any](router gin.IRouter, path string, db *gorm.DB, ...) *gin.RouterGroup + func AddCRUDWithAuth[T any](router gin.IRouter, path string, db *gorm.DB, permLo, permHi int) *gin.RouterGroup + func AddCRUD[T any](router gin.IRouter, path string, db *gorm.DB) *gin.RouterGroup + func AddCaptchaAPI(router gin.IRouter, path string, conf1 MailConfig, conf2 CaptchaConfig, ...) *gin.RouterGroup + func AddLoginAPI(router gin.IRouter, path string, db *gorm.DB) *gin.RouterGroup + func AddStatic(router *gin.Engine, staticFileDir []string) + func AddStaticFS(router *gin.Engine, fs embed.FS) + func AuthPermission(permLo, permHi int) func(c *gin.Context, token UserClaim) error + func CheckPasswordHash(password, hash string) error + func ConstructQuery[T any](db *gorm.DB, searchStruct T) *gorm.DB + func CorsMiddleware() gin.HandlerFunc + func Create[T any](db *gorm.DB, process func(*gorm.DB, *T) *gorm.DB) func(c *gin.Context) + func Delete[T any](db *gorm.DB) func(c *gin.Context) + func GenerateCaptcha(length int, charset string) (string, string) + func GenerateShortLink(url string) string + func GenerateToken(userClaim *UserClaim) (string, error) + func GenerateUUID() string + func GetAll[T any](db *gorm.DB, process func(*gorm.DB, *gin.Context) *gorm.DB) func(c *gin.Context) + func GetLocalIP() string + func Get[T any](db *gorm.DB, process func(*gorm.DB, *gin.Context) *gorm.DB) func(c *gin.Context) + func HandleCaptchaVerify(rdb *redis.Client) func(*gin.Context) + func HandleLogin(db *gorm.DB) func(*gin.Context) + func HandleMailSendCaptcha(mailConfig MailConfig, captchaConfig CaptchaConfig, rdb *redis.Client) func(*gin.Context) + func HandleRegister(db *gorm.DB) func(*gin.Context) + func HashedPassword(password string) string + func JWTMiddleware(authToken func(*gin.Context, UserClaim) error) gin.HandlerFunc + func LoadCSV(filePath string) (map[string]map[string]string, error) + func LoadConfig[Config any]() *Config + func LoggerMiddleware(logFile string) gin.HandlerFunc + func NewDB(config *DatabaseConfig, migrator func(*gorm.DB) error, gormConfig *gorm.Config) *gorm.DB + func NewLoger(logFile string) *log.Logger + func NewRedis(config *RedisConfig) *redis.Client + func PaginatedResults(c *gin.Context) func(*gorm.DB) *gorm.DB + func RandPort() int + func RefreshToken(db *gorm.DB) func(*gin.Context) + func RunmDnsBroadcast(serviceName, serviceDomain, instanceName string, text []string, ...) + func Update[T any](db *gorm.DB) func(c *gin.Context) + func VerifyCaptcha(id string, captcha string, db *redis.Client) bool + type CaptchaConfig struct + CaptchaAlive int + CaptchaLength int + type Client struct + ID string + IP string + Peers map[string]*Client + Port int + Status string + func NewClient(ip string, port int) *Client + func (c *Client) Listen(path string, handler func(ctx *gin.Context, src *Client)) + func (c *Client) Send(path string, content gin.H) (gin.H, error) + func (c *Client) StartDiscover() + type DatabaseConfig struct + DB string + Host string + Migrate bool + Password string + Port string + Type string + User string + type MailConfig struct + MailPassword string + MailServer string + MailServerPort string + MailUserName string + type Pagination struct + PageNum int + PageSize int + type RedisConfig struct + Addr string + Password string + type ServerConfig struct + Port string + type User struct + Email string + ID uint + Password string + Permission int + Username string + type UserClaim struct + Expire time.Time + ID int + Name string + Permission int + func ParseToken(token string) (*UserClaim, error) + func (uc *UserClaim) Valid() error