BenMakesGames / BenMakesGames/PoppySeedPets

add basic support for disabled accounts

Open
#22 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
PHP
Stars
15
Forks
6
Avg merge
5m
Merged PRs (30d)
2

Description

first step in allowing players to disable (and eventually delete) their accounts is hooking up everything to support disabled accounts!

**🧚‍♀️ Hey, listen!** you may notice that accounts/Users already have an `isLocked` property. this is used for permanent locks (for example, bans), and NPC accounts which should never be logged into. disabled status will be _similar_, but different!

1. add a `disabledOn` date time field to the User entity class
1. `php bin/console make:entity User` and follow the prompts
2. `php bin/console make:migration`
3. `php bin/console doctrine:migrations:migrate`
2. exclude disabled users from poppyopedia searches
3. if a disabled user's profile is visited, they should get the same "No such person exists..." as if visiting an invalid user id, for example: https://poppyseedpets.com/poppyopedia/resident/9999999
4. if someone logs in as a disabled user, correctly entering both the username & password, un-disable their account
* (a more-sophisticated undisabling system will be added as part of a future issue.)

Contributor guide

No contributing guide indexed for this repository

Research direction

Read the User entity and trace the Poppyopedia search, resident-profile, and login entry points. Follow the listed make:entity, make:migration, and doctrine:migrations:migrate commands. Done means disabled users are excluded from searches, their profiles show the existing no-such-person response, and a successful login re-enables the account.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, symfony
Domain
authentication, backend, database, search
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.