feat: give referrals (#2262)
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test-backend (24.x) (push) Has been cancelled
test / API tests (node env, api-test) (24.x) (push) Has been cancelled
test / puterjs (node env, vitest) (24.x) (push) Has been cancelled

This commit is contained in:
Daniel Salazar
2026-01-09 16:48:49 -08:00
committed by GitHub
parent 5aa25bae5f
commit d64bd21a99
2 changed files with 6 additions and 2 deletions
@@ -133,6 +133,8 @@ class ReferralCodeService extends BaseService {
// TODO: rename 'sizeService' to 'storage-capacity'
const svc_size = Context.get('services').get('sizeService');
/** @type {import('./MeteringService/MeteringService').MeteringService} */
const meteringService = this.services.get('meteringService');
await svc_size.add_storage(user,
this.REFERRAL_INCREASE_RIGHT,
`user ${user.id} used referral code of user ${referred_by.id}`,
@@ -140,6 +142,7 @@ class ReferralCodeService extends BaseService {
field_a: referred_by.referral_code,
field_b: 'REFER_R',
});
await meteringService.updateAddonCredit(user.uuid, 25 * 1_000_000); // give them 25 cents
await svc_size.add_storage(referred_by,
this.REFERRAL_INCREASE_LEFT,
`user ${referred_by.id} referred user ${user.id}`,
@@ -147,6 +150,7 @@ class ReferralCodeService extends BaseService {
field_a: referred_by.referral_code,
field_b: 'REFER_L',
});
await meteringService.updateAddonCredit(referred_by.uuid, 25 * 1_000_000); // give them 25 cents
const svc_email = Context.get('services').get('email');
await svc_email.send_email (referred_by, 'new-referral', {
+2 -2
View File
@@ -55,7 +55,7 @@ const en = {
confirm: 'Confirm',
confirm_2fa_setup: 'I have added the code to my authenticator app',
confirm_2fa_recovery: 'I have saved my recovery codes in a secure location',
confirm_account_for_free_referral_storage_c2a: 'Create an account and confirm your email address to receive 1 GB of free storage. Your friend will get 1 GB of free storage too.',
confirm_account_for_free_referral_storage_c2a: 'Create an account and confirm your email address to receive 1 GB of storage and $0.25 worth of usage credit for resources (AI, Bandwidth, KV, etc.). Your friend will get the same too!',
confirm_code_generic_incorrect: 'Incorrect Code.',
confirm_code_generic_too_many_requests: 'Too many requests. Please wait a few minutes.',
confirm_code_generic_submit: 'Submit Code',
@@ -243,7 +243,7 @@ const en = {
recent: 'Recent',
recommended: 'Recommended',
recover_password: 'Recover Password',
refer_friends_c2a: 'Get 1 GB for every friend who creates and confirms an account on Puter. Your friend will get 1 GB too!',
refer_friends_c2a: 'Get 1 GB of storage and $0.25 worth of usage credit for resources (AI, Bandwidth, KV, etc.) for every friend who creates and confirms an account on Puter. Your friend will get the same too!',
refer_friends_social_media_c2a: 'Get 1 GB of free storage on Puter.com!',
refresh: 'Refresh',
release_address_confirmation: 'Are you sure you want to release this address?',