Configure remote database connection and update documentation
This commit is contained in:
14
backend/dist/modules/users/entities/user.entity.d.ts
vendored
Normal file
14
backend/dist/modules/users/entities/user.entity.d.ts
vendored
Normal file
@ -0,0 +1,14 @@
|
||||
import { Message } from '../../messages/entities/message.entity';
|
||||
export declare class User {
|
||||
id: string;
|
||||
username: string;
|
||||
email: string;
|
||||
password: string;
|
||||
avatar?: string;
|
||||
bio?: string;
|
||||
isOnline: boolean;
|
||||
lastSeen?: Date;
|
||||
messages: Message[];
|
||||
createdAt: Date;
|
||||
updatedAt: Date;
|
||||
}
|
89
backend/dist/modules/users/entities/user.entity.js
vendored
Normal file
89
backend/dist/modules/users/entities/user.entity.js
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
"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.User = void 0;
|
||||
const graphql_1 = require("@nestjs/graphql");
|
||||
const typeorm_1 = require("typeorm");
|
||||
const message_entity_1 = require("../../messages/entities/message.entity");
|
||||
let User = class User {
|
||||
id;
|
||||
username;
|
||||
email;
|
||||
password;
|
||||
avatar;
|
||||
bio;
|
||||
isOnline;
|
||||
lastSeen;
|
||||
messages;
|
||||
createdAt;
|
||||
updatedAt;
|
||||
};
|
||||
exports.User = User;
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(() => graphql_1.ID),
|
||||
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "id", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(),
|
||||
(0, typeorm_1.Column)({ unique: true }),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "username", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(),
|
||||
(0, typeorm_1.Column)({ unique: true }),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "email", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.HideField)(),
|
||||
(0, typeorm_1.Column)(),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "password", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(() => String, { nullable: true }),
|
||||
(0, typeorm_1.Column)({ nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "avatar", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(() => String, { nullable: true }),
|
||||
(0, typeorm_1.Column)({ nullable: true }),
|
||||
__metadata("design:type", String)
|
||||
], User.prototype, "bio", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(() => Boolean),
|
||||
(0, typeorm_1.Column)({ default: false }),
|
||||
__metadata("design:type", Boolean)
|
||||
], User.prototype, "isOnline", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(() => Date, { nullable: true }),
|
||||
(0, typeorm_1.Column)({ nullable: true }),
|
||||
__metadata("design:type", Date)
|
||||
], User.prototype, "lastSeen", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(() => [message_entity_1.Message]),
|
||||
(0, typeorm_1.OneToMany)(() => message_entity_1.Message, message => message.sender),
|
||||
__metadata("design:type", Array)
|
||||
], User.prototype, "messages", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(() => Date),
|
||||
(0, typeorm_1.CreateDateColumn)(),
|
||||
__metadata("design:type", Date)
|
||||
], User.prototype, "createdAt", void 0);
|
||||
__decorate([
|
||||
(0, graphql_1.Field)(() => Date),
|
||||
(0, typeorm_1.UpdateDateColumn)(),
|
||||
__metadata("design:type", Date)
|
||||
], User.prototype, "updatedAt", void 0);
|
||||
exports.User = User = __decorate([
|
||||
(0, graphql_1.ObjectType)(),
|
||||
(0, typeorm_1.Entity)('users')
|
||||
], User);
|
||||
//# sourceMappingURL=user.entity.js.map
|
1
backend/dist/modules/users/entities/user.entity.js.map
vendored
Normal file
1
backend/dist/modules/users/entities/user.entity.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../../src/modules/users/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAmE;AACnE,qCAAgH;AAChH,2EAAiE;AAI1D,IAAM,IAAI,GAAV,MAAM,IAAI;IAGf,EAAE,CAAS;IAIX,QAAQ,CAAS;IAIjB,KAAK,CAAS;IAId,QAAQ,CAAS;IAIjB,MAAM,CAAU;IAIhB,GAAG,CAAU;IAIb,QAAQ,CAAU;IAIlB,QAAQ,CAAQ;IAIhB,QAAQ,CAAY;IAIpB,SAAS,CAAO;IAIhB,SAAS,CAAO;CACjB,CAAA;AA5CY,oBAAI;AAGf;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,YAAE,CAAC;IACf,IAAA,gCAAsB,EAAC,MAAM,CAAC;;gCACpB;AAIX;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;sCACR;AAIjB;IAFC,IAAA,eAAK,GAAE;IACP,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;mCACX;AAId;IAFC,IAAA,mBAAS,GAAE;IACX,IAAA,gBAAM,GAAE;;sCACQ;AAIjB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oCACX;AAIhB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iCACd;AAIb;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC;IACpB,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;sCACT;AAIlB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACrC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAChB,IAAI;sCAAC;AAIhB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,wBAAO,CAAC,CAAC;IACtB,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;;sCAChC;AAIpB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACjB,IAAA,0BAAgB,GAAE;8BACR,IAAI;uCAAC;AAIhB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACjB,IAAA,0BAAgB,GAAE;8BACR,IAAI;uCAAC;eA3CL,IAAI;IAFhB,IAAA,oBAAU,GAAE;IACZ,IAAA,gBAAM,EAAC,OAAO,CAAC;GACH,IAAI,CA4ChB"}
|
2
backend/dist/modules/users/users.module.d.ts
vendored
Normal file
2
backend/dist/modules/users/users.module.d.ts
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
export declare class UsersModule {
|
||||
}
|
25
backend/dist/modules/users/users.module.js
vendored
Normal file
25
backend/dist/modules/users/users.module.js
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
"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;
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UsersModule = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const typeorm_1 = require("@nestjs/typeorm");
|
||||
const users_service_1 = require("./users.service");
|
||||
const users_resolver_1 = require("./users.resolver");
|
||||
const user_entity_1 = require("./entities/user.entity");
|
||||
let UsersModule = class UsersModule {
|
||||
};
|
||||
exports.UsersModule = UsersModule;
|
||||
exports.UsersModule = UsersModule = __decorate([
|
||||
(0, common_1.Module)({
|
||||
imports: [typeorm_1.TypeOrmModule.forFeature([user_entity_1.User])],
|
||||
providers: [users_resolver_1.UsersResolver, users_service_1.UsersService],
|
||||
exports: [users_service_1.UsersService],
|
||||
})
|
||||
], UsersModule);
|
||||
//# sourceMappingURL=users.module.js.map
|
1
backend/dist/modules/users/users.module.js.map
vendored
Normal file
1
backend/dist/modules/users/users.module.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"users.module.js","sourceRoot":"","sources":["../../../src/modules/users/users.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,mDAA+C;AAC/C,qDAAiD;AACjD,wDAA8C;AAOvC,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IALvB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,CAAC,CAAC,CAAC;QAC3C,SAAS,EAAE,CAAC,8BAAa,EAAE,4BAAY,CAAC;QACxC,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"}
|
10
backend/dist/modules/users/users.resolver.d.ts
vendored
Normal file
10
backend/dist/modules/users/users.resolver.d.ts
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
import { UsersService } from './users.service';
|
||||
import { User } from './entities/user.entity';
|
||||
export declare class UsersResolver {
|
||||
private readonly usersService;
|
||||
constructor(usersService: UsersService);
|
||||
findAll(): Promise<User[]>;
|
||||
findOne(id: string): Promise<User>;
|
||||
getMe(user: User): Promise<User>;
|
||||
updateUser(user: User, bio?: string, avatar?: string): Promise<User>;
|
||||
}
|
78
backend/dist/modules/users/users.resolver.js
vendored
Normal file
78
backend/dist/modules/users/users.resolver.js
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
"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);
|
||||
};
|
||||
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
||||
return function (target, key) { decorator(target, key, paramIndex); }
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UsersResolver = void 0;
|
||||
const graphql_1 = require("@nestjs/graphql");
|
||||
const users_service_1 = require("./users.service");
|
||||
const user_entity_1 = require("./entities/user.entity");
|
||||
const common_1 = require("@nestjs/common");
|
||||
const gql_auth_guard_1 = require("../auth/guards/gql-auth.guard");
|
||||
const current_user_decorator_1 = require("../auth/decorators/current-user.decorator");
|
||||
let UsersResolver = class UsersResolver {
|
||||
usersService;
|
||||
constructor(usersService) {
|
||||
this.usersService = usersService;
|
||||
}
|
||||
findAll() {
|
||||
return this.usersService.findAll();
|
||||
}
|
||||
findOne(id) {
|
||||
return this.usersService.findOne(id);
|
||||
}
|
||||
getMe(user) {
|
||||
return this.usersService.findOne(user.id);
|
||||
}
|
||||
updateUser(user, bio, avatar) {
|
||||
return this.usersService.update(user.id, { bio, avatar });
|
||||
}
|
||||
};
|
||||
exports.UsersResolver = UsersResolver;
|
||||
__decorate([
|
||||
(0, graphql_1.Query)(() => [user_entity_1.User], { name: 'users' }),
|
||||
(0, common_1.UseGuards)(gql_auth_guard_1.GqlAuthGuard),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", []),
|
||||
__metadata("design:returntype", void 0)
|
||||
], UsersResolver.prototype, "findAll", null);
|
||||
__decorate([
|
||||
(0, graphql_1.Query)(() => user_entity_1.User, { name: 'user' }),
|
||||
(0, common_1.UseGuards)(gql_auth_guard_1.GqlAuthGuard),
|
||||
__param(0, (0, graphql_1.Args)('id', { type: () => graphql_1.ID })),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [String]),
|
||||
__metadata("design:returntype", void 0)
|
||||
], UsersResolver.prototype, "findOne", null);
|
||||
__decorate([
|
||||
(0, graphql_1.Query)(() => user_entity_1.User, { name: 'me' }),
|
||||
(0, common_1.UseGuards)(gql_auth_guard_1.GqlAuthGuard),
|
||||
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [user_entity_1.User]),
|
||||
__metadata("design:returntype", void 0)
|
||||
], UsersResolver.prototype, "getMe", null);
|
||||
__decorate([
|
||||
(0, graphql_1.Mutation)(() => user_entity_1.User),
|
||||
(0, common_1.UseGuards)(gql_auth_guard_1.GqlAuthGuard),
|
||||
__param(0, (0, current_user_decorator_1.CurrentUser)()),
|
||||
__param(1, (0, graphql_1.Args)('bio', { nullable: true })),
|
||||
__param(2, (0, graphql_1.Args)('avatar', { nullable: true })),
|
||||
__metadata("design:type", Function),
|
||||
__metadata("design:paramtypes", [user_entity_1.User, String, String]),
|
||||
__metadata("design:returntype", void 0)
|
||||
], UsersResolver.prototype, "updateUser", null);
|
||||
exports.UsersResolver = UsersResolver = __decorate([
|
||||
(0, graphql_1.Resolver)(() => user_entity_1.User),
|
||||
__metadata("design:paramtypes", [users_service_1.UsersService])
|
||||
], UsersResolver);
|
||||
//# sourceMappingURL=users.resolver.js.map
|
1
backend/dist/modules/users/users.resolver.js.map
vendored
Normal file
1
backend/dist/modules/users/users.resolver.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"users.resolver.js","sourceRoot":"","sources":["../../../src/modules/users/users.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAsE;AACtE,mDAA+C;AAC/C,wDAA8C;AAC9C,2CAA2C;AAC3C,kEAA6D;AAC7D,sFAAwE;AAGjE,IAAM,aAAa,GAAnB,MAAM,aAAa;IACK;IAA7B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAI3D,OAAO;QACL,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;IAID,OAAO,CAAiC,EAAU;QAChD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAID,KAAK,CAAgB,IAAU;QAC7B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IAID,UAAU,CACO,IAAU,EACQ,GAAY,EACT,MAAe;QAEnD,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AA9BY,sCAAa;AAKxB;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,CAAC,kBAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACtC,IAAA,kBAAS,EAAC,6BAAY,CAAC;;;;4CAGvB;AAID;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACf,WAAA,IAAA,cAAI,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,YAAE,EAAE,CAAC,CAAA;;;;4CAEtC;AAID;IAFC,IAAA,eAAK,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,IAAA,kBAAS,EAAC,6BAAY,CAAC;IACjB,WAAA,IAAA,oCAAW,GAAE,CAAA;;qCAAO,kBAAI;;0CAE9B;AAID;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;IACpB,IAAA,kBAAS,EAAC,6BAAY,CAAC;IAErB,WAAA,IAAA,oCAAW,GAAE,CAAA;IACb,WAAA,IAAA,cAAI,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC/B,WAAA,IAAA,cAAI,EAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qCAFd,kBAAI;;+CAK1B;wBA7BU,aAAa;IADzB,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,kBAAI,CAAC;qCAEwB,4BAAY;GAD5C,aAAa,CA8BzB"}
|
13
backend/dist/modules/users/users.service.d.ts
vendored
Normal file
13
backend/dist/modules/users/users.service.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import { Repository } from 'typeorm';
|
||||
import { User } from './entities/user.entity';
|
||||
export declare class UsersService {
|
||||
private usersRepository;
|
||||
constructor(usersRepository: Repository<User>);
|
||||
create(username: string, email: string, password: string): Promise<User>;
|
||||
findAll(): Promise<User[]>;
|
||||
findOne(id: string): Promise<User>;
|
||||
findByUsername(username: string): Promise<User | null>;
|
||||
findByEmail(email: string): Promise<User | null>;
|
||||
update(id: string, updateData: Partial<User>): Promise<User>;
|
||||
updateOnlineStatus(id: string, isOnline: boolean): Promise<void>;
|
||||
}
|
107
backend/dist/modules/users/users.service.js
vendored
Normal file
107
backend/dist/modules/users/users.service.js
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
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 __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
var __metadata = (this && this.__metadata) || function (k, v) {
|
||||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
||||
};
|
||||
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
||||
return function (target, key) { decorator(target, key, paramIndex); }
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UsersService = void 0;
|
||||
const common_1 = require("@nestjs/common");
|
||||
const typeorm_1 = require("@nestjs/typeorm");
|
||||
const typeorm_2 = require("typeorm");
|
||||
const user_entity_1 = require("./entities/user.entity");
|
||||
const bcrypt = __importStar(require("bcrypt"));
|
||||
let UsersService = class UsersService {
|
||||
usersRepository;
|
||||
constructor(usersRepository) {
|
||||
this.usersRepository = usersRepository;
|
||||
}
|
||||
async create(username, email, password) {
|
||||
const existingUser = await this.usersRepository.findOne({
|
||||
where: [{ username }, { email }],
|
||||
});
|
||||
if (existingUser) {
|
||||
throw new common_1.ConflictException('Пользователь с таким username или email уже существует');
|
||||
}
|
||||
const hashedPassword = await bcrypt.hash(password, 10);
|
||||
const user = this.usersRepository.create({
|
||||
username,
|
||||
email,
|
||||
password: hashedPassword,
|
||||
});
|
||||
return this.usersRepository.save(user);
|
||||
}
|
||||
async findAll() {
|
||||
return this.usersRepository.find();
|
||||
}
|
||||
async findOne(id) {
|
||||
const user = await this.usersRepository.findOne({ where: { id } });
|
||||
if (!user) {
|
||||
throw new common_1.NotFoundException('Пользователь не найден');
|
||||
}
|
||||
return user;
|
||||
}
|
||||
async findByUsername(username) {
|
||||
return this.usersRepository.findOne({ where: { username } });
|
||||
}
|
||||
async findByEmail(email) {
|
||||
return this.usersRepository.findOne({ where: { email } });
|
||||
}
|
||||
async update(id, updateData) {
|
||||
await this.usersRepository.update(id, updateData);
|
||||
return this.findOne(id);
|
||||
}
|
||||
async updateOnlineStatus(id, isOnline) {
|
||||
await this.usersRepository.update(id, {
|
||||
isOnline,
|
||||
lastSeen: isOnline ? null : new Date(),
|
||||
});
|
||||
}
|
||||
};
|
||||
exports.UsersService = UsersService;
|
||||
exports.UsersService = UsersService = __decorate([
|
||||
(0, common_1.Injectable)(),
|
||||
__param(0, (0, typeorm_1.InjectRepository)(user_entity_1.User)),
|
||||
__metadata("design:paramtypes", [typeorm_2.Repository])
|
||||
], UsersService);
|
||||
//# sourceMappingURL=users.service.js.map
|
1
backend/dist/modules/users/users.service.js.map
vendored
Normal file
1
backend/dist/modules/users/users.service.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"users.service.js","sourceRoot":"","sources":["../../../src/modules/users/users.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkF;AAClF,6CAAmD;AACnD,qCAAqC;AACrC,wDAA8C;AAC9C,+CAAiC;AAG1B,IAAM,YAAY,GAAlB,MAAM,YAAY;IAGb;IAFV,YAEU,eAAiC;QAAjC,oBAAe,GAAf,eAAe,CAAkB;IACxC,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,KAAa,EAAE,QAAgB;QAC5D,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YACtD,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;SACjC,CAAC,CAAC;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,0BAAiB,CAAC,wDAAwD,CAAC,CAAC;QACxF,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YACvC,QAAQ;YACR,KAAK;YACL,QAAQ,EAAE,cAAc;SACzB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,wBAAwB,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,UAAyB;QAChD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU,EAAE,QAAiB;QACpD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE;YACpC,QAAQ;YACR,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAxDY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;qCACE,oBAAU;GAH1B,YAAY,CAwDxB"}
|
Reference in New Issue
Block a user