version stable 08 06 2018

anis
Tmadkaud 6 years ago
parent 1eed323f1f
commit 6a7f64c044

@ -1,27 +1,73 @@
var passport = require('passport'); var passport = require('passport');
var FacebookStrategy = require('passport-facebook').Strategy; var FacebookStrategy = require('passport-facebook').Strategy;
var User = require('../models/user'); var User = require('../models/user');
// module.exports = function(passport){ var jwt = require('jsonwebtoken');
// var config = require('../config/database');
// };
var mongoose = require('mongoose'); var mongoose = require('mongoose');
passport.serializeUser((user, done) => {
done(null, user.id);
});
passport.deserializeUser((id, done) => {
// console.log(`id: ${id}`);
User.findById(id)
.then(user => {
done(null, user);
})
.catch(error => {
console.log(`Error: ${error}`);
});
});
passport.use(new FacebookStrategy({ passport.use(new FacebookStrategy({
clientID: "191092458179642", clientID: "191092458179642",
clientSecret: "964e490d7e49a13ee7a77c9b65419fb3", clientSecret: "964e490d7e49a13ee7a77c9b65419fb3",
callbackURL: "https://localhost:3000/api/facebook/callback" callbackURL: "https://localhost:3000/api/facebook/callback",
proxy: true
}, },
function(accessToken, refreshToken, profile, done) { function(accessToken, refreshToken, profile, done) {
console.log('facebook findOneOrCreate'+profile.displayName); console.log('facebook findOneOrCreate'+profile.displayName);
User.findOneOrCreate(profile.displayName.toString(), function(err, user, req, res) {
if (err) { User.findOne({
console.log('findOneOrCreate err'); username: profile.displayName
console.log(err); }, function(err, user) {
return done(err); if(user){
console.log('findOneOrCreate ok'+user.username);
var token = jwt.sign(user.toJSON(), config.secret);
// return the information including token as JSON
//res.json({success: true, token: });
return done(null, user);
}else{
var newUser = new User({
username: profile.displayName,
password: profile.password,
social: true
});
// save the user
newUser.save(function(err) {
if (err) {
console.log('Username already exists.');
}
return done(null, user);
});
} }
console.log('findOneOrCreate ok'+user.displayName);
//res.json({token: accessToken, user: user.username});
done(null, user);
}); });
// User.findOneOrCreate(profile.displayName.toString(), function(err, user, req, res) {
// if (err) {
// console.log('findOneOrCreate err');
// console.log(err);
// return done(err);
// }
// console.log('findOneOrCreate ok'+user.displayName);
// //res.json({token: accessToken, user: user.username});
// done(null, user);
// });
// Page.findOneOrCreate(pageId, (err, page)=>{ // Page.findOneOrCreate(pageId, (err, page)=>{
// if(err){ // if(err){
// //if theres an error, do something // //if theres an error, do something

@ -37,7 +37,7 @@ var credentials = {
var server = https.createServer(credentials, app); var server = https.createServer(credentials, app);
//var server = http.createServer(app); //var server = http.createServer(app);
W
// server.setSecure(credentials); // server.setSecure(credentials);
/** /**

@ -15,6 +15,10 @@ var UserSchema = new Schema({
password: { password: {
type: String, type: String,
required: false required: false
},
social: {
type: Boolean,
required: false
} }
}); });

@ -38,15 +38,7 @@ getToken = function (headers) {
} }
}; };
/* config multer dossier cible et nom du file : enregistrement du fichier dans le dossier public*/
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './public/')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
});
router.use(function(req, res, next) { router.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*'); res.setHeader('Access-Control-Allow-Origin', '*');
@ -120,12 +112,10 @@ router.post('/deleteFileMongo', function(req, res, next) {
console.log(JSON.stringify(req.body)); console.log(JSON.stringify(req.body));
FileMongo.remove({_id : req.body._id, name: req.body.name, owner: req.body.owner}, function (err, post) { FileMongo.remove({_id : req.body._id, name: req.body.name, owner: req.body.owner}, function (err, post) {
if (err){ if (err){
console.log('err deleteF ileMongo : ' + err);
return next(err); return next(err);
} }
//Delete file multer dans Public //Delete file multer dans Public
//console.log('this.getStringExtention(req.body) : ' + getStringExtention(req.body));
fs.unlink('./public/' + req.body._id + getStringExtention(req.body)); fs.unlink('./public/' + req.body._id + getStringExtention(req.body));
res.json(post); res.json(post);
@ -251,7 +241,14 @@ router.post('/getFileList', function(req, res) {
}); });
}); });
router.post('/getUserById', function(req, res) {
User.findOne({
_id: req.body.id
}, function (err, user) {
res.json(user);
});
});
/* Login */ /* Login */
router.post('/signin', function(req, res) { router.post('/signin', function(req, res) {
User.findOne({ User.findOne({
@ -278,6 +275,15 @@ router.post('/signin', function(req, res) {
}); });
}); });
/* config multer dossier cible et nom du file : enregistrement du fichier dans le dossier public*/
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, './public/')
},
filename: function (req, file, cb) {
cb(null, file.originalname)
}
});
/* Multer upload */ /* Multer upload */
router.post('/upload' , multer({storage: storage, limits: {fileSize: 30000000000}}).array("public[]", 12) ,function(req,res,next){ router.post('/upload' , multer({storage: storage, limits: {fileSize: 30000000000}}).array("public[]", 12) ,function(req,res,next){
@ -285,7 +291,7 @@ router.post('/upload' , multer({storage: storage, limits: {fileSize: 30000000000
}); });
/* Get utilisateur courant */ /* Get utilisateur courant */
router.get('/getCurrentUser', passport.authenticate('jwt', { session: false}), function(req, res) { router.get('/getCurrentUser', passport.authenticate('jwt'), function(req, res) {
var token = getToken(req.headers); var token = getToken(req.headers);
if (token) { if (token) {
@ -309,21 +315,23 @@ function ensureAuthenticated(req, res, next) {
res.redirect('/api/login'); res.redirect('/api/login');
} }
/* FACEBOOK ROUTER */ /* FACEBOOK ROUTER */
router.get('/facebook', passportFacebook.authenticate('facebook', { session: false}), router.get('/facebook', passportFacebook.authenticate('facebook'),
function(req, res) { function(req, res) {
console.log('fffacebook' + JSON.stringify(tess)); console.log('facebook user : '+ req.user );
// Successful authentication, redirect home. // Successful authentication, redirect home.
res.json({user: req.user}); res.json({user: req.user});
}); });
router.get('/facebook/callback', router.get('/facebook/callback', passportFacebook.authenticate('facebook'),
passportFacebook.authenticate('facebook', { failureRedirect: '/' , session: false}), function(req, res) {
function(req, res, user,accessToken, refreshToken, profile, done) { console.log('facebook user : '+ req.user );
var tess = {user:user,accessToken:accessToken, refreshToken:refreshToken, profile:profile, done:done}; JSON.stringify(req.user);
console.log('fffacebook' + JSON.stringify(tess)); var myUser = req.user.toString();
//res.json({user: myUser});
res.redirect('/main/'+req.user._id);
// Successful authentication, redirect home. // Successful authentication, redirect home.
res.redirect(['/main/1']);
}); });
/* GOOGLE ROUTER */ /* GOOGLE ROUTER */

@ -4,13 +4,13 @@
<div *ngIf="mainFolder" class="card d-print-inline-flex text-center topcard"> <div *ngIf="mainFolder" class="card d-print-inline-flex text-center topcard">
<div class="row"> <div class="row">
<div class="col-md-4 card-text"> <div class="col-md-4 card-text">
<p> Current Folder : {{mainFolder.name}}</p> <p> Current Folder : {{mainFolder?.name}}</p>
</div> </div>
<div class="col-md-4 card-text"> <div class="col-md-4 card-text">
<p> Used space : {{sizeFile.toString() === '0' ? '0' : (sizeFile/ ( 1024 * 1024 ) | number : '1.2-2')}} / 30 Mo</p> <p> Used space : {{sizeFile.toString() === '0' ? '0' : (sizeFile/ ( 1024 * 1024 ) | number : '1.2-2')}} / 30 Mo</p>
</div> </div>
<div class="col-md-4 card-text"> <div class="col-md-4 card-text">
<p> Path : {{mainFolder.path}}</p> <p> Path : {{mainFolder?.path}}</p>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
@ -26,7 +26,7 @@
<div class="row topButtonsRow"> <div class="row topButtonsRow">
<div class="col-md-8 align-middle l-flex--center"> <div class="col-md-8 align-middle l-flex--center">
<button type="button" class="btn btn-primary btn-sm" mdbTooltip="Back To : {{mainFolder.parent}}" placement="top" (click)="backToParentFolder()" *ngIf="mainFolder.path !== 'Home'"><i class="fa fa-chevron-left" aria-hidden="true"></i> {{mainFolder.parent}}</button> <button type="button" class="btn btn-primary btn-sm" mdbTooltip="Back To : {{mainFolder?.parent}}" placement="top" (click)="backToParentFolder()" *ngIf="mainFolder?.path !== 'Home'"><i class="fa fa-chevron-left" aria-hidden="true"></i> {{mainFolder?.parent}}</button>
<button type="button" class="btn btn-primary btn-sm" mdbTooltip="Nouveau dossier" placement="top" (click)="createBool()" *ngIf="isClickCreateFolder === false"> <button type="button" class="btn btn-primary btn-sm" mdbTooltip="Nouveau dossier" placement="top" (click)="createBool()" *ngIf="isClickCreateFolder === false">
@ -100,11 +100,11 @@
<!--Menu--> <!--Menu-->
<div class="dropdown-menu dropdown-primary"> <div class="dropdown-menu dropdown-primary">
<a class="dropdown-item" mdbTooltip="Ouvrir : {{folder.name}}" placement="top" (click)="openFolder(folder.path)">Open Folder</a> <a class="dropdown-item" mdbTooltip="Ouvrir : {{folder?.name}}" placement="top" (click)="openFolder(folder?.path)">Open Folder</a>
<a class="dropdown-item" mdbTooltip="Supprimer : {{folder.name}}" placement="top" (click)="deleteFolder(folder)">Delete Folder</a> <a class="dropdown-item" mdbTooltip="Supprimer : {{folder?.name}}" placement="top" (click)="deleteFolder(folder)">Delete Folder</a>
<h6 class="dropdown-header">Rename</h6> <h6 class="dropdown-header">Rename</h6>
<div class="d-print-inline-flex text-center"> <div class="d-print-inline-flex text-center">
<input type="search" class="form-control col-xs-2" placeholder= "{{folder.name}}" [(ngModel)]="folder.name"> <input type="search" class="form-control col-xs-2" placeholder= "{{folder?.name}}" [(ngModel)]="folder.name">
<button class="btn btn-primary btn-sm waves-light" mdbTooltip="Renommer : {{folder.name}}" placement="top" type="button" mdbWavesEffect (click)="renameFolder(folder)"> <button class="btn btn-primary btn-sm waves-light" mdbTooltip="Renommer : {{folder.name}}" placement="top" type="button" mdbWavesEffect (click)="renameFolder(folder)">
<i class="fa fa-pencil prefix"></i> <i class="fa fa-pencil prefix"></i>
</button> </button>
@ -115,11 +115,11 @@
<div class="btn-group" dropdown> <div class="btn-group" dropdown>
<button type="button" dropdownToggle class="btn btn-secondary btn-sm dropdown-toggle-split px-3 waves-light" mdbTooltip="Move : {{folder.name}}" placement="top" mdbWavesEffect> <button type="button" dropdownToggle class="btn btn-secondary btn-sm dropdown-toggle-split px-3 waves-light" mdbTooltip="Move : {{folder?.name}}" placement="top" mdbWavesEffect>
<i class="fa fa-arrows" aria-hidden="true"></i> <i class="fa fa-arrows" aria-hidden="true"></i>
</button> </button>
<div class="dropdown-menu dropdown-primary"> <div class="dropdown-menu dropdown-primary">
<a class="dropdown-item" *ngFor="let folderDest of allUserAppFolder; let i = index;" (click)="moveFolder(folder, folderDest)">{{folderDest.name}}</a> <a class="dropdown-item" *ngFor="let folderDest of allUserAppFolder; let i = index;" (click)="moveFolder(folder, folderDest)">{{folderDest?.name}}</a>
</div> </div>
</div> </div>
</div> </div>

@ -1,4 +1,4 @@
import { Component, OnInit, OnDestroy, ViewChild, Output, EventEmitter } from '@angular/core'; import { Component, OnInit, OnDestroy, ViewChild, Output, Input, EventEmitter } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http'; import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Router, ActivatedRoute } from '@angular/router'; import { Router, ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs/Observable'; import { Observable } from 'rxjs/Observable';
@ -18,12 +18,15 @@ import { DropzoneComponent , DropzoneDirective,
import { CompleterService } from '../typescripts/pro'; import { CompleterService } from '../typescripts/pro';
@Component({ @Component({
selector: 'app-book', selector: 'app-book',
templateUrl: './book.component.html', templateUrl: './book.component.html',
styleUrls: ['./book.component.css'] styleUrls: ['./book.component.css']
}) })
export class BookComponent implements OnInit, OnDestroy { export class BookComponent implements OnInit, OnDestroy {
@Input() socialIdUser: String;
@Output() setAllUserAppFolder = new EventEmitter<String>(); @Output() setAllUserAppFolder = new EventEmitter<String>();
message: string = 'Hola Mundo!'; message: string = 'Hola Mundo!';
@ -32,6 +35,7 @@ export class BookComponent implements OnInit, OnDestroy {
currentUser: any; currentUser: any;
allUserFile: any; allUserFile: any;
allUserFolder: any; allUserFolder: any;
//socialIdUser: String;
filterAllUserFolder: any; filterAllUserFolder: any;
allUserAppFolder: any; allUserAppFolder: any;
allUserAppFile: any; allUserAppFile: any;
@ -55,18 +59,6 @@ export class BookComponent implements OnInit, OnDestroy {
searchStr: String; searchStr: String;
dataService: any; dataService: any;
protected searchData = [
{ color: 'red'},
{ color: 'green'},
{ color: 'blue'},
{ color: 'cyan'},
{ color: 'magenta'},
{ color: 'yellow'},
{ color: 'black'},
];
public type: string = 'component'; public type: string = 'component';
public disabled: boolean = false; public disabled: boolean = false;
@ -84,19 +76,9 @@ export class BookComponent implements OnInit, OnDestroy {
constructor(private completerService: CompleterService, private http: HttpClient, private router: Router, private route: ActivatedRoute, public sanitizer: DomSanitizer) { constructor(private completerService: CompleterService, private http: HttpClient, private router: Router, private route: ActivatedRoute, public sanitizer: DomSanitizer) {
this.httpOptions = {
headers: new HttpHeaders({ 'Authorization': localStorage.getItem('jwtToken'), 'Access-Control-Allow-Origin' : '*'}),
pathFolder: ''
};
this.http.get('/api/getCurrentUser', this.httpOptions).subscribe(user => {
this.currentUser = user;
this.openFolder('Home');
}, err => {
if (err.status === 401) {
this.router.navigate(['Home']);
}
});
this.isClickCreateFolder = false; this.isClickCreateFolder = false;
this.fileChooseName = 'None'; this.fileChooseName = 'None';
this.filesToUpload = []; this.filesToUpload = [];
@ -105,7 +87,6 @@ export class BookComponent implements OnInit, OnDestroy {
} }
sendMessage() { sendMessage() {
console.log('caca');
this.messageEvent.emit('caca') this.messageEvent.emit('caca')
} }
public toggleType(): void { public toggleType(): void {
@ -150,13 +131,12 @@ export class BookComponent implements OnInit, OnDestroy {
this.filesToUpload = args; this.filesToUpload = args;
this.fileChooseName = args[0].name; this.fileChooseName = args[0].name;
var reader = new FileReader(); // var reader = new FileReader();
reader.onload = function() { // reader.onload = function() {
alert(reader.result); // alert(reader.result);
}; // };
reader.readAsText(args[0]); // reader.readAsText(args[0]);
console.log('ggguu :' + JSON.stringify(args));
this.upload(); this.upload();
this.resetDropzoneUploads(); this.resetDropzoneUploads();
this.openFolder(this.mainFolder.path); this.openFolder(this.mainFolder.path);
@ -164,12 +144,32 @@ export class BookComponent implements OnInit, OnDestroy {
} }
ngOnInit() { ngOnInit() {
this.httpOptions = {
headers: new HttpHeaders({
'Authorization': localStorage.getItem('jwtToken'),
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'GET, POST, OPTIONS, PUT, PATCH, DELETE',
'Access-Control-Allow-Headers' : 'Origin, X-Requested-With, Content-Type, Accept'
}),
pathFolder: ''
};
// this.httpOptions = {
// headers: new HttpHeaders({ 'Authorization': localStorage.getItem('jwtToken'), 'Access-Control-Allow-Origin' : '*'}),
// pathFolder: ''
// };
this.http.get('/api/getCurrentUser', this.httpOptions).subscribe(user => {
this.currentUser = user;
this.openFolder('Home');
}, err => {
if (err.status === 401) {
this.router.navigate(['login']);
}
});
} }
deleteFile(fileToDelete) { deleteFile(fileToDelete) {
this.http.post('/api/deleteFileMongo', fileToDelete).subscribe(file => { this.http.post('/api/deleteFileMongo', fileToDelete).subscribe(file => {
console.log('this.mainFolder.path : ' + this.mainFolder.path);
this.openFolder(this.mainFolder.path); this.openFolder(this.mainFolder.path);
}); });
} }
@ -203,7 +203,6 @@ export class BookComponent implements OnInit, OnDestroy {
} }
getAllUserAppFiles() { getAllUserAppFiles() {
console.log(this.currentUser.username.toString());
this.http.post('/api/getFileAppList', {owner: this.currentUser.username.toString()}).subscribe(files => { this.http.post('/api/getFileAppList', {owner: this.currentUser.username.toString()}).subscribe(files => {
if (files) { if (files) {
this.allUserAppFile = files; this.allUserAppFile = files;
@ -213,7 +212,7 @@ export class BookComponent implements OnInit, OnDestroy {
this.dataService = this.completerService.local(this.allItems, 'name', 'path'); this.dataService = this.completerService.local(this.allItems, 'name', 'path');
for (let f of this.allUserAppFile){ for (let f of this.allItems){
console.log(f.name); console.log(f.name);
//f.fileTab = this.getfiles(f); //f.fileTab = this.getfiles(f);
} }
@ -239,7 +238,6 @@ export class BookComponent implements OnInit, OnDestroy {
for (let f of this.allUserFile) { for (let f of this.allUserFile) {
this.sizeFile += +f.taille; this.sizeFile += +f.taille;
console.log('this.sizeFile : ' + this.sizeFile);
if(f.type === ('image/jpeg') || f.type === ('image/png')){ if(f.type === ('image/jpeg') || f.type === ('image/png')){
f.data = f.url; f.data = f.url;
f.urlSafe = this.sanitizer.bypassSecurityTrustUrl(f.url); f.urlSafe = this.sanitizer.bypassSecurityTrustUrl(f.url);
@ -270,7 +268,6 @@ export class BookComponent implements OnInit, OnDestroy {
this.http.post('/api/getFolderAppList', {owner: this.currentUser.username.toString()}).subscribe(folders => { this.http.post('/api/getFolderAppList', {owner: this.currentUser.username.toString()}).subscribe(folders => {
if (folders) { if (folders) {
this.allUserAppFolder = folders; this.allUserAppFolder = folders;
console.log(this.currentUser.username.toString());
this.setAllUserAppFolder.emit(this.currentUser.username.toString()); this.setAllUserAppFolder.emit(this.currentUser.username.toString());
@ -320,13 +317,11 @@ export class BookComponent implements OnInit, OnDestroy {
} }
this.httpOptions.pathFolder = path; this.httpOptions.pathFolder = path;
this.isClickCreateFolder = false; this.isClickCreateFolder = false;
this.http.post('/api/getMainFolder', {path: path, owner: this.currentUser.username.toString()}).subscribe(folder => { this.http.post('/api/getMainFolder', {path: path, owner: this.currentUser.username.toString()}).subscribe(folder => {
if (folder) { if (folder) {
this.mainFolder = folder; this.mainFolder = folder;
console.log('folder : ' + folder);
this.getfolders(); this.getfolders();
this.getAllUserAppFolder(); this.getAllUserAppFolder();
this.getfiles(); this.getfiles();
@ -368,7 +363,6 @@ export class BookComponent implements OnInit, OnDestroy {
upload() { upload() {
var me = this; var me = this;
if(this.mainFolder !== undefined){ if(this.mainFolder !== undefined){
console.log('this.filesToUpload[0] : ' + JSON.stringify(this.filesToUpload[0]));
this.http.post('api/uploadFileMongo', { name: this.fileChooseName.toString(), path: this.mainFolder.path.toString(), type: this.filesToUpload[0].type.toString(), taille: this.filesToUpload[0].size.toString(), idUser: this.currentUser._id.toString(), owner: this.currentUser.username.toString(), lastDate: Date.now().toString(), url: ''}).subscribe(resp => { this.http.post('api/uploadFileMongo', { name: this.fileChooseName.toString(), path: this.mainFolder.path.toString(), type: this.filesToUpload[0].type.toString(), taille: this.filesToUpload[0].size.toString(), idUser: this.currentUser._id.toString(), owner: this.currentUser.username.toString(), lastDate: Date.now().toString(), url: ''}).subscribe(resp => {
me.saveURLFileMongo(resp); me.saveURLFileMongo(resp);
var mee = this; var mee = this;

@ -348,4 +348,5 @@
</footer> </footer>
<!--/.Footer--> <!--/.Footer-->
<button (click)="facebook()" class="btn-floating btn-fb"><i class="fa fa-facebook"></i></button> <button (click)="facebook()" class="btn-floating btn-fb"><i class="fa fa-facebook"></i></button>
<a onclick="location.href='/api/facebook'">Login with face</a>

@ -37,8 +37,6 @@ export class HomeComponent implements OnInit {
signup() { signup() {
this.http.post('/api/signup',this.signupData).subscribe(resp => { this.http.post('/api/signup',this.signupData).subscribe(resp => {
// console.log(resp);
//this.router.navigate(['home']);
this.showregister(); this.showregister();
}, err => { }, err => {
this.messageR = err.error.msg; this.messageR = err.error.msg;
@ -46,9 +44,8 @@ export class HomeComponent implements OnInit {
} }
facebook() { facebook() {
console.log('tete') console.log('teteeeeeeee');
this.http.get('/api/facebook').subscribe(resp => { this.http.get('/api/facebook').subscribe(resp => {
console.log('tete');
this.router.navigate(['main']); this.router.navigate(['main']);
}, err => { }, err => {
this.message = err.error.msg; this.message = err.error.msg;

@ -53,7 +53,7 @@
<mdb-item-body *ngIf="allUserAppFolder"> <mdb-item-body *ngIf="allUserAppFolder">
<ul> <ul>
<li><a class="waves-effect" *ngFor="let folderChild of getItemsFolder(folder.name); let i = index;" mdbWavesEffect>{{folderChild.name}}</a></li> <li><a class="waves-effect" *ngFor="let folderChild of getItemsFolder(folder.name); let i = index;" mdbWavesEffect>{{folderChild.name}}</a></li>
<li><a class="waves-effect" *ngFor="let file of getItems(folder.path); let i = index;" mdbWavesEffect>{{file.name}}</a></li> <li><a class="waves-effect" *ngFor="let file of getItems(folder?.path); let i = index;" mdbWavesEffect>{{file.name}}</a></li>
</ul> </ul>
</mdb-item-body> </mdb-item-body>
</mdb-item> </mdb-item>
@ -141,7 +141,7 @@
<!--Main Layout--> <!--Main Layout-->
<main style="margin-left: 0%; margin-right: 0%;"> <main style="margin-left: 0%; margin-right: 0%;">
<div class="container-fluid" style="margin:0%; padding: 0%"> <div class="container-fluid" style="margin:0%; padding: 0%">
<app-book></app-book> <app-book [socialIdUser]="socialIdUser"></app-book>
</div> </div>

@ -13,7 +13,7 @@ export class MainComponent implements OnInit {
allUserAppFile: any; allUserAppFile: any;
mainFolder: any; mainFolder: any;
currentUser: any; currentUser: any;
socialIdUser: String;
constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient) { } constructor(private router: Router, private route: ActivatedRoute, private http: HttpClient) { }
logout() { logout() {
@ -22,12 +22,17 @@ export class MainComponent implements OnInit {
} }
ngOnInit() { ngOnInit() {
this.httpOptions = { this.httpOptions = {
headers: new HttpHeaders({ 'Authorization': localStorage.getItem('jwtToken'), 'Access-Control-Allow-Origin' : '*'}), headers: new HttpHeaders({
'Authorization': localStorage.getItem('jwtToken'),
'Access-Control-Allow-Origin' : '*',
'Access-Control-Allow-Methods' : 'GET, POST, OPTIONS, PUT, PATCH, DELETE',
'Access-Control-Allow-Headers' : 'Origin, X-Requested-With, Content-Type, Accept'
}),
pathFolder: '' pathFolder: ''
}; };
this.http.get('/api/getCurrentUser', this.httpOptions).subscribe(user => { this.http.get('/api/getCurrentUser', this.httpOptions).subscribe(user => {
this.currentUser = user; this.currentUser = user;
if (user) { if (user) {
@ -35,9 +40,15 @@ export class MainComponent implements OnInit {
} }
}, err => { }, err => {
if (err.status === 401) { if (err.status === 401) {
this.router.navigate(['login']); this.router.navigate(['/']);
} }
}); });
// this.httpOptions = {
// headers: new HttpHeaders({ 'Authorization': localStorage.getItem('jwtToken'), 'Access-Control-Allow-Origin' : '*'}),
// pathFolder: ''
// };
} }
@ -51,21 +62,10 @@ export class MainComponent implements OnInit {
} }
setOriginFolder(path) { setOriginFolder(path) {
//console.log( ' path : ' + path);
//var origin = [];
//for (let f of this.allUserAppFolder){
var pathChunk = path.split('/'); var pathChunk = path.split('/');
var origin = pathChunk.length === 1 ? pathChunk[0] : pathChunk[pathChunk.length - 2] var origin = pathChunk.length === 1 ? pathChunk[0] : pathChunk[pathChunk.length - 2]
//console.log( ' origin : ' + origin);
// for (var i = 0; i < pathChunk.length; i++) {
// console.log(i + ' pathChunk[i] : ' + pathChunk[i]);
// var temp = (pathChunk.length === 1 ? pathChunk[0] : pathChunk[pathChunk.length - 2]);
// console.log(i + ' temp : ' + temp);
// }
//}
return origin; return origin;
} }
@ -81,14 +81,9 @@ export class MainComponent implements OnInit {
} }
getAllUserAppFiles() { getAllUserAppFiles() {
console.log(this.currentUser.username.toString());
this.http.post('/api/getFileAppList', {owner: this.currentUser.username.toString()}).subscribe(files => { this.http.post('/api/getFileAppList', {owner: this.currentUser.username.toString()}).subscribe(files => {
if (files) { if (files) {
this.allUserAppFile = files; this.allUserAppFile = files;
for (let f of this.allUserAppFile){
//console.log(f.name);
//f.fileTab = this.getfiles(f);
}
// return files; // return files;
} else { } else {
this.allUserAppFile = []; this.allUserAppFile = [];

Loading…
Cancel
Save