Giter Club home page Giter Club logo

Comments (5)

serhiisol avatar serhiisol commented on June 5, 2024

Hi @lavyun, Your UserService injects something, and that something must be also registered via DI. Could you show me UserService class ?

from node-decorators.

lavyun avatar lavyun commented on June 5, 2024

OK, This is UserService

import UserDao, {UserInter} from '../dao/UserDao'
import {Injectable} from '@decorators/di'

@Injectable()
export default class UserService {
  constructor(private userDao: UserDao) {
  }
  
  register(user: UserInter) {
    const registerRs = this.userDao.register(user)
  }
}

And, this is UserDao

import {getRepository} from 'typeorm'
import UserInfo from '../entities/UserInfo'
import UserAccount from '../entities/UserAccount'

export interface UserInter {
  username: string
  password: string
  email: string
  active: boolean
}


export default class UserDao {
  // 用户注册
  // TODO 事务处理
  async register(user: UserInter) {
    const userAccountRep = getRepository(UserAccount)
    const userInfoRep = getRepository(UserInfo)
    const userAccountRs = await userAccountRep.save(user)
    
    const userInfo: any = {
      username: user.username,
      sex: true,
      location: '北京市',
      birth: '1970-01-01',
      avatar: 'http://placehold.it/100x100'
    }
    const userInfoRs = await userInfoRep.save(userInfo)
    return {
      userAccountRs, userInfoRs
    }
  }
}

from node-decorators.

serhiisol avatar serhiisol commented on June 5, 2024

Your UserDao must be also injectable. Basically the point of @Injectable() is to mark class that it will be used as possible dependency

from node-decorators.

lavyun avatar lavyun commented on June 5, 2024

Thank you very much

from node-decorators.

serhiisol avatar serhiisol commented on June 5, 2024

No problem, I hope that helped )

from node-decorators.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.