Home
- ASecurityCheck
- ExposedMethod
- ModelDeleteMethod
- ModelIgnoreProperty
- ModelJSFilePath
- ModelListMethod
- ModelLoadAllMethod
- ModelLoadMethod
- ModelRequiredField
- ModelRoute
- ModelSaveMethod
- ModelUpdateMethod
- ReadOnlyModelProperty
- UseFormData
- AddItem
- InsecureAccessException
- NoRouteException
- DuplicateRouteException
- DuplicateLoadMethodException
- DuplicateLoadAllMethodException
- InvalidLoadMethodReturnType
- InvalidLoadMethodArguements
- InvalidLoadAllMethodReturnType
- InvalidLoadAllArguements
- NoLoadMethodException
- ModelValidationException
- ModelIDBlockedException
- NoEmptyConstructorException
- InvalidModelListMethodReturnException
- InvalidModelListParameterCountException
- InvalidModelListParameterTypeException
- InvalidModelListPageParameterTypeException
- InvalidModelListPageTotalPagesNotOutException
- InvalidModelListParameterOutException
- InvalidModelListNotAllPagedException
- DuplicateModelSaveMethodException
- DuplicateModelDeleteMethodException
- DuplicateModelUpdateMethodException
- InvalidModelSaveMethodException
- InvalidModelDeleteMethodException
- InvalidModelUpdateMethodException
- DuplicateMethodSignatureException
- MethodNotMarkedAsSlow
- MethodUsesAddItemNotVoid
- LogLevels
- ILogWriter
- IModel
- ISecureSession
-
RequestHandler
- #ctor(startType,logWriter)
- StartTypes.DisableInvalidModels
- StartTypes.ThrowInvalidExceptions
- Dispose
- HandlesRequest(context)
- ProcessRequest(context,session)
- UnloadAssemblyContext(context)
- UnloadAssemblyContext(contextName)
- AssemblyAdded
- AsssemblyLoadContextAdded(contextName)
- AsssemblyLoadContextAdded(alc)
- StartTypes
Org.Reddragonit.VueJSMVCDotNet.Attributes
An abstract class used to implement Security Check attributes. These can be tagged on both classes and methods and will call HasValidAccess passing the session and other relevant data any time anything inside the assigned class is access or in the case of a method, any time that method is called.
Called to check if the current secure session has access to make the given call
Name | Type | Description |
---|---|---|
session | T:Org.Reddragonit.VueJSMVCDotNet.Interfaces.ISecureSession | The secure Session passed to the Request Handler |
model | T:Org.Reddragonit.VueJSMVCDotNet.Interfaces.IModel | The model in question (can be null if the model is not loaded at this point) |
url | T:System.String | The url that was called for the request |
parameters | T:System.Collections.Hashtable | Any parameters supplied with the request |
Org.Reddragonit.VueJSMVCDotNet.Attributes
This attribute is used to expose a method to a javascript based called for a model. A static call will be attached to the Model object, whereas a non-static call will be attached to an instance of the model and is used to perform operations on the model.Allow null response is used to indicate that the function can respond with null, otherwise null response is treated as an error.
Tag a method as being exposed to allow for it to be called from the javascript side as either and instance method (non-static) or a non-instance method (static).
Name | Type | Description |
---|---|---|
allowNullResponse | T:System.Boolean | Set to true if a response can be null, if not, an exception will be thrown if null is returned |
isSlow | T:System.Boolean | Set true to tag the method as a slow method. This means that this method will take a long enough time |
that the potential for the connection to timeout exists, so additional code calls will be made to handle
running the method in the background. |
| arrayElementType | T:System.Type | Set to the type of element that is going to be supplied in a slow response array. |
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to mark the Delete Method for a model which requires no parameters and to return bool on success or failure
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to Ignore a property for model generation.
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to specify the js path that the javascript code for this model will be written to
Constructor for tagging the ModelJSPath
Name | Type | Description |
---|---|---|
path | T:System.String | The url path to identify what url to provide the javascript definition of this model to. |
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to create custom collection list of a method. Created through calling the function
by its name in the code.The return is a List or Type[] where Type is the IModel class.
When using paging, you must add the paramters int startIndex, int pageSize, out int totalPages
Constructor to tag a model listing method
Name | Type | Description |
---|---|---|
path | T:System.String | The url to assign to the list method |
paged | T:System.Boolean | Indicates wheter or not the list is paged |
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to tag the Load All Models method
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to tag the Load Method for a given model
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to indicate that the property is not allowed to be null. Which is used in the validate function.
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to specify the route(path) to use for accessing the model
Define the base route for the model that all rest paths will be built off of.
Name | Type | Description |
---|---|---|
path | T:System.String | The base path for the model's rest calls |
host | T:System.String | (Optional) specify a host that is used, in the case of using more than one host. |
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to mark the model save method which returns a bool
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to indicate the Update method for the model called to update its items, return bool.
Org.Reddragonit.VueJSMVCDotNet.Attributes
Used to specify an uneditable readonly property for a given model
Org.Reddragonit.VueJSMVCDotNet.Attributes
This attribute is used to expose to flag a method call to use formdata for posting the data back to the server instead of JSON encoding which is used by default. This is done in situations where JSON encoding the values might be a problem.
Org.Reddragonit.VueJSMVCDotNet
This delegate is used as a variable in an exposed method, this allows it to supply an array result in chunks of single entries at a time for methods that take a long time to generate their reponse.
Name | Type | Description |
---|---|---|
item | ---- | The item to add to the output array |
isLast | ---- | set true for when the last item has been added |
Org.Reddragonit.VueJSMVCDotNet
Thrown when a call made fails the security check
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when no routes to a given model were specified by attributes
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when more than one model is mapped to the same route
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when more than one Load method exists in a given model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when more than one Load all method exists in a given model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the return type of a load method is not of the model or of the models inheritance
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the paremeters of a load method are not valid (ie either string, or ISecureSession and a string
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the return type of a load all method is not an array or List<> of the model type
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the return type of a load all method is not either parameterless or only contains one parameter and thats ISecureSession
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when no Load method is specified
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
special exception designed to house all found validation exceptions
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
All the exceptions found when validating the model definitions
Org.Reddragonit.VueJSMVCDotNet
thrown when the id property of the model is tagged as block
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when no empty constructor is specifed but adding the model has not been blocked
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the return type for the ModelListMethod function is not valid
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the path specified does not contain the proper number of method parameters
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the parameter of a ModelListMethod is not a usable parameter
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when a parameter used for paging a model list is not a valid type of parameter
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the parameter to indicate the total pages in a paged model list is not an out parameter
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the parameter of a ModelListMethod is an out parameter and it is not a paged call
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when multiple ModelListMethod are delcared and 1 or more but not all are declared as paged
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the ModelSaveMethod Attribute is specified more than once in the Model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the ModelDeleteMethod Attribute is specified more than once in the Model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the ModelUpdateMethod Attribute is specified more than once in the Model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the ModelSaveMethod Attribute is specified more than once in the Model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the ModelDeleteMethod Attribute is specified more than once in the Model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when the ModelUpdateMethod Attribute is specified more than once in the Model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when an ExposedMethod will have the same javascript signature as another for a model
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when an ExposedMethod uses the AddItem delegate but is not marked as slow
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet
thrown when an ExposedMethod uses the AddItem delegate but has a return value
Used to serialize the excepion when necessary
Name | Type | Description |
---|---|---|
info | T:System.Runtime.Serialization.SerializationInfo | |
context | T:System.Runtime.Serialization.StreamingContext |
Org.Reddragonit.VueJSMVCDotNet.Interfaces
Used for specifying the level of the log message coming through
Lowest level, will display lots of detail and all other levels are reported
Mid-admount of details, only critical will be reported as well
Only log errors
Org.Reddragonit.VueJSMVCDotNet.Interfaces
Implement this interface to allow interception of the Logging calls from the code.
Returns the logging level handled by this log writer
The method called to write a log message
Name | Type | Description |
---|---|---|
timestamp | T:System.DateTime | The timestamp for when the message occured |
level | T:Org.Reddragonit.VueJSMVCDotNet.Interfaces.LogLevels | The level of the message |
message | T:System.String | The message |
Org.Reddragonit.VueJSMVCDotNet.Interfaces
The core interface for the whole system, that being a model. Implements basic functions and the id property.Those are all the required minimums for a Model, as well as using this interface it allows all models to be loaded by finding classes that implement this interface.
The unique id for this model instance that all model based rest calls will use
Org.Reddragonit.VueJSMVCDotNet.Interfaces
Used to pass around a user session within the handler and sub handler components.
Typically needed for security reasons, hnnce being names SecureSession
Org.Reddragonit.VueJSMVCDotNet
This is the primary component for handling all requests within this library, and is therefore required to be created and passed web request appropriately
Create an isntance of the Request Handler, specifying what to do on the start up and attaching a log writer if desired
Name | Type | Description |
---|---|---|
startType | T:Org.Reddragonit.VueJSMVCDotNet.RequestHandler.StartTypes | The type of startup to use (either disable models or throw exception) |
logWriter | T:Org.Reddragonit.VueJSMVCDotNet.Interfaces.ILogWriter | A log writer instance to write the log messages to |
Disable any models that were found to be invalid
Throw a contained exception that will list all the errors and the models associated with them.
Disposes of the request handler and cleans up the resources there in
Called to check if this class handles the given request
Name | Type | Description |
---|---|---|
context | T:Microsoft.AspNetCore.Http.HttpContext | The context of the request |
Called to handle a given request
Name | Type | Description |
---|---|---|
context | T:Microsoft.AspNetCore.Http.HttpContext | The context of the request |
session | T:Org.Reddragonit.VueJSMVCDotNet.Interfaces.ISecureSession | The security session associated with the request |
called when an assemblyloadcontext needs to be unloaded, this will remove all references to that load context to allow for an unload
Name | Type | Description |
---|---|---|
context | T:System.Runtime.Loader.AssemblyLoadContext | The assembly context being unloaded |
called when an assembly context needs to be unloaded without providing the context but its name instead
Name | Type | Description |
---|---|---|
contextName | T:System.String | The name of the assembly load context to unload |
called when a new assembly has been loaded in the case of dynamic loading, in order to rescan for all new model types and add them accordingly.
Called when a new Assembly Load Context has been added
Name | Type | Description |
---|---|---|
contextName | T:System.String | The name of the context that was added |
Called when a new Assembly Load Context has been added
Name | Type | Description |
---|---|---|
alc | T:System.Runtime.Loader.AssemblyLoadContext | The assembly load context that was added |
Org.Reddragonit.VueJSMVCDotNet.RequestHandler
how to startup the system as per their names, either disable invalid models or throw and exception about them
Disable any models that were found to be invalid
Throw a contained exception that will list all the errors and the models associated with them.