using System.ComponentModel.DataAnnotations;
using Connected.ServiceModel;
namespace Connected.Common.Workspace;
///
/// The base class for the arguments used when inserting one of the
/// implementations of the entity.
///
public abstract class InsertWorkspaceArgs : Dto
{
///
[Required, MaxLength(128)]
public string IdentityEntity { get; set; } = default!;
///
[Required, MaxLength(128)]
public string IdentityId { get; set; } = default!;
///
public DateTimeOffset? Created { get; set; }
///
public DateTimeOffset? Expires { get; set; }
///
[Required, MaxLength(128)]
public string Title { get; set; } = default!;
///
[MaxLength(256)]
public string? Description { get; set; }
///
public ReadStatus? Status { get; set; }
///
[Required, MaxLength(128)]
public string Domain { get; init; } = default!;
///
[MaxLength(256)]
public string? Tags { get; init; }
///
[MaxLength(128)]
public string? AuthorEntity { get; init; }
///
[MaxLength(128)]
public string? AuthorId { get; init; }
///
public IdentityVerbs? Verbs { get; init; }
}
///
/// The base class used when updating one of the
/// implementations of the entity.
///
public abstract class UpdateWorkspaceArgs : PrimaryKeyArgs
{
///
public DateTimeOffset? Created { get; set; }
///
public DateTimeOffset? Expires { get; set; }
///
[Required, MaxLength(128)]
public string Title { get; set; } = default!;
///
[MaxLength(256)]
public string? Description { get; set; }
///
public ReadStatus? Status { get; set; }
///
[MaxLength(256)]
public string? Tags { get; init; }
///
public IdentityVerbs? Verbs { get; init; }
}