update: updating files with ported code
This commit is contained in:
parent
b0fcee9aac
commit
b09546501f
20 changed files with 601 additions and 0 deletions
|
@ -0,0 +1,49 @@
|
|||
import 'dart:async';
|
||||
|
||||
// TODO: Replace custom classes with dart equivalents.
|
||||
|
||||
abstract class ExceptionHandler {
|
||||
/// Report or log an exception.
|
||||
///
|
||||
/// @param Throwable e
|
||||
/// @return void
|
||||
///
|
||||
/// @throws Throwable
|
||||
Future<void> report(Exception e);
|
||||
|
||||
/// Determine if the exception should be reported.
|
||||
///
|
||||
/// @param Throwable e
|
||||
/// @return bool
|
||||
bool shouldReport(Exception e);
|
||||
|
||||
/// Render an exception into an HTTP response.
|
||||
///
|
||||
/// @param Request request
|
||||
/// @param Throwable e
|
||||
/// @return Response
|
||||
///
|
||||
/// @throws Throwable
|
||||
Future<Response> render(Request request, Exception e);
|
||||
|
||||
/// Render an exception to the console.
|
||||
///
|
||||
/// @param OutputInterface output
|
||||
/// @param Throwable e
|
||||
/// @return void
|
||||
///
|
||||
/// @internal This method is not meant to be used or overwritten outside the framework.
|
||||
void renderForConsole(OutputInterface output, Exception e);
|
||||
}
|
||||
|
||||
class Request {
|
||||
// Add your request properties and methods here.
|
||||
}
|
||||
|
||||
class Response {
|
||||
// Add your response properties and methods here.
|
||||
}
|
||||
|
||||
class OutputInterface {
|
||||
// Add your output interface properties and methods here.
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
import 'dart:core';
|
||||
|
||||
class DecryptException implements Exception {
|
||||
final String message;
|
||||
|
||||
DecryptException([this.message = '']);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return message.isEmpty ? 'DecryptException' : 'DecryptException: $message';
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
class EncryptException implements Exception {
|
||||
final String message;
|
||||
|
||||
EncryptException([this.message = '']);
|
||||
|
||||
@override
|
||||
String toString() => 'EncryptException: $message';
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
import 'dart:async';
|
||||
|
||||
abstract class Encrypter {
|
||||
/// Encrypt the given value.
|
||||
///
|
||||
/// [value]: The value to be encrypted.
|
||||
/// [serialize]: Whether to serialize the value before encryption.
|
||||
/// Returns a string representing the encrypted value.
|
||||
/// Throws an EncryptException if encryption fails.
|
||||
Future<String> encrypt(dynamic value, {bool serialize = true});
|
||||
|
||||
/// Decrypt the given value.
|
||||
///
|
||||
/// [payload]: The encrypted payload to be decrypted.
|
||||
/// [unserialize]: Whether to unserialize the value after decryption.
|
||||
/// Returns the decrypted value.
|
||||
/// Throws a DecryptException if decryption fails.
|
||||
Future<dynamic> decrypt(String payload, {bool unserialize = true});
|
||||
|
||||
/// Get the encryption key that the encrypter is currently using.
|
||||
///
|
||||
/// Returns the current encryption key as a string.
|
||||
String getKey();
|
||||
|
||||
/// Get the current encryption key and all previous encryption keys.
|
||||
///
|
||||
/// Returns a list of all encryption keys.
|
||||
List<String> getAllKeys();
|
||||
|
||||
/// Get the previous encryption keys.
|
||||
///
|
||||
/// Returns a list of previous encryption keys.
|
||||
List<String> getPreviousKeys();
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
|
||||
abstract class StringEncrypter {
|
||||
/// Encrypt a string without serialization.
|
||||
///
|
||||
/// @param String value
|
||||
/// @return String
|
||||
///
|
||||
/// @throws EncryptException
|
||||
String encryptString(String value);
|
||||
|
||||
/// Decrypt the given string without unserialization.
|
||||
///
|
||||
/// @param String payload
|
||||
/// @return String
|
||||
///
|
||||
/// @throws DecryptException
|
||||
String decryptString(String payload);
|
||||
}
|
|
@ -0,0 +1,59 @@
|
|||
abstract class Dispatcher {
|
||||
/// Register an event listener with the dispatcher.
|
||||
///
|
||||
/// @param Closure|string|array events
|
||||
/// @param Closure|string|array|null listener
|
||||
/// @return void
|
||||
void listen(dynamic events, [dynamic listener]);
|
||||
|
||||
/// Determine if a given event has listeners.
|
||||
///
|
||||
/// @param string eventName
|
||||
/// @return bool
|
||||
bool hasListeners(String eventName);
|
||||
|
||||
/// Register an event subscriber with the dispatcher.
|
||||
///
|
||||
/// @param object|string subscriber
|
||||
/// @return void
|
||||
void subscribe(dynamic subscriber);
|
||||
|
||||
/// Dispatch an event until the first non-null response is returned.
|
||||
///
|
||||
/// @param string|object event
|
||||
/// @param mixed payload
|
||||
/// @return mixed
|
||||
dynamic until(dynamic event, [dynamic payload]);
|
||||
|
||||
/// Dispatch an event and call the listeners.
|
||||
///
|
||||
/// @param string|object event
|
||||
/// @param mixed payload
|
||||
/// @param bool halt
|
||||
/// @return List<dynamic>|null
|
||||
List<dynamic>? dispatch(dynamic event, [dynamic payload, bool halt = false]);
|
||||
|
||||
/// Register an event and payload to be fired later.
|
||||
///
|
||||
/// @param string event
|
||||
/// @param array payload
|
||||
/// @return void
|
||||
void push(String event, [List<dynamic>? payload]);
|
||||
|
||||
/// Flush a set of pushed events.
|
||||
///
|
||||
/// @param string event
|
||||
/// @return void
|
||||
void flush(String event);
|
||||
|
||||
/// Remove a set of listeners from the dispatcher.
|
||||
///
|
||||
/// @param string event
|
||||
/// @return void
|
||||
void forget(String event);
|
||||
|
||||
/// Forget all of the queued listeners.
|
||||
///
|
||||
/// @return void
|
||||
void forgetPushed();
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
abstract class ShouldDispatchAfterCommit {
|
||||
// Interface with no methods
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
abstract class ShouldHandleEventsAfterCommit {
|
||||
// Add any method signatures if needed in the future
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
import 'filesystem.dart';
|
||||
abstract class Cloud implements Filesystem {
|
||||
/// Get the URL for the file at the given path.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return String
|
||||
String url(String path);
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
import 'filesystem.dart';
|
||||
|
||||
abstract class Factory {
|
||||
/// Get a filesystem implementation.
|
||||
///
|
||||
/// @param String? name
|
||||
/// @return Filesystem
|
||||
Filesystem disk([String? name]);
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
class FileNotFoundException implements Exception {
|
||||
final String message;
|
||||
|
||||
FileNotFoundException([this.message = 'File not found']);
|
||||
|
||||
@override
|
||||
String toString() => 'FileNotFoundException: $message';
|
||||
}
|
|
@ -0,0 +1,164 @@
|
|||
import 'dart:typed_data';
|
||||
import 'dart:io';
|
||||
|
||||
abstract class Filesystem {
|
||||
/// The public visibility setting.
|
||||
static const String VISIBILITY_PUBLIC = 'public';
|
||||
|
||||
/// The private visibility setting.
|
||||
static const String VISIBILITY_PRIVATE = 'private';
|
||||
|
||||
/// Get the full path to the file that exists at the given relative path.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return String
|
||||
String path(String path);
|
||||
|
||||
/// Determine if a file exists.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return bool
|
||||
bool exists(String path);
|
||||
|
||||
/// Get the contents of a file.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return Uint8List? (null if file doesn't exist)
|
||||
Uint8List? get(String path);
|
||||
|
||||
/// Get a resource to read the file.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return Stream<List<int>>? (null if file doesn't exist)
|
||||
Stream<List<int>>? readStream(String path);
|
||||
|
||||
/// Write the contents of a file.
|
||||
///
|
||||
/// @param String path
|
||||
/// @param dynamic contents
|
||||
/// @param Map<String, dynamic>? options
|
||||
/// @return bool
|
||||
bool put(String path, dynamic contents, [Map<String, dynamic>? options]);
|
||||
|
||||
/// Store the uploaded file on the disk.
|
||||
///
|
||||
/// @param String path
|
||||
/// @param dynamic file
|
||||
/// @param Map<String, dynamic>? options
|
||||
/// @return String|false
|
||||
dynamic putFile(String path, dynamic file, [Map<String, dynamic>? options]);
|
||||
|
||||
/// Store the uploaded file on the disk with a given name.
|
||||
///
|
||||
/// @param String path
|
||||
/// @param dynamic file
|
||||
/// @param String? name
|
||||
/// @param Map<String, dynamic>? options
|
||||
/// @return String|false
|
||||
dynamic putFileAs(String path, dynamic file, [String? name, Map<String, dynamic>? options]);
|
||||
|
||||
/// Write a new file using a stream.
|
||||
///
|
||||
/// @param String path
|
||||
/// @param Stream<List<int>> resource
|
||||
/// @param Map<String, dynamic>? options
|
||||
/// @return bool
|
||||
bool writeStream(String path, Stream<List<int>> resource, [Map<String, dynamic>? options]);
|
||||
|
||||
/// Get the visibility for the given path.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return String
|
||||
String getVisibility(String path);
|
||||
|
||||
/// Set the visibility for the given path.
|
||||
///
|
||||
/// @param String path
|
||||
/// @param String visibility
|
||||
/// @return bool
|
||||
bool setVisibility(String path, String visibility);
|
||||
|
||||
/// Prepend to a file.
|
||||
///
|
||||
/// @param String path
|
||||
/// @param String data
|
||||
/// @return bool
|
||||
bool prepend(String path, String data);
|
||||
|
||||
/// Append to a file.
|
||||
///
|
||||
/// @param String path
|
||||
/// @param String data
|
||||
/// @return bool
|
||||
bool append(String path, String data);
|
||||
|
||||
/// Delete the file at a given path.
|
||||
///
|
||||
/// @param dynamic paths
|
||||
/// @return bool
|
||||
bool delete(dynamic paths);
|
||||
|
||||
/// Copy a file to a new location.
|
||||
///
|
||||
/// @param String from
|
||||
/// @param String to
|
||||
/// @return bool
|
||||
bool copy(String from, String to);
|
||||
|
||||
/// Move a file to a new location.
|
||||
///
|
||||
/// @param String from
|
||||
/// @param String to
|
||||
/// @return bool
|
||||
bool move(String from, String to);
|
||||
|
||||
/// Get the file size of a given file.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return int
|
||||
int size(String path);
|
||||
|
||||
/// Get the file's last modification time.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return DateTime
|
||||
DateTime lastModified(String path);
|
||||
|
||||
/// Get an array of all files in a directory.
|
||||
///
|
||||
/// @param String? directory
|
||||
/// @param bool recursive
|
||||
/// @return List<String>
|
||||
List<String> files([String? directory, bool recursive = false]);
|
||||
|
||||
/// Get all of the files from the given directory (recursive).
|
||||
///
|
||||
/// @param String? directory
|
||||
/// @return List<String>
|
||||
List<String> allFiles([String? directory]);
|
||||
|
||||
/// Get all of the directories within a given directory.
|
||||
///
|
||||
/// @param String? directory
|
||||
/// @param bool recursive
|
||||
/// @return List<String>
|
||||
List<String> directories([String? directory, bool recursive = false]);
|
||||
|
||||
/// Get all (recursive) of the directories within a given directory.
|
||||
///
|
||||
/// @param String? directory
|
||||
/// @return List<String>
|
||||
List<String> allDirectories([String? directory]);
|
||||
|
||||
/// Create a directory.
|
||||
///
|
||||
/// @param String path
|
||||
/// @return bool
|
||||
bool makeDirectory(String path);
|
||||
|
||||
/// Recursively delete a directory.
|
||||
///
|
||||
/// @param String directory
|
||||
/// @return bool
|
||||
bool deleteDirectory(String directory);
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
import 'dart:io';
|
||||
|
||||
class LockTimeoutException implements IOException {
|
||||
final String message;
|
||||
|
||||
LockTimeoutException([this.message = '']);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'LockTimeoutException: $message';
|
||||
}
|
||||
}
|
|
@ -0,0 +1,102 @@
|
|||
import 'container.dart'; // Assuming Container is defined in container.dart
|
||||
import 'maintenance_mode.dart'; // Assuming MaintenanceMode is defined in maintenance_mode.dart
|
||||
|
||||
// TODO: Replace missing imports with dar equivalents.
|
||||
|
||||
abstract class Application extends Container {
|
||||
/// Get the version number of the application.
|
||||
String version();
|
||||
|
||||
/// Get the base path of the installation.
|
||||
String basePath([String path = '']);
|
||||
|
||||
/// Get the path to the bootstrap directory.
|
||||
String bootstrapPath([String path = '']);
|
||||
|
||||
/// Get the path to the application configuration files.
|
||||
String configPath([String path = '']);
|
||||
|
||||
/// Get the path to the database directory.
|
||||
String databasePath([String path = '']);
|
||||
|
||||
/// Get the path to the language files.
|
||||
String langPath([String path = '']);
|
||||
|
||||
/// Get the path to the public directory.
|
||||
String publicPath([String path = '']);
|
||||
|
||||
/// Get the path to the resources directory.
|
||||
String resourcePath([String path = '']);
|
||||
|
||||
/// Get the path to the storage directory.
|
||||
String storagePath([String path = '']);
|
||||
|
||||
/// Get or check the current application environment.
|
||||
dynamic environment(List<String> environments);
|
||||
|
||||
/// Determine if the application is running in the console.
|
||||
bool runningInConsole();
|
||||
|
||||
/// Determine if the application is running unit tests.
|
||||
bool runningUnitTests();
|
||||
|
||||
/// Determine if the application is running with debug mode enabled.
|
||||
bool hasDebugModeEnabled();
|
||||
|
||||
/// Get an instance of the maintenance mode manager implementation.
|
||||
MaintenanceMode maintenanceMode();
|
||||
|
||||
/// Determine if the application is currently down for maintenance.
|
||||
bool isDownForMaintenance();
|
||||
|
||||
/// Register all of the configured providers.
|
||||
void registerConfiguredProviders();
|
||||
|
||||
/// Register a service provider with the application.
|
||||
ServiceProvider register(dynamic provider, [bool force = false]);
|
||||
|
||||
/// Register a deferred provider and service.
|
||||
void registerDeferredProvider(String provider, [String? service]);
|
||||
|
||||
/// Resolve a service provider instance from the class name.
|
||||
ServiceProvider resolveProvider(String provider);
|
||||
|
||||
/// Boot the application's service providers.
|
||||
void boot();
|
||||
|
||||
/// Register a new boot listener.
|
||||
void booting(Function callback);
|
||||
|
||||
/// Register a new "booted" listener.
|
||||
void booted(Function callback);
|
||||
|
||||
/// Run the given array of bootstrap classes.
|
||||
void bootstrapWith(List<String> bootstrappers);
|
||||
|
||||
/// Get the current application locale.
|
||||
String getLocale();
|
||||
|
||||
/// Get the application namespace.
|
||||
String getNamespace();
|
||||
|
||||
/// Get the registered service provider instances if any exist.
|
||||
List<ServiceProvider> getProviders(dynamic provider);
|
||||
|
||||
/// Determine if the application has been bootstrapped before.
|
||||
bool hasBeenBootstrapped();
|
||||
|
||||
/// Load and boot all of the remaining deferred providers.
|
||||
void loadDeferredProviders();
|
||||
|
||||
/// Set the current application locale.
|
||||
void setLocale(String locale);
|
||||
|
||||
/// Determine if middleware has been disabled for the application.
|
||||
bool shouldSkipMiddleware();
|
||||
|
||||
/// Register a terminating callback with the application.
|
||||
Application terminating(dynamic callback);
|
||||
|
||||
/// Terminate the application.
|
||||
void terminate();
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
|
||||
abstract class CachesConfiguration {
|
||||
/// Determine if the application configuration is cached.
|
||||
///
|
||||
/// Returns a boolean indicating if the configuration is cached.
|
||||
bool configurationIsCached();
|
||||
|
||||
/// Get the path to the configuration cache file.
|
||||
///
|
||||
/// Returns a string representing the path to the configuration cache file.
|
||||
String getCachedConfigPath();
|
||||
|
||||
/// Get the path to the cached services file.
|
||||
///
|
||||
/// Returns a string representing the path to the cached services file.
|
||||
String getCachedServicesPath();
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
abstract class CachesRoutes {
|
||||
/// Determine if the application routes are cached.
|
||||
///
|
||||
/// @return bool
|
||||
bool routesAreCached();
|
||||
|
||||
/// Get the path to the routes cache file.
|
||||
///
|
||||
/// @return string
|
||||
String getCachedRoutesPath();
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
abstract class ExceptionRenderer {
|
||||
/// Renders the given exception as HTML.
|
||||
///
|
||||
/// @param Exception throwable
|
||||
/// @return String
|
||||
String render(Exception throwable);
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
abstract class MaintenanceMode {
|
||||
/// Take the application down for maintenance.
|
||||
///
|
||||
/// [payload] - The payload containing maintenance details.
|
||||
void activate(Map<String, dynamic> payload);
|
||||
|
||||
/// Take the application out of maintenance.
|
||||
void deactivate();
|
||||
|
||||
/// Determine if the application is currently down for maintenance.
|
||||
///
|
||||
/// Returns `true` if the application is in maintenance mode, `false` otherwise.
|
||||
bool active();
|
||||
|
||||
/// Get the data map which was provided when the application was placed into maintenance.
|
||||
///
|
||||
/// Returns a map containing maintenance data.
|
||||
Map<String, dynamic> data();
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
abstract class Hasher {
|
||||
/// Get information about the given hashed value.
|
||||
///
|
||||
/// @param String hashedValue
|
||||
/// @return Map<String, dynamic>
|
||||
Map<String, dynamic> info(String hashedValue);
|
||||
|
||||
/// Hash the given value.
|
||||
///
|
||||
/// @param String value
|
||||
/// @param Map<String, dynamic> options
|
||||
/// @return String
|
||||
String make(String value, {Map<String, dynamic> options = const {}});
|
||||
|
||||
/// Check the given plain value against a hash.
|
||||
///
|
||||
/// @param String value
|
||||
/// @param String hashedValue
|
||||
/// @param Map<String, dynamic> options
|
||||
/// @return bool
|
||||
bool check(String value, String hashedValue, {Map<String, dynamic> options = const {}});
|
||||
|
||||
/// Check if the given hash has been hashed using the given options.
|
||||
///
|
||||
/// @param String hashedValue
|
||||
/// @param Map<String, dynamic> options
|
||||
/// @return bool
|
||||
bool needsRehash(String hashedValue, {Map<String, dynamic> options = const {}});
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
import 'package:symfony_http/symfony_http.dart' as symfony;
|
||||
import 'package:illuminate_foundation/illuminate_foundation.dart';
|
||||
|
||||
// TODO: Find replacements for missing imports.
|
||||
|
||||
abstract class Kernel {
|
||||
/// Bootstrap the application for HTTP requests.
|
||||
void bootstrap();
|
||||
|
||||
/// Handle an incoming HTTP request.
|
||||
///
|
||||
/// @param symfony.Request request
|
||||
/// @return symfony.Response
|
||||
symfony.Response handle(symfony.Request request);
|
||||
|
||||
/// Perform any final actions for the request lifecycle.
|
||||
///
|
||||
/// @param symfony.Request request
|
||||
/// @param symfony.Response response
|
||||
void terminate(symfony.Request request, symfony.Response response);
|
||||
|
||||
/// Get the application instance.
|
||||
///
|
||||
/// @return Application
|
||||
Application getApplication();
|
||||
}
|
Loading…
Reference in a new issue