package ginctx import ( "clapclap/internal/repositories" "clapclap/internal/utils" "time" "clapclap/internal/uuid" "github.com/aws/aws-sdk-go-v2/service/s3" "github.com/gin-gonic/gin" "github.com/golang-jwt/jwt/v5" "golang.org/x/oauth2" "gorm.io/gorm" ) func GetRepo(c *gin.Context, key string) (*repositories.Repo, error) { return Get[*repositories.Repo](c, key) } func GetOAuth2Token(c *gin.Context, key string) (*oauth2.Token, error) { return Get[*oauth2.Token](c, key) } func GetMedia(c *gin.Context, key string) (*utils.MediaValidity, error) { return Get[*utils.MediaValidity](c, key) } func GetS3EventObj(c *gin.Context, key string) ([]utils.S3Object, error) { return Get[[]utils.S3Object](c, key) } func GetPresignedUrl(c *gin.Context, key string) (*s3.PresignedPostRequest, error) { return Get[*s3.PresignedPostRequest](c, key) } func GetUUID(c *gin.Context, key string) (uuid.UUID, error) { return Get[uuid.UUID](c, key) } func GetJwt(c *gin.Context, key string) (*jwt.Token, error) { return Get[*jwt.Token](c, key) } func GetDB(c *gin.Context, key string) (*gorm.DB, error) { return GetAtomicOrNormal[*gorm.DB](c, key) } func GetS3(c *gin.Context, key string) (*s3.Client, error) { return Get[*s3.Client](c, key) } func GetTx(c *gin.Context, key string) (*gorm.DB, error) { return Get[*gorm.DB](c, key) } func GetDuration(c *gin.Context, key string) (time.Duration, error) { return Get[time.Duration](c, key) } func GetSigningMethod(c *gin.Context, key string) (jwt.SigningMethod, error) { return Get[jwt.SigningMethod](c, key) }