• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mendersoftware / mender-server / 1833359013

23 May 2025 01:25PM UTC coverage: 66.318% (+0.5%) from 65.861%
1833359013

Pull #674

gitlab-ci

mzedel
fix(gui): prevented device tag editor to be shown when no tags exist

- this is to reduce confusion about tags defined async to the current session not being visible

Ticket: ME-528
Signed-off-by: Manuel Zedel <manuel.zedel@northern.tech>
Pull Request #674: ME-529, ME-528 - adjustments to device tag editing

29554 of 44564 relevant lines covered (66.32%)

1.45 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/backend/pkg/mongo/migrate/migrator_dummy.go
1
// Copyright 2024 Northern.tech AS
2
//
3
//        Licensed under the Apache License, Version 2.0 (the "License");
4
//        you may not use this file except in compliance with the License.
5
//        You may obtain a copy of the License at
6
//
7
//            http://www.apache.org/licenses/LICENSE-2.0
8
//
9
//        Unless required by applicable law or agreed to in writing, software
10
//        distributed under the License is distributed on an "AS IS" BASIS,
11
//        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
//        See the License for the specific language governing permissions and
13
//        limitations under the License.
14
package migrate
15

16
import (
17
        "context"
18
        "errors"
19
        "fmt"
20

21
        "go.mongodb.org/mongo-driver/mongo"
22

23
        "github.com/mendersoftware/mender-server/pkg/log"
24
)
25

26
// MigratorDummy does not actually apply migrations, just inserts the
27
// target version into the db to mark the initial/current state.
28
type DummyMigrator struct {
29
        Client      *mongo.Client
30
        Db          string
31
        Automigrate bool
32
}
33

34
// Apply makes MigratorDummy implement the Migrator interface.
35
func (m *DummyMigrator) Apply(ctx context.Context, target Version, migrations []Migration) error {
×
36
        l := log.FromContext(ctx).F(log.Ctx{"db": m.Db})
×
37

×
38
        applied, err := GetMigrationInfo(ctx, m.Client, m.Db)
×
39
        if err != nil {
×
40
                return err
×
41
        }
×
42

43
        if len(applied) > 1 {
×
44
                return errors.New("dummy migrator cannot apply migrations, more than 1 already applied")
×
45
        }
×
46

47
        last := Version{}
×
48
        if len(applied) == 1 {
×
49
                last = applied[0].Version
×
50
        }
×
51

52
        if !m.Automigrate {
×
53
                if VersionIsLess(last, target) {
×
54
                        return fmt.Errorf(
×
55
                                "%s: %s has version %s, needs version %s",
×
56
                                ErrNeedsMigration, m.Db, last.String(), target.String())
×
57
                } else {
×
58
                        return nil
×
59
                }
×
60
        }
61

62
        if VersionIsLess(last, target) {
×
63
                l.Infof("applying migration from version %s to %s", last, target)
×
64
                return UpdateMigrationInfo(ctx, target, m.Client, m.Db)
×
65
        } else {
×
66
                l.Infof("migration to version %s skipped", target)
×
67
        }
×
68

69
        return nil
×
70
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc