59 lines
1.6 KiB
Markdown
59 lines
1.6 KiB
Markdown
# Reinitialize User with Default Props
|
|
|
|
When stock props or avatars are updated in the database, existing users may need to be reinitialized to receive the new defaults.
|
|
|
|
## Steps
|
|
|
|
1. Find the user's ID:
|
|
|
|
```sql
|
|
SELECT id, username FROM auth.users WHERE username = 'TARGET_USERNAME';
|
|
```
|
|
|
|
2. Clear existing data and reinitialize:
|
|
|
|
```sql
|
|
BEGIN;
|
|
|
|
-- Clear existing props and avatars for the user
|
|
DELETE FROM props.active_avatars WHERE user_id = 'USER_UUID';
|
|
DELETE FROM props.avatars WHERE user_id = 'USER_UUID';
|
|
DELETE FROM props.inventory WHERE user_id = 'USER_UUID';
|
|
|
|
-- Reinitialize with current server props
|
|
SELECT auth.initialize_new_user('USER_UUID');
|
|
|
|
COMMIT;
|
|
```
|
|
|
|
3. Verify the results:
|
|
|
|
```sql
|
|
SELECT COUNT(*) as inventory_count FROM props.inventory WHERE user_id = 'USER_UUID';
|
|
SELECT id, name, slot_number FROM props.avatars WHERE user_id = 'USER_UUID';
|
|
```
|
|
|
|
## Example: Reinitialize ranosh
|
|
|
|
```bash
|
|
psql -d chattyness <<'EOF'
|
|
BEGIN;
|
|
|
|
DELETE FROM props.active_avatars WHERE user_id = '57a12201-ea0f-4545-9ccc-c4e67ea7e2c4';
|
|
DELETE FROM props.avatars WHERE user_id = '57a12201-ea0f-4545-9ccc-c4e67ea7e2c4';
|
|
DELETE FROM props.inventory WHERE user_id = '57a12201-ea0f-4545-9ccc-c4e67ea7e2c4';
|
|
|
|
SELECT auth.initialize_new_user('57a12201-ea0f-4545-9ccc-c4e67ea7e2c4');
|
|
|
|
COMMIT;
|
|
EOF
|
|
```
|
|
|
|
## What `initialize_new_user` Does
|
|
|
|
The `auth.initialize_new_user()` function:
|
|
|
|
1. Inserts all face-tagged server props into the user's inventory
|
|
2. Creates a default avatar (slot 0) with:
|
|
- Face prop in the skin layer (position 4, center)
|
|
- All emotion props mapped to their respective emotion slots
|