= Watchman == Overview Watchman is a hacky small scale logging tool for my personal projects kind of like that art you made in kindergarden (awesome, but not exactly museum worthy). i wrote this purely for my own amusement, since it doesn't even have basic auth, this project is strictly a "don't try this at home" situation. Maybe someday I'll get around to adding auth, but even then, this is best used with toy projects. === Project Management API ==== TOC * <<1-create-project,1. Create Project>> * <<2-list-projects,2. List Projects>> * <<3-get-project-by-id,3. Get Project By ID>> * <<4-update-project,4. Update Project>> * <<5-delete-project,5. Delete Project>> ==== 1. Create Project [source,sh] ---- curl -X POST http://127.0.0.1:4000/projects -d '{"name": "Project 1"}' ---- ==== 2. List Projects [source,sh] ---- curl http://127.0.0.1:4000/projects ---- ==== 3. Get Project By ID [source,sh] ---- curl -X GET http://127.0.0.1:4000/projects/{id} ---- ==== 4. Update Project [source,sh] ---- curl -X PUT http://127.0.0.1:4000/projects/{id} -d '{"name": "Updated Project Name"}' ---- ==== 5. Delete Project [source,sh] ---- curl -X DELETE http://127.0.0.1:4000/projects/{id} ---- === Log Management API ==== TOC * <<1-create-logs-bulk,1. Create Logs (Bulk)>> * <<2-list-logs,2. List Logs>> * <<3-delete-logs,3. Delete Logs>> ==== 1. Create Logs (Bulk) [source,sh] ---- curl -X POST http://127.0.0.1:4000/logs -d '[{"time": 1615760000, "level": "info", "message": "this is a test log", "subject": "test", "user_id": "1", "project_id": "1"}]' ---- ==== 2. List Logs [source,sh] ---- curl http://127.0.0.1:4000/logs?project_id=1 ---- Or you add more query params to filter the logs [source,sh] ---- curl http://127.0.0.1:4000/logs?project_id=1&user_id=1&log_level=info&start_time=1615760000&end_time=1615760000 ---- ==== 3. Delete Logs [source,sh] ---- curl -X DELETE http://127.0.0.1:4000/logs?project_id=1 ---- Or you can add more query params to filter the logs [source,sh] ---- curl -X DELETE http://127.0.0.1:4000/logs?project_id=1&user_id=2 ----