Created
April 18, 2019 07:29
-
-
Save AbsolutelySaurabh/2c3a224c06d5902909d0cf11d9ecdab9 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
//admin | |
booking.Filter(&admin.Filter{ | |
Label: "Created At", | |
Name: "CreatedAt", | |
Type: "datetime", | |
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)) | |
if startDateTime.Sub(endDateTime) < 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 | |
}, | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment