Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
ResourceAdminDto.cs 17.68 KiB
/*
 * Coscine Web API
 *
 * Coscine (short for <b>CO</b>llaborative <b>SC</b>ientific <b>IN</b>tegration <b>E</b>nvironment) is the research data management platform for your research project.
 *
 * The version of the OpenAPI document: 2.0
 * Contact: servicedesk@itc.rwth-aachen.de
 * Generated by: https://github.com/openapitools/openapi-generator.git
 */


using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = Coscine.ApiClient.Core.Client.OpenAPIDateConverter;

namespace Coscine.ApiClient.Core.Model
{
    /// <summary>
    /// Represents a Data Transfer Object (DTO) for administrative purposes with additional resource details.
    /// </summary>
    [DataContract(Name = "ResourceAdminDto")]
    public partial class ResourceAdminDto : IValidatableObject
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="ResourceAdminDto" /> class.
        /// </summary>
        [JsonConstructorAttribute]
        protected ResourceAdminDto() { }
        /// <summary>
        /// Initializes a new instance of the <see cref="ResourceAdminDto" /> class.
        /// </summary>
        /// <param name="id">Unique identifier for the resource..</param>
        /// <param name="pid">Persistent identifier for the resource. (required).</param>
        /// <param name="type">type (required).</param>
        /// <param name="name">Name of the resource. (required).</param>
        /// <param name="displayName">Display name of the resource. (required).</param>
        /// <param name="description">Description of the resource. (required).</param>
        /// <param name="keywords">Keywords associated with the resource..</param>
        /// <param name="license">license.</param>
        /// <param name="usageRights">Usage rights associated with the resource..</param>
        /// <param name="metadataLocalCopy">Indicates whether a local copy of the metadata is available for the resource..</param>
        /// <param name="metadataExtraction">Indicates whether metadata extraction is enabled for the resource..</param>
        /// <param name="applicationProfile">applicationProfile (required).</param>
        /// <param name="fixedValues">Fixed values associated with resource manipulation.  This dictionary may contain multiple levels and is structured as follows:  Dictionary (Key: string) -&gt; Dictionary (Key: string) -&gt; List of FixedValueForResourceManipulationDto. (required).</param>
        /// <param name="disciplines">Disciplines associated with the resource. (required).</param>
        /// <param name="visibility">visibility (required).</param>
        /// <param name="dateCreated">Date when the resource was created..</param>
        /// <param name="creator">creator.</param>
        /// <param name="archived">Indicates whether the resource is archived..</param>
        /// <param name="maintenanceMode">Indicates whether the resource is in maintenance mode..</param>
        /// <param name="projects">The projects associated with the resource..</param>
        /// <param name="deleted">Indicates whether the resource is deleted. (required).</param>
        /// <param name="projectResources">Collection of minimal project resource details associated with this resource. (required).</param>
        /// <param name="resourceQuota">resourceQuota.</param>
        public ResourceAdminDto(Guid id = default(Guid), string pid = default(string), ResourceTypeDto type = default(ResourceTypeDto), string name = default(string), string displayName = default(string), string description = default(string), List<string> keywords = default(List<string>), LicenseDto license = default(LicenseDto), string usageRights = default(string), bool metadataLocalCopy = default(bool), bool metadataExtraction = default(bool), ApplicationProfileMinimalDto applicationProfile = default(ApplicationProfileMinimalDto), Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>> fixedValues = default(Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>>), List<DisciplineDto> disciplines = default(List<DisciplineDto>), VisibilityDto visibility = default(VisibilityDto), DateTime? dateCreated = default(DateTime?), UserMinimalDto creator = default(UserMinimalDto), bool archived = default(bool), bool maintenanceMode = default(bool), List<ProjectMinimalDto> projects = default(List<ProjectMinimalDto>), bool deleted = default(bool), List<ProjectResourceMinimalDto> projectResources = default(List<ProjectResourceMinimalDto>), ResourceQuotaDto resourceQuota = default(ResourceQuotaDto))
        {
            // to ensure "pid" is required (not null)
            if (pid == null)
            {