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}