mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-07-20 12:33:00 +01:00
Move RepositorySettings out of Internal namespace
Make abstract
This commit is contained in:
+2
-2
@@ -7,8 +7,8 @@
|
||||
<TgsConfigVersion>5.2.0</TgsConfigVersion>
|
||||
<TgsApiVersion>10.8.0</TgsApiVersion>
|
||||
<TgsCommonLibraryVersion>7.0.0</TgsCommonLibraryVersion>
|
||||
<TgsApiLibraryVersion>13.8.0</TgsApiLibraryVersion>
|
||||
<TgsClientVersion>16.1.0</TgsClientVersion>
|
||||
<TgsApiLibraryVersion>14.0.0</TgsApiLibraryVersion>
|
||||
<TgsClientVersion>17.0.0</TgsClientVersion>
|
||||
<TgsDmapiVersion>7.3.0</TgsDmapiVersion>
|
||||
<TgsInteropVersion>5.10.0</TgsInteropVersion>
|
||||
<TgsHostWatchdogVersion>1.5.0</TgsHostWatchdogVersion>
|
||||
|
||||
@@ -185,7 +185,7 @@ namespace Tgstation.Server.Api.Models
|
||||
SwarmIntegrityCheckFailed,
|
||||
|
||||
/// <summary>
|
||||
/// One of <see cref="Internal.RepositorySettings.AccessUser"/> and <see cref="Internal.RepositorySettings.AccessToken"/> is set while the other isn't.
|
||||
/// One of <see cref="RepositorySettings.AccessUser"/> and <see cref="RepositorySettings.AccessToken"/> is set while the other isn't.
|
||||
/// </summary>
|
||||
[Description("Either both accessUser and accessToken must be set or neither!")]
|
||||
RepoMismatchUserAndAccessToken,
|
||||
@@ -239,13 +239,13 @@ namespace Tgstation.Server.Api.Models
|
||||
RepoDuplicateTestMerge,
|
||||
|
||||
/// <summary>
|
||||
/// Attempted to set a whitespace <see cref="Internal.RepositorySettings.CommitterName"/>.
|
||||
/// Attempted to set a whitespace <see cref="RepositorySettings.CommitterName"/>.
|
||||
/// </summary>
|
||||
[Description("committerName cannot be whitespace!")]
|
||||
RepoWhitespaceCommitterName,
|
||||
|
||||
/// <summary>
|
||||
/// Attempted to set a whitespace <see cref="Internal.RepositorySettings.CommitterEmail"/>.
|
||||
/// Attempted to set a whitespace <see cref="RepositorySettings.CommitterEmail"/>.
|
||||
/// </summary>
|
||||
[Description("committerEmail cannot be whitespace!")]
|
||||
RepoWhitespaceCommitterEmail,
|
||||
@@ -377,19 +377,19 @@ namespace Tgstation.Server.Api.Models
|
||||
InstanceMissingDreamMakerSettings,
|
||||
|
||||
/// <summary>
|
||||
/// Missing <see cref="Internal.RepositorySettings"/> in database.
|
||||
/// Missing <see cref="RepositorySettings"/> in database.
|
||||
/// </summary>
|
||||
[Description("Could not retrieve Repository settings from the database!")]
|
||||
InstanceMissingRepositorySettings,
|
||||
|
||||
/// <summary>
|
||||
/// Performing an automatic update with the <see cref="Internal.RepositorySettings.AutoUpdatesKeepTestMerges"/> flag resulted in merge conflicts.
|
||||
/// Performing an automatic update with the <see cref="RepositorySettings.AutoUpdatesKeepTestMerges"/> flag resulted in merge conflicts.
|
||||
/// </summary>
|
||||
[Description("Performing this automatic update as a merge would result in conficts. Aborting!")]
|
||||
InstanceUpdateTestMergeConflict,
|
||||
|
||||
/// <summary>
|
||||
/// <see cref="Internal.RepositorySettings.AccessUser"/> and <see cref="Internal.RepositorySettings.AccessToken"/> are required for this operation.
|
||||
/// <see cref="RepositorySettings.AccessUser"/> and <see cref="RepositorySettings.AccessToken"/> are required for this operation.
|
||||
/// </summary>
|
||||
[Description("Git credentials are required for this operation!")]
|
||||
RepoCredentialsRequired,
|
||||
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Tgstation.Server.Api.Models.Internal
|
||||
namespace Tgstation.Server.Api.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Represents configurable settings for a git repository.
|
||||
/// </summary>
|
||||
public class RepositorySettings
|
||||
public abstract class RepositorySettings
|
||||
{
|
||||
/// <summary>
|
||||
/// Prefix for TGS encoded app private keys. This is encoded in the format PREFIX + (APP_ID OR CLIENT_ID) + ':' + BASE64(APP_PRIVATE_KEY).
|
||||
@@ -19,7 +19,7 @@ namespace Tgstation.Server.Api.Rights
|
||||
CancelPendingChanges = 1 << 0,
|
||||
|
||||
/// <summary>
|
||||
/// User may clone the repository if it does not exist. This also allows setting <see cref="Models.Internal.RepositorySettings.UpdateSubmodules"/>, <see cref="Models.Internal.RepositorySettings.AccessUser"/>, and <see cref="Models.Internal.RepositorySettings.AccessToken"/> at clone time.
|
||||
/// User may clone the repository if it does not exist. This also allows setting <see cref="Models.RepositorySettings.UpdateSubmodules"/>, <see cref="Models.RepositorySettings.AccessUser"/>, and <see cref="Models.RepositorySettings.AccessToken"/> at clone time.
|
||||
/// </summary>
|
||||
SetOrigin = 1 << 1,
|
||||
|
||||
@@ -39,17 +39,17 @@ namespace Tgstation.Server.Api.Rights
|
||||
UpdateBranch = 1 << 4,
|
||||
|
||||
/// <summary>
|
||||
/// User may change <see cref="Models.Internal.RepositorySettings.CommitterName"/> and <see cref="Models.Internal.RepositorySettings.CommitterEmail"/>.
|
||||
/// User may change <see cref="Models.RepositorySettings.CommitterName"/> and <see cref="Models.RepositorySettings.CommitterEmail"/>.
|
||||
/// </summary>
|
||||
ChangeCommitter = 1 << 5,
|
||||
|
||||
/// <summary>
|
||||
/// User may change <see cref="Models.Internal.RepositorySettings.PushTestMergeCommits"/>, <see cref="Models.Internal.RepositorySettings.PostTestMergeComment"/>, and <see cref="Models.Internal.RepositorySettings.CreateGitHubDeployments"/>.
|
||||
/// User may change <see cref="Models.RepositorySettings.PushTestMergeCommits"/>, <see cref="Models.RepositorySettings.PostTestMergeComment"/>, and <see cref="Models.RepositorySettings.CreateGitHubDeployments"/>.
|
||||
/// </summary>
|
||||
ChangeTestMergeCommits = 1 << 6,
|
||||
|
||||
/// <summary>
|
||||
/// User may read and change <see cref="Models.Internal.RepositorySettings.AccessUser"/> and <see cref="Models.Internal.RepositorySettings.AccessToken"/>.
|
||||
/// User may read and change <see cref="Models.RepositorySettings.AccessUser"/> and <see cref="Models.RepositorySettings.AccessToken"/>.
|
||||
/// </summary>
|
||||
ChangeCredentials = 1 << 7,
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace Tgstation.Server.Api.Rights
|
||||
Read = 1 << 9,
|
||||
|
||||
/// <summary>
|
||||
/// User may change <see cref="Models.Internal.RepositorySettings.AutoUpdatesKeepTestMerges"/> and <see cref="Models.Internal.RepositorySettings.AutoUpdatesSynchronize"/>.
|
||||
/// User may change <see cref="Models.RepositorySettings.AutoUpdatesKeepTestMerges"/> and <see cref="Models.RepositorySettings.AutoUpdatesSynchronize"/>.
|
||||
/// </summary>
|
||||
ChangeAutoUpdateSettings = 1 << 10,
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace Tgstation.Server.Host.Components.Repository
|
||||
/// <inheritdoc />
|
||||
public ValueTask<Models.TestMerge> GetTestMerge(
|
||||
TestMergeParameters parameters,
|
||||
Api.Models.Internal.RepositorySettings repositorySettings,
|
||||
RepositorySettings repositorySettings,
|
||||
CancellationToken cancellationToken) => throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ using Microsoft.Extensions.Logging;
|
||||
using Octokit;
|
||||
|
||||
using Tgstation.Server.Api.Models;
|
||||
using Tgstation.Server.Api.Models.Internal;
|
||||
using Tgstation.Server.Host.Utils.GitHub;
|
||||
|
||||
namespace Tgstation.Server.Host.Components.Repository
|
||||
|
||||
@@ -6,7 +6,6 @@ using GitLabApiClient;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
using Tgstation.Server.Api.Models;
|
||||
using Tgstation.Server.Api.Models.Internal;
|
||||
|
||||
namespace Tgstation.Server.Host.Components.Repository
|
||||
{
|
||||
|
||||
@@ -6,7 +6,6 @@ using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
using Tgstation.Server.Api.Models;
|
||||
using Tgstation.Server.Api.Models.Internal;
|
||||
|
||||
namespace Tgstation.Server.Host.Components.Repository
|
||||
{
|
||||
|
||||
@@ -12,7 +12,6 @@ using LibGit2Sharp.Handlers;
|
||||
using Microsoft.Extensions.Logging;
|
||||
|
||||
using Tgstation.Server.Api.Models;
|
||||
using Tgstation.Server.Api.Models.Internal;
|
||||
using Tgstation.Server.Host.Components.Events;
|
||||
using Tgstation.Server.Host.Configuration;
|
||||
using Tgstation.Server.Host.Extensions;
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace Tgstation.Server.Host.Components.Repository
|
||||
/// <summary>
|
||||
/// The current <see cref="RepositorySettings"/> for the <see cref="RepositoryUpdateService"/>.
|
||||
/// </summary>
|
||||
readonly RepositorySettings currentModel;
|
||||
readonly Models.RepositorySettings currentModel;
|
||||
|
||||
/// <summary>
|
||||
/// The <see cref="User"/> that initiated the repository update.
|
||||
@@ -50,7 +50,7 @@ namespace Tgstation.Server.Host.Components.Repository
|
||||
/// <param name="logger">The value of <see cref="logger"/>.</param>
|
||||
/// <param name="instanceId">The value of <see cref="instanceId"/>.</param>
|
||||
public RepositoryUpdateService(
|
||||
RepositorySettings currentModel,
|
||||
Models.RepositorySettings currentModel,
|
||||
User initiatingUser,
|
||||
ILogger<RepositoryUpdateService> logger,
|
||||
long instanceId)
|
||||
|
||||
@@ -770,7 +770,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
AutoUpdateInterval = initialSettings.AutoUpdateInterval ?? 0,
|
||||
AutoUpdateCron = initialSettings.AutoUpdateCron ?? String.Empty,
|
||||
ChatBotLimit = initialSettings.ChatBotLimit ?? Models.Instance.DefaultChatBotLimit,
|
||||
RepositorySettings = new RepositorySettings
|
||||
RepositorySettings = new Models.RepositorySettings
|
||||
{
|
||||
CommitterEmail = Components.Repository.Repository.DefaultCommitterEmail,
|
||||
CommitterName = Components.Repository.Repository.DefaultCommitterName,
|
||||
|
||||
@@ -369,7 +369,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
if (currentModel == default)
|
||||
return this.Gone();
|
||||
|
||||
bool CheckModified<T>(Expression<Func<Api.Models.Internal.RepositorySettings, T>> expression, RepositoryRights requiredRight)
|
||||
bool CheckModified<T>(Expression<Func<Api.Models.RepositorySettings, T>> expression, RepositoryRights requiredRight)
|
||||
{
|
||||
var memberSelectorExpression = (MemberExpression)expression.Body;
|
||||
var property = (PropertyInfo)memberSelectorExpression.Member;
|
||||
@@ -531,7 +531,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
/// </summary>
|
||||
/// <param name="currentModel">The current <see cref="RepositorySettings"/>.</param>
|
||||
/// <returns>A new <see cref="RepositoryUpdateService"/>.</returns>
|
||||
RepositoryUpdateService CreateRepositoryUpdateService(RepositorySettings currentModel)
|
||||
RepositoryUpdateService CreateRepositoryUpdateService(Models.RepositorySettings currentModel)
|
||||
=> new(
|
||||
currentModel,
|
||||
AuthenticationContext.User,
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
|
||||
namespace Tgstation.Server.Host.Database.Migrations
|
||||
{
|
||||
/// <summary>
|
||||
/// Add the <see cref="Api.Models.Internal.RepositorySettings.PostTestMergeComment"/> column for MSSQL.
|
||||
/// Add the <see cref="Api.Models.RepositorySettings.PostTestMergeComment"/> column for MSSQL.
|
||||
/// </summary>
|
||||
public partial class MSToggleTestmergeComments : Migration
|
||||
{
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
|
||||
namespace Tgstation.Server.Host.Database.Migrations
|
||||
{
|
||||
/// <summary>
|
||||
/// Add the <see cref="Api.Models.Internal.RepositorySettings.PostTestMergeComment"/> column for MySQL/MariaDB.
|
||||
/// Add the <see cref="Api.Models.RepositorySettings.PostTestMergeComment"/> column for MySQL/MariaDB.
|
||||
/// </summary>
|
||||
public partial class MYToggleTestmergeComments : Migration
|
||||
{
|
||||
|
||||
@@ -4,8 +4,8 @@ using Tgstation.Server.Api.Models.Response;
|
||||
|
||||
namespace Tgstation.Server.Host.Models
|
||||
{
|
||||
/// <inheritdoc cref="Api.Models.Internal.RepositorySettings" />
|
||||
public sealed class RepositorySettings : Api.Models.Internal.RepositorySettings, IApiTransformable<RepositoryResponse>
|
||||
/// <inheritdoc cref="Api.Models.RepositorySettings" />
|
||||
public sealed class RepositorySettings : Api.Models.RepositorySettings, IApiTransformable<RepositoryResponse>
|
||||
{
|
||||
/// <summary>
|
||||
/// The row Id.
|
||||
|
||||
@@ -13,7 +13,7 @@ using Microsoft.IdentityModel.Tokens;
|
||||
|
||||
using Octokit;
|
||||
|
||||
using Tgstation.Server.Api.Models.Internal;
|
||||
using Tgstation.Server.Api.Models;
|
||||
using Tgstation.Server.Host.Configuration;
|
||||
using Tgstation.Server.Host.System;
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ using Moq;
|
||||
|
||||
using Octokit;
|
||||
|
||||
using Tgstation.Server.Api.Models.Internal;
|
||||
using Tgstation.Server.Api.Models;
|
||||
using Tgstation.Server.Host.Configuration;
|
||||
using Tgstation.Server.Host.System;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user