harden media
This commit is contained in:
39
adapters/bootstrap/MediaAssetConfig.ts
Normal file
39
adapters/bootstrap/MediaAssetConfig.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
/**
|
||||
* Shared media asset configuration
|
||||
* This file defines the paths for all media assets used across the application
|
||||
*/
|
||||
|
||||
export interface MediaAssetConfig {
|
||||
avatars: {
|
||||
male: string;
|
||||
female: string;
|
||||
neutral: string;
|
||||
};
|
||||
api: {
|
||||
avatar: (driverId: string) => string;
|
||||
teamLogo: (teamId: string) => string;
|
||||
trackImage: (trackId: string) => string;
|
||||
sponsorLogo: (sponsorId: string) => string;
|
||||
categoryIcon: (categoryId: string) => string;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Shared media asset paths configuration
|
||||
* Used by both seed data generation and frontend components
|
||||
*/
|
||||
export const mediaAssetConfig: MediaAssetConfig = {
|
||||
avatars: {
|
||||
male: '/images/avatars/male-default-avatar.jpg',
|
||||
female: '/images/avatars/female-default-avatar.jpeg',
|
||||
neutral: '/images/avatars/neutral-default-avatar.jpeg',
|
||||
},
|
||||
|
||||
api: {
|
||||
avatar: (driverId: string) => `/api/media/avatar/${driverId}`,
|
||||
teamLogo: (teamId: string) => `/api/media/teams/${teamId}/logo`,
|
||||
trackImage: (trackId: string) => `/api/media/tracks/${trackId}/image`,
|
||||
sponsorLogo: (sponsorId: string) => `/api/media/sponsors/${sponsorId}/logo`,
|
||||
categoryIcon: (categoryId: string) => `/api/media/categories/${categoryId}/icon`,
|
||||
},
|
||||
} as const;
|
||||
Reference in New Issue
Block a user