anchovycation / metronom

Easy to use Redis ORM based on node-redis with TypeScript support
https://anchovycation.github.io/metronom/
GNU General Public License v3.0
7 stars 3 forks source link

[ CRITICAL BUG ] şema içinde varsayılan değer `null` verildiğinde okuma yapılamıyor. #48

Closed saracalihan closed 1 year ago

saracalihan commented 2 years ago

Şema ile Redis'ten okuma yaptıktan sonra girilen değerlere bakara tip dönüşümü yapıyoruz ve şema ilk oluşturma anında bizim varsayılan değerlerimizi ifade ediyor.

Sorun: Eğer kullanıcı şema ile varsayılan değer olarak null veya undefined vermek isterse okuma yaparken de bu değerlerin tiplerini kullandığı için kullanıcıya hatalı veri dönderiyor.

Öneri: Şema tip ve varsayılan değerleri ayrı ayrı alacak şekilde güncellenebilir.

import { Types } from 'metronom';
let userSchema = {
  password:  {
    default: null,
    type: Types.string,
    // Tipleri doğrudan almaktansa tek bir değişken altında toplayabiliriz
    // böylece ileride değişiklik yapmak istediğimizde kullanıcının bir değişiklik yapması gerekmez.
  },
  name: {
    default: '',
    //  Eğer tip değeri girilmediyse yine varsayılan değerin tipi kullanılabilir.
  }
}

Enviroment information: