chore: add referral module
This commit is contained in:
@@ -18,6 +18,9 @@ import { Invoice } from "../../invoices/entities/invoice.entity";
|
||||
import { LearningProgress } from "../../learnings/entities/learning-progress.entity";
|
||||
import { Notification } from "../../notifications/entities/notification.entity";
|
||||
import { Payment } from "../../payments/entities/payment.entity";
|
||||
import { ReferralCode } from "../../referrals/entities/referral-code.entity";
|
||||
import { ReferralReward } from "../../referrals/entities/referral-reward.entity";
|
||||
import { Referral } from "../../referrals/entities/referral.entity";
|
||||
import { UserSetting } from "../../settings/entities/user-setting.entity";
|
||||
import { UserQuickAccess } from "../../subscriptions/entities/user-quick-access.entity";
|
||||
import { UserSubscription } from "../../subscriptions/entities/user-subscription.entity";
|
||||
@@ -132,8 +135,16 @@ export class User extends BaseEntity {
|
||||
|
||||
@OneToMany(() => RefreshToken, (refreshToken) => refreshToken.user, { cascade: true })
|
||||
refreshTokens: RefreshToken[];
|
||||
}
|
||||
|
||||
// @ManyToMany(() => DanakService, (danakService) => danakService.users)
|
||||
// @JoinTable()
|
||||
// danakServices: DanakService[];
|
||||
@OneToOne(() => ReferralCode, (code) => code.user)
|
||||
referralCode: ReferralCode;
|
||||
|
||||
@OneToMany(() => Referral, (referral) => referral.referrer)
|
||||
referrals: Referral[];
|
||||
|
||||
@OneToMany(() => Referral, (referral) => referral.referredUser)
|
||||
referredBy: Referral[];
|
||||
|
||||
@OneToMany(() => ReferralReward, (reward) => reward.user)
|
||||
referralRewards: ReferralReward[];
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import { AddressService } from "../../address/providers/address.service";
|
||||
import { CompleteRegistrationDto } from "../../auth/DTO/complete-register.dto";
|
||||
import { RequestOtpDto } from "../../auth/DTO/request-otp.dto";
|
||||
import { VerifyOtpDto } from "../../auth/DTO/verify-otp.dto";
|
||||
import { ReferralsService } from "../../referrals/providers/referrals.service";
|
||||
import { UserSettingsService } from "../../settings/providers/user-settings.service";
|
||||
import { CacheService } from "../../utils/providers/cache.service";
|
||||
import { EmailService } from "../../utils/providers/email.service";
|
||||
@@ -30,7 +31,6 @@ import { LegalUserRepository } from "../repositories/legal-user.repository";
|
||||
import { RealUserRepository } from "../repositories/real-user.repository";
|
||||
import { UserGroupRepository } from "../repositories/user-group.repository";
|
||||
import { UserRepository } from "../repositories/users.repository";
|
||||
|
||||
@Injectable()
|
||||
export class UsersService {
|
||||
private readonly logger = new Logger(UsersService.name);
|
||||
@@ -47,6 +47,7 @@ export class UsersService {
|
||||
private readonly otpService: OTPService,
|
||||
private readonly smsService: SmsService,
|
||||
private readonly cacheService: CacheService,
|
||||
private readonly referralsService: ReferralsService,
|
||||
) {}
|
||||
|
||||
/************************************************************ */
|
||||
@@ -254,8 +255,8 @@ export class UsersService {
|
||||
await queryRunner.manager.save(user);
|
||||
|
||||
await this.userSettingsService.createUserSettings(user.id, queryRunner);
|
||||
|
||||
await this.walletsService.createUserWallet(user.id, queryRunner);
|
||||
await this.referralsService.generateReferralCode(user.id, queryRunner);
|
||||
|
||||
return user;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import { UtilsModule } from "../utils/utils.module";
|
||||
import { AdminsService } from "./providers/admins.service";
|
||||
import { CustomersService } from "./providers/customers.service";
|
||||
import { RefreshTokensRepository } from "./repositories/refresh-token.repository";
|
||||
import { ReferralsModule } from "../referrals/referrals.module";
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
@@ -33,6 +34,7 @@ import { RefreshTokensRepository } from "./repositories/refresh-token.repository
|
||||
WalletsModule,
|
||||
UtilsModule,
|
||||
AddressModule,
|
||||
ReferralsModule,
|
||||
],
|
||||
providers: [
|
||||
UsersService,
|
||||
|
||||
Reference in New Issue
Block a user