import SessionManager from '../managers/SessionManager';
import GitlabManager  from '../managers/GitlabManager';


class AccessesHelper {
    async checkStudent(): Promise<boolean> {
        const sessionResult = await SessionManager.testSession(true, [ 'student' ]);

        if ( !sessionResult ) {
            return false;
        }

        return (await GitlabManager.testToken(true)).every(result => result);
    }
    
    async checkTeachingStaff(): Promise<boolean> {
        const sessionResult = await SessionManager.testSession(true, [ 'teachingStaff' ]);

        if ( !sessionResult || !sessionResult.teachingStaff ) {
            return false;
        }

        return (await GitlabManager.testToken(true)).every(result => result);
    }
}

export default new AccessesHelper();