Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.mdns.eu/nextcloud/passwords-client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/ClassLoader/DefaultClassLoader.js')
-rw-r--r--src/ClassLoader/DefaultClassLoader.js181
1 files changed, 181 insertions, 0 deletions
diff --git a/src/ClassLoader/DefaultClassLoader.js b/src/ClassLoader/DefaultClassLoader.js
new file mode 100644
index 0000000..d749664
--- /dev/null
+++ b/src/ClassLoader/DefaultClassLoader.js
@@ -0,0 +1,181 @@
+import PasswordRepository from "../Repositories/PasswordRepository";
+import FolderRepository from "../Repositories/FolderRepository";
+import TagRepository from "../Repositories/TagRepository";
+import SettingRepository from "../Repositories/SettingRepository";
+import PasswordCollection from "../Collection/PasswordCollection";
+import FolderCollection from "../Collection/FolderCollection";
+import CustomFieldCollection from "../Collection/CustomFieldCollection";
+import TagCollection from "../Collection/TagCollection";
+import SettingCollection from "../Collection/SettingCollection";
+import PasswordConverter from "../Converter/PasswordConverter";
+import FolderConverter from "../Converter/FolderConverter";
+import CustomFieldConverter from "../Converter/CustomFieldConverter";
+import TagConverter from "../Converter/TagConverter";
+import SettingConverter from "../Converter/SettingConverter";
+import Password from "../Model/Password/Password";
+import Folder from "../Model/Folder/Folder";
+import Tag from "../Model/Tag/Tag";
+import Server from "../Model/Server/Server";
+import Session from "../Model/Session/Session";
+import DataField from "../Model/CustomField/DataField";
+import EmailField from "../Model/CustomField/EmailField";
+import FileField from "../Model/CustomField/FileField";
+import SecretField from "../Model/CustomField/SecretField";
+import TextField from "../Model/CustomField/TextField";
+import UrlField from "../Model/CustomField/UrlField";
+import Setting from "../Model/Setting/Setting";
+import ApiRequest from "../Network/ApiRequest";
+import ApiResponse from "../Network/ApiResponse";
+import SessionAuthorization from "../Authorization/SessionAuthorization";
+import PWDv1Challenge from "../Authorization/Challenge/PWDv1Challenge";
+import UserToken from "../Authorization/Token/UserToken";
+import RequestToken from "../Authorization/Token/RequestToken";
+import NoEncryption from "../Encryption/NoEncryption";
+import CSEv1Encryption from "../Encryption/CSEv1Encryption";
+import ExportV1Encryption from "../Encryption/ExportV1Encryption";
+import CSEv1Keychain from "../Encryption/Keychain/CSEv1Keychain";
+import Cache from "../Cache/Cache";
+import BooleanState from "../State/BooleanState";
+import EventEmitter from "eventemitter3";
+import ResponseContentTypeError from "../Exception/ResponseContentTypeError";
+import ResponseDecodingError from "../Exception/ResponseDecodingError";
+import UnknownPropertyError from "../Exception/UnknownPropertyError";
+import TokenTypeNotSupported from "../Exception/TokenTypeNotSupported";
+import NetworkError from "../Exception/NetworkError";
+import HttpError from "../Exception/Http/HttpError";
+import BadRequestError from "../Exception/Http/BadRequestError";
+import UnauthorizedError from "../Exception/Http/UnauthorizedError";
+import ForbiddenError from "../Exception/Http/ForbiddenError";
+import NotFoundError from "../Exception/Http/NotFoundError";
+import MethodNotAllowedError from "../Exception/Http/MethodNotAllowedError";
+import TooManyRequestsError from "../Exception/Http/TooManyRequestsError";
+import InternalServerError from "../Exception/Http/InternalServerError";
+import BadGatewayError from "../Exception/Http/BadGatewayError";
+import ServiceUnavailableError from "../Exception/Http/ServiceUnavailableError";
+import GatewayTimeoutError from "../Exception/Http/GatewayTimeoutError";
+import BasicClassLoader from "./BasicClassLoader";
+import ModelService from "../Services/ModelService";
+import PasswordService from "../Services/PasswordService";
+import UnsupportedEncryptionTypeError from "../Exception/Encryption/UnsupportedEncryptionTypeError";
+import InvalidObjectTypeError from "../Exception/Encryption/InvalidObjectTypeError";
+import EncryptionNotEnabledError from "../Exception/Encryption/EncryptionNotEnabledError";
+import ChallengeTypeNotSupported from "../Exception/ChallengeTypeNotSupported";
+import ConfigurationError from "../Exception/ConfigruationError";
+import MissingEncryptionKeyError from "../Exception/Encryption/MissingEncryptionKeyError";
+import InvalidEncryptedTextLength from "../Exception/Encryption/InvalidEncryptedTextLength";
+import HashService from "../Services/HashService";
+import Logger from "../Logger/Logger";
+import DefectField from "../Model/CustomField/DefectField";
+
+export default class DefaultClassLoader extends BasicClassLoader {
+
+ /**
+ *
+ * @return {Object}
+ * @protected
+ */
+ _getDefaultClasses() {
+ return {
+ 'repository.password': () => { return new PasswordRepository(this.getInstance('client')); },
+ 'repository.folder' : () => { return new FolderRepository(this.getInstance('client')); },
+ 'repository.tag' : () => { return new TagRepository(this.getInstance('client')); },
+ 'repository.setting' : () => { return new SettingRepository(this.getInstance('client')); },
+
+ 'collection.password': (...e) => { return new PasswordCollection(this.getInstance('converter.password'), ...e); },
+ 'collection.folder' : (...e) => { return new FolderCollection(this.getInstance('converter.folder'), ...e); },
+ 'collection.field' : (...e) => { return new CustomFieldCollection(this.getInstance('converter.field'), ...e); },
+ 'collection.tag' : (...e) => { return new TagCollection(this.getInstance('converter.tag'), ...e); },
+ 'collection.setting' : (...e) => { return new SettingCollection(this.getInstance('converter.setting'), ...e); },
+
+ 'converter.password': () => { return new PasswordConverter(this.getInstance('client')); },
+ 'converter.folder' : () => { return new FolderConverter(this.getInstance('client')); },
+ 'converter.field' : () => { return new CustomFieldConverter(this.getInstance('client')); },
+ 'converter.tag' : () => { return new TagConverter(this.getInstance('client')); },
+ 'converter.setting' : () => { return new SettingConverter(this.getInstance('client')); },
+
+ 'model.password' : Password,
+ 'model.folder' : Folder,
+ 'model.tag' : Tag,
+ 'model.server' : Server,
+ 'model.session' : Session,
+ 'model.dataField' : DataField,
+ 'model.emailField' : EmailField,
+ 'model.fileField' : FileField,
+ 'model.secretField': SecretField,
+ 'model.textField' : TextField,
+ 'model.urlField' : UrlField,
+ 'model.defectField': DefectField,
+ 'model.setting' : Setting,
+
+ 'network.request' : ApiRequest,
+ 'network.response': ApiResponse,
+
+ 'authorization.session': () => { return new SessionAuthorization(this.getInstance('client')); },
+
+ 'challenge.pwdv1': PWDv1Challenge,
+
+ 'token.user' : UserToken,
+ 'token.request': RequestToken,
+
+ 'encryption.none' : () => { return new NoEncryption(this.getInstance('classes')); },
+ 'encryption.csev1': () => { return new CSEv1Encryption(this.getInstance('classes')); },
+ 'encryption.expv1': () => { return new ExportV1Encryption(this.getInstance('classes')); },
+
+ 'keychain.csev1': (k, p) => { return new CSEv1Keychain(this.getInstance('classes'), k, p); },
+
+ 'service.hash' : () => { return new HashService(this.getInstance('classes')); },
+ 'service.model' : () => { return new ModelService(this.getInstance('classes')); },
+ 'service.password': () => { return new PasswordService(this.getInstance('client')); },
+
+ 'logger': Logger,
+
+ 'cache.cache': Cache,
+
+ 'state.boolean': BooleanState,
+
+ 'event.event': EventEmitter,
+
+ 'exception.response.contenttype' : ResponseContentTypeError,
+ 'exception.response.decoding' : ResponseDecodingError,
+ 'exception.model.property' : UnknownPropertyError,
+ 'exception.auth.challenge' : ChallengeTypeNotSupported,
+ 'exception.auth.token' : TokenTypeNotSupported,
+ 'exception.network' : NetworkError,
+ 'exception.http' : HttpError,
+ 'exception.http.400' : BadRequestError,
+ 'exception.http.401' : UnauthorizedError,
+ 'exception.http.403' : ForbiddenError,
+ 'exception.http.404' : NotFoundError,
+ 'exception.http.405' : MethodNotAllowedError,
+ 'exception.http.429' : TooManyRequestsError,
+ 'exception.http.500' : InternalServerError,
+ 'exception.http.502' : BadGatewayError,
+ 'exception.http.503' : ServiceUnavailableError,
+ 'exception.http.504' : GatewayTimeoutError,
+ 'exception.encryption.unsupported': UnsupportedEncryptionTypeError,
+ 'exception.encryption.object' : InvalidObjectTypeError,
+ 'exception.encryption.enabled' : EncryptionNotEnabledError,
+ 'exception.encryption.key.missing': MissingEncryptionKeyError,
+ 'exception.encryption.text.length': InvalidEncryptedTextLength,
+ 'exception.configuration' : ConfigurationError,
+
+
+ // Old deprecated errors
+ 'exception.contenttype': ResponseContentTypeError,
+ 'exception.decoding' : ResponseDecodingError,
+ 'exception.property' : UnknownPropertyError,
+ 'exception.challenge' : TokenTypeNotSupported,
+ 'exception.token' : TokenTypeNotSupported,
+ 'exception.400' : BadRequestError,
+ 'exception.401' : UnauthorizedError,
+ 'exception.403' : ForbiddenError,
+ 'exception.404' : NotFoundError,
+ 'exception.405' : MethodNotAllowedError,
+ 'exception.429' : TooManyRequestsError,
+ 'exception.500' : InternalServerError,
+ 'exception.502' : BadGatewayError,
+ 'exception.503' : ServiceUnavailableError,
+ 'exception.504' : GatewayTimeoutError
+ };
+ };
+} \ No newline at end of file