refactor(peer-support): delete provably dead code (Phase 1)

The Skills Exchange + Peer Support feature was replaced by Community
Connections on 2026-04-05, but several files and code paths were left
in place as backward-compat. None are reachable from the live UI:

- usePeerSupport.js composable: not imported anywhere
- PeerSupportBadge.vue: not imported anywhere
- peer-support.vue: stub redirect with no incoming links
- /api/peer-support.get.js: only consumed by usePeerSupport
- /api/members/me/peer-support.patch.js: same
- profile.patch.js offering/lookingFor write branches: profile form
  no longer sends these fields (only writes communityConnections.*)
- PEER_SUPPORT_ENABLED/DISABLED activity types and renderers: only
  written by the deleted peer-support.patch endpoint. The activityText
  formatter has a fallback for unknown types so existing records
  still display ("peer support enabled" with a generic icon).

Tests updated to drop peerSupportUpdateSchema coverage and the
offering/lookingFor passthrough assertion.

schemas.js cleanup deferred — concurrent communityConnections →
communityEcology rename is in flight in the working tree.
This commit is contained in:
Jennie Robinson Faber 2026-04-08 22:28:35 +01:00
parent 130e5bfa9f
commit 9577929e0d
11 changed files with 0 additions and 366 deletions

View file

@ -15,7 +15,6 @@ import {
guestRegisterSchema,
eventPaymentSchema,
updateContributionSchema,
peerSupportUpdateSchema,
seriesTicketPurchaseSchema,
seriesTicketEligibilitySchema,
adminSeriesCreateSchema,
@ -305,29 +304,6 @@ describe('updateContributionSchema', () => {
})
})
describe('peerSupportUpdateSchema', () => {
it('accepts valid peer support data', () => {
const result = peerSupportUpdateSchema.safeParse({
enabled: true,
skillTopics: ['game design', 'business'],
slackUsername: 'jane'
})
expect(result.success).toBe(true)
})
it('accepts empty object', () => {
const result = peerSupportUpdateSchema.safeParse({})
expect(result.success).toBe(true)
})
it('rejects non-array skillTopics', () => {
const result = peerSupportUpdateSchema.safeParse({
skillTopics: 'not-an-array'
})
expect(result.success).toBe(false)
})
})
// --- Series schemas ---
describe('seriesTicketPurchaseSchema', () => {
@ -505,7 +481,6 @@ describe('validateBody migration coverage', () => {
'events/[id]/guest-register.post.js',
'events/[id]/payment.post.js',
'members/update-contribution.post.js',
'members/me/peer-support.patch.js',
'series/[id]/tickets/purchase.post.js',
'series/[id]/tickets/check-eligibility.post.js',
'admin/series.post.js',