summaryrefslogtreecommitdiffstats
path: root/models/repo.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/repo.go')
-rw-r--r--models/repo.go49
1 files changed, 39 insertions, 10 deletions
diff --git a/models/repo.go b/models/repo.go
index 98b3e0532e..b5567bf683 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -178,8 +178,19 @@ type Repository struct {
ForkID int64
BaseRepo *Repository `xorm:"-"`
- Created time.Time `xorm:"CREATED"`
- Updated time.Time `xorm:"UPDATED"`
+ Created time.Time `xorm:"-"`
+ CreatedUnix int64
+ Updated time.Time `xorm:"-"`
+ UpdatedUnix int64
+}
+
+func (repo *Repository) BeforeInsert() {
+ repo.CreatedUnix = time.Now().UTC().Unix()
+ repo.UpdatedUnix = repo.CreatedUnix
+}
+
+func (repo *Repository) BeforeUpdate() {
+ repo.UpdatedUnix = time.Now().UTC().Unix()
}
func (repo *Repository) AfterSet(colName string, _ xorm.Cell) {
@@ -195,8 +206,10 @@ func (repo *Repository) AfterSet(colName string, _ xorm.Cell) {
repo.NumOpenPulls = repo.NumPulls - repo.NumClosedPulls
case "num_closed_milestones":
repo.NumOpenMilestones = repo.NumMilestones - repo.NumClosedMilestones
- case "updated":
- repo.Updated = regulateTimeZone(repo.Updated)
+ case "created_unix":
+ repo.Created = time.Unix(repo.CreatedUnix, 0).Local()
+ case "updated_unix":
+ repo.Updated = time.Unix(repo.UpdatedUnix, 0)
}
}
@@ -523,16 +536,28 @@ func IsUsableName(name string) error {
// Mirror represents a mirror information of repository.
type Mirror struct {
- ID int64 `xorm:"pk autoincr"`
- RepoID int64
- Repo *Repository `xorm:"-"`
- Interval int // Hour.
- Updated time.Time `xorm:"UPDATED"`
- NextUpdate time.Time
+ ID int64 `xorm:"pk autoincr"`
+ RepoID int64
+ Repo *Repository `xorm:"-"`
+ Interval int // Hour.
+
+ Updated time.Time `xorm:"-"`
+ UpdatedUnix int64
+ NextUpdate time.Time `xorm:"-"`
+ NextUpdateUnix int64
address string `xorm:"-"`
}
+func (m *Mirror) BeforeInsert() {
+ m.NextUpdateUnix = m.NextUpdate.UTC().Unix()
+}
+
+func (m *Mirror) BeforeUpdate() {
+ m.UpdatedUnix = time.Now().UTC().Unix()
+ m.NextUpdateUnix = m.NextUpdate.UTC().Unix()
+}
+
func (m *Mirror) AfterSet(colName string, _ xorm.Cell) {
var err error
switch colName {
@@ -541,6 +566,10 @@ func (m *Mirror) AfterSet(colName string, _ xorm.Cell) {
if err != nil {
log.Error(3, "GetRepositoryByID[%d]: %v", m.ID, err)
}
+ case "updated_unix":
+ m.Updated = time.Unix(m.UpdatedUnix, 0).Local()
+ case "next_updated_unix":
+ m.NextUpdate = time.Unix(m.NextUpdateUnix, 0).Local()
}
}