Skip to content

Add partner config columns to the database #1039

@bl00dymarie

Description

@bl00dymarie

Overview

ℹ️ This is ticket 1/6 of #1038 Epic: Extract Partner Config from Frontend to Database.

We need to store partner branding and social link configuration in the database instead of hardcoding it in the frontend. This ticket creates a database migration to add the necessary columns to the partner table. All new fields should be nullable — we will populate them in a later step and do a follow-up migration to enforce non-null constraints where appropriate.

❗️ Blockers:
None

Action Items

  • Generate a new TypeORM migration file (follow existing naming convention: {timestamp}-bloom-backend.ts
  • Add the following nullable columns to the partner table:
Column name Type Notes
logo varchar / null URL or path to partner logo image
logoAlt varchar / null Alt text for the partner logo
partnershipLogo varchar / null URL to co-branded partnership logo (e.g. "Bloom x Bumble")
partnershipLogoAlt varchar / null Alt text for the partnership logo
bloomGirlIllustration varchar / null URL to partner-specific Bloom girl illustration
bloomGirlIllustrationAlt varchar / null Alt text for the partner-specific Bloom girl illustration
website varchar / null Partner website URL
footerLine1 varchar / null First line of partner footer text (i18n key or plain text)
footerLine2 varchar / null Second line of partner footer text (i18n key or plain text)
facebookUrl varchar / null Full Facebook page URL
twitterUrl varchar / null Full Twitter/X profile URL
instagramUrl varchar / null Full Instagram profile URL
youtubeUrl varchar / null Full YouTube channel URL
tiktokUrl varchar / null Full TikTok profile URL
githubUrl varchar / null Full GitHub profile URL
  • Add the corresponding @Column decorators to PartnerEntity (src/entities/partner.entity.ts) with { nullable: true }
  • Ensure the migration has both up (add columns) and down (drop columns) methods
  • Run the migration locally and verify the columns are created
  • Run existing tests to ensure nothing breaks: npm run test

Resources

Metadata

Metadata

Assignees

Labels

complexity: moderateTime needed to do this ticket will be moderate e.g. 1-2 daysdatabasesWorks with databases

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions