From 907b1102649febf5422ec97b564fce0a3e739954 Mon Sep 17 00:00:00 2001 From: Ayman Bagabas Date: Tue, 25 Jul 2023 10:51:20 -0400 Subject: [PATCH] fix: access tokens migration add expires_at --- .../0002_create_lfs_tables_postgres.up.sql | 8 ++++---- .../migrate/0003_password_tokens_postgres.up.sql | 1 + .../migrate/0003_password_tokens_sqlite.up.sql | 1 + server/db/models/access_token.go | 16 ++++++++++------ 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/server/db/migrate/0002_create_lfs_tables_postgres.up.sql b/server/db/migrate/0002_create_lfs_tables_postgres.up.sql index 4b7d050d6..f5344b271 100644 --- a/server/db/migrate/0002_create_lfs_tables_postgres.up.sql +++ b/server/db/migrate/0002_create_lfs_tables_postgres.up.sql @@ -3,8 +3,8 @@ CREATE TABLE IF NOT EXISTS lfs_objects ( oid TEXT NOT NULL, size INTEGER NOT NULL, repo_id INTEGER NOT NULL, - created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at DATETIME NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL, UNIQUE (oid, repo_id), CONSTRAINT repo_id_fk FOREIGN KEY(repo_id) REFERENCES repos(id) @@ -18,8 +18,8 @@ CREATE TABLE IF NOT EXISTS lfs_locks ( user_id INTEGER NOT NULL, path TEXT NOT NULL, refname TEXT, - created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, - updated_at DATETIME NOT NULL, + created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP NOT NULL, UNIQUE (repo_id, path), CONSTRAINT repo_id_fk FOREIGN KEY(repo_id) REFERENCES repos(id) diff --git a/server/db/migrate/0003_password_tokens_postgres.up.sql b/server/db/migrate/0003_password_tokens_postgres.up.sql index 2ee5c8b13..41e772b38 100644 --- a/server/db/migrate/0003_password_tokens_postgres.up.sql +++ b/server/db/migrate/0003_password_tokens_postgres.up.sql @@ -5,6 +5,7 @@ CREATE TABLE IF NOT EXISTS access_tokens ( name text NOT NULL, token TEXT NOT NULL UNIQUE, user_id INTEGER NOT NULL, + expires_at TIMESTAMP, created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP NOT NULL, CONSTRAINT user_id_fk diff --git a/server/db/migrate/0003_password_tokens_sqlite.up.sql b/server/db/migrate/0003_password_tokens_sqlite.up.sql index 2ecda84ff..56f2707fa 100644 --- a/server/db/migrate/0003_password_tokens_sqlite.up.sql +++ b/server/db/migrate/0003_password_tokens_sqlite.up.sql @@ -5,6 +5,7 @@ CREATE TABLE IF NOT EXISTS access_tokens ( token text NOT NULL UNIQUE, name text NOT NULL, user_id INTEGER NOT NULL, + expires_at DATETIME, created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME NOT NULL, CONSTRAINT user_id_fk diff --git a/server/db/models/access_token.go b/server/db/models/access_token.go index 82e0c99f7..f29eb631e 100644 --- a/server/db/models/access_token.go +++ b/server/db/models/access_token.go @@ -1,12 +1,16 @@ package models -import "time" +import ( + "database/sql" + "time" +) // AccessToken represents an access token. type AccessToken struct { - ID int64 `db:"id"` - UserID int64 `db:"user_id"` - Token string `db:"token"` - CreatedAt time.Time `db:"created_at"` - UpdatedAt time.Time `db:"updated_at"` + ID int64 `db:"id"` + UserID int64 `db:"user_id"` + Token string `db:"token"` + ExpiresAt sql.NullTime `db:"expires_at"` + CreatedAt time.Time `db:"created_at"` + UpdatedAt time.Time `db:"updated_at"` }