/* Options:
Date: 2025-01-01 15:08:23
Version: 8.51
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://techstacks.io

//GlobalNamespace: 
//MakePartial: True
//MakeVirtual: True
//MakeInternal: False
//MakeDataContractsExtensible: False
//AddNullableAnnotations: False
//AddReturnMarker: True
//AddDescriptionAsComments: True
//AddDataContractAttributes: False
//AddIndexesToDataMembers: False
//AddGeneratedCodeAttributes: False
//AddResponseStatus: False
//AddImplicitVersion: 
//InitializeCollections: False
//ExportValueTypes: False
IncludeTypes: RemoveFavoriteTechStack.*
//ExcludeTypes: 
//AddNamespaces: 
//AddDefaultXmlNamespace: http://schemas.servicestack.net/types
*/

using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using TechStacks.ServiceModel.Types;
using TechStacks.ServiceModel;

namespace TechStacks.ServiceModel
{
    public partial class FavoriteTechStackResponse
    {
        public virtual TechnologyStack Result { get; set; }
    }

    [Route("/favorites/techtacks/{TechnologyStackId}", "DELETE")]
    public partial class RemoveFavoriteTechStack
        : IReturn<FavoriteTechStackResponse>, IDelete
    {
        public virtual int TechnologyStackId { get; set; }
    }

}

namespace TechStacks.ServiceModel.Types
{
    public partial class TechnologyStack
        : TechnologyStackBase
    {
    }

    public partial class TechnologyStackBase
    {
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string Description { get; set; }
        public virtual string AppUrl { get; set; }
        public virtual string ScreenshotUrl { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        [StringLength(int.MaxValue)]
        public virtual string Details { get; set; }

        [StringLength(int.MaxValue)]
        public virtual string DetailsHtml { get; set; }

        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

}