Edit of links and database versioning
This commit is contained in:
@@ -44,6 +44,8 @@ On Windows PowerShell, activate the environment with:
|
||||
|
||||
The SQLite database is created automatically at `backend/data/linklog.db` when the application starts or when the auth router is imported. The starter accounts are:
|
||||
|
||||
The database schema is versioned with SQLite `PRAGMA user_version`. Application startup applies all pending migrations in order, so updating the application does not require deleting an existing database. New schema changes should be added as a new numbered migration in `backend/app/database.py`; existing migration entries must remain unchanged.
|
||||
|
||||
| Username | Password | Role |
|
||||
| --- | --- | --- |
|
||||
| `alice` | `secret123` | administrator |
|
||||
@@ -197,6 +199,9 @@ The public feed is available at:
|
||||
GET http://localhost:8000/api/public/feed
|
||||
```
|
||||
|
||||
When a request includes a valid bearer token, entries owned by that authenticated user include edit permission and show an inline **Edit** action in the feed. The update endpoint is `PUT /api/links/{link_id}` and rejects edits from other users.
|
||||
Feed items also expose `is_owner`; it is `true` only for entries owned by the authenticated user and `false` for anonymous viewers or other users.
|
||||
|
||||
Admin plugin requests must include the administrator's token:
|
||||
|
||||
```sh
|
||||
@@ -214,3 +219,4 @@ Administrators can manage user privileges from the admin page. The `Administrato
|
||||
- **Port 8000 is occupied**: run uvicorn with another port and update the extension backend URL, for example `--port 8001`.
|
||||
- **Port 80 or 8080 is occupied**: change the host-side ports in `docker-compose.yml`.
|
||||
- **Stale development data**: stop the backend and remove `backend/data/linklog.db`, or run `docker compose down -v` for the container volume.
|
||||
- **Schema migration issue**: inspect the database version with `sqlite3 backend/data/linklog.db 'PRAGMA user_version;'` and restart the application to apply pending migrations.
|
||||
|
||||
Reference in New Issue
Block a user