mirror of
				https://gitlab.com/comunic/comunicconsole
				synced 2025-11-04 04:04:04 +00:00 
			
		
		
		
	Load the list of roles in memory
This commit is contained in:
		@@ -1,21 +1,21 @@
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
  <head>
 | 
			
		||||
    <meta charset="utf-8" />
 | 
			
		||||
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
 | 
			
		||||
    <meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
			
		||||
    <meta name="theme-color" content="#000000" />
 | 
			
		||||
    <meta
 | 
			
		||||
      name="description"
 | 
			
		||||
      content="Comunic moderation & administration"
 | 
			
		||||
    />
 | 
			
		||||
    <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
 | 
			
		||||
    <!--
 | 
			
		||||
	<head>
 | 
			
		||||
		<meta charset="utf-8" />
 | 
			
		||||
		<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
 | 
			
		||||
		<meta name="viewport" content="width=device-width, initial-scale=1" />
 | 
			
		||||
		<meta name="theme-color" content="#000000" />
 | 
			
		||||
		<meta
 | 
			
		||||
			name="description"
 | 
			
		||||
			content="Comunic moderation & administration"
 | 
			
		||||
		/>
 | 
			
		||||
		<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
 | 
			
		||||
		<!--
 | 
			
		||||
      manifest.json provides metadata used when your web app is installed on a
 | 
			
		||||
      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
 | 
			
		||||
    -->
 | 
			
		||||
    <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
 | 
			
		||||
    <!--
 | 
			
		||||
		<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
 | 
			
		||||
		<!--
 | 
			
		||||
      Notice the use of %PUBLIC_URL% in the tags above.
 | 
			
		||||
      It will be replaced with the URL of the `public` folder during the build.
 | 
			
		||||
      Only files inside the `public` folder can be referenced from the HTML.
 | 
			
		||||
@@ -24,12 +24,18 @@
 | 
			
		||||
      work correctly both with client-side routing and a non-root public URL.
 | 
			
		||||
      Learn how to configure a non-root public URL by running `npm run build`.
 | 
			
		||||
    -->
 | 
			
		||||
    <title>Comunic Console</title>
 | 
			
		||||
  </head>
 | 
			
		||||
  <body>
 | 
			
		||||
    <noscript>You need to enable JavaScript to run this app.</noscript>
 | 
			
		||||
    <div id="root"></div>
 | 
			
		||||
    <!--
 | 
			
		||||
		<title>Comunic Console</title>
 | 
			
		||||
 | 
			
		||||
		<style>
 | 
			
		||||
			body {
 | 
			
		||||
				background-color: #212121;
 | 
			
		||||
			}
 | 
			
		||||
		</style>
 | 
			
		||||
	</head>
 | 
			
		||||
	<body>
 | 
			
		||||
		<noscript>You need to enable JavaScript to run this app.</noscript>
 | 
			
		||||
		<div id="root"></div>
 | 
			
		||||
		<!--
 | 
			
		||||
      This HTML file is a template.
 | 
			
		||||
      If you open it directly in the browser, you will see an empty page.
 | 
			
		||||
 | 
			
		||||
@@ -38,6 +44,5 @@
 | 
			
		||||
 | 
			
		||||
      To begin the development, run `npm start` or `yarn start`.
 | 
			
		||||
      To create a production bundle, use `npm run build` or `yarn build`.
 | 
			
		||||
    -->
 | 
			
		||||
  </body>
 | 
			
		||||
    --></body>
 | 
			
		||||
</html>
 | 
			
		||||
 
 | 
			
		||||
@@ -133,7 +133,7 @@ export class AdminKeyHelper {
 | 
			
		||||
	 * @param adminID The id of the target administrator
 | 
			
		||||
	 */
 | 
			
		||||
	static async GetAdminKeys(adminID: number): Promise<AdminAccountKey[]> {
 | 
			
		||||
		return await serverRequest("keys/keys", {
 | 
			
		||||
		return await serverRequest("keys/list", {
 | 
			
		||||
			id: adminID,
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										26
									
								
								src/helpers/AdminRolesHelper.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								src/helpers/AdminRolesHelper.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,26 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Admin roles helper
 | 
			
		||||
 *
 | 
			
		||||
 * @author Pierre Hubert
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
import { serverRequest } from "./APIHelper";
 | 
			
		||||
 | 
			
		||||
export interface AdminRole {
 | 
			
		||||
	id: string;
 | 
			
		||||
	name: string;
 | 
			
		||||
	description: string;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
let RolesList: AdminRole[] = [];
 | 
			
		||||
 | 
			
		||||
export class AdminRolesHelper {
 | 
			
		||||
	/**
 | 
			
		||||
	 * Load the list of roles.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @throws In case of failure
 | 
			
		||||
	 */
 | 
			
		||||
	static async LoadRolesList() {
 | 
			
		||||
		RolesList = await serverRequest("roles/list");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 | 
			
		||||
import React from "react";
 | 
			
		||||
import { AccountHelper } from "../../helpers/AccountHelper";
 | 
			
		||||
import { AdminRolesHelper } from "../../helpers/AdminRolesHelper";
 | 
			
		||||
import { LoginRoute } from "../routes/LoginRoute";
 | 
			
		||||
import { MainRoute } from "../routes/MainRoute";
 | 
			
		||||
import { AsyncWidget } from "./AsyncWidget";
 | 
			
		||||
@@ -31,6 +32,9 @@ export class InitWidget extends React.Component<{}, InitWidgetState> {
 | 
			
		||||
 | 
			
		||||
		if (AccountHelper.hasAccessToken) {
 | 
			
		||||
			await AccountHelper.refreshCurrentAccountInfo();
 | 
			
		||||
 | 
			
		||||
			await AdminRolesHelper.LoadRolesList();
 | 
			
		||||
 | 
			
		||||
			this.setState({ signedIn: true });
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user