Initial Commit ...
This commit is contained in:
@@ -0,0 +1,102 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.Extensions.FileProviders;
|
||||
using xCommons.Constants;
|
||||
using xModels.Dtos;
|
||||
using xStorageService.Constants;
|
||||
using xStorageService.Helpers;
|
||||
using xStorageService.Models;
|
||||
|
||||
namespace xStorageService.Interfaces
|
||||
{
|
||||
public partial interface IXStorageProvider {
|
||||
XStorageConfiguration Configuration { get; }
|
||||
XStorageHelper StorageHelper { get; }
|
||||
IFileProvider FileProvider { get; }
|
||||
IXThumbnailProvider ThumbnailProvider { get; }
|
||||
|
||||
//
|
||||
#region Special Folders Path Getter (s) ...
|
||||
string GetStorageFolderPath ();
|
||||
string GetTempFolderPath ();
|
||||
string GetThumbFolderPath ();
|
||||
string GetUploadsFolderPath ();
|
||||
string GetWidgetsFolderPath ();
|
||||
string GetImageFolderPath ();
|
||||
string GetAudioFolderPath ();
|
||||
string GetVideoFolderPath ();
|
||||
string GetDocumentFolderPath ();
|
||||
string FilePathResolver (string fullPath);
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Prepare Storage Structure ...
|
||||
void Prepare ();
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Validators ...
|
||||
bool IsFolderExists (string path);
|
||||
bool IsFileExists (string filePath);
|
||||
bool IsSupportThumb (string fileName);
|
||||
bool IsSupportThumb (XFileType type);
|
||||
void ValidateFileExists (string filePath);
|
||||
void ValidateFileModel (XFileDto file);
|
||||
void ValidateFile (IFormFile file);
|
||||
void ValidateProfileImage (IFormFile file);
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Generators ...
|
||||
string NewFileName ();
|
||||
string GenerateThumbName (string fileName);
|
||||
string GetNewFileName (string fileName);
|
||||
#endregion
|
||||
|
||||
//
|
||||
#region Tools Actions ...
|
||||
|
||||
string GetFileExtension (string fileName);
|
||||
string GetFileNameWithoutExtension (string fileName);
|
||||
FileExtensions GetFileExtensionType (string fileName);
|
||||
XFileType GetFileType (string fileName);
|
||||
XFileType GetFileType (FileExtensions fileExtension);
|
||||
string GetThumbnailFileFullPath (string thumFileName);
|
||||
string GetRelatedThumbnailFullPath (string fileName);
|
||||
string GetFileTypeFolderPath (XFileType type);
|
||||
string GetFileFolderPath (
|
||||
string fileName,
|
||||
bool isTemp = false,
|
||||
bool isWidget = false
|
||||
);
|
||||
string GetFileFullPath (
|
||||
string fileName,
|
||||
bool isTemp = false,
|
||||
bool isWidget = false
|
||||
);
|
||||
Task<string> SaveFileAsync (
|
||||
IFormFile file,
|
||||
bool isTemp = false,
|
||||
bool isWidget = false
|
||||
);
|
||||
void DeleteFile (
|
||||
string fileFullPath,
|
||||
bool forceFileExists = true,
|
||||
Exception exception = null
|
||||
);
|
||||
ICollection<string> DeleteFiles (
|
||||
ICollection<string> fileFullPaths,
|
||||
bool forceFileExists = true,
|
||||
Exception exception = null
|
||||
);
|
||||
// Task CreateThumbnail (XFile file);
|
||||
Task CreateThumbnail (XFileDto file);
|
||||
Task CreateThumbnail (string fileName);
|
||||
Task<XFileResult> HandleProfileImageSave (IFormFile file);
|
||||
Task<XFileResult> HandleFileSave (IFormFile file);
|
||||
Task<IEnumerable<XFileResult>> HandleFilesSave (IFormFileCollection files);
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using xStorageService.Models;
|
||||
|
||||
namespace xStorageService.Interfaces {
|
||||
public partial interface IXThumbnailProvider {
|
||||
void SetTempFolder (string folder);
|
||||
XImageInfo GetImageInfo (string filePath);
|
||||
void ResizeImage (
|
||||
string filePath,
|
||||
string resizedFilePath,
|
||||
int size,
|
||||
int quality
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user