tgstation-server 6.5.0
The /tg/station 13 server suite
Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations
Tgstation.Server.Api.Models Namespace Reference

Namespaces

namespace  Internal
 
namespace  Request
 
namespace  Response
 

Classes

class  ChatChannel
 Indicates a chat channel. More...
 
class  DiscordConnectionStringBuilder
 ChatConnectionStringBuilder for ChatProvider.Discord. More...
 
class  EngineVersion
 Information about an engine installation. More...
 
class  EntityId
 Common base of entities with IDs. More...
 
class  ErrorCodeExtensions
 Extension methods for the ErrorCode enum. More...
 
interface  IConfigurationFile
 Represents a game configuration file. Create and delete actions uncerimonuously overwrite/delete files. More...
 
class  Instance
 Metadata about a server instance. More...
 
class  IrcConnectionStringBuilder
 ChatConnectionStringBuilder for ChatProvider.Irc. More...
 
class  Limits
 Sanity limits to prevent users from overloading. More...
 
class  NamedEntity
 Base class for named entities. More...
 
class  OAuthConnection
 Represents a valid OAuth connection. More...
 
class  OAuthProviderInfo
 Public information about a given OAuthProvider. More...
 
class  PermissionSet
 Represents a set of server permissions. More...
 
class  RequestOptionsAttribute
 Indicates the FieldPresence for fields in models. More...
 
class  ResponseOptionsAttribute
 Indicates the response FieldPresence of API fields. Changes it from FieldPresence.Required to FieldPresence.Optional by default. More...
 
class  RevisionInformation
 
class  TestMerge
 
class  TestMergeParameters
 Parameters for creating a TestMerge. More...
 
class  UserName
 Base class for user names. More...
 

Enumerations

enum  ChatProvider
 Represents a chat service provider. More...
 
enum  ConfigurationType
 The type of configuration allowed on an Instance. More...
 
enum  DiscordDMOutputDisplayType
 When the DM output section of Discord deployment embeds should be shown. More...
 
enum  DreamDaemonSecurity
 DreamDaemon's security level. More...
 
enum  DreamDaemonVisibility
 The visibility setting for DreamDaemon. More...
 
enum  EngineType
 The type of engine the codebase is using. More...
 
enum  ErrorCode : uint
 Types of Response.ErrorMessageResponses that the API may return. More...
 
enum  FieldPresence
 Indicates whether a request field is Required or Ignored. More...
 
enum  IrcPasswordType
 Represents the type of a password for a ChatProvider.Irc. More...
 
enum  JobCode : byte
 The different types of Response.JobResponse. More...
 
enum  OAuthProvider
 List of OAuth providers supported by TGS. More...
 
enum  RemoteGitProvider
 Indicates the remote git host. More...
 
enum  WatchdogStatus
 The current status of the watchdog. More...
 

Enumeration Type Documentation

◆ ChatProvider

Represents a chat service provider.

Definition at line 6 of file ChatProvider.cs.

7 {
11 Irc,
12
16 Discord,
17 }

◆ ConfigurationType

The type of configuration allowed on an Instance.

Definition at line 6 of file ConfigurationType.cs.

7 {
11 Disallowed,
12
16 HostWrite,
17
21 SystemIdentityWrite,
22 }

◆ DiscordDMOutputDisplayType

When the DM output section of Discord deployment embeds should be shown.

Definition at line 6 of file DiscordDMOutputDisplayType.cs.

7 {
11 Always,
12
16 OnError,
17
21 Never,
22 }

◆ DreamDaemonSecurity

DreamDaemon's security level.

Definition at line 6 of file DreamDaemonSecurity.cs.

7 {
11 Trusted,
12
16 Safe,
17
21 Ultrasafe,
22 }

◆ DreamDaemonVisibility

The visibility setting for DreamDaemon.

Definition at line 6 of file DreamDaemonVisibility.cs.

7 {
11 Public,
12
16 Private,
17
21 Invisible,
22 }

◆ EngineType

The type of engine the codebase is using.

Definition at line 6 of file EngineType.cs.

7 {
11 Byond,
12
16 OpenDream,
17 }

◆ ErrorCode

Types of Response.ErrorMessageResponses that the API may return.

Entries marked with the ObsoleteAttribute are no longer in use but kept for placeholders until they can be recycled in the next major API version.

Definition at line 12 of file ErrorCode.cs.

