Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export const githubConfig = {
client_id: '462d5714bbdb3c9ace6c',
client_secret: 'd69b43757cfbbf05db995eb4a540c654a91d9a79'
}
}
92 changes: 64 additions & 28 deletions angular.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,7 @@
"libs/material/tsconfig.lib.json",
"libs/material/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**",
"!libs/material/**"
]
"exclude": ["**/node_modules/**", "!libs/material/**"]
}
},
"test": {
Expand Down Expand Up @@ -48,10 +45,7 @@
"libs/core-data/tsconfig.lib.json",
"libs/core-data/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**",
"!libs/core-data/**"
]
"exclude": ["**/node_modules/**", "!libs/core-data/**"]
}
},
"test": {
Expand Down Expand Up @@ -82,10 +76,7 @@
"libs/core-state/tsconfig.lib.json",
"libs/core-state/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**",
"!libs/core-state/**"
]
"exclude": ["**/node_modules/**", "!libs/core-state/**"]
}
},
"test": {
Expand Down Expand Up @@ -116,10 +107,7 @@
"libs/ui-libraries/tsconfig.lib.json",
"libs/ui-libraries/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**",
"!libs/ui-libraries/**"
]
"exclude": ["**/node_modules/**", "!libs/ui-libraries/**"]
}
},
"test": {
Expand Down Expand Up @@ -161,9 +149,7 @@
"apps/vulnerability-checker/src/favicon.ico",
"apps/vulnerability-checker/src/assets"
],
"styles": [
"apps/vulnerability-checker/src/styles.scss"
],
"styles": ["apps/vulnerability-checker/src/styles.scss"],
"scripts": []
},
"configurations": {
Expand Down Expand Up @@ -201,7 +187,8 @@
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "vulnerability-checker:build"
"browserTarget": "vulnerability-checker:build",
"proxyConfig": "apps/vulnerability-checker/proxy.conf.json"
},
"configurations": {
"production": {
Expand All @@ -222,10 +209,7 @@
"apps/vulnerability-checker/tsconfig.app.json",
"apps/vulnerability-checker/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**",
"!apps/vulnerability-checker/**"
]
"exclude": ["**/node_modules/**", "!apps/vulnerability-checker/**"]
}
},
"test": {
Expand Down Expand Up @@ -259,16 +243,68 @@
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"apps/vulnerability-checker-e2e/tsconfig.e2e.json"
],
"tsConfig": ["apps/vulnerability-checker-e2e/tsconfig.e2e.json"],
"exclude": [
"**/node_modules/**",
"!apps/vulnerability-checker-e2e/**"
]
}
}
}
},
"github-server": {
"root": "apps/github-server",
"sourceRoot": "apps/github-server/src",
"projectType": "application",
"prefix": "github-server",
"schematics": {},
"architect": {
"build": {
"builder": "@nrwl/node:build",
"options": {
"outputPath": "dist/apps/github-server",
"main": "apps/github-server/src/main.ts",
"tsConfig": "apps/github-server/tsconfig.app.json",
"assets": ["apps/github-server/src/assets"]
},
"configurations": {
"production": {
"optimization": true,
"extractLicenses": true,
"inspect": false,
"fileReplacements": [
{
"replace": "apps/github-server/src/environments/environment.ts",
"with": "apps/github-server/src/environments/environment.prod.ts"
}
]
}
}
},
"serve": {
"builder": "@nrwl/node:execute",
"options": {
"buildTarget": "github-server:build"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"apps/github-server/tsconfig.app.json",
"apps/github-server/tsconfig.spec.json"
],
"exclude": ["**/node_modules/**", "!apps/github-server/**"]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"options": {
"jestConfig": "apps/github-server/jest.config.js",
"tsConfig": "apps/github-server/tsconfig.spec.json"
}
}
}
}
},
"cli": {
Expand All @@ -285,4 +321,4 @@
}
},
"defaultProject": "vulnerability-checker"
}
}
5 changes: 5 additions & 0 deletions apps/github-server/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
name: 'github-server',
preset: '../../jest.config.js',
coverageDirectory: '../../coverage/apps/github-server'
};
Empty file.
24 changes: 24 additions & 0 deletions apps/github-server/src/app/auth.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import { Express } from 'express';
import axios from 'axios';
import * as queryString from 'query-string';
import { environment } from '../environments/environment';

const githubConfig = environment.ghConfig;

const accessTokenURL = (code) => `https://github.com/login/oauth/access_token?code=${code}&client_secret=${githubConfig.client_id}&client_id=${githubConfig.client_secret}&redirect_uri=http://localhost:4200/callback`;

