@blockspoon/cert-badge-renderer 1.0.19 → 1.0.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/constants/componentsDirection.js +2 -5
- package/dist/server/interface/index.js +4 -7
- package/dist/server/server/index.js +2 -7
- package/dist/server/templates/badges/BadgeType1.js +1 -4
- package/dist/server/templates/badges/BadgeType10.js +1 -4
- package/dist/server/templates/badges/BadgeType100.js +1 -4
- package/dist/server/templates/badges/BadgeType101.js +1 -4
- package/dist/server/templates/badges/BadgeType102.js +1 -4
- package/dist/server/templates/badges/BadgeType103.js +1 -4
- package/dist/server/templates/badges/BadgeType104.js +1 -4
- package/dist/server/templates/badges/BadgeType105.js +1 -4
- package/dist/server/templates/badges/BadgeType106.js +1 -4
- package/dist/server/templates/badges/BadgeType107.js +1 -4
- package/dist/server/templates/badges/BadgeType108.js +1 -4
- package/dist/server/templates/badges/BadgeType109.js +1 -4
- package/dist/server/templates/badges/BadgeType11.js +1 -4
- package/dist/server/templates/badges/BadgeType110.js +1 -4
- package/dist/server/templates/badges/BadgeType111.js +1 -4
- package/dist/server/templates/badges/BadgeType112.js +1 -4
- package/dist/server/templates/badges/BadgeType113.js +1 -4
- package/dist/server/templates/badges/BadgeType114.js +1 -4
- package/dist/server/templates/badges/BadgeType115.js +1 -4
- package/dist/server/templates/badges/BadgeType116.js +1 -4
- package/dist/server/templates/badges/BadgeType117.js +1 -4
- package/dist/server/templates/badges/BadgeType118.js +1 -4
- package/dist/server/templates/badges/BadgeType119.js +1 -4
- package/dist/server/templates/badges/BadgeType12.js +1 -4
- package/dist/server/templates/badges/BadgeType120.js +1 -4
- package/dist/server/templates/badges/BadgeType121.js +1 -4
- package/dist/server/templates/badges/BadgeType13.js +1 -4
- package/dist/server/templates/badges/BadgeType14.js +1 -4
- package/dist/server/templates/badges/BadgeType15.js +1 -4
- package/dist/server/templates/badges/BadgeType16.js +1 -4
- package/dist/server/templates/badges/BadgeType17.js +1 -4
- package/dist/server/templates/badges/BadgeType18.js +1 -4
- package/dist/server/templates/badges/BadgeType19.js +1 -4
- package/dist/server/templates/badges/BadgeType2.js +1 -4
- package/dist/server/templates/badges/BadgeType20.js +1 -4
- package/dist/server/templates/badges/BadgeType21.js +1 -4
- package/dist/server/templates/badges/BadgeType22.js +1 -4
- package/dist/server/templates/badges/BadgeType23.js +1 -4
- package/dist/server/templates/badges/BadgeType24.js +1 -4
- package/dist/server/templates/badges/BadgeType25.js +1 -4
- package/dist/server/templates/badges/BadgeType26.js +1 -4
- package/dist/server/templates/badges/BadgeType27.js +1 -4
- package/dist/server/templates/badges/BadgeType28.js +1 -4
- package/dist/server/templates/badges/BadgeType29.js +1 -4
- package/dist/server/templates/badges/BadgeType3.js +1 -4
- package/dist/server/templates/badges/BadgeType30.js +1 -4
- package/dist/server/templates/badges/BadgeType31.js +1 -4
- package/dist/server/templates/badges/BadgeType32.js +1 -4
- package/dist/server/templates/badges/BadgeType33.js +1 -4
- package/dist/server/templates/badges/BadgeType34.js +1 -4
- package/dist/server/templates/badges/BadgeType35.js +1 -4
- package/dist/server/templates/badges/BadgeType36.js +1 -4
- package/dist/server/templates/badges/BadgeType37.js +1 -4
- package/dist/server/templates/badges/BadgeType38.js +1 -4
- package/dist/server/templates/badges/BadgeType39.js +1 -4
- package/dist/server/templates/badges/BadgeType4.js +1 -4
- package/dist/server/templates/badges/BadgeType40.js +1 -4
- package/dist/server/templates/badges/BadgeType41.js +1 -4
- package/dist/server/templates/badges/BadgeType42.js +1 -4
- package/dist/server/templates/badges/BadgeType43.js +1 -4
- package/dist/server/templates/badges/BadgeType44.js +1 -4
- package/dist/server/templates/badges/BadgeType45.js +1 -4
- package/dist/server/templates/badges/BadgeType46.js +1 -4
- package/dist/server/templates/badges/BadgeType47.js +1 -4
- package/dist/server/templates/badges/BadgeType48.js +1 -4
- package/dist/server/templates/badges/BadgeType49.js +1 -4
- package/dist/server/templates/badges/BadgeType5.js +1 -4
- package/dist/server/templates/badges/BadgeType50.js +1 -4
- package/dist/server/templates/badges/BadgeType51.js +1 -4
- package/dist/server/templates/badges/BadgeType52.js +1 -4
- package/dist/server/templates/badges/BadgeType53.js +1 -4
- package/dist/server/templates/badges/BadgeType54.js +1 -4
- package/dist/server/templates/badges/BadgeType55.js +1 -4
- package/dist/server/templates/badges/BadgeType56.js +1 -4
- package/dist/server/templates/badges/BadgeType57.js +1 -4
- package/dist/server/templates/badges/BadgeType58.js +1 -4
- package/dist/server/templates/badges/BadgeType59.js +1 -4
- package/dist/server/templates/badges/BadgeType6.js +1 -4
- package/dist/server/templates/badges/BadgeType60.js +1 -4
- package/dist/server/templates/badges/BadgeType61.js +1 -4
- package/dist/server/templates/badges/BadgeType62.js +1 -4
- package/dist/server/templates/badges/BadgeType63.js +1 -4
- package/dist/server/templates/badges/BadgeType64.js +1 -4
- package/dist/server/templates/badges/BadgeType65.js +1 -4
- package/dist/server/templates/badges/BadgeType66.js +1 -4
- package/dist/server/templates/badges/BadgeType67.js +1 -4
- package/dist/server/templates/badges/BadgeType68.js +1 -4
- package/dist/server/templates/badges/BadgeType69.js +1 -4
- package/dist/server/templates/badges/BadgeType7.js +1 -4
- package/dist/server/templates/badges/BadgeType70.js +1 -4
- package/dist/server/templates/badges/BadgeType71.js +1 -4
- package/dist/server/templates/badges/BadgeType72.js +1 -4
- package/dist/server/templates/badges/BadgeType73.js +1 -4
- package/dist/server/templates/badges/BadgeType74.js +1 -4
- package/dist/server/templates/badges/BadgeType75.js +1 -4
- package/dist/server/templates/badges/BadgeType76.js +1 -4
- package/dist/server/templates/badges/BadgeType77.js +1 -4
- package/dist/server/templates/badges/BadgeType78.js +1 -4
- package/dist/server/templates/badges/BadgeType79.js +1 -4
- package/dist/server/templates/badges/BadgeType8.js +1 -4
- package/dist/server/templates/badges/BadgeType80.js +1 -4
- package/dist/server/templates/badges/BadgeType81.js +1 -4
- package/dist/server/templates/badges/BadgeType82.js +1 -4
- package/dist/server/templates/badges/BadgeType83.js +1 -4
- package/dist/server/templates/badges/BadgeType84.js +1 -4
- package/dist/server/templates/badges/BadgeType85.js +1 -4
- package/dist/server/templates/badges/BadgeType86.js +1 -4
- package/dist/server/templates/badges/BadgeType87.js +1 -4
- package/dist/server/templates/badges/BadgeType88.js +1 -4
- package/dist/server/templates/badges/BadgeType89.js +1 -4
- package/dist/server/templates/badges/BadgeType9.js +1 -4
- package/dist/server/templates/badges/BadgeType90.js +1 -4
- package/dist/server/templates/badges/BadgeType91.js +1 -4
- package/dist/server/templates/badges/BadgeType92.js +1 -4
- package/dist/server/templates/badges/BadgeType93.js +1 -4
- package/dist/server/templates/badges/BadgeType94.js +1 -4
- package/dist/server/templates/badges/BadgeType95.js +1 -4
- package/dist/server/templates/badges/BadgeType96.js +1 -4
- package/dist/server/templates/badges/BadgeType97.js +1 -4
- package/dist/server/templates/badges/BadgeType98.js +1 -4
- package/dist/server/templates/badges/BadgeType99.js +1 -4
- package/dist/server/templates/badges/index.js +243 -245
- package/dist/server/templates/certificates/NewCertificateType1.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType10.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType11.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType12.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType13.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType14.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType15.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType16.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType17.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType18.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType19.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType2.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType20.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType21.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType22.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType23.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType24.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType25.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType26.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType27.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType28.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType29.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType3.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType30.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType31.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType32.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType33.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType34.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType35.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType36.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType37.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType38.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType39.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType4.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType40.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType41.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType42.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType43.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType44.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType45.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType46.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType47.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType48.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType49.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType5.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType50.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType51.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType52.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType53.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType54.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType55.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType56.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType57.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType58.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType59.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType6.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType60.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType61.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType62.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType63.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType64.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType65.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType66.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType67.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType68.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType69.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType6Single.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType7.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType70.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType71.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType72.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType73.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType74.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType75.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType76.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType77.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType78.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType79.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType7Single.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType8.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType80.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType81.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType82.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType83.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType84.js +1 -4
- package/dist/server/templates/certificates/NewCertificateType9.js +1 -4
- package/dist/server/templates/certificates/NewEmptyLandscapeCertificate.js +1 -4
- package/dist/server/templates/certificates/NewEmptyPortraitCertificate.js +1 -4
- package/dist/server/templates/certificates/index.js +177 -179
- package/dist/server/templates/icons/IconBg1.js +1 -4
- package/dist/server/templates/icons/IconBg2.js +1 -4
- package/dist/server/templates/icons/IconBg3.js +1 -4
- package/dist/server/templates/icons/IconBg4.js +1 -4
- package/dist/server/templates/icons/IconBg5.js +1 -4
- package/dist/server/templates/icons/IconBg6.js +1 -4
- package/dist/server/templates/icons/IconBg7.js +1 -4
- package/dist/server/templates/icons/IconBg8.js +1 -4
- package/dist/server/templates/icons/IconBg9.js +1 -4
- package/dist/server/templates/icons/IconEtc1.js +1 -4
- package/dist/server/templates/icons/IconEtc2.js +1 -4
- package/dist/server/templates/icons/IconEtc3.js +1 -4
- package/dist/server/templates/icons/IconMedal.js +1 -4
- package/dist/server/templates/icons/IconMortarboard1.js +1 -4
- package/dist/server/templates/icons/IconMortarboard2.js +1 -4
- package/dist/server/templates/icons/IconMortarboard3.js +1 -4
- package/dist/server/templates/icons/IconMortarboard4.js +1 -4
- package/dist/server/templates/icons/IconMortarboard5.js +1 -4
- package/dist/server/templates/icons/IconSmallType1.js +1 -4
- package/dist/server/templates/icons/IconSmallType10.js +1 -4
- package/dist/server/templates/icons/IconStar.js +1 -4
- package/dist/server/templates/icons/IconStar2.js +1 -4
- package/dist/server/templates/icons/IconStar3.js +1 -4
- package/dist/server/templates/icons/IconStar4.js +1 -4
- package/dist/server/templates/icons/IconStar5.js +1 -4
- package/dist/server/templates/icons/IconStar6.js +1 -4
- package/dist/server/templates/icons/IconStar7.js +1 -4
- package/dist/server/templates/icons/IconStar8.js +1 -4
- package/dist/server/templates/icons/IconTrophy1.js +1 -4
- package/dist/server/templates/icons/IconTrophy2.js +1 -4
- package/dist/server/templates/icons/IconTrophy3.js +1 -4
- package/dist/server/templates/icons/IconTrophy4.js +1 -4
- package/dist/server/templates/icons/index.js +65 -67
- package/dist/server/templates/ribbons/RibbonType1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType101.js +1 -4
- package/dist/server/templates/ribbons/RibbonType101_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType103.js +1 -4
- package/dist/server/templates/ribbons/RibbonType107.js +1 -4
- package/dist/server/templates/ribbons/RibbonType109.js +1 -4
- package/dist/server/templates/ribbons/RibbonType110.js +1 -4
- package/dist/server/templates/ribbons/RibbonType113.js +1 -4
- package/dist/server/templates/ribbons/RibbonType115.js +1 -4
- package/dist/server/templates/ribbons/RibbonType116.js +1 -4
- package/dist/server/templates/ribbons/RibbonType116_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType118.js +1 -4
- package/dist/server/templates/ribbons/RibbonType12.js +1 -4
- package/dist/server/templates/ribbons/RibbonType13.js +1 -4
- package/dist/server/templates/ribbons/RibbonType13_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType18.js +1 -4
- package/dist/server/templates/ribbons/RibbonType18_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType19.js +1 -4
- package/dist/server/templates/ribbons/RibbonType19_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType2.js +1 -4
- package/dist/server/templates/ribbons/RibbonType21.js +1 -4
- package/dist/server/templates/ribbons/RibbonType22.js +1 -4
- package/dist/server/templates/ribbons/RibbonType23.js +1 -4
- package/dist/server/templates/ribbons/RibbonType23_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType24.js +1 -4
- package/dist/server/templates/ribbons/RibbonType24_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType26.js +1 -4
- package/dist/server/templates/ribbons/RibbonType27.js +1 -4
- package/dist/server/templates/ribbons/RibbonType27_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType34.js +1 -4
- package/dist/server/templates/ribbons/RibbonType35.js +1 -4
- package/dist/server/templates/ribbons/RibbonType35_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType4.js +1 -4
- package/dist/server/templates/ribbons/RibbonType45.js +1 -4
- package/dist/server/templates/ribbons/RibbonType46.js +1 -4
- package/dist/server/templates/ribbons/RibbonType5.js +1 -4
- package/dist/server/templates/ribbons/RibbonType53.js +1 -4
- package/dist/server/templates/ribbons/RibbonType57.js +1 -4
- package/dist/server/templates/ribbons/RibbonType6.js +1 -4
- package/dist/server/templates/ribbons/RibbonType61.js +1 -4
- package/dist/server/templates/ribbons/RibbonType7.js +1 -4
- package/dist/server/templates/ribbons/RibbonType7_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType8.js +1 -4
- package/dist/server/templates/ribbons/RibbonType92.js +1 -4
- package/dist/server/templates/ribbons/RibbonType93.js +1 -4
- package/dist/server/templates/ribbons/RibbonType93_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType96.js +1 -4
- package/dist/server/templates/ribbons/RibbonType96_1.js +1 -4
- package/dist/server/templates/ribbons/RibbonType97.js +1 -4
- package/dist/server/templates/ribbons/RibbonType99.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing1.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing10.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing104.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing105.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing106.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing11.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing12.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing14.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing2.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing3.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing4.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing5.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing6.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing7.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing8.js +1 -4
- package/dist/server/templates/ribbons/RibbonWing9.js +1 -4
- package/dist/server/templates/ribbons/index.js +133 -135
- package/dist/server/templates/svgTemplate.js +226 -232
- package/dist/server/util.js +1 -4
- package/dist/server/utils/generateAchievementHTML.js +16 -22
- package/dist/server/utils/generateDesignHTML.js +16 -22
- package/dist/server/utils/getBindingValue.js +8 -12
- package/package.json +2 -1
- package/tsconfig.server.json +2 -2
package/dist/server/util.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.groupByType = groupByType;
|
|
4
1
|
// 이미지 배열 객체화
|
|
5
|
-
function groupByType(arrays) {
|
|
2
|
+
export function groupByType(arrays) {
|
|
6
3
|
// 타입 정의
|
|
7
4
|
if (!arrays || !Array.isArray(arrays) || arrays.length === 0)
|
|
8
5
|
return {};
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const getBindingValue_js_1 = require("./getBindingValue.js");
|
|
9
|
-
const qrcode_1 = __importDefault(require("qrcode"));
|
|
10
|
-
const svgTemplate_js_1 = require("../templates/svgTemplate.js");
|
|
11
|
-
const index_js_2 = __importDefault(require("../templates/certificates/index.js"));
|
|
12
|
-
const componentsDirection_js_1 = require("../constants/componentsDirection.js");
|
|
13
|
-
async function generateAchievementHTML(achievementInfo, options = {}) {
|
|
1
|
+
import { CERTIFICATE_DESIGN_TYPE, } from "../interface/index.js";
|
|
2
|
+
import { getBindingValue } from "./getBindingValue.js";
|
|
3
|
+
import QRCode from "qrcode";
|
|
4
|
+
import { badgeTemplates, iconTemplates, ribbonTemplates, } from "../templates/svgTemplate.js";
|
|
5
|
+
import Certificates from "../templates/certificates/index.js";
|
|
6
|
+
import { portraitComponents } from "../constants/componentsDirection.js";
|
|
7
|
+
export async function generateAchievementHTML(achievementInfo, options = {}) {
|
|
14
8
|
const { type = "certificate", size = 600, noSpace = false } = options;
|
|
15
9
|
let achievementForm;
|
|
16
10
|
if (achievementInfo.achievementForm) {
|
|
@@ -33,7 +27,7 @@ async function generateAchievementHTML(achievementInfo, options = {}) {
|
|
|
33
27
|
function isHorizontal(name) {
|
|
34
28
|
if (!name)
|
|
35
29
|
return false;
|
|
36
|
-
return !
|
|
30
|
+
return !portraitComponents.includes(name);
|
|
37
31
|
}
|
|
38
32
|
const templateComponentName = achievementForm?.achievementCertificateDesign?.template_type;
|
|
39
33
|
const height = type == "badge" ? 600 : isHorizontal(templateComponentName) ? 810 : 1152;
|
|
@@ -89,7 +83,7 @@ async function generateAchievementHTML(achievementInfo, options = {}) {
|
|
|
89
83
|
">
|
|
90
84
|
`;
|
|
91
85
|
if (type == "certificate") {
|
|
92
|
-
html +=
|
|
86
|
+
html += Certificates[achievementForm?.achievementCertificateDesign?.template_type]({
|
|
93
87
|
mainColor: achievementForm?.achievementCertificateDesign?.main_color || "#000000",
|
|
94
88
|
subColor: achievementForm?.achievementCertificateDesign?.sub_color || "#000000",
|
|
95
89
|
extraColor1: achievementForm?.achievementCertificateDesign?.extra_color_1 ||
|
|
@@ -102,8 +96,8 @@ async function generateAchievementHTML(achievementInfo, options = {}) {
|
|
|
102
96
|
if (element.bindingKey === "requirements")
|
|
103
97
|
continue;
|
|
104
98
|
let bindingValue = null;
|
|
105
|
-
if (element.designType ===
|
|
106
|
-
bindingValue =
|
|
99
|
+
if (element.designType === CERTIFICATE_DESIGN_TYPE.PROPS) {
|
|
100
|
+
bindingValue = getBindingValue(element.type, element.bindingKey, achievementInfo);
|
|
107
101
|
if (element.controlType === "text") {
|
|
108
102
|
element.text = bindingValue;
|
|
109
103
|
}
|
|
@@ -112,7 +106,7 @@ async function generateAchievementHTML(achievementInfo, options = {}) {
|
|
|
112
106
|
}
|
|
113
107
|
}
|
|
114
108
|
if (bindingValue === null &&
|
|
115
|
-
element.designType ===
|
|
109
|
+
element.designType === CERTIFICATE_DESIGN_TYPE.PROPS)
|
|
116
110
|
continue;
|
|
117
111
|
const commonStyles = `
|
|
118
112
|
position: absolute;
|
|
@@ -144,10 +138,10 @@ async function generateAchievementHTML(achievementInfo, options = {}) {
|
|
|
144
138
|
`;
|
|
145
139
|
if (element.controlType === "svg") {
|
|
146
140
|
const templates = element.designType === "badge"
|
|
147
|
-
?
|
|
141
|
+
? badgeTemplates
|
|
148
142
|
: element.designType === "icon"
|
|
149
|
-
?
|
|
150
|
-
:
|
|
143
|
+
? iconTemplates
|
|
144
|
+
: ribbonTemplates;
|
|
151
145
|
const template = templates.find((t) => t.id === element.componentName);
|
|
152
146
|
if (template) {
|
|
153
147
|
const optimizedStyles = `
|
|
@@ -212,7 +206,7 @@ async function generateAchievementHTML(achievementInfo, options = {}) {
|
|
|
212
206
|
else if (element.bindingKey === "qr_code" && element.src) {
|
|
213
207
|
// QR 코드
|
|
214
208
|
try {
|
|
215
|
-
const qrCodeSvg = await
|
|
209
|
+
const qrCodeSvg = await QRCode.toString(element.src, {
|
|
216
210
|
type: "svg",
|
|
217
211
|
width: element.width,
|
|
218
212
|
height: element.height,
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const getBindingValue_js_1 = require("./getBindingValue.js");
|
|
9
|
-
const qrcode_1 = __importDefault(require("qrcode"));
|
|
10
|
-
const svgTemplate_js_1 = require("../templates/svgTemplate.js");
|
|
11
|
-
const index_js_2 = __importDefault(require("../templates/certificates/index.js"));
|
|
12
|
-
const componentsDirection_js_1 = require("../constants/componentsDirection.js");
|
|
13
|
-
async function generateDesignHTML(data, options = {}) {
|
|
1
|
+
import { CERTIFICATE_DESIGN_TYPE, } from "../interface/index.js";
|
|
2
|
+
import { getBindingValue } from "./getBindingValue.js";
|
|
3
|
+
import QRCode from "qrcode";
|
|
4
|
+
import { badgeTemplates, iconTemplates, ribbonTemplates, } from "../templates/svgTemplate.js";
|
|
5
|
+
import Certificates from "../templates/certificates/index.js";
|
|
6
|
+
import { portraitComponents } from "../constants/componentsDirection.js";
|
|
7
|
+
export async function generateDesignHTML(data, options = {}) {
|
|
14
8
|
const { size = 600, noSpace = false } = options;
|
|
15
9
|
// type에 따라 적절한 layout_json 선택
|
|
16
10
|
const elements = data.layout_json;
|
|
@@ -22,7 +16,7 @@ async function generateDesignHTML(data, options = {}) {
|
|
|
22
16
|
function isHorizontal(name) {
|
|
23
17
|
if (!name)
|
|
24
18
|
return false;
|
|
25
|
-
return !
|
|
19
|
+
return !portraitComponents.includes(name);
|
|
26
20
|
}
|
|
27
21
|
const templateComponentName = data?.template_type;
|
|
28
22
|
const isBadge = data?.template_type.includes("Badge");
|
|
@@ -87,7 +81,7 @@ async function generateDesignHTML(data, options = {}) {
|
|
|
87
81
|
">
|
|
88
82
|
`;
|
|
89
83
|
if (!isBadge) {
|
|
90
|
-
html +=
|
|
84
|
+
html += Certificates[data?.template_type]({
|
|
91
85
|
mainColor: data?.main_color || "#000000",
|
|
92
86
|
subColor: data?.sub_color || "#000000",
|
|
93
87
|
extraColor1: data?.extra_color_1 || "#000000",
|
|
@@ -98,8 +92,8 @@ async function generateDesignHTML(data, options = {}) {
|
|
|
98
92
|
if (element.bindingKey === "requirements")
|
|
99
93
|
continue;
|
|
100
94
|
let bindingValue = null;
|
|
101
|
-
if (element.designType ===
|
|
102
|
-
bindingValue =
|
|
95
|
+
if (element.designType === CERTIFICATE_DESIGN_TYPE.PROPS) {
|
|
96
|
+
bindingValue = getBindingValue(element.type, element.bindingKey, data);
|
|
103
97
|
if (element.controlType === "text") {
|
|
104
98
|
element.text = bindingValue;
|
|
105
99
|
}
|
|
@@ -111,7 +105,7 @@ async function generateDesignHTML(data, options = {}) {
|
|
|
111
105
|
}
|
|
112
106
|
}
|
|
113
107
|
if (bindingValue === null &&
|
|
114
|
-
element.designType ===
|
|
108
|
+
element.designType === CERTIFICATE_DESIGN_TYPE.PROPS)
|
|
115
109
|
continue;
|
|
116
110
|
const commonStyles = `
|
|
117
111
|
position: absolute;
|
|
@@ -143,10 +137,10 @@ async function generateDesignHTML(data, options = {}) {
|
|
|
143
137
|
`;
|
|
144
138
|
if (element.controlType === "svg") {
|
|
145
139
|
const templates = element.designType === "badge"
|
|
146
|
-
?
|
|
140
|
+
? badgeTemplates
|
|
147
141
|
: element.designType === "icon"
|
|
148
|
-
?
|
|
149
|
-
:
|
|
142
|
+
? iconTemplates
|
|
143
|
+
: ribbonTemplates;
|
|
150
144
|
const template = templates.find((t) => t.id === element.componentName);
|
|
151
145
|
if (template) {
|
|
152
146
|
const optimizedStyles = `
|
|
@@ -192,7 +186,7 @@ async function generateDesignHTML(data, options = {}) {
|
|
|
192
186
|
if (element.bindingKey === "qr_code" && element.src) {
|
|
193
187
|
// QR 코드
|
|
194
188
|
try {
|
|
195
|
-
const qrCodeSvg = await
|
|
189
|
+
const qrCodeSvg = await QRCode.toString(element.src, {
|
|
196
190
|
type: "svg",
|
|
197
191
|
width: element.width,
|
|
198
192
|
height: element.height,
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.getBindingValue = void 0;
|
|
4
|
-
const date_fns_1 = require("date-fns");
|
|
5
|
-
const util_js_1 = require("../util.js");
|
|
1
|
+
import { format } from "date-fns";
|
|
2
|
+
import { groupByType } from "../util.js";
|
|
6
3
|
// 데이터 타입별 헬퍼 함수
|
|
7
4
|
const getAchievementValue = (bindingKey, achievementInfo) => {
|
|
8
5
|
if (!achievementInfo)
|
|
@@ -11,10 +8,10 @@ const getAchievementValue = (bindingKey, achievementInfo) => {
|
|
|
11
8
|
switch (bindingKey) {
|
|
12
9
|
case "period":
|
|
13
10
|
return achievementInfo.course_begin_at && achievementInfo.course_end_at
|
|
14
|
-
? `${
|
|
11
|
+
? `${format(new Date(achievementInfo.course_begin_at), "yyyy.MM.dd")} ~ ${format(new Date(achievementInfo.course_end_at), "yyyy.MM.dd")}`
|
|
15
12
|
: "-";
|
|
16
13
|
case "created_at":
|
|
17
|
-
return
|
|
14
|
+
return format(new Date(achievementInfo.created_at), "yyyy.MM.dd");
|
|
18
15
|
case "certificate_number":
|
|
19
16
|
return achievementInfo.certificate_number || "";
|
|
20
17
|
case "tags":
|
|
@@ -54,16 +51,16 @@ const getClubValue = (bindingKey, kollegeInfo, achievementInfo) => {
|
|
|
54
51
|
? "sign_image"
|
|
55
52
|
: "club_symbol";
|
|
56
53
|
return achievementForm.clubInstitutions?.[index]?.images
|
|
57
|
-
?
|
|
54
|
+
? groupByType(achievementForm.clubInstitutions[index].images)[imageKey]?.[0]?.path
|
|
58
55
|
: null;
|
|
59
56
|
}
|
|
60
57
|
if (["club_logo", "sign_image", "club_symbol"].includes(bindingKey)) {
|
|
61
58
|
if (achievementForm.representativeInstitution) {
|
|
62
|
-
const groupByTypeImages =
|
|
59
|
+
const groupByTypeImages = groupByType(achievementForm.representativeInstitution.images);
|
|
63
60
|
return (groupByTypeImages[bindingKey]?.[0]
|
|
64
61
|
?.path || null);
|
|
65
62
|
}
|
|
66
|
-
const groupByTypeImages =
|
|
63
|
+
const groupByTypeImages = groupByType(kollegeInfo.images);
|
|
67
64
|
return (groupByTypeImages[bindingKey]?.[0]
|
|
68
65
|
?.path || null);
|
|
69
66
|
}
|
|
@@ -78,7 +75,7 @@ const getCustomValue = (bindingKey, achievementInfo) => {
|
|
|
78
75
|
return (achievementInfo.customAttributes.find((attr) => [`custom_${attr.attribute_tag}`, `custom-${attr.attribute_tag}`].includes(bindingKey))?.attribute_value || null);
|
|
79
76
|
};
|
|
80
77
|
// 🔥 메인 함수: 데이터 타입별로 자동 호출하도록 변경!
|
|
81
|
-
const getBindingValue = (type, bindingKey, data) => {
|
|
78
|
+
export const getBindingValue = (type, bindingKey, data) => {
|
|
82
79
|
switch (type) {
|
|
83
80
|
case "achievement":
|
|
84
81
|
return getAchievementValue(bindingKey, data);
|
|
@@ -92,4 +89,3 @@ const getBindingValue = (type, bindingKey, data) => {
|
|
|
92
89
|
return null;
|
|
93
90
|
}
|
|
94
91
|
};
|
|
95
|
-
exports.getBindingValue = getBindingValue;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blockspoon/cert-badge-renderer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.20",
|
|
4
4
|
"description": "Render certificate and badge designs from Kolleges achievement data into HTML, PNG, or Base64.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"./server": {
|
|
19
19
|
"import": "./dist/server/index.js",
|
|
20
|
+
"require": "./dist/server/index.js",
|
|
20
21
|
"types": "./dist/server/index.d.ts"
|
|
21
22
|
}
|
|
22
23
|
},
|
package/tsconfig.server.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "./tsconfig.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
-
"
|
|
5
|
-
"
|
|
4
|
+
"moduleResolution": "nodenext", // ← 기존 node → nodenext 로 변경
|
|
5
|
+
"module": "nodenext",
|
|
6
6
|
"target": "ES2020",
|
|
7
7
|
"outDir": "dist/server",
|
|
8
8
|
"declaration": true,
|