Files
Microsoft.SelfService.Porta…/Models/ConfigurationValueModel.cs
Torsten Brendgen dc93ea0813 feat: Implement API client and token models with hashing and JWT authentication
- Added ApiClientModel and ApiTokenModel for managing API clients and tokens.
- Introduced ConfigurationDefinitionModel and ConfigurationValueModel for configuration management.
- Created CredentialSecretModel for storing credential secrets.
- Developed DeploymentArtifactModel and DeploymentBatchModel for deployment management.
- Enhanced DeploymentTargetModel and DeploymentTemplateSelectionModel to support template revisions.
- Added TemplateRevisionModel and TemplateVersionModel for versioning templates.
- Implemented ApiClientSecretHasher for secure secret hashing.
- Created ApiTokenService for generating and validating JWT tokens.
- Updated QueueJobService to handle deployment requests with artifacts.
- Configured authentication settings in appsettings.json for JWT and Negotiate authentication.
2026-07-09 14:44:38 +02:00

53 lines
1.7 KiB
C#

using System.ComponentModel.DataAnnotations.Schema;
namespace Microsoft.SelfService.Portal.Core.API.Models
{
public static class ConfigurationValueSourceTypes
{
public const string Static = "Static";
public const string ScopeProperty = "ScopeProperty";
public const string Expression = "Expression";
public const string SecretReference = "SecretReference";
}
public static class ConfigurationValueScopeTypes
{
public const string TemplateRevision = "TemplateRevision";
public const string Environment = "Environment";
public const string Domain = "Domain";
public const string Target = "Target";
public const string DeploymentGroup = "DeploymentGroup";
public const string Deployment = "Deployment";
public const string TemplateSelection = "TemplateSelection";
}
public class ConfigurationValueModel : BaseModel
{
[Column(Order = 1)]
public Guid ConfigurationDefinitionId { get; set; }
[Column(Order = 2)]
public string ScopeType { get; set; } = ConfigurationValueScopeTypes.TemplateRevision;
[Column(Order = 3)]
public Guid ScopeId { get; set; }
[Column(Order = 4)]
public string ValueSourceType { get; set; } = ConfigurationValueSourceTypes.Static;
[Column(Order = 5)]
public string? SourcePath { get; set; }
[Column(Order = 6)]
public string? ValueJson { get; set; }
[Column(Order = 7)]
public string ValueHash { get; set; } = string.Empty;
[Column(Order = 8)]
public int SortOrder { get; set; }
public ConfigurationDefinitionModel ConfigurationDefinition { get; set; } = null!;
}
}