sequelize-typescript icon indicating copy to clipboard operation
sequelize-typescript copied to clipboard

Question: Does sequelize-typescript support typed returns based on included associations?

Open ccmetz opened this issue 8 months ago • 1 comments

For example, I have an appointments model and a patient model. The appointment model has a patientId. Is there a way to define the types so that:

appointment.findByPk(appointmentId, {include: [{model: db.patient}]});

results in a return type that includes the patient object on it? And vice-versa, if I don't include the patient model, can I get a return type where the patient object is not defined? I have the associations defined with decorators on the appointment class but it seems to always assume that patient will be present on the appointment object.

ccmetz avatar Apr 25 '25 16:04 ccmetz

I find myself in the same position, it would be very useful if appointment was a property of a Patient<Appointment> type but not Patient for example, not sure if this is even possible with TypeScript.

@ccmetz If this helps you at all, in the meantime you can resort to calling getters - these should resolve from memory if associated model was included, but will also lazy load if it wasn't, guaranteeing that the associated model will be resolved,

RudyBai avatar Aug 27 '25 22:08 RudyBai