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