first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 21:37:58 +03:00
commit 8b1fbdee99
104 changed files with 23398 additions and 0 deletions

46
ADMIN_SEEDING.md Normal file
View File

@@ -0,0 +1,46 @@
# Admin User Seeding Guide
This document explains how to manage the default admin user in the GAuth-Central application.
## Overview
Previously, the default admin user was created automatically every time the application started. This behavior has been changed to prevent accidental recreation or resetting of the admin user in production environments.
Now, the default admin user is **only** created when you explicitly run the seeding command.
## How to Seed the Admin User
To create the default admin user, run the application with the `seed-admin` argument:
```bash
go run main.go seed-admin
```
Or if you have built the binary:
```bash
./gauth-central seed-admin
```
### What this command does:
1. Checks if a user with email `admin@gauth.local` exists (including soft-deleted users).
2. **If not found:** Creates a new user with default credentials.
3. **If found but deleted:** Restores the user (sets `deleted_at` to NULL).
4. Ensures the user has the `admin` role assigned.
## Default Credentials
* **Email:** `admin@gauth.local`
* **Password:** `Admin@123`
> **⚠️ Security Warning:** Please change this password immediately after your first login!
## Running the Server Normally
To run the server without seeding the admin user (normal operation):
```bash
go run main.go
```
The application will connect to the database and run migrations, but it will **not** attempt to create or modify the default admin user.