Get User Tiers
Retrieve all tier configurations from the gamification system
Get User Tiers
Retrieve all tier level configurations
Overview
The getUserTiers query retrieves all tier levels configured in your gamification system, including tier names, point requirements, and visual badges. Use this to display progression paths or user achievement systems.
GraphQL Schema
getUserTiers: [Tier]Parameters
This query accepts no parameters and returns all configured tier levels in the system.
Return Type
type Tier {
level: Int!
name: String
point: Float
svg: String
}level - Unique tier identifiername - Tier display namepoint - Points requiredsvg - Badge SVG contentExample Query
query {
getUserTiers {
level
name
point
svg
}
}Example Response
{
"data": {
"getUserTiers": [
{
"level": 1,
"name": "Bronze",
"point": 1000,
"svg": "<svg>...</svg>"
},
{
"level": 2,
"name": "Silver",
"point": 5000,
"svg": "<svg>...</svg>"
},
{
"level": 3,
"name": "Gold",
"point": 15000,
"svg": "<svg>...</svg>"
},
{
"level": 4,
"name": "Platinum",
"point": 50000,
"svg": "<svg>...</svg>"
},
{
"level": 5,
"name": "Diamond",
"point": 150000,
"svg": "<svg>...</svg>"
}
]
}
}Use Cases
Show users the full tier ladder with point requirements for each level
Display tier badges in user profiles and leaderboards
Calculate user progress toward next tier level
Render tier-specific visuals using SVG badges
Implementation Example
// Fetch all tier levels
const { data } = await client.query({
query: gql`
query GetUserTiers {
getUserTiers {
level
name
point
svg
}
}
`
});
// Calculate user progress
const userPoints = 7500; // Current user points
const currentTier = data.getUserTiers.find(tier =>
userPoints >= tier.point
);
const nextTier = data.getUserTiers.find(tier =>
userPoints < tier.point
);
// Display progress
if (nextTier) {
const progress = (userPoints / nextTier.point) * 100;
console.log(`Progress to ${nextTier.name}: ${progress}%`);
}
// Render tier badges
data.getUserTiers.forEach(tier => {
const badge = document.createElement('div');
badge.innerHTML = tier.svg;
badge.setAttribute('title', `${tier.name} - ${tier.point} points`);
tierContainer.appendChild(badge);
});Best Practices
Tier configurations rarely change - cache the results to reduce API calls
Always display tiers sorted by level for consistent user experience
Consider rendering SVG badges as React components or using dangerouslySetInnerHTML with sanitization
Create responsive tier displays that work well on all screen sizes
Related Operations
User Tier Overview
Learn about tier types and structures
Add New Tier
Create new tier level (Admin)
Update User Tier
Modify tier configuration (Admin)
Delete User Tier
Remove tier level (Admin)
Public Query
This query is accessible to all authenticated users and does not require admin privileges.