web: routes /accept-invite et /reset-password (liens des courriels) ; cli: --tier unlimited
2 changed files +3 −1
modified
hfmarketdata/api/accounts/cli.py
+1 −1
@@ -183,7 +183,7 @@ def build_parser() -> argparse.ArgumentParser: | ||
| 183 | 183 | users = sub.add_parser("users", help="manage users").add_subparsers(dest="sub", required=True) |
| 184 | 184 | add = users.add_parser("add", help="create a user + key + invitation") |
| 185 | 185 | add.add_argument("name"); add.add_argument("email") |
| 186 | − add.add_argument("--tier", choices=("free", "high_usage"), default="free") | |
| 186 | + add.add_argument("--tier", choices=("free", "high_usage", "unlimited"), default="free") | |
| 187 | 187 | add.add_argument("--admin", action="store_true") |
| 188 | 188 | add.add_argument("--show-key", action="store_true", help="print the full API key (creation only)") |
| 189 | 189 | add.add_argument("--no-mail", action="store_true", help="never send e-mail, print the link") |
modified
hfmarketdata/web/src/App.jsx
+2 −0
@@ -32,6 +32,8 @@ export default function App() { | ||
| 32 | 32 | <Route path="/verify" element={<Auth mode="verify" />} /> |
| 33 | 33 | <Route path="/reset" element={<Auth mode="reset" />} /> |
| 34 | 34 | <Route path="/invite" element={<Auth mode="invite" />} /> |
| 35 | + <Route path="/accept-invite" element={<Auth mode="invite" />} /> | |
| 36 | + <Route path="/reset-password" element={<Auth mode="reset" />} /> | |
| 35 | 37 | <Route path="/dashboard/*" element={<Dashboard />} /> |
| 36 | 38 | <Route path="/admin/*" element={<Admin />} /> |
| 37 | 39 | <Route path="*" element={<NotFound />} /> |
| 38 | 40 | |