package types

import "github.com/golang-jwt/jwt/v5"

type UserClaims struct {
	UserEmail string `json:"user_email"`
	jwt.RegisteredClaims
}

type ApiClaims struct {
	UserID string `json:"user_id"`
	// Permissions are guard's defined permissions
	// Examples:
	// 1. User MetaData (specifically some fields like email, profile picture and name)
	// 2. Actions on User, e.g. home permissions fetching, notifications emitting
	Permissions []string `json:"permissions"`
	// Subject is an API ID defined in guard's DB after registration
	jwt.RegisteredClaims
}
