docs: function f_tahta_ekle(_tahta_db, _kul_id) {
  
          if (!_kul_id) {
              throw new exception.Istisna("Kullanıcı bilgisi eksik", "Tahtayı ekleyen kullanıcı bilgisi bulunamadı!");
          }
  
          /**
           * Tahtanın ilk oluşturulmasında admin kullanıcısını(tahtanın sahibini) tüm rollerle ilişkilendiriyoruz
           * @param _tahta_id
           * @param _kul_id
           * @returns {*}
           */
          var tahta_kullanicilarini_rollerle_iliskilendir = function (_tahta_id, _kul_id) {
              l.info("f_kullaniciyi_rol_iliskilendir");
              // 3. Kullanıcıya rolü atayalım
              // 3.1 Kullanıcının rollerini çek
              // 3.2 Rollerine yeni rolü ekle
              return result.dbQ.Q.all([
                  result.dbQ.smembers(result.kp.tahta.ssetOzelTahtaRolleri(_tahta_id, true)),
                  result.dbQ.hget(result.kp.tahta.hsUyeleri(_tahta_id), _kul_id) // 3.1
              ]).then(function (_arrDbReplies) {
                  var dbRol_idler = _arrDbReplies[1];
                  // 3.2
                  var roller = Array.isArray(dbRol_idler) ? dbRol_idler : [];
  
                  //şemaya uygun hale getirmek için int yapılıyor
                  var arr_tahta_rol_idler = _arrDbReplies[0].mapX(null, parseInt);
  
                  var son = roller.concat(arr_tahta_rol_idler);
                  return f_tahta_uye_rol_guncelle(_tahta_id, _kul_id, son)
              });
          };
  
          delete _tahta_db.Kurum;
  
          //l.i("f_db_tahta_ekle > _tahta: " + JSON.stringify(_tahta_db));
  
          // 1. Tahta oluştur
          // 1.1 incr idx
          // 2. Tahta için temel rolleri oluştur ve tahtayla ilişkilendir
          // 3. Kullaniciyi tahtanın sahibi yap ve ilk rolleri(yonetici, gozlemci) rolünü ver
          // 4. Tahtanın ID sini kullanicinin sahip olduklarinin içine yaz
          // 5. bölgeleri ekle
          return result.dbQ.incr(result.kp.tahta.idx)
              .then(function (_id) {
  
                  var rol = require('./db_rol');
  
                  _tahta_db.Id = _id;
                  // TODO: Tahta rollerini json'dan çekiyor ama bunu otomatik hale getirip json ilişkisi kaldırılacak.
                  var arrTemelRoller = require("../lib/roller.json").data;
  
                  return [
                      result.dbQ.hset(result.kp.tahta.tablo, _id, JSON.stringify(_tahta_db)), // 1
                      rol.f_db_rol_ekle(arrTemelRoller, _tahta_db.Id), // 2
                      result.dbQ.sadd(result.kp.kullanici.ssetSahipOlduguTahtalari(_kul_id, true), _id) // 4
                  ].allX()
                      .then(function () {
  
                          l.info("kullanıcı rol ilşkilendir");
                          return tahta_kullanicilarini_rollerle_iliskilendir(_id, _kul_id); // 3
  
                      })
                      .then(function () {
                          l.info("HERŞEY BİTTİ TAHTA ID DEN DÖN");
                          return f_tahta_id(_id)//4
                              .then(function (_dbTahta) {
                                  emitter.emit(schema.SABIT.OLAY.TAHTA_EKLENDI, _dbTahta, _kul_id);
                                  return _dbTahta;
                              });
                      })
                      .fail(function (_err) {
                          l.e("f_db_tahta_ekle fail func> ERR: ", _err);
                          return _err;
                      });
              });
      }