Skip to content

Conversation

@capJavert
Copy link
Contributor

@capJavert capJavert commented Jan 20, 2026

  • rename email column to identifier, to make it more generic and reusable
  • refactor anonUserId to ClaimableItem (anon flow for recruiter)
  • add option to claim anon opportunities by logged in user
  • tests

@capJavert capJavert self-assigned this Jan 20, 2026
@pulumi
Copy link

pulumi bot commented Jan 20, 2026

🍹 The Update (preview) for dailydotdev/api/prod (at 0c4c44a) was successful.

Resource Changes

    Name                                                   Type                           Operation
~   vpc-native-update-trending-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-update-tag-recommendations-cron             kubernetes:batch/v1:CronJob    update
-   vpc-native-api-clickhouse-migration-6f39e1b2           kubernetes:batch/v1:Job        delete
~   vpc-native-clean-zombie-user-companies-cron            kubernetes:batch/v1:CronJob    update
~   vpc-native-user-profile-updated-sync-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-users-cron                     kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-images-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-history-day-clickhouse-cron  kubernetes:batch/v1:CronJob    update
+   vpc-native-api-clickhouse-migration-390948aa           kubernetes:batch/v1:Job        create
~   vpc-native-update-highlighted-views-cron               kubernetes:batch/v1:CronJob    update
~   vpc-native-daily-digest-cron                           kubernetes:batch/v1:CronJob    update
~   vpc-native-ws-deployment                               kubernetes:apps/v1:Deployment  update
~   vpc-native-check-analytics-report-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-sync-subscription-with-cio-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-tag-view-cron                 kubernetes:batch/v1:CronJob    update
~   vpc-native-update-current-streak-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-validate-active-users-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-generate-search-invites-cron                kubernetes:batch/v1:CronJob    update
~   vpc-native-private-deployment                          kubernetes:apps/v1:Deployment  update
~   vpc-native-clean-gifted-plus-cron                      kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-zombie-opportunities-cron             kubernetes:batch/v1:CronJob    update
~   vpc-native-hourly-notification-cron                    kubernetes:batch/v1:CronJob    update
~   vpc-native-bg-deployment                               kubernetes:apps/v1:Deployment  update
+   vpc-native-api-db-migration-390948aa                   kubernetes:batch/v1:Job        create
~   vpc-native-update-tags-str-cron                        kubernetes:batch/v1:CronJob    update
~   vpc-native-personalized-digest-deployment              kubernetes:apps/v1:Deployment  update
~   vpc-native-temporal-deployment                         kubernetes:apps/v1:Deployment  update
~   vpc-native-generic-referral-reminder-cron              kubernetes:batch/v1:CronJob    update
~   vpc-native-update-source-public-threshold-cron         kubernetes:batch/v1:CronJob    update
~   vpc-native-calculate-top-readers-cron                  kubernetes:batch/v1:CronJob    update
~   vpc-native-post-analytics-clickhouse-cron              kubernetes:batch/v1:CronJob    update
-   vpc-native-api-db-migration-6f39e1b2                   kubernetes:batch/v1:Job        delete
~   vpc-native-update-views-cron                           kubernetes:batch/v1:CronJob    update
~   vpc-native-clean-stale-user-transactions-cron          kubernetes:batch/v1:CronJob    update
~   vpc-native-deployment                                  kubernetes:apps/v1:Deployment  update

@capJavert capJavert marked this pull request as ready for review January 20, 2026 22:28
@capJavert capJavert requested a review from a team as a code owner January 20, 2026 22:28
Comment on lines +1 to +27
import { MigrationInterface, QueryRunner } from 'typeorm';

export class ClaimableItemIdentifier1768937354866 implements MigrationInterface {
name = 'ClaimableItemIdentifier1768937354866';

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_claimable_item_email"`);
await queryRunner.query(
`ALTER TABLE "claimable_item" RENAME COLUMN "email" TO "identifier"`,
);
await queryRunner.query(
`CREATE INDEX "IDX_claimable_item_identifier" ON "claimable_item" ("identifier") `,
);
}

public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`DROP INDEX "public"."IDX_claimable_item_identifier"`,
);
await queryRunner.query(
`ALTER TABLE "claimable_item" RENAME COLUMN "identifier" TO "email"`,
);
await queryRunner.query(
`CREATE INDEX "IDX_claimable_item_email" ON "claimable_item" ("email") `,
);
}
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
import { MigrationInterface, QueryRunner } from 'typeorm';
export class ClaimableItemIdentifier1768937354866 implements MigrationInterface {
name = 'ClaimableItemIdentifier1768937354866';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(`DROP INDEX "public"."IDX_claimable_item_email"`);
await queryRunner.query(
`ALTER TABLE "claimable_item" RENAME COLUMN "email" TO "identifier"`,
);
await queryRunner.query(
`CREATE INDEX "IDX_claimable_item_identifier" ON "claimable_item" ("identifier") `,
);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
`DROP INDEX "public"."IDX_claimable_item_identifier"`,
);
await queryRunner.query(
`ALTER TABLE "claimable_item" RENAME COLUMN "identifier" TO "email"`,
);
await queryRunner.query(
`CREATE INDEX "IDX_claimable_item_email" ON "claimable_item" ("email") `,
);
}
}
import { MigrationInterface, QueryRunner } from 'typeorm';
export class ClaimableItemIdentifier1768937354866
implements MigrationInterface
{
name = 'ClaimableItemIdentifier1768937354866';
public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(/* sql */ `
DROP INDEX IF EXISTS "public"."IDX_claimable_item_email"
`);
await queryRunner.query(/* sql */ `
ALTER TABLE "claimable_item"
RENAME COLUMN "email" TO "identifier"
`);
await queryRunner.query(/* sql */ `
CREATE INDEX IF NOT EXISTS "IDX_claimable_item_identifier"
ON "claimable_item" ("identifier")
`);
}
public async down(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(/* sql */ `
DROP INDEX IF EXISTS "public"."IDX_claimable_item_identifier"
`);
await queryRunner.query(/* sql */ `
ALTER TABLE "claimable_item"
RENAME COLUMN "identifier" TO "email"
`);
await queryRunner.query(/* sql */ `
CREATE INDEX IF NOT EXISTS "IDX_claimable_item_email"
ON "claimable_item" ("email")
`);
}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants