GitRoot
Craft your forge, Build your project, Grow your community freely
1// SPDX-FileCopyrightText: 2026 Romain Maneschi <romain@gitroot.dev>
2//
3// SPDX-License-Identifier: MIT
4
5
6@json
7export class PluginRun {
8 constructor(
9 public path: string,
10 public branch: Array<string>,
11 public when: Array<PluginRunWhen>,
12 public func: Array<PluginFunc>,
13 public write: PluginWrite,
14 public configuration: Map<string, string>,
15 ) {}
16}
17
18@json
19export class PluginFunc {
20 constructor(
21 public funcName: string,
22 public args: Array<string>,
23 public res: Array<string>,
24 ) {}
25}
26
27@json
28export class PluginWrite {
29 constructor(
30 public git: Array<PluginWriteRight>,
31 public web: Array<PluginWriteRight>,
32 public exec: Array<PluginExecRight>,
33 public callFunc: Array<PluginCallFuncRight>,
34 ) {}
35}
36
37@json
38export class PluginWriteRight {
39 constructor(
40 public path: string,
41 public can: Array<PluginWriteRightCan>,
42 ) {}
43}
44
45@json
46export class PluginExecRight {
47 constructor(
48 public command: string,
49 ) {}
50}
51
52@json
53export class PluginCallFuncRight {
54 constructor(
55 public pluginPURL: string,
56 public funcName: string,
57 ) {}
58}
59
60export namespace PluginRunWhen {
61 export const Add = "add";
62 export const Mod = "mod";
63 export const Del = "del";
64}
65
66export type PluginRunWhen = string;
67
68export namespace PluginWriteRightCan {
69 export const Add = "add";
70 export const Mod = "mod";
71 export const Del = "del";
72 export const Append = "append";
73}
74
75export type PluginWriteRightCan = string;
76