├── .editorconfig ├── .env.example ├── .gitattributes ├── .github ├── Contributing.md ├── FUNDING.yml ├── ISSUE_TEMPLATE │ └── bug_report.md └── Project_Default.xml ├── .gitignore ├── .styleci.yml ├── .travis.yml ├── Makefile ├── README.md ├── SECURITY.md ├── app ├── Client │ ├── Auth │ │ ├── Login │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ └── LoginMainSupport.php │ │ └── Verifying │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ └── VerifyingMainSupport.php │ ├── Client.php │ ├── ClientAction.php │ ├── ClientAutoGeneratorTrait.php │ ├── ClientIfExist.php │ ├── ClientSetRuleTrait.php │ ├── ClientSupport.php │ ├── Countries │ │ ├── Cities │ │ │ ├── CitiesMainSupport.php │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ ├── Countries │ │ │ ├── CountriesMainSupport.php │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ └── Districts │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── DistrictsMainSupport.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Currencies │ │ └── Currencies │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── CurrenciesMainSupport.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Customer │ │ ├── Ages │ │ │ ├── AgesMainSupport.php │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ ├── Contacts │ │ │ ├── ContactsMainSupport.php │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ ├── Genders │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── GendersMainSupport.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ ├── Images │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ ├── ImagesMainSupport.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ └── Profiles │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ ├── ProfilesMainSupport.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Definition │ │ └── Genders │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── GendersMainSupport.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Gate │ │ ├── Permissions │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ ├── PermissionsMainSupport.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ └── Roles │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ ├── RolesMainSupport.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Localizations │ │ ├── Front │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── FrontMainSupport.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ ├── Language │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ ├── LanguageMainSupport.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ └── Localizations │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ ├── LocalizationsMainSupport.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Logger │ │ └── Logger │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ ├── LoggerMainSupport.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Mix │ │ └── TableChanges │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ ├── TableChangesMainSupport.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Password │ │ └── Changes │ │ │ ├── ChangesMainSupport.php │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Registration │ │ └── Registration │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ ├── RegistrationMainSupport.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── SequenceTimeGenerator.php │ ├── SuperAdmins │ │ └── SuperAdmins │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ ├── SuperAdminsMainSupport.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Support │ │ ├── Crypt │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── CryptMainSupport.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ ├── Dummy │ │ │ ├── Create │ │ │ │ ├── CreateClient.php │ │ │ │ └── GeneratorTrait.php │ │ │ ├── DummyMainSupport.php │ │ │ ├── Get │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ │ ├── GeneratorTrait.php │ │ │ │ └── UpdateClient.php │ │ └── Excel │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── ExcelMainSupport.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ ├── Timezones │ │ └── Timezones │ │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ │ ├── TimezonesMainSupport.php │ │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ └── User │ │ ├── Activations │ │ ├── ActivationsMainSupport.php │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ │ ├── Password │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ ├── PasswordMainSupport.php │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ │ ├── Photos │ │ ├── Create │ │ │ ├── CreateClient.php │ │ │ └── GeneratorTrait.php │ │ ├── Get │ │ │ ├── GeneratorTrait.php │ │ │ └── GetClient.php │ │ ├── PhotosMainSupport.php │ │ └── Update │ │ │ ├── GeneratorTrait.php │ │ │ └── UpdateClient.php │ │ └── User │ │ ├── Create │ │ ├── CreateClient.php │ │ └── GeneratorTrait.php │ │ ├── Get │ │ ├── GeneratorTrait.php │ │ └── GetClient.php │ │ ├── Update │ │ ├── GeneratorTrait.php │ │ └── UpdateClient.php │ │ └── UserMainSupport.php ├── Console │ ├── Commands │ │ ├── ChangeTestAdmin.php │ │ ├── ClearCache.php │ │ ├── Doodle.php │ │ ├── GeneratorHash.php │ │ ├── Queue │ │ │ ├── Consume.php │ │ │ └── Publish.php │ │ ├── RedisSubscribe.php │ │ ├── Tests │ │ │ ├── AutoManager.php │ │ │ ├── CreateResource.php │ │ │ └── Resources │ │ │ │ └── Example.php │ │ └── TruncateModel.php │ └── Kernel.php ├── Constants.php ├── Docs │ ├── Endpoints │ │ ├── Auth │ │ │ └── Auth.json │ │ ├── Countries │ │ │ └── Countries.json │ │ ├── Currencies │ │ │ └── Currencies.json │ │ ├── Customer │ │ │ └── Customer.json │ │ ├── Definition │ │ │ └── Definition.json │ │ ├── Gate │ │ │ └── Gate.json │ │ ├── Global │ │ │ └── Global.json │ │ ├── Localizations │ │ │ └── Localizations.json │ │ ├── Mix │ │ │ └── Mix.json │ │ ├── Password │ │ │ └── Password.json │ │ ├── Register │ │ │ └── Register.json │ │ ├── Registration │ │ │ └── Registration.json │ │ ├── SuperAdmins │ │ │ └── SuperAdmins.json │ │ ├── Support │ │ │ └── Support.json │ │ ├── Timezones │ │ │ └── Timezones.json │ │ └── User │ │ │ └── User.json │ ├── header.json │ ├── map.json │ └── mockery.json ├── Events │ └── PodcastProcessed.php ├── Exceptions │ ├── Custom │ │ ├── AccessLoggerException.php │ │ ├── ApiKeyException.php │ │ ├── AuthenticateException.php │ │ ├── CacheException.php │ │ ├── ClientActionException.php │ │ ├── ClientArrayLimiterException.php │ │ ├── ClientCapsuleException.php │ │ ├── ClientEmptyException.php │ │ ├── ClientFormatException.php │ │ ├── ContentTypeException.php │ │ ├── CustomException.php │ │ ├── FilterException.php │ │ ├── GrandAuthenticateException.php │ │ ├── InternalPermissionException.php │ │ ├── LoginException.php │ │ ├── LogoutException.php │ │ ├── ModelCreateException.php │ │ ├── ModelUniqueCreateException.php │ │ ├── NotFoundException.php │ │ ├── PasswordExpireException.php │ │ ├── PermissionException.php │ │ ├── RangeException.php │ │ ├── SelectException.php │ │ ├── UpdateException.php │ │ ├── ValidationException.php │ │ ├── WithException.php │ │ └── WithSelectException.php │ ├── Exception.php │ ├── ExceptionEventTrait.php │ ├── ExceptionTrait.php │ ├── Handler.php │ └── SqlExceptionManager.php ├── Facades │ ├── Database │ │ ├── Authenticate │ │ │ ├── Activation.php │ │ │ ├── ApiKey.php │ │ │ ├── Authenticate.php │ │ │ ├── Guard.php │ │ │ ├── Login.php │ │ │ ├── Password.php │ │ │ ├── Phone.php │ │ │ └── User.php │ │ ├── Currency │ │ │ └── Currency.php │ │ ├── Customer │ │ │ ├── Contact.php │ │ │ └── Customer.php │ │ ├── Language │ │ │ └── Language.php │ │ └── Role │ │ │ ├── Permission.php │ │ │ └── Role.php │ ├── FacadeManager.php │ └── Support │ │ ├── Email │ │ ├── Email.php │ │ ├── EmailManager.php │ │ └── Traits │ │ │ └── User.php │ │ ├── Env │ │ └── Env.php │ │ ├── Excel │ │ └── Excel.php │ │ ├── Faker │ │ └── Faker.php │ │ ├── Http │ │ ├── HttpManager.php │ │ ├── Local │ │ │ └── Local.php │ │ └── Socket │ │ │ └── Socket.php │ │ ├── Localization │ │ └── Lang.php │ │ ├── Payment │ │ └── Gateways │ │ │ └── GatewayManager.php │ │ ├── Sms │ │ ├── Sms.php │ │ └── SmsManager.php │ │ └── Socket │ │ └── Socket.php ├── Factory │ ├── ApiKey │ │ ├── ApiKey.php │ │ ├── ApiKeyManager.php │ │ ├── Interfaces │ │ │ └── ApiKeyInterface.php │ │ └── Resource │ │ │ └── resource.html │ ├── App │ │ ├── App.php │ │ ├── AppManager.php │ │ ├── Interfaces │ │ │ └── AppInterface.php │ │ └── Resource │ │ │ ├── CustomerCode │ │ │ └── CustomerCode.php │ │ │ └── resource.html │ ├── Cache │ │ ├── Cache.php │ │ ├── CacheManager.php │ │ ├── Cassandra.php │ │ ├── Interfaces │ │ │ └── CacheInterface.php │ │ ├── MongoDb.php │ │ ├── Redis.php │ │ └── Resource │ │ │ └── resource.html │ ├── Client │ │ ├── Client.php │ │ ├── ClientManager.php │ │ ├── Interfaces │ │ │ └── ClientInterface.php │ │ └── Resource │ │ │ ├── ClientIdentifier │ │ │ └── ClientIdentifier.php │ │ │ └── resource.html │ ├── Code │ │ ├── Code.php │ │ ├── CodeManager.php │ │ ├── Interfaces │ │ │ └── CodeInterface.php │ │ └── Resource │ │ │ └── resource.html │ ├── Excel │ │ ├── Excel.php │ │ ├── ExcelManager.php │ │ ├── Interfaces │ │ │ └── ExcelInterface.php │ │ └── Resource │ │ │ └── resource.html │ ├── Factory.php │ ├── FactoryManager.php │ ├── FactoryResourceManager.php │ ├── Http │ │ ├── Http.php │ │ ├── HttpManager.php │ │ ├── Interfaces │ │ │ └── HttpInterface.php │ │ └── Resource │ │ │ └── resource.html │ ├── Localization │ │ ├── Interfaces │ │ │ └── LocalizationInterface.php │ │ ├── Localization.php │ │ ├── LocalizationManager.php │ │ └── Resource │ │ │ ├── CheckBind │ │ │ └── CheckBind.php │ │ │ └── resource.html │ ├── Logger │ │ ├── DatabaseLogger.php │ │ ├── Interfaces │ │ │ └── LoggerInterface.php │ │ ├── LoggerManager.php │ │ ├── MongoDbLogger.php │ │ └── Resource │ │ │ └── resource.html │ ├── Notify │ │ ├── Interfaces │ │ │ └── NotifyInterface.php │ │ ├── Notify.php │ │ ├── NotifyManager.php │ │ ├── Resource │ │ │ ├── Slack500Formatter │ │ │ │ └── Slack500Formatter.php │ │ │ └── resource.html │ │ └── Slack.php │ ├── Payment │ │ ├── CardConnect.php │ │ ├── Interfaces │ │ │ └── PaymentInterface.php │ │ ├── Payment.php │ │ ├── PaymentManager.php │ │ ├── Resource │ │ │ └── resource.html │ │ └── Stripe.php │ ├── Pdf │ │ ├── Interfaces │ │ │ └── PdfInterface.php │ │ ├── Pdf.php │ │ ├── PdfManager.php │ │ └── Resource │ │ │ └── resource.html │ ├── Permission │ │ ├── Interfaces │ │ │ └── PermissionInterface.php │ │ ├── Permission.php │ │ ├── PermissionManager.php │ │ └── Resource │ │ │ └── resource.html │ ├── Queue │ │ ├── Interfaces │ │ │ └── QueueInterface.php │ │ ├── QueueManager.php │ │ ├── Rabbit.php │ │ └── Resource │ │ │ └── resource.html │ ├── Search │ │ ├── ElasticSearch.php │ │ ├── Interfaces │ │ │ └── SearchInterface.php │ │ ├── Resource │ │ │ └── resource.html │ │ └── SearchManager.php │ ├── Sms │ │ ├── Interfaces │ │ │ └── SmsInterface.php │ │ ├── Resource │ │ │ └── resource.html │ │ ├── Sms.php │ │ ├── SmsManager.php │ │ └── Twilio.php │ ├── Socket │ │ ├── Interfaces │ │ │ └── SocketInterface.php │ │ ├── Resource │ │ │ └── resource.html │ │ ├── Socket.php │ │ └── SocketManager.php │ └── Storage │ │ ├── AwsS3.php │ │ ├── Interfaces │ │ └── StorageInterface.php │ │ ├── Resource │ │ └── resource.html │ │ ├── Storage.php │ │ └── StorageManager.php ├── Http │ ├── Controllers │ │ ├── Api │ │ │ ├── ApiAuthInhibitory.php │ │ │ ├── ApiController.php │ │ │ ├── Auth │ │ │ │ ├── LoginController.php │ │ │ │ ├── LogoutController.php │ │ │ │ └── VerifyingController.php │ │ │ ├── Countries │ │ │ │ ├── CitiesController.php │ │ │ │ ├── CountriesController.php │ │ │ │ └── DistrictsController.php │ │ │ ├── Currencies │ │ │ │ └── CurrenciesController.php │ │ │ ├── Customer │ │ │ │ ├── AgesController.php │ │ │ │ ├── ContactsController.php │ │ │ │ ├── GendersController.php │ │ │ │ ├── ImagesController.php │ │ │ │ └── ProfilesController.php │ │ │ ├── Definition │ │ │ │ └── GendersController.php │ │ │ ├── DocumentationController.php │ │ │ ├── Gate │ │ │ │ ├── PermissionsController.php │ │ │ │ └── RolesController.php │ │ │ ├── Localizations │ │ │ │ ├── FrontController.php │ │ │ │ ├── LanguageController.php │ │ │ │ └── LocalizationsController.php │ │ │ ├── Logger │ │ │ │ └── LoggerController.php │ │ │ ├── Password │ │ │ │ └── ChangesController.php │ │ │ ├── Registration │ │ │ │ ├── RegistrationController.php │ │ │ │ └── RegistrationSupportTrait.php │ │ │ ├── SuperAdmins │ │ │ │ └── SuperAdminsController.php │ │ │ ├── Support │ │ │ │ ├── CryptController.php │ │ │ │ ├── DummyController.php │ │ │ │ └── ExcelController.php │ │ │ ├── Supporter.php │ │ │ ├── Timezones │ │ │ │ └── TimezonesController.php │ │ │ └── User │ │ │ │ ├── ActivationsController.php │ │ │ │ ├── PasswordController.php │ │ │ │ ├── PhotosController.php │ │ │ │ ├── UserController.php │ │ │ │ └── UserSupport.php │ │ ├── Controller.php │ │ ├── DeploymentController.php │ │ ├── DoodleController.php │ │ ├── GlobalController.php │ │ └── Web │ │ │ └── WebController.php │ ├── Kernel.php │ └── Middleware │ │ ├── AccessLogger.php │ │ ├── Authenticate.php │ │ ├── ContentType.php │ │ ├── EncryptCookies.php │ │ ├── GeneralMiddleware.php │ │ ├── PreventRequestsDuringMaintenance.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── Response.php │ │ ├── SuperAdmin.php │ │ ├── TrimStrings.php │ │ ├── TrustHosts.php │ │ ├── TrustProxies.php │ │ └── VerifyCsrfToken.php ├── Imports │ └── UsersImport.php ├── Jobs │ ├── Deployment.php │ ├── EmailSender.php │ ├── ExcelImport.php │ ├── SlackPusher.php │ ├── SmsSender.php │ └── Socket.php ├── Libs │ ├── ApiKeyManager.php │ ├── AppContainer.php │ ├── Array2XML.php │ ├── Client.php │ ├── Commands │ │ ├── AddColumnForDatabaseCommand.php │ │ ├── AddIndexForDatabaseCommand.php │ │ ├── AdminPermissionAssigner.php │ │ ├── ApiKeys.php │ │ ├── AppNameCommand.php │ │ ├── ClientCommand.php │ │ ├── ControllerCommand.php │ │ ├── CreateApiKey.php │ │ ├── CrudCommand.php │ │ ├── DatabaseCreatorCommand.php │ │ ├── DatabaseMonitor.php │ │ ├── DbColumn.php │ │ ├── Documentation.php │ │ ├── DocumentationUpdate.php │ │ ├── DropColumnForDatabaseCommand.php │ │ ├── DropIndexForDatabaseCommand.php │ │ ├── Dummy.php │ │ ├── EnvironmentCommand.php │ │ ├── FactoryCommand.php │ │ ├── FeatureTestCommand.php │ │ ├── HttpRequest.php │ │ ├── MigrationCommand.php │ │ ├── ModelCommand.php │ │ ├── PermissionCommand.php │ │ ├── Postman.php │ │ ├── RelationCommand.php │ │ ├── RenameColumnForDatabaseCommand.php │ │ ├── RepositoryCommand.php │ │ ├── RepositoryResourceCommand.php │ │ ├── RequestCommand.php │ │ ├── Role.php │ │ ├── RolePermissions.php │ │ ├── Seeder.php │ │ ├── ServiceCommand.php │ │ ├── SupervisorCommand.php │ │ ├── TestCommand.php │ │ ├── UpdateMigrationCommand.php │ │ └── UpdateRole.php │ ├── Date.php │ ├── Db.php │ ├── Git.php │ ├── HashGenerator.php │ ├── HttpPutResolve.php │ ├── Iterators │ │ └── Days.php │ ├── Macro.php │ ├── Money │ │ └── MoneyManager.php │ ├── MongoDb.php │ ├── Packages │ │ ├── Client │ │ │ ├── ClientBodyProcess.php │ │ │ ├── ClientManager.php │ │ │ ├── ClientParamProcess.php │ │ │ └── ClientVariableProcess.php │ │ └── package.html │ ├── Postman.php │ ├── Queue │ │ └── Rabbit │ │ │ ├── APIService.php │ │ │ ├── DLQService.php │ │ │ ├── QueueConnectionService.php │ │ │ └── QueueService.php │ ├── Redis.php │ ├── Reflection.php │ ├── Request │ │ ├── Request.php │ │ └── RequestSupport.php │ ├── Response │ │ ├── Response.php │ │ └── ResponseSupport.php │ ├── Route.php │ ├── Sanitize.php │ ├── Search │ │ └── ElasticSearch │ │ │ └── Connector.php │ ├── Service.php │ ├── Slack.php │ └── SmtpMailer.php ├── Listeners │ └── SendPodcastNotification.php ├── Mail │ ├── OrderShipped.php │ ├── TestEmail.php │ ├── UserActivation.php │ └── VerifyEmailForUser.php ├── Middleware │ ├── Middleware.php │ ├── MiddlewareManager.php │ └── Traits │ │ ├── AcceptLanguage.php │ │ ├── PasswordExpire.php │ │ └── Permission.php ├── Models │ ├── AccessLogger.php │ ├── ApiKey.php │ ├── City.php │ ├── Country.php │ ├── Crypt.php │ ├── Currency.php │ ├── Customer.php │ ├── CustomerAge.php │ ├── CustomerContact.php │ ├── CustomerGender.php │ ├── CustomerImage.php │ ├── District.php │ ├── Dummy.php │ ├── Entities │ │ ├── City.php │ │ ├── Country.php │ │ ├── Crypt.php │ │ ├── Currency.php │ │ ├── Customer.php │ │ ├── CustomerAge.php │ │ ├── CustomerContact.php │ │ ├── CustomerGender.php │ │ ├── CustomerImage.php │ │ ├── District.php │ │ ├── Dummy.php │ │ ├── EntityMap.php │ │ ├── Excel.php │ │ ├── FrontLang.php │ │ ├── Gender.php │ │ ├── Language.php │ │ ├── Localization.php │ │ ├── PasswordChange.php │ │ ├── Permission.php │ │ ├── Registration.php │ │ ├── Role.php │ │ ├── SuperAdmin.php │ │ ├── TableChange.php │ │ ├── Timezone.php │ │ ├── User.php │ │ ├── UserActivation.php │ │ ├── UserPassword.php │ │ └── UserPhoto.php │ ├── Excel.php │ ├── Features │ │ ├── BaseManager.php │ │ ├── FullTextSearch.php │ │ ├── GeneralAppends.php │ │ ├── GroupByProcess.php │ │ ├── ScopeManager.php │ │ ├── ScopeManagerTrait.php │ │ └── WithProcess.php │ ├── FrontLang.php │ ├── Gender.php │ ├── Language.php │ ├── Localization.php │ ├── PasswordChange.php │ ├── Permission.php │ ├── Registration.php │ ├── Role.php │ ├── SuperAdmin.php │ ├── TableChange.php │ ├── Timezone.php │ ├── User.php │ ├── UserActivation.php │ ├── UserPassword.php │ └── UserPhoto.php ├── Policies │ └── Permission │ │ ├── Customer │ │ └── Profiles.php │ │ ├── Permission.php │ │ ├── PermissionManager.php │ │ ├── Role │ │ ├── GatePermission.php │ │ └── Role.php │ │ └── User │ │ └── User.php ├── Providers │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── BroadcastServiceProvider.php │ ├── EventServiceProvider.php │ ├── HorizonServiceProvider.php │ ├── RepositoryServiceProvider.php │ └── RouteServiceProvider.php ├── Repositories │ ├── BaseQueueJob.php │ ├── EloquentRepository.php │ ├── FakerRepository.php │ ├── GeneralPromoterTrait.php │ ├── Globals │ │ ├── CustomerCode.php │ │ └── UserCode.php │ ├── Repository.php │ ├── RepositoryEventHandler.php │ ├── Resources │ │ ├── Countries │ │ │ ├── CitiesRepository.php │ │ │ ├── Contracts │ │ │ │ ├── CitiesRepositoryContract.php │ │ │ │ ├── CountriesRepositoryContract.php │ │ │ │ └── DistrictsRepositoryContract.php │ │ │ ├── CountriesRepository.php │ │ │ ├── DistrictsRepository.php │ │ │ ├── Events │ │ │ │ ├── Cities │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ ├── Countries │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ └── District │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── Promoters │ │ │ │ ├── Cities │ │ │ │ │ └── CitiesPromoterTrait.php │ │ │ │ ├── Countries │ │ │ │ │ └── CountriesPromoterTrait.php │ │ │ │ └── Districts │ │ │ │ │ └── DistrictsPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ ├── CitiesPropertyHandlerTrait.php │ │ │ │ ├── CountriesPropertyHandlerTrait.php │ │ │ │ └── DistrictPropertyHandlerTrait.php │ │ │ └── Resource │ │ │ │ ├── CitiesResource.php │ │ │ │ ├── CountriesResource.php │ │ │ │ └── DistrictResource.php │ │ ├── Currencies │ │ │ ├── Contracts │ │ │ │ └── CurrenciesRepositoryContract.php │ │ │ ├── CurrenciesRepository.php │ │ │ ├── Events │ │ │ │ └── Currencies │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── Promoters │ │ │ │ └── Currencies │ │ │ │ │ └── CurrenciesPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ └── CurrenciesPropertyHandlerTrait.php │ │ │ └── Resource │ │ │ │ └── CurrenciesResource.php │ │ ├── Customer │ │ │ ├── AgesRepository.php │ │ │ ├── ContactsRepository.php │ │ │ ├── Contracts │ │ │ │ ├── CustomerAgesRepositoryContract.php │ │ │ │ ├── CustomerContactsRepositoryContract.php │ │ │ │ ├── CustomerGendersRepositoryContract.php │ │ │ │ ├── CustomerImagesRepositoryContract.php │ │ │ │ └── CustomerProfilesRepositoryContract.php │ │ │ ├── Events │ │ │ │ ├── Ages │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ ├── Contacts │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ ├── Genders │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ ├── Images │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ └── Profiles │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── GendersRepository.php │ │ │ ├── ImagesRepository.php │ │ │ ├── ProfilesRepository.php │ │ │ ├── Promoters │ │ │ │ ├── Ages │ │ │ │ │ └── AgesPromoterTrait.php │ │ │ │ ├── Contacts │ │ │ │ │ └── ContactsPromoterTrait.php │ │ │ │ ├── Genders │ │ │ │ │ └── GendersPromoterTrait.php │ │ │ │ ├── Images │ │ │ │ │ └── ImagesPromoterTrait.php │ │ │ │ └── Profiles │ │ │ │ │ └── ProfilesPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ ├── AgesPropertyHandlerTrait.php │ │ │ │ ├── ContactsPropertyHandlerTrait.php │ │ │ │ ├── GendersPropertyHandlerTrait.php │ │ │ │ ├── ImagesPropertyHandlerTrait.php │ │ │ │ └── ProfilesPropertyHandlerTrait.php │ │ │ └── Resource │ │ │ │ ├── AgesResource.php │ │ │ │ ├── ContactsResource.php │ │ │ │ ├── GendersResource.php │ │ │ │ ├── ImagesResource.php │ │ │ │ └── ProfilesResource.php │ │ ├── Definition │ │ │ ├── Contracts │ │ │ │ └── DefinitionGendersRepositoryContract.php │ │ │ ├── Events │ │ │ │ └── Genders │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── GendersRepository.php │ │ │ ├── Promoters │ │ │ │ └── Genders │ │ │ │ │ └── GendersPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ └── GendersPropertyHandlerTrait.php │ │ │ └── Resource │ │ │ │ └── GendersResource.php │ │ ├── Gate │ │ │ ├── Contracts │ │ │ │ ├── PermissionsRepositoryContract.php │ │ │ │ └── RolesRepositoryContract.php │ │ │ ├── Events │ │ │ │ ├── Permissions │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ └── Roles │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── PermissionsRepository.php │ │ │ ├── Promoters │ │ │ │ ├── Permissions │ │ │ │ │ └── PermissionsPromoterTrait.php │ │ │ │ └── Roles │ │ │ │ │ └── RolesPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ ├── PermissionsPropertyHandlerTrait.php │ │ │ │ └── RolesPropertyHandlerTrait.php │ │ │ ├── Resource │ │ │ │ ├── PermissionsResource.php │ │ │ │ └── RolesResource.php │ │ │ └── RolesRepository.php │ │ ├── Localizations │ │ │ ├── Contracts │ │ │ │ ├── LanguageRepositoryContract.php │ │ │ │ ├── LocalizationsFrontRepositoryContract.php │ │ │ │ └── LocalizationsRepositoryContract.php │ │ │ ├── Events │ │ │ │ ├── Front │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ ├── Language │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ └── Localizations │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── FrontRepository.php │ │ │ ├── LanguageRepository.php │ │ │ ├── LocalizationsRepository.php │ │ │ ├── Promoters │ │ │ │ ├── Front │ │ │ │ │ └── FrontPromoterTrait.php │ │ │ │ ├── Language │ │ │ │ │ └── LanguagePromoterTrait.php │ │ │ │ └── Localizations │ │ │ │ │ └── LocalizationsPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ ├── FrontPropertyHandlerTrait.php │ │ │ │ ├── LanguagePropertyHandlerTrait.php │ │ │ │ └── LocalizationsPropertyHandlerTrait.php │ │ │ └── Resource │ │ │ │ ├── FrontResource.php │ │ │ │ ├── LanguageResource.php │ │ │ │ └── LocalizationsResource.php │ │ ├── Logger │ │ │ ├── Contracts │ │ │ │ └── LoggerRepositoryContract.php │ │ │ ├── Events │ │ │ │ └── Logger │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── LoggerRepository.php │ │ │ ├── Promoters │ │ │ │ └── Logger │ │ │ │ │ └── LoggerPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ └── LoggerPropertyHandlerTrait.php │ │ │ └── Resource │ │ │ │ └── LoggerResource.php │ │ ├── Password │ │ │ ├── ChangesRepository.php │ │ │ ├── Contracts │ │ │ │ └── PasswordChangesRepositoryContract.php │ │ │ ├── Events │ │ │ │ └── Changes │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── Promoters │ │ │ │ └── Changes │ │ │ │ │ └── ChangesPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ └── ChangesPropertyHandlerTrait.php │ │ │ └── Resource │ │ │ │ └── ChangesResource.php │ │ ├── Registration │ │ │ ├── Contracts │ │ │ │ └── RegistrationRepositoryContract.php │ │ │ ├── Events │ │ │ │ └── Registration │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── Promoters │ │ │ │ └── Registration │ │ │ │ │ └── RegistrationPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ └── RegistrationPropertyHandlerTrait.php │ │ │ ├── RegistrationRepository.php │ │ │ └── Resource │ │ │ │ └── RegistrationResource.php │ │ ├── SuperAdmins │ │ │ ├── Contracts │ │ │ │ └── SuperAdminsRepositoryContract.php │ │ │ ├── Events │ │ │ │ └── SuperAdmins │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── Promoters │ │ │ │ └── SuperAdmins │ │ │ │ │ └── SuperAdminsPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ └── SuperAdminsPropertyHandlerTrait.php │ │ │ ├── Resource │ │ │ │ └── SuperAdminsResource.php │ │ │ └── SuperAdminsRepository.php │ │ ├── Support │ │ │ ├── Contracts │ │ │ │ ├── ExcelRepositoryContract.php │ │ │ │ ├── SupportCryptRepositoryContract.php │ │ │ │ └── SupportDummyRepositoryContract.php │ │ │ ├── CryptRepository.php │ │ │ ├── DummyRepository.php │ │ │ ├── Events │ │ │ │ ├── Crypt │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ ├── Dummy │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ │ └── Excel │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── ExcelRepository.php │ │ │ ├── Promoters │ │ │ │ ├── Crypt │ │ │ │ │ └── CryptPromoterTrait.php │ │ │ │ ├── Dummy │ │ │ │ │ └── DummyPromoterTrait.php │ │ │ │ └── Excel │ │ │ │ │ └── ExcelPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ ├── CryptPropertyHandlerTrait.php │ │ │ │ ├── DummyPropertyHandlerTrait.php │ │ │ │ └── ExcelPropertyHandlerTrait.php │ │ │ └── Resource │ │ │ │ ├── CryptResource.php │ │ │ │ ├── DummyResource.php │ │ │ │ └── ExcelResource.php │ │ ├── Timezones │ │ │ ├── Contracts │ │ │ │ └── TimezonesRepositoryContract.php │ │ │ ├── Events │ │ │ │ └── Timezones │ │ │ │ │ ├── AfterCreate.php │ │ │ │ │ ├── AfterUpdate.php │ │ │ │ │ ├── BeforeCreate.php │ │ │ │ │ └── BeforeUpdate.php │ │ │ ├── Promoters │ │ │ │ └── Timezones │ │ │ │ │ └── TimezonesPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ │ └── TimezonesPropertyHandlerTrait.php │ │ │ ├── Resource │ │ │ │ └── TimezonesResource.php │ │ │ └── TimezonesRepository.php │ │ └── User │ │ │ ├── ActivationsRepository.php │ │ │ ├── Contracts │ │ │ ├── PhotosRepositoryContract.php │ │ │ ├── UserActivationsRepositoryContract.php │ │ │ ├── UserPasswordRepositoryContract.php │ │ │ └── UserRepositoryContract.php │ │ │ ├── Events │ │ │ ├── Activations │ │ │ │ ├── AfterCreate.php │ │ │ │ ├── AfterUpdate.php │ │ │ │ ├── BeforeCreate.php │ │ │ │ └── BeforeUpdate.php │ │ │ ├── Password │ │ │ │ ├── AfterCreate.php │ │ │ │ ├── AfterUpdate.php │ │ │ │ ├── BeforeCreate.php │ │ │ │ └── BeforeUpdate.php │ │ │ ├── Photos │ │ │ │ ├── AfterCreate.php │ │ │ │ ├── AfterUpdate.php │ │ │ │ ├── BeforeCreate.php │ │ │ │ └── BeforeUpdate.php │ │ │ └── User │ │ │ │ ├── AfterCreate.php │ │ │ │ ├── AfterUpdate.php │ │ │ │ ├── BeforeCreate.php │ │ │ │ └── BeforeUpdate.php │ │ │ ├── PasswordRepository.php │ │ │ ├── PhotosRepository.php │ │ │ ├── Promoters │ │ │ ├── Activations │ │ │ │ └── ActivationsPromoterTrait.php │ │ │ ├── Password │ │ │ │ └── PasswordPromoterTrait.php │ │ │ ├── Photos │ │ │ │ └── PhotosPromoterTrait.php │ │ │ └── User │ │ │ │ └── UserPromoterTrait.php │ │ │ ├── PropertyHandlers │ │ │ ├── ActivationsPropertyHandlerTrait.php │ │ │ ├── PasswordPropertyHandlerTrait.php │ │ │ ├── PhotosPropertyHandlerTrait.php │ │ │ └── UserPropertyHandlerTrait.php │ │ │ ├── Resource │ │ │ ├── ActivationsResource.php │ │ │ ├── PasswordResource.php │ │ │ ├── PhotosResource.php │ │ │ └── UserResource.php │ │ │ └── UserRepository.php │ └── Supporters │ │ ├── CacheRepository.php │ │ ├── CreateRepository.php │ │ ├── GlobalScopeManager.php │ │ ├── GlobalSupporter.php │ │ ├── Helpers │ │ ├── Dummy.php │ │ └── OppositeModelClientConverter.php │ │ ├── LocalizationRepository.php │ │ ├── ResourceRepository.php │ │ └── UpdateRepository.php ├── Services │ ├── Queue │ │ └── Process.php │ └── UserService.php └── helpers.php ├── artisan ├── bootstrap ├── app.php └── cache │ └── .gitignore ├── composer.json ├── composer.lock ├── config ├── apikey.php ├── app.php ├── auth.php ├── broadcasting.php ├── cache.php ├── clockwork.php ├── cors.php ├── database.php ├── deployment.php ├── documentation.php ├── excel.php ├── filesystems.php ├── hashing.php ├── horizon.php ├── inhibitory.php ├── kafka.php ├── logging.php ├── mail.php ├── queue.php ├── repository.php ├── request.php ├── sanctum.php ├── search.php ├── services.php ├── session.php ├── slack.php ├── sms.php ├── socket.php ├── testmock.php └── view.php ├── database ├── .gitignore ├── columns │ ├── access_loggers.php │ ├── cities.php │ ├── column.html │ ├── countries.php │ ├── crMaps.json │ ├── crypts.php │ ├── currencies.php │ ├── customer_ages.php │ ├── customer_contacts.php │ ├── customer_genders.php │ ├── customer_images.php │ ├── customers.php │ ├── districts.php │ ├── dummies.php │ ├── excels.php │ ├── front_langs.php │ ├── genders.php │ ├── languages.php │ ├── localizations.php │ ├── modelClients.json │ ├── modelService.json │ ├── password_changes.php │ ├── permissions.php │ ├── registrations.php │ ├── relationCodes.json │ ├── relations.json │ ├── roles.php │ ├── service.json │ ├── super_admins.php │ ├── table_changes.php │ ├── timezones.php │ ├── user_activations.php │ ├── user_passwords.php │ ├── user_photos.php │ └── users.php ├── factories │ ├── ApiKeyFactory.php │ ├── GenderFactory.php │ └── UserFactory.php ├── migrations │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ ├── 2016_06_01_000001_create_oauth_auth_codes_table.php │ ├── 2016_06_01_000002_create_oauth_access_tokens_table.php │ ├── 2016_06_01_000003_create_oauth_refresh_tokens_table.php │ ├── 2016_06_01_000004_create_oauth_clients_table.php │ ├── 2016_06_01_000005_create_oauth_personal_access_clients_table.php │ ├── 2019_08_19_000000_create_failed_jobs_table.php │ ├── 2019_12_14_000001_create_personal_access_tokens_table.php │ ├── 2021_04_15_183809_access_logger_create.php │ ├── 2021_05_08_160829_create_jobs_table.php │ ├── 2021_05_31_073234_create_countries.php │ ├── 2021_06_08_110544_create_localizations.php │ ├── 2021_06_12_082420_create_languages.php │ ├── 2021_06_16_113835_create_super_admins.php │ ├── 2021_07_07_095329_create_roles.php │ ├── 2021_07_07_101044_create_permissions.php │ ├── 2021_07_07_122822_user_role_code_adding.php │ ├── 2021_07_27_113411_create_table_changes.php │ ├── 2021_08_04_103006_create_cities.php │ ├── 2021_08_04_103743_create_districts.php │ ├── 2021_08_20_074841_create_currencies.php │ ├── 2021_09_03_072827_create_timezones.php │ ├── 2021_09_17_111547_create_user_photos.php │ ├── 2022_01_11_122155_create_registrations.php │ ├── 2022_04_06_081529_create_excels.php │ ├── 2022_06_21_141031_create_customers.php │ ├── 2022_07_05_123655_create_user_activations.php │ ├── 2022_08_09_070145_create_customer_genders.php │ ├── 2022_08_09_073713_create_customer_ages.php │ ├── 2022_08_12_120406_create_customer_images.php │ ├── 2022_09_19_090658_add_column_phone_users_table.php │ ├── 2022_10_12_073457_create_customer_contacts.php │ ├── 2022_12_06_112814_create_password_changes.php │ ├── 2023_05_03_114538_create_genders.php │ ├── 2024_06_28_113357_create_front_langs.php │ ├── 2024_08_09_074110_create_api_keys_table.php │ ├── 2024_10_10_083707_drop_column_named_phone_code_customer_contacts_table.php │ ├── 2024_12_14_114334_create_crypts.php │ ├── 2025_01_03_152842_create_user_passwords.php │ └── 2025_01_03_200113_create_dummies.php └── seeders │ └── DatabaseSeeder.php ├── docker-compose.yml ├── docker-install.sh ├── package.json ├── phpunit.xml ├── postman ├── Api-Collections.postman_environment.json ├── Api-Local.postman_environment.json ├── Api.postman_collection.json └── Laravel.postman_collection.json ├── public ├── .htaccess ├── api │ ├── apiDoc.html │ └── apiDoc_files │ │ ├── Buy me a tree-🌳-green │ │ ├── analytics.js │ │ ├── author-@frankdejonge-blue.svg │ │ ├── docs.38c6185a8578394bce5d.js │ │ ├── docsearch.min.css │ │ ├── docsearch.min.js │ │ ├── flysystem(1).svg │ │ ├── flysystem(2).svg │ │ ├── flysystem-blue.svg │ │ ├── flysystem.svg │ │ ├── js │ │ ├── license-MIT-brightgreen.svg │ │ ├── passing.svg │ │ ├── php-min 7.2-red.svg │ │ └── styles.38c6185a8578394bce5d.css ├── favicon.ico ├── index.php ├── robots.txt └── web.config ├── pusher.json ├── resources ├── css │ └── app.css ├── js │ ├── app.js │ └── bootstrap.js ├── lang │ └── en │ │ ├── auth.php │ │ ├── exception.php │ │ ├── pagination.php │ │ ├── passwords.php │ │ ├── userActivation.php │ │ └── validation.php └── views │ ├── api │ ├── index.blade.php │ └── noAccess.blade.php │ ├── guide.blade.php │ ├── mail │ ├── order-shipped.blade.php │ ├── test-email.blade.php │ ├── user-activation.blade.php │ └── user-verifying-email.blade.php │ ├── pdf │ └── pdf.blade.php │ └── welcome.blade.php ├── routes ├── api.php ├── api │ ├── country.php │ ├── customer.php │ ├── definition.php │ ├── gate.php │ ├── localization.php │ ├── localizations.php │ ├── password.php │ ├── support.php │ └── user.php ├── channels.php ├── console.php └── web.php ├── server.php ├── server.sh ├── server ├── bashes │ └── laravel.sh ├── builds │ ├── node │ │ └── Dockerfile │ └── php │ │ └── Dockerfile └── volumes │ └── nginx.conf ├── setup.php ├── storage ├── app │ ├── .gitignore │ └── public │ │ └── .gitignore ├── clockwork │ └── .gitignore ├── framework │ ├── .gitignore │ ├── cache │ │ ├── .gitignore │ │ └── data │ │ │ └── .gitignore │ ├── sessions │ │ └── .gitignore │ ├── testing │ │ └── .gitignore │ └── views │ │ └── .gitignore └── logs │ └── .gitignore ├── tests ├── CreatesApplication.php ├── Feature │ ├── BusinessTest.php │ ├── Country │ │ └── CountryTest.php │ ├── Customer │ │ ├── AgesTest.php │ │ ├── ContactsTest.php │ │ ├── GendersTest.php │ │ ├── ImagesTest.php │ │ └── ProfilesTest.php │ ├── Definition │ │ └── GendersTest.php │ ├── Localizations │ │ └── FrontTest.php │ └── User │ │ └── UserTest.php ├── TestCase.php ├── TestHttpSupport.php ├── Unit │ └── ExampleTest.php └── testExample.txt └── webpack.mix.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = space 8 | indent_size = 4 9 | trim_trailing_whitespace = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | 14 | [*.{yml,yaml}] 15 | indent_size = 2 16 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.scss linguist-vendored 4 | *.js linguist-vendored 5 | CHANGELOG.md export-ignore 6 | -------------------------------------------------------------------------------- /.github/Contributing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aligurbuz/laravel-api/ec2ab5a90f8df60e8b3a54eb982f55a5d74a78c6/.github/Contributing.md -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: aligurbuz 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 13 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/hot 3 | /public/storage 4 | /storage/*.key 5 | /vendor 6 | .env 7 | .env.backup 8 | .phpunit.result.cache 9 | docker-compose.override.yml 10 | Homestead.json 11 | Homestead.yaml 12 | npm-debug.log 13 | yarn-error.log 14 | .DS_Store 15 | .idea/ 16 | worker.log 17 | server/volumes/elasticsearch/* 18 | server/volumes/mongo/* 19 | server/volumes/mysql/* 20 | public/images 21 | -------------------------------------------------------------------------------- /.styleci.yml: -------------------------------------------------------------------------------- 1 | php: 2 | preset: laravel 3 | disabled: 4 | - no_unused_imports 5 | finder: 6 | not-name: 7 | - index.php 8 | - server.php 9 | js: 10 | finder: 11 | not-name: 12 | - webpack.mix.js 13 | css: true 14 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: php 2 | install: composer install 3 | php: 4 | - '7.3' 5 | - '7.2' 6 | script: 7 | - composer install 8 | - copy .env.example .env 9 | - php artisan key:generate 10 | - sudo chmod -R 777 storage 11 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | make migrate: 2 | php artisan migrate 3 | make test: 4 | php artisan test 5 | make hash: 6 | php artisan generate:hash 7 | make publish: 8 | php artisan queue:publish 9 | make consume: 10 | php artisan queue:consume 11 | make example: 12 | php artisan run:test example 13 | make dod: 14 | php artisan dod 15 | make keys: 16 | php artisan keys 17 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Use this section to tell people about which versions of your project are 6 | currently being supported with security updates. 7 | 8 | | Version | Supported | 9 | |---------|--------------------| 10 | | 5.1.x | :white_check_mark: | 11 | | 5.0.x | :x: | 12 | | 4.0.x | :white_check_mark: | 13 | | < 4.0 | :x: | 14 | 15 | ## Reporting a Vulnerability 16 | 17 | Use this section to tell people how to report a vulnerability. 18 | 19 | Tell them where to go, how often they can expect to get an update on a 20 | reported vulnerability, what to expect if the vulnerability is accepted or 21 | declined, etc. 22 | -------------------------------------------------------------------------------- /app/Client/Auth/Login/Create/GeneratorTrait.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'role' => [ 19 | 'select' => 'role_name' 20 | ] 21 | ] 22 | ]; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/Client/Countries/Cities/CitiesMainSupport.php: -------------------------------------------------------------------------------- 1 | 'represents the value that will contain the customer\'s gender information.', 12 | 'age' => 'represents the value that will contain the customer\'s age information.', 13 | 'contact' => 'represents the value that will contain the customer\'s contact information.', 14 | ]; 15 | } 16 | -------------------------------------------------------------------------------- /app/Client/Customer/Profiles/Update/GeneratorTrait.php: -------------------------------------------------------------------------------- 1 | code($code)->entity(); 19 | }); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/Facades/FacadeManager.php: -------------------------------------------------------------------------------- 1 | $class, 21 | 'routingKey' => $class . '.' . $name, 22 | 'exchange' => $exchange 23 | ])->publish($data); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/Facades/Support/Email/Email.php: -------------------------------------------------------------------------------- 1 | send(new $job($data)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/Facades/Support/Excel/Excel.php: -------------------------------------------------------------------------------- 1 | file('excel_file')->store('files'); 17 | $model = client('excel_factory'); 18 | 19 | dispatch(new ExcelImport($file, $model)); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/Facades/Support/Localization/Lang.php: -------------------------------------------------------------------------------- 1 | user()?->tokens()->delete(); 20 | 21 | if (!$logout) { 22 | Exception::loginException(); 23 | } 24 | 25 | return ['logout' => 'success']; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/Http/Controllers/Api/Supporter.php: -------------------------------------------------------------------------------- 1 | handle(); 22 | 23 | return $next($request); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/Http/Middleware/PreventRequestsDuringMaintenance.php: -------------------------------------------------------------------------------- 1 | allSubdomainsOfApplicationUrl(), 18 | ]; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrustProxies.php: -------------------------------------------------------------------------------- 1 | 'array']; 16 | 17 | protected array $withQuery = []; 18 | 19 | protected $hidden = ['id']; 20 | } 21 | -------------------------------------------------------------------------------- /app/Models/SuperAdmin.php: -------------------------------------------------------------------------------- 1 | container('post')){ 14 | * $this->setEndpointNegativePermission('POST','specialExceptionKey'); 15 | * }**/ 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/Policies/Permission/Permission.php: -------------------------------------------------------------------------------- 1 | runningInConsole(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/Repositories/Resources/Countries/Events/Cities/AfterCreate.php: -------------------------------------------------------------------------------- 1 | apply($builder); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/Repositories/Resources/Logger/Resource/LoggerResource.php: -------------------------------------------------------------------------------- 1 | dummy(); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/Repositories/Resources/Support/Events/Dummy/AfterUpdate.php: -------------------------------------------------------------------------------- 1 | where('user_code', $clientData['user_code']) 19 | ->where('status', 1)->update(['status' => 0]); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/Repositories/Resources/User/Events/Password/BeforeUpdate.php: -------------------------------------------------------------------------------- 1 | eloquentRepository, 'accessible') && $this->eloquentRepository->accessible(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/Services/UserService.php: -------------------------------------------------------------------------------- 1 | env('API_WEB_KEY'), 5 | 'ios' => env('API_IOS_KEY'), 6 | 'admin' => env('API_ADMIN_KEY'), 7 | 'android' => env('API_ANDROID_KEY'), 8 | 'superAdmin' => env('API_SUPERADMIN_KEY'), 9 | ]; 10 | -------------------------------------------------------------------------------- /config/deployment.php: -------------------------------------------------------------------------------- 1 | env('DEPLOYMENT_KEY', '__dpyLaravel_098123') 5 | ]; 6 | -------------------------------------------------------------------------------- /config/inhibitory.php: -------------------------------------------------------------------------------- 1 | [ 5 | 'login' => ['POST'], 6 | 'countries/*' => ['GET'], 7 | 'currencies/*' => ['GET'], 8 | 'customer/profiles' => ['POST'], 9 | 'global' => ['GET', 'POST'], 10 | //'password/changes' => ['GET','POST'], 11 | //'timezones' => ['GET'], 12 | ], 13 | 'authenticateWeb' => [ 14 | 'customer/profiles' => ['GET', 'PUT'], 15 | 'logout' => ['POST'], 16 | ] 17 | ]; 18 | -------------------------------------------------------------------------------- /config/request.php: -------------------------------------------------------------------------------- 1 | 'email:rfc,dns', 5 | 'status' => ['regex:/^0$|^1$/i'], 6 | 'is_deleted' => ['regex:/^0$|^1$/i'], 7 | ]; 8 | -------------------------------------------------------------------------------- /config/slack.php: -------------------------------------------------------------------------------- 1 | [ 5 | 'channel' => 'logger', 6 | 'hook' => 'hook-name', 7 | ], 8 | 'error500' => [ 9 | 'channel' => 'error500', 10 | 'hook' => env('SLACK_500_ERROR', 'hook'), 11 | ], 12 | 'deployment' => [ 13 | 'channel' => 'deployment', 14 | 'hook' => env('DEPLOYMENT_HOOK', ''), 15 | ] 16 | ]; 17 | -------------------------------------------------------------------------------- /config/sms.php: -------------------------------------------------------------------------------- 1 | env('TWILIO_SID', 'TWILIO_SID'), 5 | 'twilioToken' => env('TWILIO_AUTH_TOKEN', 'TWILIO_AUTH_TOKEN'), 6 | 'twilioPhoneNumber' => env('TWILIO_PHONE_NUMBER', 'TWILIO_PHONE_NUMBER') 7 | ]; 8 | -------------------------------------------------------------------------------- /config/socket.php: -------------------------------------------------------------------------------- 1 | env('SOCKET_ADAPTER', 'default'), 6 | 7 | 'connection' => [ 8 | 'default' => [ 9 | 'socketUrl' => env('SOCKET_URL'), 10 | ] 11 | ] 12 | 13 | ]; 14 | -------------------------------------------------------------------------------- /config/testmock.php: -------------------------------------------------------------------------------- 1 | [ 6 | 'post' => [ 7 | 'user' => [ 8 | 'name' => 'name', 9 | 'username' => 'test_' . random_int(0, 999999999), 10 | 'email' => 'test_' . random_int(0, 999999999999) . '_' . time() . '@gmail.com', 11 | 'password' => "Ali1234567", 12 | 'status' => true 13 | ] 14 | ] 15 | ], 16 | ]; 17 | } catch (Exception $e) { 18 | } 19 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | *.sqlite-journal 3 | -------------------------------------------------------------------------------- /database/columns/access_loggers.php: -------------------------------------------------------------------------------- 1 | ["id", "client_key", "endpoint_name", "response_code", "http_method", "http_client_headers", "http_client_params_data", "http_client_body_data", "response_status", "exception_file", "exception_line", "exception_message", "exception_trace", "response", "created_at", "updated_at"], 3 | 'types' => ["integer", "string", "string", "integer", "string", "json", "json", "json", "integer", "string", "string", "string", "json", "json", "timestamp", "timestamp"], 4 | ]; 5 | -------------------------------------------------------------------------------- /database/columns/cities.php: -------------------------------------------------------------------------------- 1 | ["city_code", "city_name", "country_code", "created_at", "created_by", "deleted_at", "deleted_by", "id", "is_deleted", "status", "updated_at", "updated_by"], 3 | 'indexes' => ["id", "city_code", "status", "is_deleted", "country_code"], 4 | 'types' => ["integer", "string", "integer", "timestamp", "integer", "timestamp", "integer", "integer", "integer", "integer", "timestamp", "integer"], 5 | 'required_columns' => ["city_name", "country_code"], 6 | 'max_length_columns' => ["city_name"], 7 | 'max_length_values' => ["100"], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/columns/column.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aligurbuz/laravel-api/ec2ab5a90f8df60e8b3a54eb982f55a5d74a78c6/database/columns/column.html -------------------------------------------------------------------------------- /database/columns/countries.php: -------------------------------------------------------------------------------- 1 | ["id", "country_code", "iso", "name", "default_name", "iso3", "num_code", "phone_code", "created_at", "updated_at"], 3 | 'indexes' => ["id", "country_code", "iso"], 4 | 'types' => ["integer", "integer", "string", "string", "string", "string", "integer", "integer", "timestamp", "timestamp"], 5 | 'required_columns' => ["iso", "name", "default_name", "phone_code"], 6 | 'max_length_columns' => ["iso", "name", "default_name", "iso3"], 7 | 'max_length_values' => ["2", "80", "80", "3"], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/columns/crypts.php: -------------------------------------------------------------------------------- 1 | ["", "", "system api key", "authenticate code", "client body as array", "", ""], 3 | 'columns' => ["id", "crypt_code", "api_key", "authenticate", "body", "created_at", "updated_at"], 4 | 'indexes' => ["id", "crypt_code"], 5 | 'types' => ["integer", "integer", "string", "integer", "array", "timestamp", "timestamp"], 6 | 'required_columns' => ["api_key", "authenticate", "body"], 7 | 'max_length_columns' => ["api_key"], 8 | 'max_length_values' => ["255"], 9 | 'boolean_values' => [], 10 | 'default_keys' => ["crypt_code"], 11 | 'default_values' => ["0"], 12 | 'enum_columns' => [], 13 | 'enum_values' => [], 14 | ]; 15 | -------------------------------------------------------------------------------- /database/columns/customer_ages.php: -------------------------------------------------------------------------------- 1 | ["age choosing for customer", "", "", "customer code", "", ""], 3 | 'columns' => ["age", "created_at", "customer_age_code", "customer_code", "id", "updated_at"], 4 | 'indexes' => ["id", "customer_age_code", "customer_code", "age"], 5 | 'types' => ["integer", "timestamp", "integer", "integer", "integer", "timestamp"], 6 | 'required_columns' => ["age", "customer_code"], 7 | 'max_length_columns' => [], 8 | 'max_length_values' => [], 9 | 'boolean_values' => [], 10 | 'default_keys' => ["customer_age_code"], 11 | 'default_values' => ["0"], 12 | 'enum_columns' => [], 13 | 'enum_values' => [], 14 | ]; 15 | -------------------------------------------------------------------------------- /database/columns/districts.php: -------------------------------------------------------------------------------- 1 | ["city_code", "created_at", "created_by", "deleted_at", "deleted_by", "district_code", "district_name", "id", "is_deleted", "status", "updated_at", "updated_by"], 3 | 'indexes' => ["id", "district_code", "status", "is_deleted", "city_code"], 4 | 'types' => ["integer", "timestamp", "integer", "timestamp", "integer", "integer", "string", "integer", "integer", "integer", "timestamp", "integer"], 5 | 'required_columns' => ["city_code", "district_name"], 6 | 'max_length_columns' => ["district_name"], 7 | 'max_length_values' => ["100"], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/columns/dummies.php: -------------------------------------------------------------------------------- 1 | ["", "", "endpoint id for dummy data", "", "", ""], 3 | 'columns' => ["id", "dummy_code", "endpoint_id", "created_by", "created_at", "updated_at"], 4 | 'indexes' => ["id", "dummy_code"], 5 | 'types' => ["integer", "integer", "string", "integer", "timestamp", "timestamp"], 6 | 'required_columns' => ["endpoint_id"], 7 | 'max_length_columns' => ["endpoint_id"], 8 | 'max_length_values' => ["255"], 9 | 'boolean_values' => [], 10 | 'default_keys' => ["dummy_code", "created_by"], 11 | 'default_values' => ["0", "0"], 12 | 'enum_columns' => [], 13 | 'enum_values' => [], 14 | ]; 15 | -------------------------------------------------------------------------------- /database/columns/languages.php: -------------------------------------------------------------------------------- 1 | ["id", "language_code", "name", "created_at", "updated_at"], 3 | 'indexes' => ["id", "language_code"], 4 | 'types' => ["integer", "integer", "string", "timestamp", "timestamp"], 5 | 'required_columns' => ["name"], 6 | 'max_length_columns' => ["name"], 7 | 'max_length_values' => ["5"], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/columns/localizations.php: -------------------------------------------------------------------------------- 1 | ["created_at", "created_by", "deleted_at", "deleted_by", "id", "is_deleted", "language_code", "localization_code", "localized_code", "status", "updated_at", "updated_by", "values"], 3 | 'indexes' => ["id", "language_code", "localized_code", "localization_code", "language_code", "localized_code", "status", "is_deleted"], 4 | 'types' => ["timestamp", "integer", "timestamp", "integer", "integer", "integer", "integer", "integer", "integer", "integer", "timestamp", "integer", "array"], 5 | 'required_columns' => ["language_code", "localized_code", "values"], 6 | 'max_length_columns' => [], 7 | 'max_length_values' => [], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/columns/permissions.php: -------------------------------------------------------------------------------- 1 | ["id", "permission_code", "endpoint", "description", "status", "is_deleted", "created_by", "updated_by", "deleted_by", "deleted_at", "created_at", "updated_at"], 3 | 'indexes' => ["id", "permission_code", "status", "is_deleted"], 4 | 'types' => ["integer", "integer", "string", "string", "integer", "integer", "integer", "integer", "integer", "timestamp", "timestamp", "timestamp"], 5 | 'required_columns' => ["endpoint", "description"], 6 | 'max_length_columns' => ["endpoint", "description"], 7 | 'max_length_values' => ["255", "65535"], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/columns/roles.php: -------------------------------------------------------------------------------- 1 | ["id", "role_code", "role_app_code", "role_name", "is_administrator", "roles", "status", "is_deleted", "created_by", "updated_by", "deleted_by", "deleted_at", "created_at", "updated_at"], 3 | 'indexes' => ["id", "role_code", "role_app_code", "status", "is_deleted"], 4 | 'types' => ["integer", "integer", "integer", "string", "integer", "array", "integer", "integer", "integer", "integer", "integer", "timestamp", "timestamp", "timestamp"], 5 | 'required_columns' => ["role_name", "roles"], 6 | 'max_length_columns' => ["role_name"], 7 | 'max_length_values' => ["30"], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/columns/super_admins.php: -------------------------------------------------------------------------------- 1 | ["created_at", "created_by", "deleted_at", "deleted_by", "id", "is_deleted", "status", "super_admin_code", "updated_at", "updated_by", "user_code"], 3 | 'indexes' => ["id", "super_admin_code", "user_code", "status", "is_deleted"], 4 | 'types' => ["timestamp", "integer", "timestamp", "integer", "integer", "integer", "integer", "integer", "timestamp", "integer", "integer"], 5 | 'required_columns' => [], 6 | 'max_length_columns' => [], 7 | 'max_length_values' => [], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/columns/table_changes.php: -------------------------------------------------------------------------------- 1 | ["column_name", "created_at", "created_by", "deleted_at", "deleted_by", "id", "is_deleted", "new_data", "old_data", "status", "table_change_code", "table_name", "updated_at", "updated_by"], 3 | 'indexes' => ["id", "table_change_code", "status", "is_deleted"], 4 | 'types' => ["string", "timestamp", "integer", "timestamp", "integer", "integer", "integer", "string", "string", "integer", "integer", "string", "timestamp", "integer"], 5 | 'required_columns' => ["column_name", "new_data", "old_data", "table_name"], 6 | 'max_length_columns' => ["column_name", "new_data", "old_data", "table_name"], 7 | 'max_length_values' => ["100", "65535", "65535", "100"], 8 | ]; 9 | -------------------------------------------------------------------------------- /database/factories/ApiKeyFactory.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Send Requests To Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aligurbuz/laravel-api/ec2ab5a90f8df60e8b3a54eb982f55a5d74a78c6/public/favicon.ico -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /pusher.json: -------------------------------------------------------------------------------- 1 | [ 2 | "035300fd69fd72ebbbf6bb135de4fbae", 3 | "73518c9e0f5e13fa1ee7cfdd61a5dab6", 4 | "e3a466103952c213ec5242db76f6cd09", 5 | "868188ba5f3249522eec490f3e21e943", 6 | "d853a18cfa0a01d31a1ef70da2e50643", 7 | "13a814373f076774d6a1d1cd5fbd5a04", 8 | "7f0734b88200d5259fde2feb82ae66ba", 9 | "2d173376414846e02dfa0c728d451847", 10 | "7fed51e71a09aaef983e000637c02199", 11 | "9245d645ca85e9beb3d71ef6ec489ec7", 12 | "d4a868fa2ef76aa899eade6b478bd867", 13 | "c911b336f4358c059307a092f1ed03ee", 14 | "cc74698f6d579f68d23bfbf6c070eed2", 15 | "7d201e4361c154512ba1f6b5d14829f5", 16 | "9eba3096476891873cfa32c95ed562df", 17 | "6213253d3db296bc6615663a5945f50f" 18 | ] -------------------------------------------------------------------------------- /resources/css/app.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aligurbuz/laravel-api/ec2ab5a90f8df60e8b3a54eb982f55a5d74a78c6/resources/css/app.css -------------------------------------------------------------------------------- /resources/js/app.js: -------------------------------------------------------------------------------- 1 | require('./bootstrap'); 2 | -------------------------------------------------------------------------------- /resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/en/userActivation.php: -------------------------------------------------------------------------------- 1 | 'An SMS activation code has been sent to the phone number (:phone).', 5 | 'email' => 'An email activation code has been sent to the your (:email) address', 6 | ]; 7 | -------------------------------------------------------------------------------- /resources/views/api/noAccess.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aligurbuz/laravel-api/ec2ab5a90f8df60e8b3a54eb982f55a5d74a78c6/resources/views/api/noAccess.blade.php -------------------------------------------------------------------------------- /resources/views/guide.blade.php: -------------------------------------------------------------------------------- 1 |

The user guide is under construction.

2 | -------------------------------------------------------------------------------- /resources/views/mail/order-shipped.blade.php: -------------------------------------------------------------------------------- 1 | thanks for sharing 2 | -------------------------------------------------------------------------------- /resources/views/mail/test-email.blade.php: -------------------------------------------------------------------------------- 1 | test email 2 | -------------------------------------------------------------------------------- /resources/views/mail/user-activation.blade.php: -------------------------------------------------------------------------------- 1 | hash : {{$hash}} 2 | -------------------------------------------------------------------------------- /resources/views/mail/user-verifying-email.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aligurbuz/laravel-api/ec2ab5a90f8df60e8b3a54eb982f55a5d74a78c6/resources/views/mail/user-verifying-email.blade.php -------------------------------------------------------------------------------- /resources/views/pdf/pdf.blade.php: -------------------------------------------------------------------------------- 1 |

Test Pdf

2 | -------------------------------------------------------------------------------- /routes/api/definition.php: -------------------------------------------------------------------------------- 1 | group(function () { 7 | 8 | Route::get('/genders', [GendersController::class, 'get']); 9 | Route::post('/genders', [GendersController::class, 'create']); 10 | Route::put('/genders', [GendersController::class, 'update']); 11 | }); 12 | -------------------------------------------------------------------------------- /routes/api/gate.php: -------------------------------------------------------------------------------- 1 | group(function () { 8 | 9 | Route::get('/permissions', [PermissionsController::class, 'get']); 10 | Route::post('/permissions', [PermissionsController::class, 'create']); 11 | Route::put('/permissions', [PermissionsController::class, 'update']); 12 | 13 | Route::get('/roles', [RolesController::class, 'get']); 14 | Route::post('/roles', [RolesController::class, 'create']); 15 | Route::put('/roles', [RolesController::class, 'update']); 16 | 17 | }); 18 | -------------------------------------------------------------------------------- /routes/api/localization.php: -------------------------------------------------------------------------------- 1 | group(function () { 8 | 9 | Route::get('/', [LocalizationsController::class, 'get']); 10 | Route::post('/', [LocalizationsController::class, 'create']); 11 | Route::put('/', [LocalizationsController::class, 'update']); 12 | 13 | Route::get('/language', [LanguageController::class, 'get']); 14 | Route::post('/language', [LanguageController::class, 'create']); 15 | Route::put('/language', [LanguageController::class, 'update']); 16 | }); 17 | -------------------------------------------------------------------------------- /routes/api/localizations.php: -------------------------------------------------------------------------------- 1 | group(function () { 7 | 8 | Route::get('/front', [FrontController::class, 'get']); 9 | Route::post('/front', [FrontController::class, 'create']); 10 | Route::put('/front', [FrontController::class, 'update']); 11 | }); 12 | -------------------------------------------------------------------------------- /routes/api/password.php: -------------------------------------------------------------------------------- 1 | group(function () { 7 | 8 | Route::get('/changes', [ChangesController::class, 'get']); 9 | Route::post('/changes', [ChangesController::class, 'create']); 10 | Route::put('/changes', [ChangesController::class, 'update']); 11 | }); 12 | -------------------------------------------------------------------------------- /routes/api/support.php: -------------------------------------------------------------------------------- 1 | group(function () { 8 | 9 | //Route::get('/crypt', [CryptController::class,'get']); 10 | Route::post('/crypt', [CryptController::class, 'create']); 11 | //Route::put('/crypt', [CryptController::class,'update']); 12 | 13 | //Route::get('/dummy', [DummyController::class,'get']); 14 | Route::post('/dummy', [DummyController::class, 'create']); 15 | //Route::put('/dummy', [DummyController::class,'update']); 16 | }); 17 | -------------------------------------------------------------------------------- /routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int)$id; 18 | }); 19 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 19 | })->purpose('Display an inspiring quote'); 20 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__ . '/public' . $uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__ . '/public/index.php'; 22 | -------------------------------------------------------------------------------- /server.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sudo chmod +x docker-install.sh 3 | ./docker-install.sh 4 | sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 5 | sudo chmod +x /usr/local/bin/docker-compose 6 | docker-compose --version 7 | sudo docker-compose up -d --build 8 | -------------------------------------------------------------------------------- /server/builds/node/Dockerfile: -------------------------------------------------------------------------------- 1 | # install latest node 2 | # https://hub.docker.com/_/node/ 3 | FROM node:latest 4 | RUN apt-get update 5 | RUN apt-get install -y sudo 6 | 7 | # create and set app directory 8 | RUN mkdir -p /usr/src/app/ 9 | WORKDIR /usr/src/app/ 10 | 11 | # install app dependencies 12 | # this is done before the following COPY command to take advantage of layer caching 13 | RUN npm install 14 | RUN npm i pm2 -g 15 | CMD ["pm2-runtime", "server.js"] -------------------------------------------------------------------------------- /server/volumes/nginx.conf: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | index index.php index.html; 4 | server_name localhost; 5 | error_log /var/log/nginx/error.log; 6 | access_log /var/log/nginx/access.log; 7 | root /var/www/html/app/public; 8 | 9 | 10 | location / { 11 | try_files $uri $uri/ /index.php$is_args$args; 12 | } 13 | 14 | location ~ \.php$ { 15 | try_files $uri =404; 16 | fastcgi_split_path_info ^(.+\.php)(/.+)$; 17 | fastcgi_pass php:9000; 18 | fastcgi_index index.php; 19 | include fastcgi_params; 20 | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 21 | fastcgi_param PATH_INFO $fastcgi_path_info; 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/clockwork/.gitignore: -------------------------------------------------------------------------------- 1 | *.json 2 | *.json.gz 3 | index 4 | -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | compiled.php 2 | config.php 3 | down 4 | events.scanned.php 5 | maintenance.php 6 | routes.php 7 | routes.scanned.php 8 | schedule-* 9 | services.json 10 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !data/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/cache/data/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 19 | 20 | return $app; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tests/Feature/BusinessTest.php: -------------------------------------------------------------------------------- 1 | assertTrue(true, true); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tests/Unit/ExampleTest.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /webpack.mix.js: -------------------------------------------------------------------------------- 1 | const mix = require('laravel-mix'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel applications. By default, we are compiling the CSS 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js('resources/js/app.js', 'public/js') 15 | .postCss('resources/css/app.css', 'public/css', [ 16 | // 17 | ]); 18 | --------------------------------------------------------------------------------