Created
April 24, 2019 10:25
-
-
Save AbsolutelySaurabh/def365cadb6dd31ba3e237a663058175 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Handler: func(db *gorm.DB, argument *admin.FilterArgument) *gorm.DB { | |
startDate := argument.Value.Get("Start").Value | |
endDate := argument.Value.Get("End").Value | |
startDateTime, _ := time.Parse(C.DATE_YYYY_MM_DD_HH_MM, utils.ToString(startDate)) | |
endDateTime, _ := time.Parse(C.DATE_YYYY_MM_DD_HH_MM, utils.ToString(endDate)) | |
diffStartEnd := startDateTime.Sub(Date(endDateTime.Year(), endDateTime.Month(), endDateTime.Day(), endDateTime.Hour(), endDateTime.Minute())).Hours() / 24 | |
log.Printf("diffStartEnd: %f", diffStartEnd) | |
if diffStartEnd < 0 { | |
log.Printf("utils.Tostrng(): %s", utils.ToString(startDate)) | |
log.Printf("startDateTime: %v", startDateTime.Format(C.DATE_YYYY_MM_DD_HH_MM)) | |
log.Printf("endDateTime: %v", endDateTime.Format(C.DATE_YYYY_MM_DD_HH_MM)) | |
////the createdAt[it's in gorm.Model.createdAt] start-date should not be < 365 from current date | |
diff := startDateTime.Sub(Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), time.Now().Hour(), time.Now().Minute())).Hours() / 24 | |
log.Printf("diff days: %f", diff) | |
if diff < -365 { | |
logs.GetLogger().Error("Invalid CreatedAt filter!") | |
errors.New("Invalid CreatedAt filter.") | |
log.Printf("invalid start date: ") | |
return db | |
} | |
//need to return the sql query with applied filters | |
//return db.Raw("select * from se_bookings where created_at > '2019-04-18 00:00'") | |
//generateConditionAndApplyFilter(); | |
return db; | |
} | |
return db | |
}, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment