ld ac98b5ddbd feat(middleware): add AdminRequired authorization middleware
AdminRequired gates admin endpoints by checking user IsAdmin flag.

Placed AFTER AuthRequired; fetches user from repository, returns 403 for non-admins.

Soft-deleted users are rejected with 401 since FindByID excludes them.

Tests: admin passes, non-admin forbidden, soft-deleted admin rejected, missing user ID.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-07-04 17:20:30 +08:00
2026-04-29 11:51:20 +08:00

MyGO

MyGO is a WebDisk (cloud drive) server, written in Go.

Current status: pre-alpha — project skeleton with no core functionality implemented yet.


Roadmap

v0

  • CLI configuration management (mygo config)
  • User authentication (JWT)
  • File upload / download / management (HTTP API)
  • Admin endpoints
  • WebDAV support

Future

  • Image server
  • Pastebin & code snippet editing in sharing
  • S3 storage backend
  • Nextcloud-compatible API

CLI

mygo is the backend entrypoint with these subcommands:

Command Description
mygo serve Start the backend server
mygo config Manage instance configuration
mygo status Show server status

Frontend

The frontend uses React + TypeScript and communicates with the backend via HTTP API. Frontend source is maintained in a separate repository.


Development

See docs/development.md for build and test workflows. See AGENTS.md for behavioral conventions.

S
Description
MyGO: a webdisk written in Go. This is the server (backend) application.
Readme 371 KiB
Languages
Go 100%