| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | 
							- using InABox.Core;
 
- namespace Comal.Classes
 
- {
 
-     /* A WebTemplate represents the html template used for building web pages. */
 
-     public class WebTemplate : Entity, IRemotable, IPersistent, ILicense<WebAccessLicense>, IExportable, IImportable, ISecure
 
-     {
 
-         [TextBoxEditor]
 
-         [EditorSequence(1)]
 
-         public string DataModel { get; set; }
 
-         [TextBoxEditor]
 
-         [EditorSequence(2)]
 
-         public string Slug { get; set; } = "";
 
-         [TextBoxEditor]
 
-         [EditorSequence(3)]
 
-         public string Description { get; set; }
 
-         [ScriptEditor(SyntaxLanguage.HTML)]
 
-         [EditorSequence(4)]
 
-         public string Template { get; set; } = "";
 
-         [CheckBoxEditor]
 
-         [EditorSequence(5)]
 
-         public bool Visible { get; set; } = false;
 
-         /// <summary>
 
-         /// Determines whether the URL endpoint is prefixed with "v1/" - this should be the default, to allow us, PRS, to add endpoints to the Web Engine.<br/>
 
-         /// A client who sets this to <see langword="true"/> does so at their own risk.<br/>
 
-         /// However, to minimise conflict, I propose that we only create internal endpoints that begin with a lower case letter,
 
-         /// thus allowing all upper-case letters to be used by clients.
 
-         /// </summary>
 
-         [CheckBoxEditor(Visible = InABox.Core.Visible.Optional)]
 
-         [EditorSequence(5)]
 
-         public bool RootURL { get; set; } = false;
 
-         public override string ToString()
 
-         {
 
-             return RootURL ? $"{DataModel}/{Slug}" : $"v1/{DataModel}/{Slug}";
 
-         }
 
-     }
 
- }
 
 
  |