ශ්‍රී ලංකාවේ නවතම තාක්ෂණික පුවත් 2026-07-25, Saturday
💻 ක්‍රමලේඛනය · 🕒 කියවීමට විනාඩි 2 · 👁 1

NestJS වල සබ්ස්ක්‍රිප්ෂන් සීමා කළමනාකරණය – if‑වලට බර නොදෙන්න!

NestJS වල සබ්ස්ක්‍රිප්ෂන් සීමා කළමනාකරණය – if‑වලට බර නොදෙන්න!

ඉදිරියේම වෙළෙඳපොලේ බොහෝ SaaS යෙදුම් වල, පරිශීලකයාගේ සබ්ස්ක්‍රිප්ෂන් තලය අනුව කාර්ය සීමා තබා ගැනීම අත්‍යවශ්‍ය වේ. සාමාන්‍යයෙන් මේකට කේතයේ හරහා if (plan === 'PRO') වැනි පරීක්ෂණ බොහොමයක් පතුරුවා යනවා, ඒත් ඒ ක්‍රමය ඉක්මනින් නඩත්තු කළ යුත්තේ කුඩා බ්‍රහස්පතින්දා වගේම වැරදි වලටත් ලක් වේ.

ඒ වෙනුවට Decorator + Guard එකක් භාවිතා කිරීමෙන් සීමා කළමනාකරණය එක් සේවා මොඩියුලයක් තුළ රැඳවිය හැක. පළමුව @EnforcePlanLimit('CREATE_COURSE') වැනි ඩෙකෝරේටරයක් ක්‍රියාත්මක කර, එය SetMetadata සහ UseGuards මගින් ගාඩ් එකට සම්බන්ධ කරයි. ගාඩ් එක Reflector භාවිතයෙන් එම මेटාදත්ත ලබාගෙන, පරිශීලකයාගේ තලය පරීක්ෂා කර, planLimitsService හරහා නියමිත සීමා ක්‍රියාත්මක කරයි.

මෙම ආකාරයෙන් සීමා වෙනස් කිරීමක් අවශ්‍ය වූ විට, එකම සේවා ගොනුවේ වෙනස්කම් කිරීම පමණක් අවශ්‍ය වේ. කන්ට්‍රෝලර් වලට සීමා ගණනක් දැනගැනීමට අවශ්‍ය නැත, එමනිසා නවතම මිල ගණන් හා සීමා අතර අසමතුලිතතාවයක් සිදුවන්නේ නැත.

ඉතා වැදගත් කොටසක් වනුයේ conditional enforcement ය. එකම API endpoint එකේ, සමහර අයුරින් සීමා පවතින අතර සමහර අයුරින් නොපවතින අවස්ථා ඇත. උදාහරණයක් ලෙස, පාඨමාලාවක් isPaid බවට පත් කිරීම සීමා ලක් කරයි, නමුත් ඒම API එකේ නාමය වෙනස් කිරීම, විස්තර යාවත්කාලීන කිරීම වැනි අනිසි සීමා නොමැති කාර්යයන්ට අවසර දිය යුතුය. ගාඩ් එකේ shouldEnforce ක්‍රියාවලිය එම තර්කය විසඳයි – ඉල්ලීමේ බොඩියේ පරාමිතීන් පරීක්ෂා කර, සීමා අවශ්‍ය නම් පමණක් ක්‍රියාත්මක වේ.

ශ්‍රී ලංකාවට ඇති වැදගත්කම

ශ්‍රී ලංකාවේ බොහෝ තාක්ෂණික ආරම්භකයන්, SaaS ආකෘතියේ ව්‍යාපාර ආරම්භ කරන අතර, සබ්ස්ක්‍රිප්ෂන් පාලනය නිවැරදිව කළ නොහැකි වීමේදී ගනුදෙනු අහිමි වීමේ අවදානමක් ඇත. මෙම Decorator‑Guard ආකෘතිය භාවිතා කිරීමෙන්:

  • කේතය සරළ කර, නව සීමා එකතු කිරීම හෝ වෙනස් කිරීම පහසු වේ.
  • අභ්‍යන්තර පරීක්ෂණයක් මඟින් පරිශීලකයාගේ පලමු පිරිවැය අඩු කර, නිවැරදි මිල ගණන් පෙන්වයි.
  • දෙවැනි පාර්ශව API භාවිතා කරන ලාභීන්ට ස්ථාවර, ආරක්ෂිත සේවාවක් ලබා දේ.

ඒ නිසා ශ්‍රී ලංකාවේ ඩෙවලපර්වරු, ස්ටාර්ට්‑අප් හිමිකරුවන්, සහ තාක්ෂණික සමාගම් සිය පද්ධතිවල සීමා කළමනාකරණය වඩාත් පාරදර්ශී, කාර්යක්ෂම, සහ නඩත්තු පහසු කරගත හැක.

අවසානයේ, මෙම පදනම භාවිතා කරමින් මිල ගණන් පිටුවේ සඳහන් සීමා හා නියමිත ක්‍රියාමාර්ග අතර කිසිදු ගැලවීමක් නොමැත – එකම මූලාශ්‍රයෙන් දෙකම පාලනය කරයි. එමෙන්ම, BypassPlanLimit වැනි විශේෂිත opt‑out මාර්ගයක් මගින් පරිපාලන මෙවලම් හෝ මයිග්‍රේෂන් කාර්යයන් සීමා වලින් නිදහස් කරගත හැක.

💡 ඔබේ ව්‍යාපෘතියේ සීමා කළමනාකරණය අදම හදන්න!
මූලාශ්‍රය මෙම ලිපිය AI මගින් රචිත මුල් සාරාංශයකි. සම්පූර්ණ වාර්තාව කියවන්න:
Dev.to ↗
#NestJS #Decorator #Guard #Plan Limit #Backend