Ana içeriğe geç

Utils

Sdk.utils nesnesi, Server SDK üzerinde MonoChat Custom Fonksiyonlarında backend mantığını destekleyen geniş bir yardımcı metod koleksiyonu sunar. Bu araçlar kodlama/çözme, rol kontrolleri, QR kod üretimi, canvas görsel manipülasyonu ve daha fazlasını kapsar.


Kategoriler

Kodlama & Çözme

  • encode(data, format) – Verilen veriyi base64 veya diğer formatlarda kodlar.
  • decode(data, format) – Önceden kodlanmış veriyi çözer.
  • serialize(obj) – JavaScript nesnesini serileştirir.
  • deserialize(string) – Serileştirilmiş string’den nesneyi yeniden oluşturur.

Formatlama

  • formatDate(date) – Formatlanmış tarih döndürür.
  • formatDateTime(date) – Formatlanmış tarih-saat döndürür.
  • formatDateTimeLocal(date) – Yerel zaman dilimine göre tarih-saat döndürür.
  • currency.priceString(isoCode, price, options) – Formatlanmış fiyat döndürür.

Yol & Slug

  • absoluteUrl(path) – Tam URL döndürür.
  • absolutePathString(name) – Göreli dosya/fonksiyon yolunu çözer.
  • slugify(string) – String’i URL güvenli bir slug’a dönüştürür.

QR Kod

  • generateQrCodeAsync({ data }) – Verilen veriden QR kod resmi üretir.

Canvas Yardımcıları

  • canvas.create(width, height) – Canvas nesnesi oluşturur.
  • canvas.loadImage(path) – Canvas’a resim yükler.

Base64 Yükleme

  • uploadBase64Async({ base64, mimeType, fileName }) – Base64 kodlu dosyayı yükler ve URL döndürür.

Zamanlayıcı Yardımcıları

  • setTimeout(fn, ms) – İşlemi geciktirir.
  • clearTimeout(id) – Timeout’u iptal eder.
  • setInterval(fn, ms) – Belirli aralıklarla işlemi tekrarlar.
  • clearInterval(id) – Interval’i temizler.

Çeviri

  • translate('i18n.key') – Verilen anahtarı çevirir.

Rol Kontrol Yardımcıları

  • roles.userIsInRoleAsync(roles) – Kullanıcının belirli rollerde olup olmadığını kontrol eder.
  • roles.userIsInParentRole(roles) – Üst tenant rolünü kontrol eder.
  • roles.userIsInRootRole(roles) – Root tenant rolünü kontrol eder.
  • roles.addRolesToParentAsync(childRoles, parentRole) – Rolleri atar.

Loglama

Sunucuda console.log yerine sdk.utils.logger kullanın.

  • logger.info(...args) – Bilgi seviyesinde loglar.
  • logger.warn(...args) – Uyarı logları.
  • logger.error(...args) – Hata logları.
  • logger.debug(...args) – Debug logları.

Örnek: QR Kod ve Loglama

const qr = await sdk.utils.generateQrCodeAsync({ data: 'https://MonoChat.ai' })
sdk.utils.logger.info('Oluşturulan QR Kod:', qr)