diff options
author | Magnus Lindvall <magnus@dnmgns.com> | 2018-05-24 06:59:02 +0200 |
---|---|---|
committer | Lauris BH <lauris@nix.lv> | 2018-05-24 07:59:02 +0300 |
commit | cdb9478774e6c5cebf5a75ff35bfa6d8a37bdbdb (patch) | |
tree | a3f8a487c45d43b15a9aaf7518e0b342880b3361 /models/migrations | |
parent | b908ac9fab141b72f38db3d40a9f6054bb701982 (diff) | |
download | gitea-cdb9478774e6c5cebf5a75ff35bfa6d8a37bdbdb.tar.gz gitea-cdb9478774e6c5cebf5a75ff35bfa6d8a37bdbdb.zip |
LDAP Public SSH Keys synchronization (#1844)
* Add LDAP Key Synchronization feature
Signed-off-by: Magnus Lindvall <magnus@dnmgns.com>
* Add migration: add login source id column for public_key table
* Only update keys if needed
* Add function to only list pubkey synchronized from ldap
* Only list pub ssh keys synchronized from ldap. Do not sort strings as ExistsInSlice does it.
* Only get keys belonging to current login source id
* Set default login source id to 0
* Some minor cleanup. Add integration tests (updete dep testify)
Diffstat (limited to 'models/migrations')
-rw-r--r-- | models/migrations/migrations.go | 2 | ||||
-rw-r--r-- | models/migrations/v66.go | 22 |
2 files changed, 24 insertions, 0 deletions
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 7c90f1eb1f..1300065ab4 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -184,6 +184,8 @@ var migrations = []Migration{ NewMigration("add multiple assignees", addMultipleAssignees), // v65 -> v66 NewMigration("add u2f", addU2FReg), + // v66 -> v67 + NewMigration("add login source id column for public_key table", addLoginSourceIDToPublicKeyTable), } // Migrate database to current version diff --git a/models/migrations/v66.go b/models/migrations/v66.go new file mode 100644 index 0000000000..43acfb4ea5 --- /dev/null +++ b/models/migrations/v66.go @@ -0,0 +1,22 @@ +// Copyright 2017 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package migrations + +import ( + "fmt" + + "github.com/go-xorm/xorm" +) + +func addLoginSourceIDToPublicKeyTable(x *xorm.Engine) error { + type PublicKey struct { + LoginSourceID int64 `xorm:"NOT NULL DEFAULT 0"` + } + + if err := x.Sync2(new(PublicKey)); err != nil { + return fmt.Errorf("Sync2: %v", err) + } + return nil +} |