13 {
17 [Description("An internal server error occurred!")]
18 InternalServerError,
19
23 [Description("API version mismatch!")]
24 ApiMismatch,
25
29 [Description("The request body was malformed!")]
30 ModelValidationFailure,
31
35 [Description("An IO error occurred during the operation!")]
36 IOError,
37
41 [Description("A header validation error occurred!")]
42 BadHeaders,
43
47 [Description("Cannot generate a bearer token using a bearer token!")]
48 TokenWithToken,
49
53 [Description("The operation could not be performed as it would violate database integrity. Please retry the request, making sure to not duplicate field names with existing entities!")]
54 DatabaseIntegrityConflict,
55
59 [Description("Functionality is unavailable due to a missing host watchdog component! This should NOT be seen in a production environment!")]
60 MissingHostWatchdog,
61
65 [Description($"Cannot downgrade to {Constants.CanonicalPackageName} major version <4!")]
66 CannotChangeServerSuite,
67
71 [Description("A required remote API request returned an error!")]
72 RemoteApiError,
73
77 [Description("A server update was requested while another was in progress!")]
78 ServerUpdateInProgress,
79
83 [Description("Can only change the capitalization of a user's name!")]
84 UserNameChange,
85
89 [Description("Cannot change a user's systemIdentifier!")]
90 UserSidChange,
91
95 [Description("A user cannot have both a name and systemIdentifier!")]
96 UserMismatchNameSid,
97
101 [Description("A user cannot have both a password and systemIdentifier!")]
102 UserMismatchPasswordSid,
103
107 [Description("The given password is less than the server's configured minimum password length!")]
108 UserPasswordLength,
109
113 [Description("User names cannot contain the ':' character!")]
114 UserColonInName,
115
119 [Description("User's name is missing or invalid whitespace!")]
120 UserMissingName,
121
125 [Description("Cannot relocate an instance while it is online!")]
126 InstanceRelocateOnline,
127
131 [Description("The instance cannot be placed at the given path because it is not empty!")]
132 InstanceAtExistingPath,
133
137 [Description("Cannot detach an instance while it is online!")]
138 InstanceDetachOnline,
139
143 [Description("The instance cannot be placed at the given path because it is a child of an existing instance or the server installation directory!")]
144 InstanceAtConflictingPath,
145
149 [Description("The instance cannot be created because the configured limit has been reached!")]
150 InstanceLimitReached,
151
155 [Description("Instance names and paths cannot be whitespace!")]
156 InstanceWhitespaceNameOrPath,
157
161 [Description("The request path requires the 'Instance' header to be set!")]
162 InstanceHeaderRequired,
163
167 [Description("This operation requires POSIX system identities to be implemented. See https://github.com/tgstation/tgstation-server/issues/709 for details.")]
168 RequiresPosixSystemIdentity,
169
173 [Description("This existing file hash does not match, the file has beeen updated!")]
174 ConfigurationFileUpdated,
175
179 [Description("The directory cannot be deleted because it is not empty!")]
180 ConfigurationDirectoryNotEmpty,
181
185 [Description("The server swarm has less than the expected amount of nodes!")]
186 SwarmIntegrityCheckFailed,
187
191 [Description("Either both accessUser and accessToken must be set or neither!")]
192 RepoMismatchUserAndAccessToken,
193
197 [Description("The repository is busy being cloned!")]
198 RepoCloning,
199
203 [Description("The repository is busy with another operation!")]
204 RepoBusy,
205
209 [Description("The repository already exists!")]
210 RepoExists,
211
215 [Description("The repository does not exist and must be cloned!")]
216 RepoMissing,
217
221 [Description("Cannot checkoutSha and set reference at the same time!")]
222 RepoMismatchShaAndReference,
223
227 [Description("Cannot checkoutSha and updateFromOrigin at the same time!")]
228 RepoMismatchShaAndUpdate,
229
233 [Description("Could not delete engine version due to it being selected as the instance's active version.")]
234 EngineCannotDeleteActiveVersion,
235
239 [Description("The same test merge was present more than once or is already merged!")]
240 RepoDuplicateTestMerge,
241
245 [Description("committerName cannot be whitespace!")]
246 RepoWhitespaceCommitterName,
247
251 [Description("committerEmail cannot be whitespace!")]
252 RepoWhitespaceCommitterEmail,
253
257 [Description("Requested pageSize is too large!")]
258 ApiPageTooLarge,
259
263 [Description("Cannot request page or pageSize <= 0.")]
264 ApiInvalidPageOrPageSize,
265
269 [Description("One or more of the channels for one or more of the provided chat bots do not have the correct channel data for their provider!")]
270 ChatBotWrongChannelType,
271
275 [Description("A chat bot's connection string cannot be whitespace!")]
276 ChatBotWhitespaceConnectionString,
277
281 [Description("A chat bot's name cannot be whitespace!")]
282 ChatBotWhitespaceName,
283
287 [Description("Missing chat bot provider!")]
288 ChatBotProviderMissing,
289
293 [Description("IO operation could not start contended access to the instance's configuration directory!")]
294 ConfigurationContendedAccess,
295
299 [Description("Performing this operation would violate the instance's configured chatBotLimit!")]
300 ChatBotMax,
301
305 [Description("Set amount of chatChannels exceeds the configured channelLimit!")]
306 ChatBotMaxChannels,
307
311 [Description("Unable to start DirectX installer process! Is the server running with admin privileges?")]
312 ByondDirectXInstallFail,
313
317 [Description("Error downloading specified engine version!")]
318 EngineDownloadFail,
319
323 [Description("Could not acquire lock on engine installation as none exist!")]
324 EngineNoVersionsInstalled,
325
329 [Description("DMAPI validation failed! See FAQ at https://github.com/tgstation/tgstation-server/discussions/1695")]
330 DeploymentNeverValidated,
331
335 [Description("The DMAPI sent an invalid validation request!")]
336 DeploymentInvalidValidation,
337
341 [Description("This user is passwordless and removing their oAuthConnections would leave them with no authentication method!")]
342 CannotRemoveLastAuthenticationOption,
343
347 [Description("No .dme configured and could not automatically detect one!")]
348 DeploymentNoDme,
349
353 [Description("Could not load configured .dme!")]
354 DeploymentMissingDme,
355
359 [Description("Compiler exited with a non-zero exit code!")]
360 DeploymentExitCode,
361
365 [Description("There is already a deployment operation in progress!")]
366 DeploymentInProgress,
367
371 [Description("Could not retrieve DreamDaemon settings from the database!")]
372 InstanceMissingDreamDaemonSettings,
373
377 [Description("Could not retrieve DreamMaker settings from the database!")]
378 InstanceMissingDreamMakerSettings,
379
383 [Description("Could not retrieve Repository settings from the database!")]
384 InstanceMissingRepositorySettings,
385
389 [Description("Performing this automatic update as a merge would result in conficts. Aborting!")]
390 InstanceUpdateTestMergeConflict,
391
395 [Description("Git credentials are required for this operation!")]
396 RepoCredentialsRequired,
397
401 [Description("The remote is requesting authentication, but is not allowing credentials to be received!")]
402 RepoCannotAuthenticate,
403
407 [Description("This git operation requires the repository HEAD to currently be on a tracked reference!")]
408 RepoReferenceRequired,
409
413 [Description("The watchdog is already running!")]
414 WatchdogRunning,
415
419 [Description("Cannot launch active compile job as it is missing or corrupted!")]
420 WatchdogCompileJobCorrupted,
421
425 [Description("Game server failed to start!")]
426 WatchdogStartupFailed,
427
431 [Description("Game server failed to start within the configured timeout!")]
432 WatchdogStartupTimeout,
433
437 [Description("Test merging with the current remote is not supported!")]
438 RepoUnsupportedTestMergeRemote,
439
443 [Description("The value set for checkoutSha or reference should be in the other field!")]
444 RepoSwappedShaOrReference,
445
449 [Description("A merge conflict occurred while performing the operation!")]
450 RepoMergeConflict,
451
455 [Description("The repository's current reference is unsuitable for this operation as it does not track a remote reference!")]
456 RepoReferenceNotTracking,
457
461 [Description("Encountered merge conflicts while test merging one or more sources!")]
462 RepoTestMergeConflict,
463
467 [Description("The new instance's path is not under a white-listed path.")]
468 InstanceNotAtWhitelistedPath,
469
473 [Description("Cannot set both softShutdown and softReboot at once!")]
474 GameServerDoubleSoft,
475
479 [Description("Cannot start DreamDaemon headless with the BYOND pager running!")]
480 DreamDaemonPagerRunning,
481
485 [Description("Could not bind to requested game server port! Is there another service running on that port?")]
486 GameServerPortInUse,
487
491 [Description("The deployment succeeded but one or more notification events failed!")]
492 PostDeployFailure,
493
497 [Description("Cannot restart the watchdog as it is not running!")]
498 WatchdogNotRunning,
499
503 [Description("The requested resource is not currently present, but may have been in the past.")]
504 ResourceNotPresent,
505
509 [Description("The requested resource is not present and never has been.")]
510 ResourceNeverPresent,
511
515 [Description("A required GitHub API call failed due to rate limiting.")]
516 GitHubApiRateLimit,
517
521 [Description("Cannot cancel the job as it is no longer running.")]
522 JobStopped,
523
527 [Description("Attempted to create a process dump but /usr/bin/gcore could not be located!")]
528 MissingGCore,
529
533 [Description("Could not create dump as gcore exited with a non-zero exit code!")]
534 GCoreFailure,
535
539 [Description("Test merging cannot be performed with this remote!")]
540 RepoTestMergeInvalidRemote,
541
545 [Description("Cannot switch to requested custom engine version as it is not currently installed.")]
546 EngineNonExistentCustomVersion,
547
551 [Description("Cannot perform this operation as the game server is not currently running!")]
552 GameServerOffline,
553
557 [Description("The instance associated with the operation is currently offline!")]
558 InstanceOffline,
559
563 [Description("Failed to connect chat bot!")]
564 ChatCannotConnectProvider,
565
569 [Description("Failed to allow game server through the Windows firewall!")]
570 EngineFirewallFail,
571
575 [Description("TGS was unable to find a free port to allocate for the operation!")]
576 NoPortsAvailable,
577
581 [Description("The requested port is either already in use by TGS or could not be allocated!")]
582 PortNotAvailable,
583
587 [Description("The admin user cannot use OAuth connections!")]
588 AdminUserCannotOAuth,
589
593 [Description("The requested OAuth provider is disabled via configuration!")]
594 OAuthProviderDisabled,
595
599 [Description("The job did not receive a required upload before timing out!")]
600 FileUploadExpired,
601
605 [Description("A user may not have both a permissionSet and group!")]
606 UserGroupAndPermissionSet,
607
611 [Description("Cannot delete the user group as it is not empty!")]
612 UserGroupNotEmpty,
613
617 [Description("The user cannot be created because the configured limit has been reached!")]
618 UserLimitReached,
619
623 [Description("The user group cannot be created because the configured limit has been reached!")]
624 UserGroupLimitReached,
625
629 [Description("The deployment took longer than the configured timeout!")]
630 DeploymentTimeout,
631
635 [Description("Could not send broadcast to the DMAPI. This can happen either due to there being an insufficient DMAPI version, a communication failure, or the server being offline.")]
636 BroadcastFailure,
637
641 [Description("OpenDream could not be compiled due to being unable to locate the dotnet executable!")]
642 OpenDreamCantFindDotnet,
643
647 [Description("The specified OpenDream version is too old!")]
648 OpenDreamTooOld,
649
653 [Description("Could not create dump as dotnet diagnostics threw an exception!")]
654 DotnetDiagnosticsFailure,
655 }

