11'use strict' ;
22
3- class Accounts {
4- constructor ( ) {
5- this . users = new Map ( ) ;
6- }
3+ class Auth {
4+ #users = new Map ( ) ;
75
86 createUser ( login , password , group ) {
9- this . users . set ( login , { login, password, group } ) ;
7+ this . # users. set ( login , { login, password, group } ) ;
108 }
119
1210 checkUserPassword ( login , password ) {
13- const account = this . users . get ( login ) ;
11+ const account = this . # users. get ( login ) ;
1412 if ( ! account ) return false ;
1513 return account . password === password ;
1614 }
1715
1816 getUserGroup ( login ) {
19- const account = this . users . get ( login ) ;
17+ const account = this . # users. get ( login ) ;
2018 if ( ! account ) return undefined ;
2119 return account . group ;
2220 }
2321}
2422
2523class Logger {
24+ static #COLORS = {
25+ warn : '\x1b[1;33m' ,
26+ error : '\x1b[0;31m' ,
27+ info : '\x1b[1;37m' ,
28+ } ;
29+
2630 static color ( level ) {
27- return Logger . COLORS [ level ] || Logger . COLORS . info ;
31+ return Logger . # COLORS[ level ] || Logger . # COLORS. info ;
2832 }
2933
3034 log ( level , s ) {
@@ -46,17 +50,11 @@ class Logger {
4650 }
4751}
4852
49- Logger . COLORS = {
50- warn : '\x1b[1;33m' ,
51- error : '\x1b[0;31m' ,
52- info : '\x1b[1;37m' ,
53- } ;
54-
5553// Mediator
5654
57- class Authenticator {
58- constructor ( accounts , logger ) {
59- this . accounts = accounts ;
55+ class Security {
56+ constructor ( auth , logger ) {
57+ this . auth = auth ;
6058 this . logger = logger ;
6159 }
6260
@@ -65,7 +63,7 @@ class Authenticator {
6563 this . logger . error ( 'No login or password passed to auth' ) ;
6664 return false ;
6765 }
68- const valid = this . accounts . checkUserPassword ( login , password ) ;
66+ const valid = this . auth . checkUserPassword ( login , password ) ;
6967 if ( ! valid ) {
7068 this . logger . warn ( `Password is not valid for ${ login } ` ) ;
7169 return false ;
@@ -77,14 +75,14 @@ class Authenticator {
7775
7876// Usage
7977
80- const accounts = new Accounts ( ) ;
81- accounts . createUser ( 'marcus' , '12345' , 'emperors' ) ;
78+ const auth = new Auth ( ) ;
79+ auth . createUser ( 'marcus' , '12345' , 'emperors' ) ;
8280
8381const logger = new Logger ( ) ;
8482
85- const authenticator = new Authenticator ( accounts , logger ) ;
86- console . dir ( authenticator ) ;
83+ const sec = new Security ( auth , logger ) ;
84+ console . dir ( sec ) ;
8785
88- authenticator . check ( 'marcus' ) ;
89- authenticator . check ( 'marcus' , 'qwerty' ) ;
90- authenticator . check ( 'marcus' , '12345' ) ;
86+ sec . check ( 'marcus' ) ;
87+ sec . check ( 'marcus' , 'qwerty' ) ;
88+ sec . check ( 'marcus' , '12345' ) ;
0 commit comments