Skip to content

Commit a80fea7

Browse files
Merge pull request #445 from communitybridge/feature/revert-github-login
Feature: Reverted GitHub login
2 parents a2b1561 + ed07a16 commit a80fea7

File tree

8 files changed

+52
-112
lines changed

8 files changed

+52
-112
lines changed

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,5 @@
139139
"xmlhttprequest-ssl": "^1.6.3",
140140
"@babel/traverse": "^7.23.2",
141141
"postcss": "^8.4.31"
142-
},
143-
"packageManager": "[email protected]+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72"
142+
}
144143
}

src/app/app-routing.module.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const routes: Routes = [
2424
component: AuthComponent
2525
},
2626
{
27-
path: 'cla/project/:projectId',
27+
path: 'cla/project/:projectId/user/:userId',
2828
pathMatch: 'full',
2929
component: ClaDashboardComponent
3030
},

src/app/config/app-settings.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ export class AppSettings {
1313
public static HAS_GERRIT = 'hasGerrit';
1414
public static PROJECT_NAME = 'projectName';
1515
public static USER = 'user';
16-
public static USER_FROM_SESSION = 'userFromSession';
1716
public static PROJECT = 'project';
1817
public static USER_ID = 'userId';
1918
public static CONTRACT_TYPE = 'contractType';

src/app/core/models/user.ts

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -19,37 +19,6 @@ export class UserModel {
1919
version: string;
2020
}
2121

22-
export class UserFromTokenModel {
23-
dateCreated: string
24-
dateModified: string
25-
emails: any
26-
lfEmail: string
27-
lfUsername: string
28-
userID: string
29-
username: string
30-
version: string
31-
}
32-
33-
export class UserFromSessionModel {
34-
date_created: string
35-
date_modified: string
36-
lf_email: any
37-
lf_sub: any
38-
lf_username: any
39-
note: any
40-
user_company_id: any
41-
user_emails: string[]
42-
user_external_id: any
43-
user_github_id: string
44-
user_github_username: string
45-
user_gitlab_id: any
46-
user_gitlab_username: any
47-
user_id: string
48-
user_ldap_id: any
49-
user_name: string
50-
version: string
51-
}
52-
5322
export class UpdateUserModel {
5423
companyID: string;
5524
dateCreated: Date;
@@ -63,4 +32,3 @@ export class UpdateUserModel {
6332
username: string;
6433
version: string;
6534
}
66-

src/app/core/services/cla-contributor.service.ts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {Injectable, isDevMode} from '@angular/core';
55
import {HttpClient} from '@angular/common/http';
66
import {Observable, Subject} from 'rxjs';
77
import {Project, ProjectModel} from '../models/project';
8-
import {UpdateUserModel, UserFromTokenModel, UserModel} from '../models/user';
8+
import {UpdateUserModel, UserModel} from '../models/user';
99
import {AlertService} from 'src/app/shared/services/alert.service';
1010
import {ActiveSignatureModel} from '../models/active-signature';
1111
import {IndividualRequestSignatureModel} from '../models/individual-request-signature';
@@ -55,14 +55,9 @@ export class ClaContributorService {
5555
}
5656

5757

58-
getUserFromToken(): Observable<UserFromTokenModel> {
59-
const url = this.getV4Endpoint('/v4/user-from-token');
60-
return this.httpClient.get<UserFromTokenModel>(url);
61-
}
62-
63-
getUserFromSession(): Observable<any> {
64-
const url = this.getV2Endpoint('/v2/user-from-session');
65-
return this.httpClient.get<any>(url);
58+
getUser(userId: string): Observable<UserModel> {
59+
const url = this.getV2Endpoint('/v2/user/' + userId);
60+
return this.httpClient.get<UserModel>(url);
6661
}
6762

6863
updateUser(data: any): Observable<UpdateUserModel> {

src/app/modules/dashboard/container/cla-dashboard/cla-dashboard.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!-- Copyright The Linux Foundation and each contributor to CommunityBridge.
22
SPDX-License-Identifier: MIT -->
33

4-
<app-project-title [projectId]="projectId" [userId]="userId" (successEmitter)="onAPILoad($event)" (setUserIdEmitter)="setUserId($event)"
4+
<app-project-title [projectId]="projectId" [userId]="userId" (successEmitter)="onAPILoad($event)"
55
(errorEmitter)="hasErrorPresent($event)"></app-project-title>
66

77
<div class="container-fluid dashboard-container">

src/app/modules/dashboard/container/cla-dashboard/cla-dashboard.component.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,6 @@ export class ClaDashboardComponent implements OnInit {
8282
}
8383
}
8484

85-
setUserId(userId: string) {
86-
this.userId = userId;
87-
}
88-
8985
onAPILoad(APIType: string) {
9086
if (APIType === 'Project') {
9187
this.project = JSON.parse(this.storageService.getItem(AppSettings.PROJECT));
Lines changed: 45 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,32 @@
11
// Copyright The Linux Foundation and each contributor to CommunityBridge.
22
// SPDX-License-Identifier: MIT
33

4-
import { Component, OnInit, Input, EventEmitter, Output, ViewChild, TemplateRef } from '@angular/core';
4+
import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';
55
import { AlertService } from '../../services/alert.service';
66
import { ClaContributorService } from 'src/app/core/services/cla-contributor.service';
77
import { ProjectModel } from 'src/app/core/models/project';
8-
import { UserFromSessionModel, UserFromTokenModel } from 'src/app/core/models/user';
8+
import { UserModel } from 'src/app/core/models/user';
99
import { StorageService } from '../../services/storage.service';
1010
import { AppSettings } from 'src/app/config/app-settings';
11-
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
1211

1312
@Component({
1413
selector: 'app-project-title',
1514
templateUrl: './project-title.component.html',
1615
styleUrls: ['./project-title.component.scss']
1716
})
1817
export class ProjectTitleComponent implements OnInit {
19-
@ViewChild('warningModal') warningModal: TemplateRef<any>;
20-
2118
@Input() projectId: string;
2219
@Input() userId: string;
2320
@Output() errorEmitter: EventEmitter<any> = new EventEmitter<any>();
2421
@Output() successEmitter: EventEmitter<any> = new EventEmitter<any>();
25-
@Output() setUserIdEmitter: EventEmitter<any> = new EventEmitter<any>();
2622

27-
message: string;
28-
redirectUrl: string;
2923
project = new ProjectModel();
30-
user = new UserFromTokenModel();
31-
userFromSession = new UserFromSessionModel();
24+
user = new UserModel();
25+
3226
constructor(
3327
private alertService: AlertService,
3428
private storageService: StorageService,
3529
private claContributorService: ClaContributorService,
36-
private modalService: NgbModal
3730
) { }
3831

3932
ngOnInit(): void {
@@ -46,74 +39,64 @@ export class ProjectTitleComponent implements OnInit {
4639
}
4740

4841
validateGithubFlow() {
49-
if (this.projectId) {
42+
if (this.projectId && this.userId) {
43+
const localProjectId = JSON.parse(this.storageService.getItem(AppSettings.PROJECT_ID));
44+
const localUserId = JSON.parse(this.storageService.getItem(AppSettings.USER_ID));
45+
if (localProjectId !== this.projectId) {
5046
this.getProject();
47+
} else {
48+
this.successEmitter.emit('Project');
49+
this.project.project_name = JSON.parse(this.storageService.getItem(AppSettings.PROJECT_NAME));
50+
}
51+
52+
if (localUserId !== this.userId) {
5153
this.getUser();
54+
}
5255
} else {
5356
this.errorEmitter.emit(true);
54-
this.alertService.error('Invalid project id in URL');
57+
this.alertService.error('Invalid project id and user id in URL');
5558
}
5659
}
5760

5861
getProject() {
59-
console.log(this.projectId)
60-
this.claContributorService.getProject(this.projectId).subscribe(
61-
(response) => {
62-
this.project = response;
63-
this.storageService.setItem(AppSettings.PROJECT_NAME, this.project.project_name);
64-
this.storageService.setItem(AppSettings.PROJECT_ID, this.projectId);
65-
this.storageService.setItem(AppSettings.PROJECT, this.project);
66-
this.successEmitter.emit('Project');
67-
},
68-
(exception) => {
69-
this.errorEmitter.emit(true);
70-
this.claContributorService.handleError(exception);
71-
}
72-
);
62+
if (this.projectId) {
63+
this.claContributorService.getProject(this.projectId).subscribe(
64+
(response) => {
65+
this.project = response;
66+
this.storageService.setItem(AppSettings.PROJECT_NAME, this.project.project_name);
67+
this.storageService.setItem(AppSettings.PROJECT_ID, this.projectId);
68+
this.storageService.setItem(AppSettings.PROJECT, this.project);
69+
this.successEmitter.emit('Project');
70+
},
71+
(exception) => {
72+
this.errorEmitter.emit(true);
73+
this.claContributorService.handleError(exception);
74+
}
75+
);
76+
} else {
77+
this.errorEmitter.emit(true);
78+
this.alertService.error('Invalid project id in URL');
79+
}
7380
}
7481

7582

7683
getUser() {
77-
this.claContributorService.getUserFromToken().subscribe(
84+
if (this.userId) {
85+
this.claContributorService.getUser(this.userId).subscribe(
7886
(response) => {
79-
console.log('getUserFromToken response ==>', response)
8087
this.user = response;
81-
this.storageService.setItem(AppSettings.USER_ID, this.user.userID);
88+
this.storageService.setItem(AppSettings.USER_ID, this.userId);
8289
this.storageService.setItem(AppSettings.USER, this.user);
8390
this.successEmitter.emit('User');
84-
this.setUserIdEmitter.emit(this.user.userID);
8591
},
86-
() => {
87-
// If user is not found in token, get user from session
88-
this.getUserFromSession();
92+
(exception) => {
93+
this.errorEmitter.emit(true);
94+
this.claContributorService.handleError(exception);
8995
}
9096
);
97+
} else {
98+
this.errorEmitter.emit(true);
99+
this.alertService.error('Invalid user id in URL');
100+
}
91101
}
92-
93-
getUserFromSession() {
94-
this.claContributorService.getUserFromSession().subscribe(
95-
(response: any) => {
96-
console.log('getUserFromSession response ==>', response)
97-
this.userFromSession = response;
98-
this.storageService.setItem(AppSettings.USER_ID, this.userFromSession.user_id);
99-
this.storageService.setItem(AppSettings.USER, {
100-
dateCreated: this.userFromSession.date_created,
101-
dateModified: this.userFromSession.date_modified,
102-
emails: this.userFromSession.user_emails,
103-
lfEmail: this.userFromSession.lf_email,
104-
lfUsername: this.userFromSession.lf_username,
105-
userID: this.userFromSession.user_id,
106-
username: this.userFromSession.user_name,
107-
version: this.userFromSession.version
108-
});
109-
this.successEmitter.emit('User');
110-
},
111-
(exception) => {
112-
console.log('getUserFromSession exception ==>', exception)
113-
this.errorEmitter.emit(true);
114-
this.alertService.error('An error occurred while retrieving the GitHub user from the session.');
115-
this.claContributorService.handleError(exception);
116-
}
117-
);
118-
}
119-
}
102+
}

0 commit comments

Comments
 (0)