◆ FieldPresence

Indicates whether a request field is Required or Ignored.

Definition at line 6 of file FieldPresence.cs.

7 {
11 Optional,
12
16 Required,
17
21 Ignored,
22 }

◆ IrcPasswordType

Represents the type of a password for a ChatProvider.Irc.

Definition at line 6 of file IrcPasswordType.cs.

7 {
11 Server,
12
16 Sasl,
17
21 NickServ,
22 }

◆ JobCode

The different types of Response.JobResponse.

Definition at line 8 of file JobCode.cs.

9 {
13 [Description("Legacy job")]
14 Unknown,
15
19 [Description("Move instance")]
20 Move,
21
25 [Description("Clone repository")]
26 RepositoryClone,
27
31 [Description("Update repository")]
32 RepositoryUpdate,
33
37 [Description("Scheduled repository update")]
38 RepositoryAutoUpdate,
39
43 [Description("Delete repository")]
44 RepositoryDelete,
45
49 [Description("Install engine version")]
50 EngineOfficialInstall,
51
55 [Description("Install custom engine version")]
56 EngineCustomInstall,
57
61 [Description("Delete installed engine version")]
62 EngineDelete,
63
67 [Description("Compile active repository code")]
68 Deployment,
69
73 [Description("Scheduled code deployment")]
74 AutomaticDeployment,
75
79 [Description("Launch Watchdog")]
80 WatchdogLaunch,
81
85 [Description("Restart Watchdog")]
86 WatchdogRestart,
87
91 [Description("Create DreamDaemon Process Dump")]
92 WatchdogDump,
93
97 [Description("Instance startup watchdog launch")]
98 StartupWatchdogLaunch,
99
103 [Description("Instance startup watchdog reattach")]
104 StartupWatchdogReattach,
105
109 [Description("Reconnect chat bot")]
110 ReconnectChatBot,
111 }

◆ OAuthProvider

List of OAuth providers supported by TGS.

Definition at line 10 of file OAuthProvider.cs.

11 {
15 GitHub,
16
20 Discord,
21
25 TGForums,
26
30 Keycloak,
31
35 InvisionCommunity,
36 }

◆ RemoteGitProvider

Indicates the remote git host.

Definition at line 6 of file RemoteGitProvider.cs.

7 {
11 Unknown,
12
16 GitHub,
17
21 GitLab,
22 }

◆ WatchdogStatus

The current status of the watchdog.

Definition at line 6 of file WatchdogStatus.cs.

7 {
11 Offline,
12
16 Restoring,
17
21 Online,
22
26 DelayedRestart,
27 }