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: MIT
 4
 5package gitroot
 6
 7type PluginRunWhen string
 8type PluginWriteRightCan string
 9
10const (
11	PluginRunWhenAdd PluginRunWhen = "add"
12	PluginRunWhenMod PluginRunWhen = "mod"
13	PluginRunWhenDel PluginRunWhen = "del"
14
15	PluginWriteRightCanAdd    PluginWriteRightCan = "add"
16	PluginWriteRightCanMod    PluginWriteRightCan = "mod"
17	PluginWriteRightCanDel    PluginWriteRightCan = "del"
18	PluginWriteRightCanAppend PluginWriteRightCan = "append"
19)
20
21var PluginRunWhenAll = []PluginRunWhen{PluginRunWhenAdd, PluginRunWhenMod, PluginRunWhenDel}
22var PluginWriteRightCanAll = []PluginWriteRightCan{PluginWriteRightCanAdd, PluginWriteRightCanMod, PluginWriteRightCanDel, PluginWriteRightCanAppend}
23
24type PluginRun struct {
25	Path          string
26	Branch        []string
27	When          []PluginRunWhen
28	Write         PluginWrite
29	Configuration map[string]any
30}
31
32type PluginWrite struct {
33	Git []PluginWriteRight
34	Web []PluginWriteRight
35}
36
37type PluginWriteRight struct {
38	Path string
39	Can  []PluginWriteRightCan
40}