using System; | |
/* | |
* Licensed to the Apache Software Foundation (ASF) under one | |
* or more contributor license agreements. See the NOTICE file | |
* distributed with this work for additional information | |
* regarding copyright ownership. The ASF licenses this file | |
* to you under the Apache License, Version 2.0 (the | |
* "License"); you may not use this file except in compliance | |
* with the License. You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, | |
* software distributed under the License is distributed on an | |
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |
* KIND, either express or implied. See the License for the | |
* specific language governing permissions and limitations | |
* under the License. | |
*/ | |
using System.Collections.Generic; | |
using System.IO; | |
using DotCMIS.Data.Extensions; | |
using DotCMIS.Enums; | |
namespace DotCMIS.Data | |
{ | |
public interface IRepositoryInfo : IExtensionsData | |
{ | |
string Id { get; } | |
string Name { get; } | |
string Description { get; } | |
string VendorName { get; } | |
string ProductName { get; } | |
string ProductVersion { get; } | |
string RootFolderId { get; } | |
IRepositoryCapabilities Capabilities { get; } | |
IAclCapabilities AclCapabilities { get; } | |
string LatestChangeLogToken { get; } | |
string CmisVersionSupported { get; } | |
string ThinClientUri { get; } | |
bool? ChangesIncomplete { get; } | |
IList<BaseTypeId?> ChangesOnType { get; } | |
string PrincipalIdAnonymous { get; } | |
string PrincipalIdAnyone { get; } | |
} | |
public interface IRepositoryCapabilities : IExtensionsData | |
{ | |
CapabilityContentStreamUpdates? ContentStreamUpdatesCapability { get; } | |
CapabilityChanges? ChangesCapability { get; } | |
CapabilityRenditions? RenditionsCapability { get; } | |
bool? IsGetDescendantsSupported { get; } | |
bool? IsGetFolderTreeSupported { get; } | |
bool? IsMultifilingSupported { get; } | |
bool? IsUnfilingSupported { get; } | |
bool? IsVersionSpecificFilingSupported { get; } | |
bool? IsPwcSearchableSupported { get; } | |
bool? IsPwcUpdatableSupported { get; } | |
bool? IsAllVersionsSearchableSupported { get; } | |
CapabilityQuery? QueryCapability { get; } | |
CapabilityJoin? JoinCapability { get; } | |
CapabilityAcl? AclCapability { get; } | |
} | |
public interface IAclCapabilities : IExtensionsData | |
{ | |
SupportedPermissions? SupportedPermissions { get; } | |
AclPropagation? AclPropagation { get; } | |
IList<IPermissionDefinition> Permissions { get; } | |
IDictionary<string, IPermissionMapping> PermissionMapping { get; } | |
} | |
public interface IPermissionDefinition : IExtensionsData | |
{ | |
string Id { get; } | |
string Description { get; } | |
} | |
public interface IPermissionMapping : IExtensionsData | |
{ | |
string Key { get; } | |
IList<string> Permissions { get; } | |
} | |
public interface ITypeDefinition : IExtensionsData | |
{ | |
string Id { get; } | |
string LocalName { get; } | |
string LocalNamespace { get; } | |
string DisplayName { get; } | |
string QueryName { get; } | |
string Description { get; } | |
BaseTypeId BaseTypeId { get; } | |
string ParentTypeId { get; } | |
bool? IsCreatable { get; } | |
bool? IsFileable { get; } | |
bool? IsQueryable { get; } | |
bool? IsFulltextIndexed { get; } | |
bool? IsIncludedInSupertypeQuery { get; } | |
bool? IsControllablePolicy { get; } | |
bool? IsControllableAcl { get; } | |
IPropertyDefinition this[string propertyId] { get; } | |
IList<IPropertyDefinition> PropertyDefinitions { get; } | |
} | |
public interface IDocumentTypeDefinition : ITypeDefinition | |
{ | |
bool? IsVersionable { get; } | |
ContentStreamAllowed? ContentStreamAllowed { get; } | |
} | |
public interface IFolderTypeDefinition : ITypeDefinition | |
{ | |
} | |
public interface IPolicyTypeDefinition : ITypeDefinition | |
{ | |
} | |
public interface IRelationshipTypeDefinition : ITypeDefinition | |
{ | |
IList<string> AllowedSourceTypeIds { get; } | |
IList<string> AllowedTargetTypeIds { get; } | |
} | |
public interface ITypeDefinitionList : IExtensionsData | |
{ | |
IList<ITypeDefinition> List { get; } | |
bool? HasMoreItems { get; } | |
long? NumItems { get; } | |
} | |
public interface ITypeDefinitionContainer : IExtensionsData | |
{ | |
ITypeDefinition TypeDefinition { get; } | |
IList<ITypeDefinitionContainer> Children { get; } | |
} | |
public interface IPropertyDefinition : IExtensionsData | |
{ | |
string Id { get; } | |
string LocalName { get; } | |
string LocalNamespace { get; } | |
string DisplayName { get; } | |
string QueryName { get; } | |
string Description { get; } | |
PropertyType PropertyType { get; } | |
Cardinality Cardinality { get; } | |
Updatability Updatability { get; } | |
bool? IsInherited { get; } | |
bool? IsRequired { get; } | |
bool? IsQueryable { get; } | |
bool? IsOrderable { get; } | |
bool? IsOpenChoice { get; } | |
} | |
public interface IChoice<T> | |
{ | |
string DisplayName { get; } | |
IList<T> Value { get; } | |
IList<IChoice<T>> Choices { get; } | |
} | |
public interface IPropertyBooleanDefinition : IPropertyDefinition | |
{ | |
IList<bool> DefaultValue { get; } | |
IList<IChoice<bool>> Choices { get; } | |
} | |
public interface IPropertyDateTimeDefinition : IPropertyDefinition | |
{ | |
IList<DateTime> DefaultValue { get; } | |
IList<IChoice<DateTime>> Choices { get; } | |
DateTimeResolution? DateTimeResolution { get; } | |
} | |
public interface IPropertyDecimalDefinition : IPropertyDefinition | |
{ | |
IList<decimal> DefaultValue { get; } | |
IList<IChoice<decimal>> Choices { get; } | |
decimal? MinValue { get; } | |
decimal? MaxValue { get; } | |
DecimalPrecision? Precision { get; } | |
} | |
public interface IPropertyHtmlDefinition : IPropertyDefinition | |
{ | |
IList<string> DefaultValue { get; } | |
IList<IChoice<string>> Choices { get; } | |
} | |
public interface IPropertyIdDefinition : IPropertyDefinition | |
{ | |
IList<string> DefaultValue { get; } | |
IList<IChoice<string>> Choices { get; } | |
} | |
public interface IPropertyIntegerDefinition : IPropertyDefinition | |
{ | |
IList<long> DefaultValue { get; } | |
IList<IChoice<long>> Choices { get; } | |
long? MinValue { get; } | |
long? MaxValue { get; } | |
} | |
public interface IPropertyStringDefinition : IPropertyDefinition | |
{ | |
IList<string> DefaultValue { get; } | |
IList<IChoice<string>> Choices { get; } | |
long? MaxLength { get; } | |
} | |
public interface IPropertyUriDefinition : IPropertyDefinition | |
{ | |
IList<string> DefaultValue { get; } | |
IList<IChoice<string>> Choices { get; } | |
} | |
public interface IObjectData : IExtensionsData | |
{ | |
string Id { get; } | |
BaseTypeId? BaseTypeId { get; } | |
IProperties Properties { get; } | |
IAllowableActions AllowableActions { get; } | |
IList<IObjectData> Relationships { get; } | |
IChangeEventInfo ChangeEventInfo { get; } | |
IAcl Acl { get; } | |
bool? IsExactAcl { get; } | |
IPolicyIdList PolicyIds { get; } | |
IList<IRenditionData> Renditions { get; } | |
} | |
public interface IObjectList : IExtensionsData | |
{ | |
IList<IObjectData> Objects { get; } | |
bool? HasMoreItems { get; } | |
long? NumItems { get; } | |
} | |
public interface IObjectInFolderData : IExtensionsData | |
{ | |
IObjectData Object { get; } | |
string PathSegment { get; } | |
} | |
public interface IObjectInFolderList : IExtensionsData | |
{ | |
IList<IObjectInFolderData> Objects { get; } | |
bool? HasMoreItems { get; } | |
long? NumItems { get; } | |
} | |
public interface IObjectInFolderContainer : IExtensionsData | |
{ | |
IObjectInFolderData Object { get; } | |
IList<IObjectInFolderContainer> Children { get; } | |
} | |
public interface IObjectParentData : IExtensionsData | |
{ | |
IObjectData Object { get; } | |
string RelativePathSegment { get; } | |
} | |
public interface IProperties : IExtensionsData | |
{ | |
IPropertyData this[string propertyId] { get; } | |
IList<IPropertyData> PropertyList { get; } | |
} | |
public interface IPropertyData : IExtensionsData | |
{ | |
string Id { get; } | |
string LocalName { get; } | |
string DisplayName { get; } | |
string QueryName { get; } | |
PropertyType PropertyType { get; } | |
IList<object> Values { get; } | |
object FirstValue { get; } | |
} | |
public interface IPrincipal : IExtensionsData | |
{ | |
string Id { get; } | |
} | |
public interface IAce : IExtensionsData | |
{ | |
IPrincipal Principal { get; } | |
string PrincipalId { get; } | |
IList<string> Permissions { get; } | |
bool IsDirect { get; } | |
} | |
public interface IAcl : IExtensionsData | |
{ | |
IList<IAce> Aces { get; } | |
bool? IsExact { get; } | |
} | |
public interface IContentStream : IExtensionsData | |
{ | |
long? Length { get; } | |
string MimeType { get; } | |
string FileName { get; } | |
Stream Stream { get; } | |
} | |
public interface IAllowableActions : IExtensionsData | |
{ | |
HashSet<string> Actions { get; } | |
} | |
public interface IRenditionData : IExtensionsData | |
{ | |
string StreamId { get; } | |
string MimeType { get; } | |
long? Length { get; } | |
string Kind { get; } | |
string Title { get; } | |
long? Height { get; } | |
long? Width { get; } | |
string RenditionDocumentId { get; } | |
} | |
public interface IChangeEventInfo : IExtensionsData | |
{ | |
ChangeType? ChangeType { get; } | |
DateTime? ChangeTime { get; } | |
} | |
public interface IPolicyIdList : IExtensionsData | |
{ | |
IList<string> PolicyIds { get; } | |
} | |
public interface IFailedToDeleteData : IExtensionsData | |
{ | |
IList<string> Ids { get; } | |
} | |
} |