Nextjs Starter
Starter code for your Nextjs Boilerplate with Tailwind CSS
User Manager
User is role?
is user_admin a visitor?
true
is user_admin a member?
true
is user_admin a admin?
true
is user_admin a kai?
false
is user_visitor a member?
false
is user_visitor a admin?
false
is user_elite a visitor?
true
is user_elite a moderator?
false
is user_elite a admin?
false
is user_unregistered a visitor?
true
is user_unregistered a member?
true
is user_unregistered a admin?
false
User is capable? (shorthand)
can user_registered create a forum category?
false
can user_elite update "elite"-typed files?
true
can user_pro update "elite"-typed files?
false
can user_banned visit the site?
true
can user_omegabanned visit the site?
false
Role is capable?
can a visitor read a forum thread?
true
can a visitor create a forum thread?
false
can a member create a forum thread?
true
can a member create a forum category?
false
can a moderator create a forum category?
true
can a moderator delete a forum category?
true
can a mod delete a forum category?
true
can a cartoon delete a forum category?
false
can a kai delete a forum category?
true
User is capable?
visitor
{}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [visitor] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: update forum reply?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: create forum category?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: upload media?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: upload images?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: archive "elite" file types?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: send messages?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: archive messages?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user can: delete messages?
{
  "value": false,
  "reason": "user-not-found",
  "message": "Cannot find user."
}
user (unregistered member)
{
  "id": 90876909834,
  "email": "user_unregistered@test.com",
  "role": "member",
  "plan": "standard",
  "status": "unregistered",
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: update forum reply?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: create forum category?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: upload media?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: upload images?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: archive "elite" file types?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: send messages?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: archive messages?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: delete messages?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user (registered member)
{
  "id": 34267980245,
  "email": "user_registered@test.com",
  "role": "member",
  "plan": "standard",
  "status": "registered",
  "subscriptionExpired": false,
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to update site."
}
user can: update forum reply?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to update forum reply."
}
user can: create forum category?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to create forum category."
}
user can: upload media?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media."
}
user can: upload images?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media image."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "target-not-found",
  "message": "Cannot find target."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": false,
  "reason": "not-subscribed",
  "message": "User [member] is not subscribed to the pro plan and cannot create media profiletype."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": false,
  "reason": "not-subscribed",
  "message": "User [member] is not subscribed to the elite plan and cannot create media elitefiletype."
}
user can: archive "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive media elitefiletype."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete media elitefiletype."
}
user can: send messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create message."
}
user can: archive messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive message."
}
user can: delete messages?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete message."
}
user (registered pro member)
{
  "id": 34267980245,
  "email": "user_pro@test.com",
  "role": "member",
  "plan": "pro",
  "status": "registered",
  "subscriptionExpired": false,
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to update site."
}
user can: update forum reply?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to update forum reply."
}
user can: create forum category?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to create forum category."
}
user can: upload media?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media."
}
user can: upload images?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media image."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "target-not-found",
  "message": "Cannot find target."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is subscribed to the pro plan and can create media profiletype."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": false,
  "reason": "not-subscribed",
  "message": "User [member] is not subscribed to the elite plan and cannot create media elitefiletype."
}
user can: archive "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive media elitefiletype."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete media elitefiletype."
}
user can: send messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create message."
}
user can: archive messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive message."
}
user can: delete messages?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete message."
}
user (registered elite member)
{
  "id": 34267980245,
  "email": "user_elite@test.com",
  "role": "member",
  "plan": "elite",
  "status": "registered",
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to update site."
}
user can: update forum reply?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to update forum reply."
}
user can: create forum category?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to create forum category."
}
user can: upload media?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media."
}
user can: upload images?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media image."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "target-not-found",
  "message": "Cannot find target."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is subscribed to the elite plan and can create media profiletype."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is subscribed to the elite plan and can create media elitefiletype."
}
user can: archive "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive media elitefiletype."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete media elitefiletype."
}
user can: send messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create message."
}
user can: archive messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive message."
}
user can: delete messages?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete message."
}
user (registered, expired elite member)
{
  "id": 34267980245,
  "email": "user_expired@test.com",
  "role": "member",
  "plan": "elite",
  "status": "registered",
  "subscriptionExpired": true,
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to update site."
}
user can: update forum reply?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to update forum reply."
}
user can: create forum category?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to create forum category."
}
user can: upload media?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media."
}
user can: upload images?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media image."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "target-not-found",
  "message": "Cannot find target."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": true,
  "reason": "subscription-expired",
  "message": "User [member] subscription for the elite plan has expired, and cannot create media profiletype."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": true,
  "reason": "subscription-expired",
  "message": "User [member] subscription for the elite plan has expired, and cannot create media elitefiletype."
}
user can: archive "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive media elitefiletype."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete media elitefiletype."
}
user can: send messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create message."
}
user can: archive messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive message."
}
user can: delete messages?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete message."
}
user (registered elite member w/ exceeded limit)
{
  "id": 34267980245,
  "email": "user_exceeded@test.com",
  "role": "member",
  "plan": "elite",
  "status": "registered",
  "subscriptionExpired": false,
  "limitReached": true
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to update site."
}
user can: update forum reply?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to update forum reply."
}
user can: create forum category?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to create forum category."
}
user can: upload media?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media."
}
user can: upload images?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create media image."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "target-not-found",
  "message": "Cannot find target."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": true,
  "reason": "limit-reached",
  "message": "User [member] is subscribed to the elite plan, but has reached their limit and cannot create media profiletype."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": true,
  "reason": "limit-reached",
  "message": "User [member] is subscribed to the elite plan, but has reached their limit and cannot create media elitefiletype."
}
user can: archive "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive media elitefiletype."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete media elitefiletype."
}
user can: send messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to create message."
}
user can: archive messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [member] is able to archive message."
}
user can: delete messages?
{
  "value": false,
  "reason": "invalid",
  "message": "User [member] is unable to delete message."
}
user (moderator member)
{
  "id": 34267980245,
  "email": "user_moderator@test.com",
  "role": "moderator",
  "plan": "standard",
  "status": "registered",
  "subscriptionExpired": false,
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [moderator] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "invalid",
  "message": "User [moderator] is unable to update site."
}
user can: update forum reply?
{
  "value": true,
  "reason": "valid",
  "message": "User [moderator] is able to update forum reply."
}
user can: create forum category?
{
  "value": true,
  "reason": "valid",
  "message": "User [moderator] is able to create forum category."
}
user can: upload media?
{
  "value": true,
  "reason": "valid",
  "message": "User [moderator] is able to create media."
}
user can: upload images?
{
  "value": true,
  "reason": "valid",
  "message": "User [moderator] is able to create media image."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "target-not-found",
  "message": "Cannot find target."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": false,
  "reason": "not-subscribed",
  "message": "User [moderator] is not subscribed to the pro plan and cannot create media profiletype."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": false,
  "reason": "not-subscribed",
  "message": "User [moderator] is not subscribed to the elite plan and cannot create media elitefiletype."
}
user can: archive "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [moderator] is able to archive media elitefiletype."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "invalid",
  "message": "User [moderator] is unable to delete media elitefiletype."
}
user can: send messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [moderator] is able to create message."
}
user can: archive messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [moderator] is able to archive message."
}
user can: delete messages?
{
  "value": false,
  "reason": "invalid",
  "message": "User [moderator] is unable to delete message."
}
user (admin member)
{
  "id": 34267980245,
  "email": "user_admin@test.com",
  "role": "admin",
  "plan": "standard",
  "status": "registered",
  "subscriptionExpired": false,
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "invalid",
  "message": "User [admin] is unable to update site."
}
user can: update forum reply?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to update forum reply."
}
user can: create forum category?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to create forum category."
}
user can: upload media?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to create media."
}
user can: upload images?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to create media image."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "target-not-found",
  "message": "Cannot find target."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": false,
  "reason": "not-subscribed",
  "message": "User [admin] is not subscribed to the pro plan and cannot create media profiletype."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": false,
  "reason": "not-subscribed",
  "message": "User [admin] is not subscribed to the elite plan and cannot create media elitefiletype."
}
user can: archive "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to archive media elitefiletype."
}
user can: delete "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to delete media elitefiletype."
}
user can: send messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to create message."
}
user can: archive messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to archive message."
}
user can: delete messages?
{
  "value": false,
  "reason": "invalid",
  "message": "User [admin] is unable to delete message."
}
user (banned admin member)
{
  "id": 34267980245,
  "email": "user_banned@test.com",
  "role": "admin",
  "plan": "pro",
  "status": "banned",
  "subscriptionExpired": false,
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [admin] is able to read site."
}
user can: update site?
{
  "value": false,
  "reason": "unregistered",
  "message": "User is not registered."
}
user can: update forum reply?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: create forum category?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: upload media?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: upload images?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: archive "elite" file types?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: send messages?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: archive messages?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
user can: delete messages?
{
  "value": false,
  "reason": "banned",
  "message": "User is banned."
}
omegabanned user (backup for ip ban)
{
  "id": 34267980245,
  "email": "user_omegabanned@test.com",
  "role": "admin",
  "plan": "pro",
  "status": "omegabanned",
  "limitReached": false
}
user can: read site?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: update site?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: update forum reply?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: create forum category?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: upload media?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: upload images?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: upload zipped archives? (target misspelled)
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: archive "elite" file types?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: delete "elite" file types?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: send messages?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: archive messages?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
user can: delete messages?
{
  "value": false,
  "reason": "omegabanned",
  "message": "User is omegabanned."
}
super user (kai mode)
{
  "id": 34267980245,
  "email": "user_super@test.com",
  "role": "kai",
  "plan": "pro",
  "status": "banned",
  "subscriptionExpired": false,
  "limitReached": false
}
user can: read site?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: update site?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: update forum reply?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: create forum category?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: upload media?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: upload images?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: upload zipped archives? (target misspelled)
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: upload "pro" file types? (pro feature only)
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: upload "elite" file types? (elite feature only)
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: archive "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: delete "elite" file types?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: send messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: archive messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
user can: delete messages?
{
  "value": true,
  "reason": "valid",
  "message": "User [kai] controls everything."
}
© Copyright 2023 Nextjs Starter.