MCPcopy Create free account
hub / github.com/OpenListTeam/OpenList / CreateSharing

Function CreateSharing

internal/db/sharing.go:40–61  ·  view source on GitHub ↗
(s *model.SharingDB)

Source from the content-addressed store, hash-verified

38}
39
40func CreateSharing(s *model.SharingDB) (string, error) {
41 if s.ID == "" {
42 id := random.String(8)
43 for len(id) < 12 {
44 old := model.SharingDB{
45 ID: id,
46 }
47 if err := db.Where(old).First(&old).Error; err != nil {
48 s.ID = id
49 return id, errors.WithStack(db.Create(s).Error)
50 }
51 id += random.String(1)
52 }
53 return "", errors.New("failed find valid id")
54 } else {
55 query := model.SharingDB{ID: s.ID}
56 if err := db.Where(query).First(&query).Error; err == nil {
57 return "", errors.New("sharing already exist")
58 }
59 return s.ID, errors.WithStack(db.Create(s).Error)
60 }
61}
62
63func UpdateSharing(s *model.SharingDB) error {
64 return errors.WithStack(db.Save(s).Error)

Callers 1

CreateSharingFunction · 0.92

Calls 2

StringFunction · 0.92
CreateMethod · 0.65

Tested by

no test coverage detected