Documentation
¶
Index ¶
- Constants
- Variables
- func CORSReport(c *gin.Context)
- func GetOrganizationId(c *gin.Context) int
- func GetProjectId(c *gin.Context) (uuid.UUID, error)
- func GetUserEmail(c *gin.Context) string
- func GetUserId(c *gin.Context) int
- func GetUserOrgRole(c *gin.Context) string
- func InitRequireAdminAccess()
- func InitRequireProjectAccess()
- func InitRequireWriteAccess()
- func InitUseAppAuth()
- func InitUseClientAuth()
- func InitUseSourceMapAuth()
- func RateLimitPerIP(maxRequests int, window time.Duration) gin.HandlerFunc
- func Transactional(c *gin.Context)
- func UseGzip(c *gin.Context)
Constants ¶
const OrganizationIdContextKey = "organizationId"
const ProjectContextKey = "project"
const ProjectIdContextKey = "project_id"
const UserEmailContextKey = "userEmail"
const UserIdContextKey = "userId"
const UserOrgRoleContextKey = "userOrgRole"
Variables ¶
var ErrProjectIdNotInContext = errors.New("projectId not found in context - ensure RequireProjectAccess middleware is applied")
var RequireAdminAccess gin.HandlerFunc
var RequireProjectAccess gin.HandlerFunc
RequireProjectAccess middleware validates that the authenticated user has access to the requested project. A user can access a project if they are a member of the project's organization. This middleware should be applied AFTER UseAppAuth.
var RequireWriteAccess gin.HandlerFunc
RequireWriteAccess middleware checks if the user has write access to the project's organization. It blocks access for users with 'readonly' role. This middleware should be applied AFTER UseAppAuth.
var UseAppAuth func(c *gin.Context)
var UseClientAuth func(c *gin.Context)
var UseSourceMapAuth func(c *gin.Context)
Functions ¶
func CORSReport ¶
func GetOrganizationId ¶
func GetProjectId ¶
GetProjectId retrieves the project ID from the Gin context
func GetUserEmail ¶
func GetUserOrgRole ¶
func InitRequireAdminAccess ¶
func InitRequireAdminAccess()
func InitRequireProjectAccess ¶
func InitRequireProjectAccess()
func InitRequireWriteAccess ¶
func InitRequireWriteAccess()
func InitUseAppAuth ¶
func InitUseAppAuth()
func InitUseClientAuth ¶
func InitUseClientAuth()
func InitUseSourceMapAuth ¶
func InitUseSourceMapAuth()
func RateLimitPerIP ¶ added in v1.8.14
func RateLimitPerIP(maxRequests int, window time.Duration) gin.HandlerFunc
RateLimitPerIP returns a fixed-window per-IP rate limiter for unauthenticated endpoints that persist state per request (e.g. the device-authorize endpoint, which inserts a main-DB row per call). Buckets live in memory; stale ones are swept on each request, so the map stays bounded by the number of distinct IPs seen within one window.
func Transactional ¶
Types ¶
This section is empty.