/// <summary> /// Check user authorization by calling a database stored-procedure /// </summary> /// <param name="dbCTX">Default ORM</param> /// <param name="data"></param> /// <returns></returns> public static bool IsUserAccessToAPI(Database.IDatabaseContext dbCTX, Models.Database.StoredProcedures.SP_User_AccessToAPI.Inputs data) { if (dbCTX == null) { throw new ArgumentNullException("In IsUserAccessToAPI the dbCTX could not be null."); } if (data == null) { throw new ArgumentNullException("In IsUserAccessToAPI the data could not be null."); } //Calling sp var rst = dbCTX.SP_User_AccessToAPI(data); //Check result if (rst == null || rst.StatusCode != 200 || !string.IsNullOrEmpty(rst.ErrorMessage) || rst.Data == null) { return(false); } if (!(rst.Data is Models.Database.StoredProcedures.SP_User_AccessToAPI.Outputs)) { return(false); } var result = rst.Data as Models.Database.StoredProcedures.SP_User_AccessToAPI.Outputs; return(result.Result); }
/// <summary> /// Validation username & password and generate JWT /// </summary> /// <param name="ctx">Database ORM</param> /// <param name="mapper">The object mapper</param> /// <param name="key">JWT key</param> /// <param name="issuer">JWT issuer</param> /// <returns></returns> public Models.Database.DBResult Login( Database.IDatabaseContext ctx, AutoMapper.IMapper mapper, string key, string issuer) { //Call DB var dbResult = ctx.SP_Admin_Login(this); if (dbResult.StatusCode != 200) { return(dbResult); } //Convert Teacher to User object var user = mapper.Map <User>(dbResult.Data); //Generate JWT and return as the result return(user.GetJWT(key, issuer)); }
public APILoggerDatabase(Database.IDatabaseContext databaseContext, AutoMapper.IMapper mapper) { _databaseContext = databaseContext; _mapper = mapper; }