Archived
Private
Public Access
1
0

Initial commit

This commit is contained in:
2022-09-04 12:45:01 +02:00
commit f4a01d6a69
11601 changed files with 4206660 additions and 0 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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";
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}