-
Notifications
You must be signed in to change notification settings - Fork 1
/
Project.cs
140 lines (113 loc) · 4.13 KB
/
Project.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Collections.Generic;
namespace Dnn.CakeUtils
{
public class Project
{
public string name { get; set; }
public string version { get; set; }
public Owner owner { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
public ProjectType projectType { get; set; }
public string friendlyName { get; set; }
public string description { get; set; }
public string dnnDependency { get; set; }
public string packageName { get; set; }
public string folder { get; set; }
public string iconFile { get; set; }
public bool packageSeparately { get; set; } = false;
public bool mustIncludeResources { get; set; } = false;
public DnnModule module { get; set; }
public DnnConfig config { get; set; }
public DnnAuthSystem authenticationSystem { get; set; }
public PersonaBarMenu personaBarMenu { get; set; }
public ProjectPathsAndFiles pathsAndFiles { get; set; }
}
public class DnnModule
{
public string azureCompatible { get; set; } = "True";
public string moduleName { get; set; }
public string foldername { get; set; }
public string businessControllerClass { get; set; }
public string[] supportedFeatures { get; set; }
public DnnModuleDefinition[] moduleDefinitions { get; set; }
public DnnEventMessage eventMessage { get; set; }
}
public class DnnModuleDefinition
{
public string definitionName { get; set; }
public string friendlyName { get; set; }
public int defaultCacheTime { get; set; } = -1;
public DnnModuleControl[] moduleControls { get; set; }
public DnnModulePermission[] permissions { get; set; }
}
public class DnnModuleControl
{
public string controlKey { get; set; }
public string controlTitle { get; set; }
public string controlSrc { get; set; }
public string supportsPartialRendering { get; set; }
public string controlType { get; set; }
public string iconFile { get; set; }
public string helpUrl { get; set; }
public int viewOrder { get; set; } = 0;
}
public class DnnModulePermission
{
public string code { get; set; }
public string key { get; set; }
public string name { get; set; }
}
public class DnnEventMessage
{
public string processorType { get; set; }
public string processorCommand { get; set; }
public Dictionary<string, string> attributes { get; set; }
}
public class DnnConfig
{
public string configFile { get; set; }
public string install { get; set; }
public string uninstall { get; set; }
}
public class ProjectPathsAndFiles
{
public string pathToScripts { get; set; } = "";
public string pathToCleanupFiles { get; set; } = "";
public string licenseFile { get; set; } = "";
public string releaseNotesFile { get; set; } = "";
public string zipName { get; set; }
public string[] assemblies { get; set; }
public string[] excludeFilter { get; set; }
public string[] releaseFiles { get; set; }
}
public class DnnAuthSystem
{
public string type { get; set; } = "";
public string settingsControlSrc { get; set; } = "";
public string loginControlSrc { get; set; } = "";
public string logoffControlSrc { get; set; } = "";
}
public class PersonaBarMenu
{
public string identifier { get; set; } = "";
public string moduleName { get; set; } = "";
public string controller { get; set; } = "";
public string resourceKey { get; set; } = "";
public string path { get; set; } = "";
public bool mobileSupport { get; set; } = true;
public string parent { get; set; } = "";
public int order { get; set; } = 0;
}
public enum ProjectType
{
module,
skin,
container,
library,
provider,
auth_system,
personabar
}
}