Search code examples
sql-serverstored-proceduresloopbackjsloopbackangular-loopback

How to call stored procedure in Mssql using loopback 4?


How to call stored procedure in Mssql using loopback 4 typescript

How do i make query in datasource like calling stored procedure

import { DataSourceConstructor} from '@loopback/repository';

export const db = new DataSourceConstructor({
  connector: 'mssql',
  host: '192.168.1.110',
  port: 1433,
  database: 'FastDryNew',
  password: 'sa$123',
  user: 'sa',
});

currently i'm using Default Crud Repository with simple where condition

  @get('/Job/{CustomerID}')
  @param.path.number('CustomerID')
  async findJobByCustomerID(CustomerID: number): Promise<Jobs[]> {
    return await this.JobsRepo.find({ where: { CustomerID: CustomerID } });
  }

Thanks in advance.


Solution

  • Changed datasource config

    var DataSource = require('loopback-datasource-juggler').DataSource;
    
    export var db = new DataSource({
        connector: require('loopback-connector-mssql'),
        host: '192.168.1.110',
        port: 1433,
        database: 'FastDryNew',
        password: 'sa$123',
        user: 'sa',
    });
    

    And on Controller imported dataSource

    import { db } from '../datasources/db.datasource';
    
    @get('/user')
    async findUser() {
        let sql = 'select * from [User]';
        db.connector.query(sql, function (err: any, results: User[]) {
            if (err) {
                throw err;
            } else {
                return results;
            }
        });
    }