Oauth est fonctionnel. Le mécanisme de session est à terminer, probablement via un JWT ou autre méthode.

This commit is contained in:
batche
2022-11-02 17:57:06 +01:00
parent 9a6ad5b328
commit 4622792534
192 changed files with 26111 additions and 275 deletions

View File

@@ -15,12 +15,14 @@ const typeorm_1 = require("@nestjs/typeorm");
const config_1 = require("@nestjs/config");
const friendships_module_1 = require("./friendship/friendships.module");
const authentication_module_1 = require("./auth/42/authentication.module");
const passport_1 = require("@nestjs/passport");
let AppModule = class AppModule {
};
AppModule = __decorate([
(0, common_1.Module)({
imports: [users_module_1.UsersModule,
authentication_module_1.AuthenticationModule,
passport_1.PassportModule.register({ session: true }),
friendships_module_1.FriendshipsModule,
config_1.ConfigModule.forRoot(),
typeorm_1.TypeOrmModule.forRoot({

View File

@@ -1 +1 @@
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,uDAAmD;AACnD,6CAAgD;AAChD,2CAA8C;AAC9C,wEAAoE;AACpE,2EAAuE;AAuBhE,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IArBrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW;YACpB,4CAAoB;YACpB,sCAAiB;YACjB,qBAAY,CAAC,OAAO,EAAE;YACtB,uBAAa,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBAC/B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBACzC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBACnC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBACvC,gBAAgB,EAAE,IAAI;gBAGtB,WAAW,EAAE,IAAI;aACjB,CAAC;SACJ;QACC,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG;AAAZ,8BAAS"}
{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,qDAAiD;AACjD,+CAA2C;AAC3C,uDAAmD;AACnD,6CAAgD;AAChD,2CAA8C;AAC9C,wEAAoE;AACpE,2EAAuE;AACvE,+CAAkD;AAwB3C,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,SAAS;IAtBrB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,0BAAW;YACpB,4CAAoB;YACpB,yBAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC1C,sCAAiB;YACjB,qBAAY,CAAC,OAAO,EAAE;YACtB,uBAAa,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBAC/B,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;gBACzC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;gBACnC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBACvC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBACvC,gBAAgB,EAAE,IAAI;gBAGtB,WAAW,EAAE,IAAI;aACjB,CAAC;SACJ;QACC,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,CAAC;KACxB,CAAC;GACW,SAAS,CAAG;AAAZ,8BAAS"}

View File

@@ -3,8 +3,7 @@ import { Response } from 'express';
export declare class AuthenticationController {
private readonly authService;
constructor(authService: AuthenticationService);
hello(): string;
login(res: Response): Response<any, Record<string, any>>;
login(): void;
redirect(res: Response): void;
status(): string;
logout(): string;

View File

@@ -20,12 +20,8 @@ let AuthenticationController = class AuthenticationController {
constructor(authService) {
this.authService = authService;
}
hello() {
console.log('AUTHENTICATION CONTROLLER');
return 'hello';
}
login(res) {
return res.sendStatus(200);
login() {
return;
}
redirect(res) {
console.log(`Redirection performed`);
@@ -38,22 +34,16 @@ let AuthenticationController = class AuthenticationController {
return 'logout';
}
};
__decorate([
(0, common_1.Get)(),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], AuthenticationController.prototype, "hello", null);
__decorate([
(0, common_1.Get)('login'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Res)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], AuthenticationController.prototype, "login", null);
__decorate([
(0, common_1.Get)('redirect'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Res)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Object]),

View File

@@ -1 +1 @@
{"version":3,"file":"authentication.controller.js","sourceRoot":"","sources":["../../../src/auth/42/authentication.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAiE;AACjE,4CAAoD;AACpD,qEAAiE;AAI1D,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEpC,YAA6B,WAAkC;QAAlC,gBAAW,GAAX,WAAW,CAAuB;IAAG,CAAC;IAInE,KAAK;QACJ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC;IAChB,CAAC;IAOD,KAAK,CAAQ,GAAa;QACzB,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAQD,QAAQ,CAAQ,GAAa;QAC5B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAQD,MAAM;QACL,OAAO,QAAQ,CAAC;IACjB,CAAC;IAOD,MAAM;QACL,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD,CAAA;AA5CA;IAAC,IAAA,YAAG,GAAE;;;;qDAIL;AAKD;IAAC,IAAA,YAAG,EAAC,OAAO,CAAC;IACZ,IAAA,kBAAS,EAAC,0BAAiB,CAAC;IACtB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;qDAEX;AAOD;IAAC,IAAA,YAAG,EAAC,UAAU,CAAC;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;;;wDAGd;AAOD;IAAC,IAAA,YAAG,EAAC,QAAQ,CAAC;;;;sDAGb;AAMD;IAAC,IAAA,YAAG,EAAC,QAAQ,CAAC;;;;sDAGb;AAhDW,wBAAwB;IADpC,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAGwB,8CAAqB;GAFnD,wBAAwB,CAiDpC;AAjDY,4DAAwB"}
{"version":3,"file":"authentication.controller.js","sourceRoot":"","sources":["../../../src/auth/42/authentication.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAiE;AACjE,4CAAoD;AACpD,qEAAiE;AAI1D,IAAM,wBAAwB,GAA9B,MAAM,wBAAwB;IAEpC,YAA6B,WAAkC;QAAlC,gBAAW,GAAX,WAAW,CAAuB;IAAG,CAAC;IAQnE,KAAK;QACJ,OAAO;IACR,CAAC;IASD,QAAQ,CAAQ,GAAa;QAC5B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAQD,MAAM;QACL,OAAO,QAAQ,CAAC;IACjB,CAAC;IAOD,MAAM;QACL,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD,CAAA;AApCA;IAAC,IAAA,YAAG,EAAC,OAAO,CAAC;IACZ,IAAA,kBAAS,EAAC,0BAAiB,CAAC;;;;qDAG5B;AAOD;IAAC,IAAA,YAAG,EAAC,UAAU,CAAC;IACf,IAAA,kBAAS,EAAC,0BAAiB,CAAC;IACnB,WAAA,IAAA,YAAG,GAAE,CAAA;;;;wDAGd;AAOD;IAAC,IAAA,YAAG,EAAC,QAAQ,CAAC;;;;sDAGb;AAMD;IAAC,IAAA,YAAG,EAAC,QAAQ,CAAC;;;;sDAGb;AA3CW,wBAAwB;IADpC,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAGwB,8CAAqB;GAFnD,wBAAwB,CA4CpC;AA5CY,4DAAwB"}

View File

@@ -8,16 +8,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthenticationModule = void 0;
const common_1 = require("@nestjs/common");
const typeorm_1 = require("@nestjs/typeorm");
const friendship_entity_1 = require("../../friendship/entities/friendship.entity");
const user_entity_1 = require("../../users/entities/user.entity");
const users_module_1 = require("../../users/users.module");
const users_service_1 = require("../../users/users.service");
const authentication_controller_1 = require("./authentication.controller");
const authentication_service_1 = require("./authentication.service");
const strategy_1 = require("./strategy/strategy");
const serializer_1 = require("./utils/serializer");
let AuthenticationModule = class AuthenticationModule {
};
AuthenticationModule = __decorate([
(0, common_1.Module)({
imports: [users_module_1.UsersModule],
providers: [authentication_service_1.AuthenticationService, strategy_1.FortyTwoStrategy],
imports: [typeorm_1.TypeOrmModule.forFeature([user_entity_1.User, friendship_entity_1.Friendship]), users_module_1.UsersModule],
providers: [authentication_service_1.AuthenticationService, strategy_1.FortyTwoStrategy, users_service_1.UsersService, serializer_1.SessionSerializer],
exports: [authentication_service_1.AuthenticationService],
controllers: [authentication_controller_1.AuthenticationController],
})

View File

@@ -1 +1 @@
{"version":3,"file":"authentication.module.js","sourceRoot":"","sources":["../../../src/auth/42/authentication.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,2DAAqD;AACrD,2EAAuE;AACvE,qEAAiE;AACjE,kDAAuD;AAQhD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oBAAoB;IANhC,IAAA,eAAM,EAAC;QACL,OAAO,EAAE,CAAC,0BAAW,CAAC;QACtB,SAAS,EAAE,CAAC,8CAAqB,EAAE,2BAAgB,CAAC;QACpD,OAAO,EAAE,CAAC,8CAAqB,CAAC;QAChC,WAAW,EAAE,CAAC,oDAAwB,CAAC;KACzC,CAAC;GACW,oBAAoB,CAAG;AAAvB,oDAAoB"}
{"version":3,"file":"authentication.module.js","sourceRoot":"","sources":["../../../src/auth/42/authentication.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,mFAAuE;AACvE,kEAAsD;AACtD,2DAAqD;AACrD,6DAAuD;AACvD,2EAAuE;AACvE,qEAAiE;AACjE,kDAAuD;AACvD,mDAAuD;AAQhD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oBAAoB;IANhC,IAAA,eAAM,EAAC;QACL,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,EAAE,8BAAU,CAAC,CAAC,EAAE,0BAAW,CAAC;QACpE,SAAS,EAAE,CAAC,8CAAqB,EAAE,2BAAgB,EAAE,4BAAY,EAAE,8BAAiB,CAAC;QACrF,OAAO,EAAE,CAAC,8CAAqB,CAAC;QAChC,WAAW,EAAE,CAAC,oDAAwB,CAAC;KACzC,CAAC;GACW,oBAAoB,CAAG;AAAvB,oDAAoB"}

View File

@@ -1,2 +1,9 @@
import { CreateUsersDto } from 'src/users/dto/create-users.dto';
import { User } from 'src/users/entities/user.entity';
import { UsersService } from 'src/users/users.service';
export declare class AuthenticationService {
private readonly userService;
constructor(userService: UsersService);
validateUser(createUsersDto: CreateUsersDto): Promise<User>;
findUser(fourtytwo_id: string): Promise<User | undefined>;
}

View File

@@ -5,13 +5,31 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AuthenticationService = void 0;
const common_1 = require("@nestjs/common");
const users_service_1 = require("../../users/users.service");
let AuthenticationService = class AuthenticationService {
constructor(userService) {
this.userService = userService;
}
async validateUser(createUsersDto) {
console.log("Validate inside authentication.service.ts");
const user = await this.userService.findOneByFourtyTwoId(createUsersDto.fourtyTwoId);
if (user)
return user;
return this.userService.create(createUsersDto);
}
async findUser(fourtytwo_id) {
return await this.userService.findOneByFourtyTwoId(fourtytwo_id);
}
};
AuthenticationService = __decorate([
(0, common_1.Injectable)()
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [users_service_1.UsersService])
], AuthenticationService);
exports.AuthenticationService = AuthenticationService;
//# sourceMappingURL=authentication.service.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../src/auth/42/authentication.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CAAG;AAAxB,sDAAqB"}
{"version":3,"file":"authentication.service.js","sourceRoot":"","sources":["../../../src/auth/42/authentication.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAK5C,6DAAuD;AAGhD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACjC,YACmB,WAAyB;QAAzB,gBAAW,GAAX,WAAW,CAAc;IACxC,CAAC;IAEL,KAAK,CAAC,YAAY,CAAC,cAA8B;QAChD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACrF,IAAI,IAAI;YACP,OAAO,IAAI,CAAC;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,YAAqB;QACnC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;CAED,CAAA;AAjBY,qBAAqB;IADjC,IAAA,mBAAU,GAAE;qCAGoB,4BAAY;GAFhC,qBAAqB,CAiBjC;AAjBY,sDAAqB"}

View File

@@ -0,0 +1,3 @@
export declare const jwt_constants: {
secret: string;
};

View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.jwt_constants = void 0;
exports.jwt_constants = {
secret: process.env.JWT_SECRET,
};
//# sourceMappingURL=constant.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../../src/auth/42/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG;IAC1B,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;CAChC,CAAC"}

View File

@@ -13,7 +13,6 @@ let FortyTwoAuthGuard = class FortyTwoAuthGuard extends (0, passport_1.AuthGuard
async canActivate(context) {
const activate = (await super.canActivate(context));
const request = context.switchToHttp().getRequest();
console.log(request.user);
await super.logIn(request);
return activate;
}

View File

@@ -1 +1 @@
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../../src/auth/42/guards/guards.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2E;AAC3E,+CAA6C;AAGtC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,IAAA,oBAAS,EAAC,IAAI,CAAC;IACrD,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC1C,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAY,CAAC;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD,CAAA;AARY,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAQ7B;AARY,8CAAiB"}
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../../src/auth/42/guards/guards.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2E;AAC3E,+CAA6C;AAGtC,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,IAAA,oBAAS,EAAC,IAAI,CAAC;IACrD,KAAK,CAAC,WAAW,CAAC,OAAyB;QAC1C,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAY,CAAC;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD,CAAA;AAPY,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAO7B;AAPY,8CAAiB"}

View File

@@ -2,8 +2,8 @@ import { Profile } from "passport-42/lib";
import { AuthenticationService } from "../authentication.service";
declare const FortyTwoStrategy_base: new (...args: any[]) => any;
export declare class FortyTwoStrategy extends FortyTwoStrategy_base {
private readonly authenticationService;
private authenticationService;
constructor(authenticationService: AuthenticationService);
validate(accessToken: string, refreshToken: string, profile: Profile, callbackURL: string): Promise<void>;
validate(accessToken: string, refreshToken: string, profile: Profile, callbackURL: string): Promise<import("../../../users/entities/user.entity").User>;
}
export {};

View File

@@ -25,8 +25,13 @@ let FortyTwoStrategy = class FortyTwoStrategy extends (0, passport_1.PassportStr
this.authenticationService = authenticationService;
}
async validate(accessToken, refreshToken, profile, callbackURL) {
const { id, username, displayName, photos } = profile;
console.log(profile);
console.log("Validate inside strategy.ts");
console.log(profile.id, profile.username, profile.phoneNumbers[0].value, profile.emails[0].value, profile.photos[0].value);
const userDTO = { fourtyTwoId: profile.id, username: profile.username, email: profile.emails[0].value, image_url: profile.photos[0].value };
const user = await this.authenticationService.validateUser(userDTO);
if (!user)
throw new common_1.UnauthorizedException();
return user;
}
};
FortyTwoStrategy = __decorate([

View File

@@ -1 +1 @@
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../src/auth/42/strategy/strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoD;AACpD,+CAAoD;AACpD,2CAA4C;AAC5C,sEAAkE;AAG3D,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,IAAA,2BAAgB,EAAC,cAAQ,EAAE,IAAI,CAAC;IACnE,YAA6B,qBAA4C;QAC3E,KAAK,CAAC;YACJ,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACxC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;YAChD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;YAC9C,KAAK,EAAE,CAAC,QAAQ,CAAC;SAClB,CAAC,CAAC;QAN4B,0BAAqB,GAArB,qBAAqB,CAAuB;IAO1E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,YAAoB,EAAE,OAAgB,EAAE,WAAmB;QAChG,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpB,CAAC;CACF,CAAA;AAdY,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAE0C,8CAAqB;GAD/D,gBAAgB,CAc5B;AAdY,4CAAgB"}
{"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../../src/auth/42/strategy/strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoD;AACpD,+CAAoD;AACpD,2CAAmE;AACnE,sEAAkE;AAI3D,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,IAAA,2BAAgB,EAAC,cAAQ,EAAE,IAAI,CAAC;IACrE,YAAoB,qBAA4C;QAChE,KAAK,CAAC;YACJ,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;YACxC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;YAChD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;YAC9C,KAAK,EAAE,CAAC,QAAQ,CAAC;SAClB,CAAC,CAAC;QANiB,0BAAqB,GAArB,qBAAqB,CAAuB;IAO/D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,YAAoB,EAAE,OAAgB,EAAE,WAAmB;QAChG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3H,MAAM,OAAO,GAAoB,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7J,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,8BAAqB,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACX,CAAC;CACF,CAAA;AAnBY,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAE+B,8CAAqB;GADpD,gBAAgB,CAmB5B;AAnBY,4CAAgB"}

View File

@@ -0,0 +1,9 @@
import { PassportSerializer } from "@nestjs/passport";
import { User } from "src/users/entities/user.entity";
import { AuthenticationService } from "../authentication.service";
export declare class SessionSerializer extends PassportSerializer {
private readonly authservice;
constructor(authservice: AuthenticationService);
serializeUser(user: User, done: (err: Error, user: User) => void): void;
deserializeUser(user: User, done: (err: Error, user: User) => void): Promise<void>;
}

View File

@@ -0,0 +1,37 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SessionSerializer = void 0;
const passport_1 = require("@nestjs/passport");
const common_1 = require("@nestjs/common");
const authentication_service_1 = require("../authentication.service");
let SessionSerializer = class SessionSerializer extends passport_1.PassportSerializer {
constructor(authservice) {
super();
this.authservice = authservice;
}
serializeUser(user, done) {
done(null, user);
}
async deserializeUser(user, done) {
const userDB = await this.authservice.findUser(user.fourtyTwoId);
if (userDB)
done(null, userDB);
else
done(null, null);
}
};
SessionSerializer = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [authentication_service_1.AuthenticationService])
], SessionSerializer);
exports.SessionSerializer = SessionSerializer;
//# sourceMappingURL=serializer.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../../../src/auth/42/utils/serializer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAsD;AACtD,2CAA4C;AAE5C,sEAAkE;AAG3D,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,6BAAkB;IACxD,YAA6B,WAAmC;QAC/D,KAAK,EAAE,CAAC;QADoB,gBAAW,GAAX,WAAW,CAAwB;IAEhE,CAAC;IAED,aAAa,CAAC,IAAW,EAAE,IAAyC;QACnE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAW,EAAE,IAAyC;QAC3E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,MAAM;YACT,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;;YAEnB,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACnB,CAAC;CACD,CAAA;AAhBY,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAE+B,8CAAqB;GADpD,iBAAiB,CAgB7B;AAhBY,8CAAiB"}

View File

@@ -0,0 +1,3 @@
export declare const constants: {
secret: string;
};

View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.constants = void 0;
exports.constants = {
secret: process.env.COOKIE_SECRET,
};
//# sourceMappingURL=constant.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../../src/conf/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACtB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;CACnC,CAAC"}

View File

@@ -0,0 +1,3 @@
export declare const constants: {
secret: string;
};

View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.constants = void 0;
exports.constants = {
secret: process.env.COOKIE_SECRET,
};
//# sourceMappingURL=constant.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"constant.js","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACtB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;CACnC,CAAC"}

View File

@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
Object.defineProperty(exports, "__esModule", { value: true });
exports.FriendshipController = void 0;
const common_1 = require("@nestjs/common");
const guards_1 = require("../auth/42/guards/guards");
const create_friendship_dto_1 = require("./dto/create-friendship.dto");
const update_friendship_dto_1 = require("./dto/update-friendship.dto");
const friendship_service_1 = require("./friendship.service");
@@ -48,6 +49,7 @@ let FriendshipController = class FriendshipController {
};
__decorate([
(0, common_1.Get)(':userId/friends'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
@@ -55,6 +57,7 @@ __decorate([
], FriendshipController.prototype, "findEmpty", null);
__decorate([
(0, common_1.Get)(':userId/blocked'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
@@ -62,6 +65,7 @@ __decorate([
], FriendshipController.prototype, "findAllBlocked", null);
__decorate([
(0, common_1.Get)(':userId/pending'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
@@ -69,6 +73,7 @@ __decorate([
], FriendshipController.prototype, "findAllPendantFriendshipRequested", null);
__decorate([
(0, common_1.Get)(':userId/received'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('userId')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
@@ -76,6 +81,7 @@ __decorate([
], FriendshipController.prototype, "findAllPendantFriendshipReceived", null);
__decorate([
(0, common_1.Get)(':userId/myfriends/:friendId'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('friendId')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
@@ -84,6 +90,7 @@ __decorate([
__decorate([
(0, common_1.Post)(),
(0, common_1.HttpCode)(common_1.HttpStatus.CREATED),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [create_friendship_dto_1.CreateFriendshipDto]),
@@ -91,6 +98,7 @@ __decorate([
], FriendshipController.prototype, "create", null);
__decorate([
(0, common_1.Patch)(':userId/received/:relationshipId'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('friendId')),
__param(1, (0, common_1.Body)()),
__metadata("design:type", Function),
@@ -99,6 +107,7 @@ __decorate([
], FriendshipController.prototype, "update", null);
__decorate([
(0, common_1.Delete)(':userId/:friendId'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('friendId')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),

View File

@@ -1 +1 @@
{"version":3,"file":"friendship.controller.js","sourceRoot":"","sources":["../../src/friendship/friendship.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwH;AAExH,uEAAkE;AAClE,uEAAkE;AAElE,6DAAyD;AAGlD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAChC,YAA6B,iBAAoC;QAApC,sBAAiB,GAAjB,iBAAiB,CAAmB;IAAG,CAAC;IAGrE,SAAS,CAAkB,MAAc;QACxC,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAGD,cAAc,CAAkB,MAAc;QAC7C,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAGD,iCAAiC,CAAkB,MAAc;QAChE,OAAO,IAAI,CAAC,iBAAiB,CAAC,mCAAmC,CAAC,MAAM,CAAC,CAAC;IAC3E,CAAC;IAGD,gCAAgC,CAAkB,MAAc;QAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,oCAAoC,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IAGD,aAAa,CAAoB,QAAgB;QAChD,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAID,MAAM,CAAS,mBAAwC;QACtD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC3D,CAAC;IAGD,MAAM,CAAoB,cAAsB,EAAU,EAAC,MAAM,EAAsB;QACtF,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAC,MAAM,EAAC,CAAC,CAAC;IAC1E,CAAC;IAGD,MAAM,CAAoB,QAAgB;QACzC,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1D,CAAC;CACD,CAAA;AAxCA;IAAC,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACZ,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;qDAEzB;AAED;IAAC,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACP,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;0DAE9B;AAED;IAAC,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACY,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;6EAEjD;AAED;IAAC,IAAA,YAAG,EAAC,kBAAkB,CAAC;IACU,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;4EAEhD;AAED;IAAC,IAAA,YAAG,EAAC,6BAA6B,CAAC;IACpB,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;;;;yDAE/B;AAED;IAAC,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,mBAAU,CAAC,OAAO,CAAC;IACrB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAsB,2CAAmB;;kDAEtD;AAED;IAAC,IAAA,cAAK,EAAC,kCAAkC,CAAC;IAClC,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IAA0B,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAW,2CAAmB;;kDAEtF;AAED;IAAC,IAAA,eAAM,EAAC,mBAAmB,CAAC;IACpB,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;;;;kDAExB;AA1CW,oBAAoB;IADhC,IAAA,mBAAU,EAAC,SAAS,CAAC;qCAE2B,sCAAiB;GADrD,oBAAoB,CA2ChC;AA3CY,oDAAoB"}
{"version":3,"file":"friendship.controller.js","sourceRoot":"","sources":["../../src/friendship/friendship.controller.ts"],"names":[],"mappings":"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"}

View File

@@ -1 +1 @@
{"version":3,"file":"friendship.service.js","sourceRoot":"","sources":["../../src/friendship/friendship.service.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"friendship.service.js","sourceRoot":"","sources":["../../src/friendship/friendship.service.ts"],"names":[],"mappings":"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"}

View File

@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@nestjs/core");
const common_1 = require("@nestjs/common");
const app_module_1 = require("./app.module");
const session = require("express-session");
const passport = require("passport");
const constant_1 = require("./conf/constant");
async function bootstrap() {
const app = await core_1.NestFactory.create(app_module_1.AppModule);
app.useGlobalPipes(new common_1.ValidationPipe({
@@ -13,8 +16,18 @@ async function bootstrap() {
enableImplicitConversion: true,
},
}));
const port = process.env.PORT || 3000;
const port = process.env.PORT || 3001;
app.setGlobalPrefix('api/v2');
app.use(session({
cookie: {
maxAge: 3600000 * 24,
},
secret: constant_1.constants.secret,
resave: false,
saveUninitialized: false,
}));
app.use(passport.initialize());
app.use(passport.session());
await app.listen(port, () => { console.log(`Listening on port ${port}`); });
}
bootstrap();

View File

@@ -1 +1 @@
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,2CAAgD;AAChD,6CAAyC;AAEzC,KAAK,UAAU,SAAS;IAEtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAGhD,GAAG,CAAC,cAAc,CACnB,IAAI,uBAAc,CAAC;QAElB,SAAS,EAAE,IAAI;QAEf,oBAAoB,EAAE,IAAI;QAE1B,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE;YACjB,wBAAwB,EAAE,IAAI;SAC9B;KACD,CAAC,CACA,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;IACtC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,CAAC;AACD,SAAS,EAAE,CAAC"}
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,2CAAgD;AAChD,6CAAyC;AACzC,2CAA2C;AAC3C,qCAAqC;AACrC,8CAA4C;AAC5C,KAAK,UAAU,SAAS;IAEtB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAGhD,GAAG,CAAC,cAAc,CACnB,IAAI,uBAAc,CAAC;QAElB,SAAS,EAAE,IAAI;QAEf,oBAAoB,EAAE,IAAI;QAE1B,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE;YACjB,wBAAwB,EAAE,IAAI;SAC9B;KACD,CAAC,CACA,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;IACtC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC9B,GAAG,CAAC,GAAG,CACR,OAAO,CAAC;QACN,MAAM,EAAE;YACP,MAAM,EAAE,OAAO,GAAG,EAAE;SACpB;QACD,MAAM,EAAE,oBAAS,CAAC,MAAM;QACxB,MAAM,EAAE,KAAK;QACb,iBAAiB,EAAE,KAAK;KACxB,CAAC,CACF,CAAC;IACF,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC/B,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5B,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AACD,SAAS,EAAE,CAAC"}

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,6 @@
export declare class CreateUsersDto {
readonly username: string;
readonly fourtyTwoId: string;
readonly email: string;
readonly password: string;
readonly image_url: string;
}

View File

@@ -17,6 +17,10 @@ __decorate([
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], CreateUsersDto.prototype, "username", void 0);
__decorate([
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], CreateUsersDto.prototype, "fourtyTwoId", void 0);
__decorate([
(0, class_validator_1.IsEmail)(),
__metadata("design:type", String)
@@ -24,6 +28,6 @@ __decorate([
__decorate([
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], CreateUsersDto.prototype, "password", void 0);
], CreateUsersDto.prototype, "image_url", void 0);
exports.CreateUsersDto = CreateUsersDto;
//# sourceMappingURL=create-users.dto.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"create-users.dto.js","sourceRoot":"","sources":["../../../src/users/dto/create-users.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAoD;AAGpD,MAAa,cAAc;CAO1B;AANA;IAAC,IAAA,0BAAQ,GAAE;;gDACe;AAC1B;IAAC,IAAA,yBAAO,GAAE;;6CACa;AACvB;IAAC,IAAA,0BAAQ,GAAE;;gDACe;AAN3B,wCAOC"}
{"version":3,"file":"create-users.dto.js","sourceRoot":"","sources":["../../../src/users/dto/create-users.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAoD;AAGpD,MAAa,cAAc;CAS1B;AARA;IAAC,IAAA,0BAAQ,GAAE;;gDACe;AAC1B;IAAC,IAAA,0BAAQ,GAAE;;mDACkB;AAC7B;IAAC,IAAA,yBAAO,GAAE;;6CACa;AACvB;IAAC,IAAA,0BAAQ,GAAE;;iDACgB;AAR5B,wCASC"}

View File

@@ -4,8 +4,8 @@ export declare class User {
fourtyTwoId: string;
username: string;
email: string;
password: string;
avatar: string;
image_url: string;
phone: string;
status: [string];
requesterId: Friendship[];
addresseeId: Friendship[];

View File

@@ -20,7 +20,7 @@ __decorate([
__metadata("design:type", Number)
], User.prototype, "id", void 0);
__decorate([
(0, typeorm_1.Column)({ name: 'fourty_two_id' }),
(0, typeorm_1.Column)({ unique: true }),
__metadata("design:type", String)
], User.prototype, "fourtyTwoId", void 0);
__decorate([
@@ -33,13 +33,13 @@ __decorate([
__metadata("design:type", String)
], User.prototype, "email", void 0);
__decorate([
(0, typeorm_1.Column)(),
(0, typeorm_1.Column)({ nullable: true }),
__metadata("design:type", String)
], User.prototype, "password", void 0);
], User.prototype, "image_url", void 0);
__decorate([
(0, typeorm_1.Column)({ nullable: true }),
__metadata("design:type", String)
], User.prototype, "avatar", void 0);
], User.prototype, "phone", void 0);
__decorate([
(0, typeorm_1.Column)('json', { nullable: true }),
__metadata("design:type", Array)

View File

@@ -1 +1 @@
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qDAAkD;AAClD,qCAA2G;AAC3G,mFAAyE;AAKlE,IAAM,IAAI,GAAV,MAAM,IAAI;CA+BhB,CAAA;AA7BA;IAAC,IAAA,gCAAsB,GAAE;;gCACd;AAEX;IAAC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;;yCACd;AAEpB;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,gBAAM,GAAE;IACR,IAAA,yBAAO,GAAE;;mCACI;AAEd;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCACZ;AAEf;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCAClB;AAEjB;IAAC,IAAA,mBAAS,GAAE;IACX,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAU,EAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;;yCAC7C;AAE1B;IAAC,IAAA,mBAAS,GAAE;IACX,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAU,EAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;;yCAC7C;AA9Bd,IAAI;IAFhB,IAAA,gBAAM,EAAC,MAAM,CAAC;IACd,IAAA,gBAAM,EAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;GACjB,IAAI,CA+BhB;AA/BY,oBAAI"}
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qDAAkD;AAClD,qCAA2G;AAC3G,mFAAyE;AAKlE,IAAM,IAAI,GAAV,MAAM,IAAI;CA+BhB,CAAA;AA7BA;IAAC,IAAA,gCAAsB,GAAE;;gCACd;AAEX;IAAC,IAAA,gBAAM,EAAC,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;;yCACH;AAEpB;IAAC,IAAA,gBAAM,GAAE;;sCACQ;AAEjB;IAAC,IAAA,gBAAM,GAAE;IACR,IAAA,yBAAO,GAAE;;mCACI;AAEd;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uCACR;AAEnB;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mCACb;AAEd;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCAClB;AAEjB;IAAC,IAAA,mBAAS,GAAE;IACX,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAU,EAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;;yCAC7C;AAE1B;IAAC,IAAA,mBAAS,GAAE;IACX,IAAA,mBAAS,EAAC,IAAI,CAAC,EAAE,CAAC,8BAAU,EAAG,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;;yCAC7C;AA9Bd,IAAI;IAFhB,IAAA,gBAAM,EAAC,MAAM,CAAC;IACd,IAAA,gBAAM,EAAC,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;GACjB,IAAI,CA+BhB;AA/BY,oBAAI"}

View File

@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
Object.defineProperty(exports, "__esModule", { value: true });
exports.UsersController = void 0;
const common_1 = require("@nestjs/common");
const guards_1 = require("../auth/42/guards/guards");
const pagination_query_dto_1 = require("../common/dto/pagination-query.dto");
const create_users_dto_1 = require("./dto/create-users.dto");
const update_users_dto_1 = require("./dto/update-users.dto");
@@ -41,6 +42,7 @@ let UsersController = class UsersController {
};
__decorate([
(0, common_1.Get)('all'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Query)()),
__metadata("design:type", Function),
__metadata("design:paramtypes", [pagination_query_dto_1.PaginationQueryDto]),
@@ -48,6 +50,7 @@ __decorate([
], UsersController.prototype, "findAll", null);
__decorate([
(0, common_1.Get)(':id'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('id')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),
@@ -55,6 +58,7 @@ __decorate([
], UsersController.prototype, "findOne", null);
__decorate([
(0, common_1.Post)(),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
(0, common_1.HttpCode)(common_1.HttpStatus.CREATED),
__param(0, (0, common_1.Body)()),
__metadata("design:type", Function),
@@ -63,6 +67,7 @@ __decorate([
], UsersController.prototype, "create", null);
__decorate([
(0, common_1.Patch)(':id'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('id')),
__param(1, (0, common_1.Body)()),
__metadata("design:type", Function),
@@ -71,6 +76,7 @@ __decorate([
], UsersController.prototype, "update", null);
__decorate([
(0, common_1.Delete)(':id'),
(0, common_1.UseGuards)(guards_1.FortyTwoAuthGuard),
__param(0, (0, common_1.Param)('id')),
__metadata("design:type", Function),
__metadata("design:paramtypes", [String]),

View File

@@ -1 +1 @@
{"version":3,"file":"users.controller.js","sourceRoot":"","sources":["../../src/users/users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAGwB;AACxB,6EAAyE;AACzE,6DAAwD;AACxD,6DAAwD;AAExD,mDAA+C;AAIxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAI3D,OAAO,CAAU,eAAoC;QAEpD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAGD,OAAO,CAAc,EAAU;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAID,MAAM,CAAS,cAA+B;QAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAGD,MAAM,CAAc,EAAU,EAAU,cAA8B;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAGD,MAAM,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CACD,CAAA;AA3BA;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACF,WAAA,IAAA,cAAK,GAAE,CAAA;;qCAAmB,yCAAkB;;8CAGpD;AAED;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACF,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;8CAEnB;AAED;IAAC,IAAA,aAAI,GAAE;IACN,IAAA,iBAAQ,EAAC,mBAAU,CAAC,OAAO,CAAC;IACrB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAkB,iCAAc;;6CAG7C;AAED;IAAC,IAAA,cAAK,EAAC,KAAK,CAAC;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAiB,iCAAc;;6CAErE;AAED;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;6CAElB;AA9BW,eAAe;IAD3B,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEyB,4BAAY;GAD3C,eAAe,CA+B3B;AA/BY,0CAAe"}
{"version":3,"file":"users.controller.js","sourceRoot":"","sources":["../../src/users/users.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAGwB;AACxB,qDAA8D;AAC9D,6EAAyE;AACzE,6DAAwD;AACxD,6DAAwD;AAExD,mDAA+C;AAIxC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAK3D,OAAO,CAAU,eAAoC;QAEpD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACnD,CAAC;IAID,OAAO,CAAc,EAAU;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAKD,MAAM,CAAS,cAA+B;QAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAID,MAAM,CAAc,EAAU,EAAU,cAA8B;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IACrD,CAAC;IAID,MAAM,CAAc,EAAU;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CACD,CAAA;AAhCA;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,kBAAS,EAAC,0BAAiB,CAAC;IACpB,WAAA,IAAA,cAAK,GAAE,CAAA;;qCAAmB,yCAAkB;;8CAGpD;AAED;IAAC,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,kBAAS,EAAC,0BAAiB,CAAC;IACpB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;8CAEnB;AAED;IAAC,IAAA,aAAI,GAAE;IACN,IAAA,kBAAS,EAAC,0BAAiB,CAAC;IAC5B,IAAA,iBAAQ,EAAC,mBAAU,CAAC,OAAO,CAAC;IACrB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAkB,iCAAc;;6CAG7C;AAED;IAAC,IAAA,cAAK,EAAC,KAAK,CAAC;IACZ,IAAA,kBAAS,EAAC,0BAAiB,CAAC;IACrB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IAAc,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAiB,iCAAc;;6CAErE;AAED;IAAC,IAAA,eAAM,EAAC,KAAK,CAAC;IACb,IAAA,kBAAS,EAAC,0BAAiB,CAAC;IACrB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;6CAElB;AAnCW,eAAe;IAD3B,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEyB,4BAAY;GAD3C,eAAe,CAoC3B;AApCY,0CAAe"}

View File

@@ -8,6 +8,7 @@ export declare class UsersService {
private readonly userRepository;
private readonly friendshipRepository;
constructor(userRepository: Repository<User>, friendshipRepository: Repository<Friendship>);
findOneByFourtyTwoId(fourtytwo_id: string): Promise<User>;
findOne(id: string): Promise<User>;
findAll(paginationquery: PaginationQueryDto): Promise<User[]>;
create(createUserDto: CreateUsersDto): Promise<User>;

View File

@@ -24,6 +24,18 @@ let UsersService = class UsersService {
this.userRepository = userRepository;
this.friendshipRepository = friendshipRepository;
}
async findOneByFourtyTwoId(fourtytwo_id) {
console.log(`Find user with fourtytwo_id ${fourtytwo_id}`);
if (!(0, class_validator_1.isNumberString)(fourtytwo_id))
throw new common_1.HttpException(`The requested user not found.`, common_1.HttpStatus.NOT_FOUND);
const user = await this.userRepository.findOneBy({ fourtyTwoId: fourtytwo_id });
if (!user) {
console.log(`The requested user not found.`);
return null;
}
console.log(`The requested user found.`);
return user;
}
async findOne(id) {
if (!(0, class_validator_1.isNumberString)(id))
throw new common_1.HttpException(`The requested user not found.`, common_1.HttpStatus.NOT_FOUND);
@@ -40,7 +52,8 @@ let UsersService = class UsersService {
});
}
async create(createUserDto) {
if (await this.userRepository.findOneBy({ email: createUserDto.email }))
console.log(`Create user with ${createUserDto}`);
if (await this.userRepository.findOneBy({ fourtyTwoId: createUserDto.fourtyTwoId }))
throw new common_1.HttpException(`The user already exists.`, common_1.HttpStatus.CONFLICT);
const user = this.userRepository.create(createUserDto);
if (!user)

View File

@@ -1 +1 @@
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsG;AACtG,6CAAmD;AAEnD,wDAA8C;AAC9C,qCAA8D;AAG9D,gFAAsE;AACtE,qDAAiD;AAM1C,IAAM,YAAY,GAAlB,MAAM,YAAY;IAExB,YAEiB,cAAgC,EAEhC,oBAA4C;QAF5C,mBAAc,GAAd,cAAc,CAAkB;QAEhC,yBAAoB,GAApB,oBAAoB,CAAwB;IAC1D,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACvB,IAAI,CAAC,IAAA,gCAAc,EAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAa,CAAC,+BAA+B,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAI,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAC,EAAE,EAAE,CAAC,EAAE,EAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,0BAAiB,CAAC,+BAA+B,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,OAAO,CAAC,eAAoC;QAC3C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;QAC1C,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;YAC/B,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,KAAK;SACX,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAA6B;QACzC,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAC,KAAK,EAAE,aAAa,CAAC,KAAK,EAAC,CAAC;YACpE,MAAM,IAAI,sBAAa,CAAC,0BAA0B,EAAC,mBAAU,CAAC,QAAQ,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,sBAAa,CAAC,gCAAgC,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,aAA6B;QACrD,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,aAAa,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,iBAC5C,EAAE,EAAE,CAAC,EAAE,IACL,aAAa,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,sBAAa,CAAC,gCAAgC,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YACR,MAAM,IAAI,sBAAa,CAAC,gCAAgC,EAAC,mBAAU,CAAC,SAAS,CAAC,CAAC;QAChF,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACD,CAAA;AApDY,YAAY;IADxB,IAAA,mBAAU,GAAE;IAIX,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;IAEtB,WAAA,IAAA,0BAAgB,EAAC,8BAAU,CAAC,CAAA;qCADI,oBAAU;QAEJ,oBAAU;GANrC,YAAY,CAoDxB;AApDY,oCAAY"}
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../src/users/users.service.ts"],"names":[],"mappings":"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"}