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 model
6
7import "time"
8
9type Commit struct {
10 Branch string
11 Hash string
12 Message string
13 Date time.Time
14 Committer string
15 ParentHash string
16}
17
18type PluginRunWhen string
19type PluginWriteRightCan string
20
21const (
22 PluginRunWhenAdd PluginRunWhen = "add"
23 PluginRunWhenMod PluginRunWhen = "mod"
24 PluginRunWhenDel PluginRunWhen = "del"
25
26 PluginWriteRightCanAdd PluginWriteRightCan = "add"
27 PluginWriteRightCanMod PluginWriteRightCan = "mod"
28 PluginWriteRightCanDel PluginWriteRightCan = "del"
29 PluginWriteRightCanAppend PluginWriteRightCan = "append"
30)
31
32var PluginRunWhenAll = []PluginRunWhen{PluginRunWhenAdd, PluginRunWhenMod, PluginRunWhenDel}
33var PluginWriteRightCanAll = []PluginWriteRightCan{PluginWriteRightCanAdd, PluginWriteRightCanMod, PluginWriteRightCanDel, PluginWriteRightCanAppend}
34
35type PluginRun struct {
36 Path string
37 Branch []string
38 When []PluginRunWhen
39 Write PluginWrite
40 Configuration map[string]any
41}
42
43type PluginWrite struct {
44 Git []PluginWriteRight
45 Web []PluginWriteRight
46}
47
48type PluginWriteRight struct {
49 Path string
50 Can []PluginWriteRightCan
51}