GitRoot

craft your forge, build your project, grow your community freely
 1// SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
 2//
 3// SPDX-License-Identifier: EUPL-1.2
 4
 5package plugin
 6
 7import (
 8	"github.com/goccy/go-yaml"
 9	"gitroot.dev/server/user"
10)
11
12func (m *Manager) ToNewRepo(isRootRepo bool, inactiveAll bool, plugins []Plugin) ([]byte, []user.SimpleUser) {
13	toSerialize := make([]Plugin, len(plugins))
14	users := make([]user.SimpleUser, len(plugins))
15	for i, p := range plugins {
16		url := ""
17		crc := ""
18		if isRootRepo {
19			url = p.Url
20			crc = p.Crc
21		}
22		active := p.Active
23		if inactiveAll {
24			active = false
25		}
26		toSerialize[i] = Plugin{
27			Url:     url,
28			Crc:     crc,
29			Name:    p.Name,
30			Version: p.Version,
31			Active:  active,
32			Run:     p.Run,
33		}
34		users[i] = p.commiter.SimpleUser
35	}
36	b, _ := yaml.Marshal(toSerialize)
37	return b, users
38}