All files / api/module/community communityPublicUrlHandler.ts

23.8% Statements 5/21
100% Branches 0/0
0% Functions 0/1
23.8% Lines 5/21

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 221x 1x 1x 1x 1x                                  
import { minUrlLength } from '@constants/validation';
import { makeArrayOrDefault } from '@helpers/arrayHelper';
import { Community } from '@services/external/database/xata';
 
export const communityPublicUrlHandler = (persistence: Community): Community => {
  const localP = { ...persistence };
  if (persistence.profilePicFile != null) {
    localP.profilePicUrl = persistence.profilePicFile.url;
  }

  if (persistence.bioMediaFiles != null) {
    const bioFiles: Array<string> = makeArrayOrDefault(persistence.bioMediaUrls);
    for (const bioMediaFile of persistence.bioMediaFiles) {
      if (bioMediaFile.url == null || bioMediaFile.url.length < minUrlLength) continue;
      bioFiles.push(bioMediaFile.url);
    }
    localP.bioMediaUrls = bioFiles.filter((b) => (b?.length ?? 0) > 0).join(',');
  }

  return localP;
};