Commit 0c7bf294 authored by Diego Iván's avatar Diego Iván
Browse files

agregando admin resource con typeorm

parent 798da99e
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
import { Controller, Get, Post, Body, Patch, Param, Delete } from '@nestjs/common';
import {
  Controller,
  Get,
  Post,
  Body,
  Patch,
  Param,
  Delete,
} from '@nestjs/common';
import { AdminService } from './admin.service';
import { CreateAdminDto } from './dto/create-admin.dto';
import { UpdateAdminDto } from './dto/update-admin.dto';
@@ -19,7 +27,7 @@ export class AdminController {

  @Get(':id')
  findOne(@Param('id') id: string) {
    return this.adminService.findOne(+id);
    // return this.adminService.findOne(+id);
  }

  @Patch(':id')
+3 −0
Original line number Diff line number Diff line
import { Module } from '@nestjs/common';
import { AdminService } from './admin.service';
import { AdminController } from './admin.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Admin } from './entities/admin.entity';

@Module({
  controllers: [AdminController],
  providers: [AdminService],
  imports: [TypeOrmModule.forFeature([Admin])],
})
export class AdminModule {}
+10 −4
Original line number Diff line number Diff line
import { Injectable } from '@nestjs/common';
import { CreateAdminDto } from './dto/create-admin.dto';
import { UpdateAdminDto } from './dto/update-admin.dto';
import { Admin } from './entities/admin.entity';
import { Repository } from 'typeorm';
import { InjectRepository } from '@nestjs/typeorm';

@Injectable()
export class AdminService {
  create(createAdminDto: CreateAdminDto) {
    return 'This action adds a new admin';
  constructor(
    @InjectRepository(Admin) private adminRepository: Repository<Admin>,
  ) {}
  async create(createAdminDto: CreateAdminDto) {
    await this.adminRepository.insert(createAdminDto);
  }

  findAll() {
    return `This action returns all admin`;
  }

  findOne(id: number) {
    return `This action returns a #${id} admin`;
  async findOne(email: string): Promise<Admin> {
    return await this.adminRepository.findOneByOrFail({ email });
  }

  update(id: number, updateAdminDto: UpdateAdminDto) {
+11 −1
Original line number Diff line number Diff line
export class CreateAdminDto {}
import { Role } from 'src/enum/role.enum';
import { UserStatus } from 'src/enum/user-status.enum';

export class CreateAdminDto {
  email: string;
  password: string;
  name: string;
  lastName: string;
  role: Role;
  status: UserStatus = UserStatus.ACTIVE;
}
+7 −5
Original line number Diff line number Diff line
import { Role } from 'src/enum/role.enum';
import { UserStatus } from 'src/enum/user-status.enum';
import { Entity, Column, PrimaryGeneratedColumn, PrimaryColumn } from 'typeorm';

@Entity()
export class Admin {
  @PrimaryColumn()
  adminEmail: string;
  email: string;

  @Column()
  name: string;
@@ -13,8 +15,8 @@ export class Admin {

  @Column({
    type: 'enum',
    enum: ['admin', 'superadmin'],
    default: 'admin',
    enum: [Role.ADMIN, Role.SUPERADMIN],
    default: Role.ADMIN,
  })
  role: string;

@@ -23,8 +25,8 @@ export class Admin {

  @Column({
    type: 'enum',
    enum: ['active', 'inactive'],
    enum: UserStatus,
    default: 'active',
  })
  status: boolean;
  status: UserStatus = UserStatus.ACTIVE;
}