Initial commit
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using WebDesktopBackend.Entitys.Files;
|
||||
using WebDesktopBackend.LogicResults;
|
||||
using FileShare = WebDesktopBackend.Entitys.Files.FileShare;
|
||||
|
||||
namespace WebDesktopBackend.Contract.Logic {
|
||||
public interface IFileLogic {
|
||||
ILogicResult CreateDirectory(string directory, string name);
|
||||
Task<ILogicResult> UploadFile(IFormCollection data);
|
||||
Task<ILogicResult> UploadJson(string directory, string name, string content);
|
||||
ILogicResult<FileStream> DownloadFile(string directory, string file);
|
||||
Task<ILogicResult<string>> DownloadJson(string file);
|
||||
ILogicResult<DirectoryContent> GetDirectory(string directory);
|
||||
ILogicResult<DirectoryInformation> GetDirectoryInformation(string directory);
|
||||
ILogicResult<FileInformation> GetFileInformation(string directory, string file);
|
||||
ILogicResult MoveDirectory(string directory, string name, string to);
|
||||
ILogicResult MoveFile(string directory, string file, string to);
|
||||
ILogicResult Delete(string url);
|
||||
ILogicResult<FileShare> Share(string url);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using WebDesktopBackend.Entitys.Tokens;
|
||||
using WebDesktopBackend.Entitys.User;
|
||||
using WebDesktopBackend.LogicResults;
|
||||
|
||||
namespace WebDesktopBackend.Contract.Logic {
|
||||
public interface IUserLogic {
|
||||
ILogicResult<Tokens> Login(UserLogin login);
|
||||
ILogicResult<Tokens> Register(UserEditor editor);
|
||||
ILogicResult Logout();
|
||||
ILogicResult EditUser(string id, UserEditor editor);
|
||||
ILogicResult DeleteUser(string id);
|
||||
ILogicResult<User> GetUser(string id);
|
||||
ILogicResult<User[]> GetUsers();
|
||||
ILogicResult Valdiate();
|
||||
ILogicResult<AccessTokenResponse> GetToken(string refreshTokenId);
|
||||
ILogicResult<User> GetOwnUser();
|
||||
ILogicResult<string[]> GetPermissions(string id);
|
||||
ILogicResult<string[]> GetRawPermissions(string id);
|
||||
ILogicResult AddPermission(string id, string permission);
|
||||
ILogicResult DeletePermission(string id, string permission);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace WebDesktopBackend.Contract {
|
||||
public class Permissions {
|
||||
// --- USERS ---
|
||||
public const string ShowUsers = "users.show";
|
||||
public const string EditUsers = "users.edit";
|
||||
public const string DeleteUsers = "users.delete";
|
||||
public const string EditUserPermissions = "users.permissions";
|
||||
|
||||
// --- PROGRAMS ---
|
||||
public const string UseAdminProgram = "app.admin.use";
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using WebDesktopBackend.Entitys.Files;
|
||||
|
||||
namespace WebDesktopBackend.Contract.Persistance {
|
||||
public interface IFileRepository {
|
||||
void InitUser(string userId);
|
||||
void DeleteUserFolder(string userId);
|
||||
bool CreateDirectory(string directory, string name);
|
||||
Task UploadFile(IFormFile file, string directory);
|
||||
Task UploadJson(string directory, string name, string data);
|
||||
FileStream DownloadFile(string path);
|
||||
Task<string> DownloadJson(string file);
|
||||
DirectoryContent GetDirectory(string directory);
|
||||
DirectoryInformation GetDirectoryInformation(string directory);
|
||||
FileInformation GetFileInformation(string file);
|
||||
void MoveDirectory(string directory, string to);
|
||||
void MoveFile(string file, string to);
|
||||
void Delete(string url);
|
||||
string GenerateShareId(string url, string owner);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using WebDesktopBackend.Entitys.Permissions;
|
||||
|
||||
namespace WebDesktopBackend.Contract.Persistance {
|
||||
public interface IGroupRepository {
|
||||
PermissionGroup GetPermissionGroup(string name);
|
||||
PermissionGroup[] GetGroupsFromUser(string userId);
|
||||
PermissionGroup[] ExtractGroups(Permission[] permissions);
|
||||
Permission[] GetUserPermissions(string id);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
using WebDesktopBackend.Entitys.Permissions;
|
||||
using WebDesktopBackend.Entitys.Tokens;
|
||||
|
||||
namespace WebDesktopBackend.Contract.Persistance {
|
||||
public interface ITokenRepository {
|
||||
RefreshToken GetRefreshToken(string id);
|
||||
AccessToken GetAccessToken(string id);
|
||||
bool ValidateAccessToken(string id);
|
||||
bool ValidateRefreshToken(string id);
|
||||
RefreshToken CreateRefreshToken(string userId);
|
||||
AccessToken CreateAccessToken(string refreshTokenId);
|
||||
void DeleteUserTokens(string id);
|
||||
void DeleteRefreshToken(string id);
|
||||
Permission[] GetUserPermissions(string id);
|
||||
void AddPermission(string id, string permission);
|
||||
void DeletePermission(string id, string permission);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using WebDesktopBackend.Entitys.User;
|
||||
|
||||
namespace WebDesktopBackend.Contract.Persistance {
|
||||
public interface IUserRepository {
|
||||
User AddUser(UserEditor editor);
|
||||
void EditUser(string id, UserEditor editor);
|
||||
void DeleteUser(string id);
|
||||
User GetUser(string id);
|
||||
User GetUserByUsername(string username);
|
||||
User GetUserByEmail(string email);
|
||||
User GetUserFromLogin(UserLogin login);
|
||||
User[] GetUsers();
|
||||
bool Login(UserLogin login);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user