Typescript'te Mongoose modeli uygulamaya çalışılıyor. Google'ın araştırılması yalnızca karma bir yaklaşımı ortaya çıkardı (JS ve TS'yi birleştirerek). JS olmadan oldukça saf yaklaşımımla User sınıfını uygulamaya nasıl başlayabilirim?
Bagaj olmadan IUserModel yapabilmek ister.
import {IUser} from './user.ts';
import {Document, Schema, Model} from 'mongoose';
// mixing in a couple of interfaces
interface IUserDocument extends IUser, Document {}
// mongoose, why oh why '[String]'
// TODO: investigate out why mongoose needs its own data types
let userSchema: Schema = new Schema({
userName : String,
password : String,
firstName : String,
lastName : String,
email : String,
activated : Boolean,
roles : [String]
});
// interface we want to code to?
export interface IUserModel extends Model<IUserDocument> {/* any custom methods here */}
// stumped here
export class User {
constructor() {}
}
User
sınıf olamaz çünkü bir tane oluşturmak zaman uyumsuz bir işlemdir. Araman gerek diye bir söz vermeliUser.create({...}).then...
.