tgstation-server  4.3.2
The /tg/station 13 server suite
TgsAuthorizeAttribute.cs
Go to the documentation of this file.
1 using System;
2 using Microsoft.AspNetCore.Authorization;
4 
5 namespace Tgstation.Server.Host.Controllers
6 {
10  #pragma warning disable CA1019
11  [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
13  {
17  public RightsType? RightsType { get; }
18 
22  public TgsAuthorizeAttribute() { }
23 
29  {
30  Roles = RightsHelper.RoleNames(requiredRights);
31  RightsType = Api.Rights.RightsType.Administration;
32  }
33 
39  {
40  Roles = RightsHelper.RoleNames(requiredRights);
41  RightsType = Api.Rights.RightsType.InstanceManager;
42  }
43 
48  public TgsAuthorizeAttribute(RepositoryRights requiredRights)
49  {
50  Roles = RightsHelper.RoleNames(requiredRights);
51  RightsType = Api.Rights.RightsType.Repository;
52  }
53 
58  public TgsAuthorizeAttribute(ByondRights requiredRights)
59  {
60  Roles = RightsHelper.RoleNames(requiredRights);
61  RightsType = Api.Rights.RightsType.Byond;
62  }
63 
68  public TgsAuthorizeAttribute(DreamMakerRights requiredRights)
69  {
70  Roles = RightsHelper.RoleNames(requiredRights);
71  RightsType = Api.Rights.RightsType.DreamMaker;
72  }
73 
79  {
80  Roles = RightsHelper.RoleNames(requiredRights);
81  RightsType = Api.Rights.RightsType.DreamDaemon;
82  }
83 
88  public TgsAuthorizeAttribute(ChatBotRights requiredRights)
89  {
90  Roles = RightsHelper.RoleNames(requiredRights);
91  RightsType = Api.Rights.RightsType.ChatBots;
92  }
93 
99  {
100  Roles = RightsHelper.RoleNames(requiredRights);
101  RightsType = Api.Rights.RightsType.Configuration;
102  }
103 
109  {
110  Roles = RightsHelper.RoleNames(requiredRights);
111  RightsType = Api.Rights.RightsType.InstanceUser;
112  }
113  }
114 }
ConfigurationRights
Rights for Models.ConfigurationFile
ByondRights
Rights for Models.Byond
Definition: ByondRights.cs:9
RightsType
The type of rights a model uses
Definition: RightsType.cs:6
InstanceUserRights
Rights for an Models.Instance
TgsAuthorizeAttribute(ByondRights requiredRights)
Construct a TgsAuthorizeAttribute for ByondRights
Helper for using the AuthorizeAttribute with the Api.Rights system
TgsAuthorizeAttribute(InstanceManagerRights requiredRights)
Construct a TgsAuthorizeAttribute for InstanceManagerRights
AdministrationRights
Rights for Models.Administration
DreamDaemonRights
Rights for Models.DreamDaemon
InstanceManagerRights
Rights for managing Models.Instances
TgsAuthorizeAttribute(AdministrationRights requiredRights)
Construct a TgsAuthorizeAttribute for AdministrationRights
DreamMakerRights
Rights for Models.DreamMaker
TgsAuthorizeAttribute(ConfigurationRights requiredRights)
Construct a TgsAuthorizeAttribute for ConfigurationRights
TgsAuthorizeAttribute(DreamMakerRights requiredRights)
Construct a TgsAuthorizeAttribute for DreamMakerRights
RepositoryRights
Rights for a Models.Repository
TgsAuthorizeAttribute(InstanceUserRights requiredRights)
Construct a TgsAuthorizeAttribute for InstanceUserRights
TgsAuthorizeAttribute(RepositoryRights requiredRights)
Construct a TgsAuthorizeAttribute for RepositoryRights
ChatBotRights
Rights for Models.ChatBot
Definition: ChatBotRights.cs:9
TgsAuthorizeAttribute(ChatBotRights requiredRights)
Construct a TgsAuthorizeAttribute for ChatBotRights
TgsAuthorizeAttribute(DreamDaemonRights requiredRights)
Construct a TgsAuthorizeAttribute for DreamDaemonRights