user-setting.service.ts 895 B

123456789101112131415161718192021222324252627
  1. import { Injectable } from '@nestjs/common';
  2. import { InjectRepository } from '@nestjs/typeorm';
  3. import { Repository } from 'typeorm';
  4. import { UserSetting } from './user-setting.entity';
  5. @Injectable()
  6. export class UserSettingService {
  7. constructor(
  8. @InjectRepository(UserSetting)
  9. private userSettingRepository: Repository<UserSetting>,
  10. ) {}
  11. async getByUser(userId: string): Promise<UserSetting> {
  12. let setting = await this.userSettingRepository.findOne({ where: { userId } });
  13. if (!setting) {
  14. setting = this.userSettingRepository.create({ userId, language: 'zh' });
  15. await this.userSettingRepository.save(setting);
  16. }
  17. return setting;
  18. }
  19. async update(userId: string, language: string): Promise<UserSetting> {
  20. const setting = await this.getByUser(userId);
  21. setting.language = language;
  22. return this.userSettingRepository.save(setting);
  23. }
  24. }