| 
            Last change
 on this file since 428 was             426, checked in by alloc, 3 years ago           | 
        
        
          | 
             
*Updated web permissions system 
*Fixed webpermissions command 
*Moved API "webmods" to "mods", also lists non-webmod mods 
 
           | 
        
        
          | 
            File size:
            964 bytes
           | 
        
      
      
| Rev | Line |   | 
|---|
| [418] | 1 | using Webserver.Permissions;
 | 
|---|
 | 2 | 
 | 
|---|
| [391] | 3 | namespace Webserver.WebAPI {
 | 
|---|
 | 4 |         public abstract class AbsWebAPI {
 | 
|---|
 | 5 |                 public readonly string Name;
 | 
|---|
| [410] | 6 |                 protected readonly Web ParentWeb;
 | 
|---|
| [391] | 7 | 
 | 
|---|
| [418] | 8 |                 protected readonly string CachedApiModuleName;
 | 
|---|
 | 9 | 
 | 
|---|
| [410] | 10 |                 protected AbsWebAPI (string _name = null) : this(null, _name) {
 | 
|---|
 | 11 |                 }
 | 
|---|
 | 12 | 
 | 
|---|
 | 13 |                 protected AbsWebAPI (Web _parentWeb, string _name = null) {
 | 
|---|
| [391] | 14 |                         Name = _name ?? GetType ().Name;
 | 
|---|
| [410] | 15 |                         ParentWeb = _parentWeb;
 | 
|---|
| [418] | 16 |                         CachedApiModuleName = $"webapi.{Name}";
 | 
|---|
 | 17 |                         RegisterPermissions ();
 | 
|---|
| [391] | 18 |                 }
 | 
|---|
 | 19 | 
 | 
|---|
| [418] | 20 |                 protected virtual void RegisterPermissions () {
 | 
|---|
| [426] | 21 |                         AdminWebModules.Instance.AddKnownModule (new AdminWebModules.WebModule(CachedApiModuleName, DefaultPermissionLevel (), true));
 | 
|---|
| [418] | 22 |                 }
 | 
|---|
 | 23 | 
 | 
|---|
| [391] | 24 |                 public abstract void HandleRequest (RequestContext _context);
 | 
|---|
 | 25 | 
 | 
|---|
| [418] | 26 |                 public virtual bool Authorized (RequestContext _context) {
 | 
|---|
| [426] | 27 |                         return AdminWebModules.Instance.GetModule (CachedApiModuleName).LevelGlobal >= _context.PermissionLevel;
 | 
|---|
| [418] | 28 |                 }
 | 
|---|
 | 29 | 
 | 
|---|
| [410] | 30 |                 public virtual int DefaultPermissionLevel () => 0;
 | 
|---|
| [391] | 31 |         }
 | 
|---|
 | 32 | }
 | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.