I want to typeorm query builder to add custom method to it:
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm'
@Entity()
export class User {
@PrimaryGeneratedColumn('uuid')
id!: string
@Column()
name!: string
}
export const AppDataSource = new DataSource({
...config,
entities: [User],
})
now I want to extend QueryBuilder and add some custom method to it
import { SelectQueryBuilder } from 'typeorm'
class CustomUserQueryBuilder extends SelectQueryBuilder<User> {
constructor() {
super(AppDataSource.createQueryBuilder())
this.from(User, 'user')
}
async customLeftJonAndSelect() {
return this.where(`...`)
}
}
const customQb = new CustomUserQueryBuilder()
customQb.select('*').customLeftJonAndSelect().getQuery()
Problem is it keeps giving me this error:
EntityMetadataNotFoundError: No metadata for "User" was found: this.from(User, 'user')
^
I really appreciate If anyone can help me how to acheive this or any idea on what am I doing wrong