export function githubAccessToken(app: Express) {
app.post('/api/auth', async (req, res) => {
const ghCodeFromClient = req.query.code;

try {
const queryForAccessToken = await axios.post(accessTokenURL(ghCodeFromClient));
const parseData = queryString.parse(queryForAccessToken.data);
const access_token = parseData.access_token;

res.send({ access_token });
} catch (error) {
console.log('Error adfadsf ', error);
}
});
}
Empty file.
3 changes: 3 additions & 0 deletions apps/github-server/src/environments/environment.prod.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export const environment = {
production: true
};
8 changes: 8 additions & 0 deletions apps/github-server/src/environments/environment.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export const environment = {
production: false,
ghConfig: {
client_id: '462d5714bbdb3c9ace6c',
client_secret: 'd69b43757cfbbf05db995eb4a540c654a91d9a79',
callback_url: 'https://localhost:4200/callback'
}
};
24 changes: 24 additions & 0 deletions apps/github-server/src/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/**
* This is not a production server yet!
* This is only a minimal backend to get started.
*/
import * as express from 'express';
import * as cors from 'cors';

import { githubAccessToken } from './app/auth';

const app = express();

app.use(cors());
app.options('*', cors());

app.get('/api', (req, res) => {
res.send({ message: 'Welcome to github-server!' });
});
githubAccessToken(app);

const port = process.env.port || 3333;
const server = app.listen(port, () => {
console.log(`Listening at http://localhost:${port}/api`);
});
server.on('error', console.error);
9 changes: 9 additions & 0 deletions apps/github-server/tsconfig.app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"types": ["node"]
},
"exclude": ["**/*.spec.ts"],
"include": ["**/*.ts"]
}
7 changes: 7 additions & 0 deletions apps/github-server/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"types": ["node", "jest", "express"]
},
"include": ["**/*.ts"]
}
9 changes: 9 additions & 0 deletions apps/github-server/tsconfig.spec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../dist/out-tsc",
"module": "commonjs",
"types": ["jest", "node"]
},
"include": ["**/*.spec.ts", "**/*.d.ts"]
}
1 change: 1 addition & 0 deletions apps/github-server/tslint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "extends": "../../tslint.json", "rules": {} }
6 changes: 6 additions & 0 deletions apps/vulnerability-checker/proxy.conf.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"/api": {
"target": "http://localhost:3333",
"secure": false
}
}
7 changes: 4 additions & 3 deletions apps/vulnerability-checker/src/app/app.component.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
<div class="d-flex flex-column h-100 w-100">
<gc-ui-toolbar>
</gc-ui-toolbar>

<div class="d-flex h-100 w-100">
<gc-repo-info>

</gc-repo-info>
<pre>{{ user | async | json }}</pre>
<div class="d-flex flex-column justify-content-center w-100">
<router-outlet></router-outlet>
</div>
</div>
</div>
</div>
17 changes: 15 additions & 2 deletions apps/vulnerability-checker/src/app/app.component.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,21 @@
import { Component } from '@angular/core';
import { UserService } from './../../../../libs/core-data/src/lib/user/user.service';
import { RepositoriesService } from './../../../../libs/core-data/src/lib/repositories/repositories.service';
import { OrganizationsService } from '@gc/core-data';
import { Component, OnInit } from '@angular/core';

@Component({
selector: 'gc-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {}
export class AppComponent implements OnInit {
user;

constructor(
private userService: UserService
) {}

ngOnInit() {
this.user = this.userService.user()
}
}
9 changes: 7 additions & 2 deletions apps/vulnerability-checker/src/app/app.module.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
import { UiLibrariesModule } from '@gc/ui-libraries';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RoutingModule } from './routing.module';

import { MaterialModule } from '@gc/material';
import { CoreDataModule } from '@gc/core-data';
import { UiLibrariesModule } from '@gc/ui-libraries';

@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
BrowserAnimationsModule,
MaterialModule,
CoreDataModule,
UiLibrariesModule,
UiLibrariesModule,
RoutingModule
],
declarations: [AppComponent],
providers: [],
bootstrap: [AppComponent]
})
Expand Down
7 changes: 7 additions & 0 deletions apps/vulnerability-checker/src/proxy.conf.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"/api/*": {
"target": "https://github.com",
"secure": false,
"logLevel": "debug"
}
}
7 changes: 5 additions & 2 deletions libs/core-data/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
export { CoreDataModule } from './lib/core-data.module';
export { CoreDataModule } from './lib/core-data.module';

// Models
export { Repository, emptyRepository, Visibility } from './lib/repositories/repositories';
export { User, emptyUser } from './lib/user/user.model';


// Services
export { AuthGuard } from './lib/auth/auth-guard';
export { AuthService } from './lib/auth/auth.service';
export { NotifyService } from './lib/notify/notify.service';
export { RepositoriesService } from './lib/repositories/repositories.service';
export { TokenInterceptor } from './lib/auth/token-interceptor';
export { UserService } from './lib/user/user.service';
export { UserService } from './lib/user/user.service';
export { OrganizationsService } from './lib/organizations/organizations.service';
Loading