package repository import "context" type ( User struct { ID uint Username string Name string IsAdmin bool Path string } UpdateUser struct { Username string Name string IsAdmin bool Path string } CreateUser struct { Username string Name string Password []byte IsAdmin bool Path string } UserRepository interface { Get(ctx context.Context, id uint) (*User, error) GetPathFromUserID(ctx context.Context, id uint) (string, error) List(ctx context.Context) ([]*User, error) Create(ctx context.Context, createUser *CreateUser) (uint, error) Update(ctx context.Context, id uint, updateUser *UpdateUser) error Delete(ctx context.Context, id uint) error UpdatePassword(ctx context.Context, id uint, password []byte) error Any(ctx context.Context) (bool, error) } )