import { Router } from "express";
import { OAuthInternalApp } from "./oauth.js";
import PasswordAuth from "./password.js";

const InternalRoute: Router = Router();
/**
 * @api {get} /internal/oauth
 * @apiName ClientInteralOAuth
 *
 * @apiGroup client_internal
 * @apiPermission client_internal Only ClientID
 *
 * @apiParam {String} redirect_uri Redirect URI called after success
 * @apiParam {String} state State will be set in RedirectURI for the client to check
 */
InternalRoute.get("/oauth", OAuthInternalApp);

/**
 * @api {post} /internal/password
 * @apiName ClientInteralPassword
 *
 * @apiGroup client_internal
 * @apiPermission client_internal Requires ClientID and Secret
 *
 * @apiParam {String} username Username (either username or UID)
 * @apiParam {String} uid User ID (either username or UID)
 * @apiParam {String} password Hashed and Salted according to specification
 */
InternalRoute.post("/password", PasswordAuth);
export default InternalRoute;
