nestjs-dynamic-search
v1.0.7
Published
Dynamic search service for NestJS and TypeORM
Downloads
483
Maintainers
Readme
🚀 NestJS Dynamic Search Nedir? nestjs-dynamic-search, NestJS ve TypeORM için geliştirilmiş, esnek ve güçlü bir arama servisi paketidir. Veritabanı sorgularınızı dinamik olarak oluşturmanıza, filtrelemenize ve sayfalama yapmanıza olanak sağlar. ✨ Özellikler
🔍 Dinamik ve esnek filtreleme 📄 Sayfalama desteği 🔗 Çoklu ilişki (relation) yönetimi 🔢 Array ve Enum tiplerinde arama 🌳 Ağaç yapısı sorgulama 🚀 Yüksek performanslı 💡 Kolay kullanım
📦 Kurulum bashCopynpm install nestjs-dynamic-search
veya
yarn add nestjs-dynamic-search 🛠️ Kullanım Örnekleri Temel Kullanım typescriptCopyimport { BaseService } from 'nestjs-dynamic-search'; import { WhereType, OrderType } from 'nestjs-dynamic-search';
@Injectable() export class UserService extends BaseService { constructor( @InjectRepository(User) private userRepository: Repository ) { super(userRepository); }
async findUsers() { const options = { query: { name: 'John', // İsmi John olan kullanıcılar age: [25, 30] // 25 veya 30 yaşında olanlar }, relations: ['role'], // Role bilgisini de getir whereType: WhereType.AND, partialMatch: true, page: 1, take: 10 };
return this.searchPagination(options);
} } Gelişmiş Filtreleme typescriptCopyconst complexOptions = { query: { name: 'John', // İsimde John geçenler status: 'active', // Aktif durumda olanlar age: [25, 30], // 25 veya 30 yaşında olanlar role: 1 // Belirli bir roldekiler }, relations: ['role', 'permissions'], whereType: WhereType.AND, order: OrderType.DESC, partialMatch: true };
const results = await userService.search(complexOptions); 🔧 Parametreler SearchOptions ParametreTipAçıklamaVarsayılanrelationsstring[]İlişkili tabloları join eder-whereTypeWhereTypeSorgu koşullarının AND/OR bağlantısıANDorderOrderTypeSıralama tipiDESCqueryobjectArama kriterleri-singlebooleanTek sonuç döndürürfalsewithDeletedbooleanSilinmiş kayıtları dahil ederfalsetakenumberGetirilecek kayıt sayısı-partialMatchbooleanKısmi metin eşleşmesifalsetreestringAğaç yapısında ilişkili verileri getirir- 🌈 Desteklenen Özellikler
Dinamik ilişki yönetimi Esnek AND/OR filtreleme Kısmi metin arama Array ve Enum tiplerinde arama Sayfalama Silinmiş kayıtları dahil etme
⚠️ Dikkat Edilmesi Gerekenler
relations parametresinde ilişki isimleri kullanılmalı query nesnesinde sütun isimleri dikkatli seçilmeli Performans için gereksiz ilişkilendirmelerden kaçının
🔒 Lisans MIT 🤝 Katkıda Bulunma Hata bildirimleri ve pull requestler her zaman açıktır. Katkıda bulunmak isterseniz lütfen önce bir issue açın. 📞 İletişim Herhangi bir sorun veya öneri için GitHub issues'ı kullanabilirsiniz.
Not: Bu paket TypeORM ve NestJS ile çalışmak için tasarlanmıştır. Kullanmadan önce bu kütüphanelerin temel kurulumunu ve yapılandırmasını tamamladığınızdan emin olun.