generator-folklore 3.0.3 → 3.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/lib/generators/app/index.js +3 -51
  2. package/lib/generators/babel/index.js +28 -101
  3. package/lib/generators/babel/templates/config.js +16 -0
  4. package/lib/generators/browserslist/index.js +4 -9
  5. package/lib/generators/build/index.js +40 -29
  6. package/lib/generators/cli/index.js +92 -0
  7. package/lib/generators/cli/templates/cli.js +22 -0
  8. package/lib/generators/cli/templates/commands/default.js +16 -0
  9. package/lib/generators/docs/index.js +1 -2
  10. package/lib/generators/editorconfig/index.js +12 -22
  11. package/lib/generators/eslint/index.js +12 -13
  12. package/lib/generators/{html → html-project}/index.js +60 -73
  13. package/lib/generators/{html → html-project}/templates/folklore.png +0 -0
  14. package/lib/generators/{html → html-project}/templates/gitignore +0 -0
  15. package/lib/generators/{html → html-project}/templates/index.html.ejs +4 -1
  16. package/lib/generators/intl/index.js +93 -0
  17. package/lib/generators/laravel/index.js +5 -5
  18. package/lib/generators/laravel-mediatheque/index.js +133 -0
  19. package/lib/generators/laravel-mediatheque/templates/app/Models/Media.php +9 -0
  20. package/lib/generators/laravel-mediatheque/templates/app/Models/MediaFile.php +9 -0
  21. package/lib/generators/laravel-panneau/index.js +49 -28
  22. package/lib/generators/laravel-panneau/templates/app/Contracts/Repositories/Pages.php +19 -0
  23. package/lib/generators/laravel-panneau/templates/app/Contracts/Resources/Blocks/Text.php +10 -0
  24. package/lib/generators/laravel-panneau/templates/app/Contracts/Resources/Page.php +10 -0
  25. package/lib/generators/laravel-panneau/templates/app/Contracts/Resources/Pages/Home.php +9 -0
  26. package/lib/generators/laravel-panneau/templates/app/Http/Resources/BlockResource.php +37 -0
  27. package/lib/generators/laravel-panneau/templates/app/Http/Resources/BlocksCollection.php +8 -0
  28. package/lib/generators/laravel-panneau/templates/app/Http/Resources/PageResource.php +47 -0
  29. package/lib/generators/laravel-panneau/templates/app/Http/Resources/PagesCollection.php +10 -0
  30. package/lib/generators/laravel-panneau/templates/app/Models/Block.php +3 -13
  31. package/lib/generators/laravel-panneau/templates/app/Models/Page.php +3 -60
  32. package/lib/generators/laravel-panneau/templates/app/Panneau/Composers/AppComposer.php +50 -0
  33. package/lib/generators/laravel-panneau/templates/app/Panneau/Fields/Block.php +22 -0
  34. package/lib/generators/laravel-panneau/templates/app/Panneau/Fields/Blocks.php +87 -0
  35. package/lib/generators/laravel-panneau/templates/app/Panneau/Fields/Page.php +51 -0
  36. package/lib/generators/laravel-panneau/templates/app/Panneau/Fields/PageSlug.php +34 -0
  37. package/lib/generators/laravel-panneau/templates/app/Panneau/Fields/PageSlugLocalized.php +18 -0
  38. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Controllers/AccountController.php +41 -0
  39. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Controllers/Controller.php +19 -0
  40. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Controllers/HomeController.php +16 -0
  41. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Controllers/PagesController.php +24 -0
  42. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Controllers/UploadController.php +27 -0
  43. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Controllers/UsersController.php +32 -0
  44. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Requests/AccountUpdateRequest.php +29 -0
  45. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Requests/UploadRequest.php +29 -0
  46. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Resources/BlockResource.php +39 -0
  47. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Resources/BlocksCollection.php +8 -0
  48. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Resources/PageResource.php +56 -0
  49. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Resources/PagesCollection.php +10 -0
  50. package/lib/generators/laravel-panneau/templates/app/Panneau/Http/Resources/UserResource.php +24 -0
  51. package/lib/generators/laravel-panneau/templates/app/Panneau/PanneauServiceProvider.php +48 -0
  52. package/lib/generators/laravel-panneau/templates/app/Panneau/Policies/PanneauPolicy.php +32 -0
  53. package/lib/generators/laravel-panneau/templates/app/Panneau/Resources/Blocks/BlockWithBlocks.php +110 -0
  54. package/lib/generators/laravel-panneau/templates/app/Panneau/Resources/Blocks/TextBlock.php +27 -0
  55. package/lib/generators/laravel-panneau/templates/app/Panneau/Resources/Blocks.php +42 -0
  56. package/lib/generators/laravel-panneau/templates/app/Panneau/Resources/Pages/Page.php +28 -0
  57. package/lib/generators/laravel-panneau/templates/app/Panneau/Resources/Pages.php +92 -0
  58. package/lib/generators/laravel-panneau/templates/app/Panneau/Resources/Users.php +57 -0
  59. package/lib/generators/laravel-panneau/templates/app/Repositories/Pages.php +42 -0
  60. package/lib/generators/laravel-panneau/templates/app/Resources/Blocks/TextBlock.php +14 -0
  61. package/lib/generators/laravel-panneau/templates/app/Resources/Page.php +10 -0
  62. package/lib/generators/laravel-panneau/templates/app/Resources/Pages/HomePage.php +10 -0
  63. package/lib/generators/laravel-panneau/templates/app.blade.php +8 -0
  64. package/lib/generators/laravel-panneau/templates/index.js +32 -0
  65. package/lib/generators/laravel-panneau/templates/lang/en/panneau.php +62 -0
  66. package/lib/generators/laravel-panneau/templates/lang/fr/panneau.php +62 -0
  67. package/lib/generators/laravel-panneau/templates/layout.blade.php +17 -48
  68. package/lib/generators/laravel-panneau/templates/resources/assets/js/components/Panneau.jsx +68 -0
  69. package/lib/generators/{js/templates/src/lib/.gitkeep → laravel-panneau/templates/resources/assets/js/components/panneau/fields/PageSlug.jsx} +0 -0
  70. package/lib/generators/laravel-panneau/templates/resources/assets/js/components/panneau/fields/PageSlugLocalized.jsx +43 -0
  71. package/lib/generators/laravel-panneau/templates/resources/assets/js/components/panneau/fields/index.js +2 -0
  72. package/lib/generators/laravel-panneau/templates/resources/assets/styles/panneau.scss +2 -0
  73. package/lib/generators/laravel-panneau/templates/routes.php +30 -0
  74. package/lib/generators/laravel-project/index.js +504 -0
  75. package/lib/generators/laravel-project/templates/env +41 -0
  76. package/lib/generators/laravel-project/templates/laravel/app/Composers/AppComposer.php +48 -0
  77. package/lib/generators/laravel-project/templates/laravel/app/Composers/IntlComposer.php +10 -0
  78. package/lib/generators/laravel-project/templates/laravel/app/Composers/MetaComposer.php +48 -0
  79. package/lib/generators/laravel-project/templates/laravel/app/Composers/RoutesComposer.php +19 -0
  80. package/lib/generators/laravel-project/templates/laravel/app/Contracts/Resources/User.php +10 -0
  81. package/lib/generators/laravel-project/templates/laravel/app/Http/Controllers/HomeController.php +18 -0
  82. package/lib/generators/laravel-project/templates/laravel/app/Http/Middleware/TrustProxies.php +28 -0
  83. package/lib/generators/laravel-project/templates/laravel/app/Http/Resources/UserResource.php +21 -0
  84. package/lib/generators/laravel-project/templates/laravel/app/Models/User.php +50 -0
  85. package/lib/generators/laravel-project/templates/laravel/app/Providers/AppServiceProvider.php +45 -0
  86. package/lib/generators/laravel-project/templates/laravel/app/Providers/RouteServiceProvider.php +64 -0
  87. package/lib/generators/laravel-project/templates/laravel/app/Providers/ViewServiceProvider.php +33 -0
  88. package/lib/generators/laravel-project/templates/laravel/app/Repositories/Users.php +36 -0
  89. package/lib/generators/laravel-project/templates/laravel/app/Resources/User.php +11 -0
  90. package/lib/generators/laravel-project/templates/laravel/config/app.php +216 -0
  91. package/lib/generators/laravel-project/templates/laravel/config/auth.php +116 -0
  92. package/lib/generators/laravel-project/templates/laravel/config/services.php +39 -0
  93. package/lib/generators/laravel-project/templates/laravel/lang/en/content.php +5 -0
  94. package/lib/generators/laravel-project/templates/laravel/lang/en/errors.php +17 -0
  95. package/lib/generators/laravel-project/templates/laravel/lang/en/meta.php +11 -0
  96. package/lib/generators/laravel-project/templates/laravel/lang/en/routes.php +4 -0
  97. package/lib/generators/laravel-project/templates/laravel/lang/fr/auth.php +19 -0
  98. package/lib/generators/laravel-project/templates/laravel/lang/fr/content.php +5 -0
  99. package/lib/generators/laravel-project/templates/laravel/lang/fr/errors.php +17 -0
  100. package/lib/generators/laravel-project/templates/laravel/lang/fr/meta.php +11 -0
  101. package/lib/generators/laravel-project/templates/laravel/lang/fr/pagination.php +19 -0
  102. package/lib/generators/laravel-project/templates/laravel/lang/fr/passwords.php +22 -0
  103. package/lib/generators/laravel-project/templates/laravel/lang/fr/routes.php +12 -0
  104. package/lib/generators/laravel-project/templates/laravel/lang/fr/validation.php +146 -0
  105. package/lib/generators/{js/templates/styles → laravel-project/templates/laravel/resources/assets/fonts}/.gitkeep +0 -0
  106. package/lib/generators/{laravel-panneau/templates/app/Schemas/Fields → laravel-project/templates/laravel/resources/assets/img}/.gitkeep +0 -0
  107. package/lib/generators/laravel-project/templates/laravel/resources/assets/img/folklore.png +0 -0
  108. package/lib/generators/laravel-project/templates/laravel/resources/views/analytics/body.blade.php +3 -0
  109. package/lib/generators/laravel-project/templates/laravel/resources/views/analytics/gpt.blade.php +16 -0
  110. package/lib/generators/laravel-project/templates/laravel/resources/views/analytics/head.blade.php +1 -0
  111. package/lib/generators/laravel-project/templates/laravel/resources/views/app.blade.php +8 -0
  112. package/lib/generators/laravel-project/templates/laravel/resources/views/errors/401.blade.php +8 -0
  113. package/lib/generators/laravel-project/templates/laravel/resources/views/errors/403.blade.php +8 -0
  114. package/lib/generators/laravel-project/templates/laravel/resources/views/errors/404.blade.php +8 -0
  115. package/lib/generators/laravel-project/templates/laravel/resources/views/errors/500.blade.php +8 -0
  116. package/lib/generators/laravel-project/templates/laravel/resources/views/layout.blade.php +33 -0
  117. package/lib/generators/laravel-project/templates/laravel/resources/views/meta/all.blade.php +4 -0
  118. package/lib/generators/laravel-project/templates/laravel/resources/views/meta/base.blade.php +11 -0
  119. package/lib/generators/laravel-project/templates/laravel/resources/views/meta/facebook.blade.php +4 -0
  120. package/lib/generators/laravel-project/templates/laravel/resources/views/meta/opengraph.blade.php +9 -0
  121. package/lib/generators/laravel-project/templates/laravel/resources/views/meta/twitter.blade.php +5 -0
  122. package/lib/generators/laravel-project/templates/laravel/routes/web.php +12 -0
  123. package/lib/generators/lerna-package/index.js +1 -3
  124. package/lib/generators/lerna-repository/index.js +1 -3
  125. package/lib/generators/node-project/index.js +164 -0
  126. package/lib/generators/node-project/templates/index.js +0 -0
  127. package/lib/generators/npm-package/index.js +3 -5
  128. package/lib/generators/prettier/index.js +19 -6
  129. package/lib/generators/prettier/templates/prettierrc.json +3 -1
  130. package/lib/generators/{js → react-app}/index.js +22 -52
  131. package/lib/generators/{js → react-app}/templates/_package.json +0 -0
  132. package/lib/generators/react-app/templates/index.js +23 -0
  133. package/lib/generators/react-app/templates/src/components/App.jsx +46 -0
  134. package/lib/generators/react-app/templates/src/components/Container.jsx +40 -0
  135. package/lib/generators/{js → react-app}/templates/src/components/buttons/Button.jsx +4 -18
  136. package/lib/generators/react-app/templates/src/components/layouts/Main.jsx +27 -0
  137. package/lib/generators/react-app/templates/src/components/menus/Menu.jsx +62 -0
  138. package/lib/generators/{js → react-app}/templates/src/components/pages/Error.jsx +10 -14
  139. package/lib/generators/react-app/templates/src/components/pages/Home.jsx +32 -0
  140. package/lib/generators/{js → react-app}/templates/src/components/partials/PageMeta.jsx +11 -11
  141. package/lib/generators/{js → react-app}/templates/src/contexts/KeysContext.jsx +0 -0
  142. package/lib/generators/react-app/templates/src/lib/.gitkeep +0 -0
  143. package/lib/generators/{js → react-app}/templates/src/lib/PropTypes.js +0 -0
  144. package/lib/generators/{js → react-app}/templates/src/lib/utils.js +0 -0
  145. package/lib/generators/react-app/templates/src/polyfills/index.js +6 -0
  146. package/lib/generators/react-app/templates/src/polyfills/intl-en.js +2 -0
  147. package/lib/generators/react-app/templates/src/polyfills/intl-fr.js +2 -0
  148. package/lib/generators/react-app/templates/src/polyfills/should.js +14 -0
  149. package/lib/generators/react-app/templates/styles/.gitkeep +0 -0
  150. package/lib/generators/{js/templates/styles/buttons/button.scss → react-app/templates/styles/buttons/button.module.scss} +1 -0
  151. package/lib/generators/{js/templates/styles/layouts/main.scss → react-app/templates/styles/layouts/main.module.scss} +0 -0
  152. package/lib/generators/{js/templates/styles/menus/menu.scss → react-app/templates/styles/menus/menu.module.scss} +0 -0
  153. package/lib/generators/{js/templates/styles/pages/error.scss → react-app/templates/styles/pages/error.module.scss} +0 -0
  154. package/lib/generators/{js/templates/styles/pages/home.scss → react-app/templates/styles/pages/home.module.scss} +0 -0
  155. package/lib/generators/rollup/index.js +54 -0
  156. package/lib/generators/rollup/templates/config.js +50 -0
  157. package/lib/generators/scss/index.js +3 -16
  158. package/lib/generators/scss/templates/{main.scss → styles.scss} +0 -0
  159. package/lib/generators/server/index.js +81 -0
  160. package/lib/generators/server/templates/server.js +59 -0
  161. package/lib/generators/storybook/index.js +1 -7
  162. package/lib/generators/stylelint/index.js +13 -14
  163. package/lib/lib/generator.js +9 -0
  164. package/lib/lib/utils.js +17 -0
  165. package/package.json +2 -2
  166. package/lib/generators/babel/templates/babel-preset-react.js +0 -7
  167. package/lib/generators/babel/templates/babel-preset.js +0 -57
  168. package/lib/generators/babel/templates/babelrc +0 -5
  169. package/lib/generators/babel/templates/utils/processScss.js +0 -10
  170. package/lib/generators/babel/templates/utils/transformRequireIgnore.js +0 -80
  171. package/lib/generators/html/templates/index.js +0 -9
  172. package/lib/generators/html/templates/root.js +0 -23
  173. package/lib/generators/html/templates/utils.js +0 -7
  174. package/lib/generators/js/templates/browserslistrc +0 -9
  175. package/lib/generators/js/templates/config.js +0 -33
  176. package/lib/generators/js/templates/index.js +0 -41
  177. package/lib/generators/js/templates/src/actions/LayoutActions.js +0 -12
  178. package/lib/generators/js/templates/src/actions/SiteActions.js +0 -22
  179. package/lib/generators/js/templates/src/components/App.jsx +0 -52
  180. package/lib/generators/js/templates/src/components/Root.jsx +0 -70
  181. package/lib/generators/js/templates/src/components/layouts/Main.jsx +0 -52
  182. package/lib/generators/js/templates/src/components/menus/Menu.jsx +0 -60
  183. package/lib/generators/js/templates/src/components/messages/Success.jsx +0 -36
  184. package/lib/generators/js/templates/src/components/pages/Home.jsx +0 -32
  185. package/lib/generators/js/templates/src/components/partials/Label.jsx +0 -32
  186. package/lib/generators/js/templates/src/reducers/LayoutReducer.js +0 -32
  187. package/lib/generators/js/templates/src/reducers/SiteReducer.js +0 -36
  188. package/lib/generators/js/templates/src/reducers/index.js +0 -7
  189. package/lib/generators/js/templates/src/vendor/polyfills/intl-en.js +0 -2
  190. package/lib/generators/js/templates/src/vendor/polyfills/intl-fr.js +0 -2
  191. package/lib/generators/laravel-panneau/templates/_composer.json +0 -6
  192. package/lib/generators/laravel-panneau/templates/_package.json +0 -11
  193. package/lib/generators/laravel-panneau/templates/app/Http/Controllers/Panneau/HomeController.php +0 -14
  194. package/lib/generators/laravel-panneau/templates/app/Http/Controllers/Panneau/PagesController.php +0 -11
  195. package/lib/generators/laravel-panneau/templates/app/Models/Mediatheque/File.php +0 -13
  196. package/lib/generators/laravel-panneau/templates/app/Models/Mediatheque/Picture.php +0 -13
  197. package/lib/generators/laravel-panneau/templates/app/Models/Mediatheque/Video.php +0 -34
  198. package/lib/generators/laravel-panneau/templates/app/Providers/PanneauServiceProvider.php +0 -23
  199. package/lib/generators/laravel-panneau/templates/app/Reducers/SlugExtractReducer.php +0 -18
  200. package/lib/generators/laravel-panneau/templates/app/Resources/Pages.php +0 -54
  201. package/lib/generators/laravel-panneau/templates/app/Schemas/Blocks/Base.php +0 -22
  202. package/lib/generators/laravel-panneau/templates/app/Schemas/Bubbles/Base.php +0 -22
  203. package/lib/generators/laravel-panneau/templates/app/Schemas/Pages/Base.php +0 -36
  204. package/lib/generators/laravel-panneau/templates/resources/lang/en/panneau.php +0 -12
  205. package/lib/generators/laravel-panneau/templates/resources/lang/fr/panneau.php +0 -12
@@ -0,0 +1,28 @@
1
+ <?php
2
+
3
+ namespace App\Http\Middleware;
4
+
5
+ use Illuminate\Http\Middleware\TrustProxies as Middleware;
6
+ use Illuminate\Http\Request;
7
+
8
+ class TrustProxies extends Middleware
9
+ {
10
+ /**
11
+ * The trusted proxies for this application.
12
+ *
13
+ * @var array<int, string>|string|null
14
+ */
15
+ protected $proxies = '*';
16
+
17
+ /**
18
+ * The headers that should be used to detect proxies.
19
+ *
20
+ * @var int
21
+ */
22
+ protected $headers =
23
+ Request::HEADER_X_FORWARDED_FOR |
24
+ Request::HEADER_X_FORWARDED_HOST |
25
+ Request::HEADER_X_FORWARDED_PORT |
26
+ Request::HEADER_X_FORWARDED_PROTO |
27
+ Request::HEADER_X_FORWARDED_AWS_ELB;
28
+ }
@@ -0,0 +1,21 @@
1
+ <?php
2
+
3
+ namespace App\Http\Resources;
4
+
5
+ use Illuminate\Http\Resources\Json\JsonResource;
6
+
7
+ class UserResource extends JsonResource
8
+ {
9
+ /**
10
+ * Transform the resource into an array.
11
+ *
12
+ * @param \Illuminate\Http\Request $request
13
+ * @return array|\Illuminate\Contracts\Support\Arrayable|\JsonSerializable
14
+ */
15
+ public function toArray($request)
16
+ {
17
+ return [
18
+ 'id' => $this->id(),
19
+ ];
20
+ }
21
+ }
@@ -0,0 +1,50 @@
1
+ <?php
2
+
3
+ namespace App\Models;
4
+
5
+ // use Illuminate\Contracts\Auth\MustVerifyEmail;
6
+ use Folklore\Models\User as BaseUser;
7
+ use Illuminate\Database\Eloquent\Factories\HasFactory;
8
+ use Laravel\Sanctum\HasApiTokens;
9
+ use App\Contracts\Resources\User as UserContract;
10
+ use App\Resources\User as UserResource;
11
+
12
+ class User extends BaseUser
13
+ {
14
+ use HasApiTokens, HasFactory;
15
+
16
+ /**
17
+ * The attributes that are mass assignable.
18
+ *
19
+ * @var array<int, string>
20
+ */
21
+ protected $fillable = [
22
+ 'name',
23
+ 'email',
24
+ 'password',
25
+ ];
26
+
27
+ /**
28
+ * The attributes that should be hidden for serialization.
29
+ *
30
+ * @var array<int, string>
31
+ */
32
+ protected $hidden = [
33
+ 'password',
34
+ 'remember_token',
35
+ ];
36
+
37
+ /**
38
+ * The attributes that should be cast.
39
+ *
40
+ * @var array<string, string>
41
+ */
42
+ protected $casts = [
43
+ 'email_verified_at' => 'datetime',
44
+ ];
45
+
46
+ public function toResource(): UserContract
47
+ {
48
+ return new UserResource($this);
49
+ }
50
+ }
@@ -0,0 +1,45 @@
1
+ <?php
2
+
3
+ namespace App\Providers;
4
+
5
+ use Illuminate\Support\ServiceProvider;
6
+ use Illuminate\Support\Facades\Schema;
7
+ use Illuminate\Http\Resources\Json\JsonResource;
8
+ use Illuminate\Http\Request;
9
+
10
+ class AppServiceProvider extends ServiceProvider
11
+ {
12
+ /**
13
+ * Bootstrap any application services.
14
+ *
15
+ * @return void
16
+ */
17
+ public function boot()
18
+ {
19
+ Schema::defaultStringLength(191);
20
+ JsonResource::withoutWrapping();
21
+
22
+ // Determine site from request
23
+ Request::macro('site', function () {
24
+ return null;
25
+ });
26
+ }
27
+
28
+ /**
29
+ * Register any application services.
30
+ *
31
+ * @return void
32
+ */
33
+ public function register()
34
+ {
35
+ $this->registerRepositories();
36
+ }
37
+
38
+ protected function registerRepositories()
39
+ {
40
+ $this->app->bind(
41
+ \Folklore\Contracts\Repositories\Users::class,
42
+ \App\Repositories\Users::class
43
+ );
44
+ }
45
+ }
@@ -0,0 +1,64 @@
1
+ <?php
2
+
3
+ namespace App\Providers;
4
+
5
+ use Illuminate\Cache\RateLimiting\Limit;
6
+ use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
7
+ use Illuminate\Http\Request;
8
+ use Illuminate\Support\Facades\RateLimiter;
9
+ use Illuminate\Support\Facades\Route;
10
+
11
+ class RouteServiceProvider extends ServiceProvider
12
+ {
13
+ /**
14
+ * The path to the "home" route for your application.
15
+ *
16
+ * Typically, users are redirected here after authentication.
17
+ *
18
+ * @var string
19
+ */
20
+ public const HOME = '/home';
21
+
22
+ /**
23
+ * Define your route model bindings, pattern filters, and other route configuration.
24
+ *
25
+ * @return void
26
+ */
27
+ public function boot()
28
+ {
29
+ $this->configureRateLimiting();
30
+
31
+ $this->bootPatterns();
32
+
33
+ $this->bootBindings();
34
+
35
+ $this->routes(function () {
36
+ Route::middleware('api')
37
+ ->prefix('api')
38
+ ->group(base_path('routes/api.php'));
39
+
40
+ Route::middleware('web')
41
+ ->group(base_path('routes/web.php'));
42
+ });
43
+ }
44
+
45
+ /**
46
+ * Configure the rate limiters for the application.
47
+ *
48
+ * @return void
49
+ */
50
+ protected function configureRateLimiting()
51
+ {
52
+ RateLimiter::for('api', function (Request $request) {
53
+ return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
54
+ });
55
+ }
56
+
57
+ protected function bootPatterns()
58
+ {
59
+ }
60
+
61
+ protected function bootBindings()
62
+ {
63
+ }
64
+ }
@@ -0,0 +1,33 @@
1
+ <?php
2
+
3
+ namespace App\Providers;
4
+
5
+ use Illuminate\Support\ServiceProvider;
6
+ use Illuminate\Contracts\View\Factory as ViewFactory;
7
+
8
+ class ViewServiceProvider extends ServiceProvider
9
+ {
10
+ /**
11
+ * Register any application services.
12
+ *
13
+ * @return void
14
+ */
15
+ public function register()
16
+ {
17
+ //
18
+ }
19
+
20
+ /**
21
+ * Bootstrap any application services.
22
+ *
23
+ * @return void
24
+ */
25
+ public function boot()
26
+ {
27
+ $view = $this->app[ViewFactory::class];
28
+ $view->composer('app', \App\Composers\IntlComposer::class);
29
+ $view->composer('app', \App\Composers\RoutesComposer::class);
30
+ $view->composer('app', \App\Composers\AppComposer::class);
31
+ $view->composer('meta.*', \App\Composers\MetaComposer::class);
32
+ }
33
+ }
@@ -0,0 +1,36 @@
1
+ <?php
2
+
3
+ namespace App\Repositories;
4
+
5
+ use Folklore\Repositories\Users as BaseUsers;
6
+ use Illuminate\Database\Eloquent\Model;
7
+ use App\Models\User as UserModel;
8
+ use App\Contracts\Resources\User as UserContract;
9
+
10
+ class Users extends BaseUsers
11
+ {
12
+ protected function newModel(): Model
13
+ {
14
+ return new UserModel();
15
+ }
16
+
17
+ public function findById(string $id): ?UserContract
18
+ {
19
+ return parent::findById($id);
20
+ }
21
+
22
+ public function findByEmail(string $email): ?UserContract
23
+ {
24
+ return parent::findByEmail($email);
25
+ }
26
+
27
+ public function create(array $data): UserContract
28
+ {
29
+ return parent::create($data);
30
+ }
31
+
32
+ public function update(string $id, array $data): ?UserContract
33
+ {
34
+ return parent::update($id, $data);
35
+ }
36
+ }
@@ -0,0 +1,11 @@
1
+ <?php
2
+
3
+ namespace App\Resources;
4
+
5
+ use Folklore\Resources\User as BaseUser;
6
+ use App\Contracts\Resources\User as UserContract;
7
+
8
+ class User extends BaseUser implements UserContract
9
+ {
10
+
11
+ }
@@ -0,0 +1,216 @@
1
+ <?php
2
+
3
+ use Illuminate\Support\Facades\Facade;
4
+
5
+ return [
6
+
7
+ /*
8
+ |--------------------------------------------------------------------------
9
+ | Application Name
10
+ |--------------------------------------------------------------------------
11
+ |
12
+ | This value is the name of your application. This value is used when the
13
+ | framework needs to place the application's name in a notification or
14
+ | any other location as required by the application or its packages.
15
+ |
16
+ */
17
+
18
+ 'name' => env('APP_NAME', '<%= options.project_name %>'),
19
+
20
+ /*
21
+ |--------------------------------------------------------------------------
22
+ | Application Environment
23
+ |--------------------------------------------------------------------------
24
+ |
25
+ | This value determines the "environment" your application is currently
26
+ | running in. This may determine how you prefer to configure various
27
+ | services the application utilizes. Set this in your ".env" file.
28
+ |
29
+ */
30
+
31
+ 'env' => env('APP_ENV', 'production'),
32
+
33
+ /*
34
+ |--------------------------------------------------------------------------
35
+ | Application Debug Mode
36
+ |--------------------------------------------------------------------------
37
+ |
38
+ | When your application is in debug mode, detailed error messages with
39
+ | stack traces will be shown on every error that occurs within your
40
+ | application. If disabled, a simple generic error page is shown.
41
+ |
42
+ */
43
+
44
+ 'debug' => (bool) env('APP_DEBUG', false),
45
+
46
+ /*
47
+ |--------------------------------------------------------------------------
48
+ | Application URL
49
+ |--------------------------------------------------------------------------
50
+ |
51
+ | This URL is used by the console to properly generate URLs when using
52
+ | the Artisan command line tool. You should set this to the root of
53
+ | your application so that it is used when running Artisan tasks.
54
+ |
55
+ */
56
+
57
+ 'url' => env('APP_URL', '<%= options.project_url %>'),
58
+
59
+ 'asset_url' => env('ASSET_URL'),
60
+
61
+ /*
62
+ |--------------------------------------------------------------------------
63
+ | Application Timezone
64
+ |--------------------------------------------------------------------------
65
+ |
66
+ | Here you may specify the default timezone for your application, which
67
+ | will be used by the PHP date and date-time functions. We have gone
68
+ | ahead and set this to a sensible default for you out of the box.
69
+ |
70
+ */
71
+
72
+ 'timezone' => 'America/Montreal',
73
+
74
+ /*
75
+ |--------------------------------------------------------------------------
76
+ | Application Locale Configuration
77
+ |--------------------------------------------------------------------------
78
+ |
79
+ | The application locale determines the default locale that will be used
80
+ | by the translation service provider. You are free to set this value
81
+ | to any of the locales which will be supported by the application.
82
+ |
83
+ */
84
+
85
+ 'locale' => 'en',
86
+
87
+ /*
88
+ |--------------------------------------------------------------------------
89
+ | Application Fallback Locale
90
+ |--------------------------------------------------------------------------
91
+ |
92
+ | The fallback locale determines the locale to use when the current one
93
+ | is not available. You may change the value to correspond to any of
94
+ | the language folders that are provided through your application.
95
+ |
96
+ */
97
+
98
+ 'fallback_locale' => 'en',
99
+
100
+ /*
101
+ |--------------------------------------------------------------------------
102
+ | Faker Locale
103
+ |--------------------------------------------------------------------------
104
+ |
105
+ | This locale will be used by the Faker PHP library when generating fake
106
+ | data for your database seeds. For example, this will be used to get
107
+ | localized telephone numbers, street address information and more.
108
+ |
109
+ */
110
+
111
+ 'faker_locale' => 'en_US',
112
+
113
+ /*
114
+ |--------------------------------------------------------------------------
115
+ | Encryption Key
116
+ |--------------------------------------------------------------------------
117
+ |
118
+ | This key is used by the Illuminate encrypter service and should be set
119
+ | to a random, 32 character string, otherwise these encrypted strings
120
+ | will not be safe. Please do this before deploying an application!
121
+ |
122
+ */
123
+
124
+ 'key' => env('APP_KEY'),
125
+
126
+ 'cipher' => 'AES-256-CBC',
127
+
128
+ /*
129
+ |--------------------------------------------------------------------------
130
+ | Maintenance Mode Driver
131
+ |--------------------------------------------------------------------------
132
+ |
133
+ | These configuration options determine the driver used to determine and
134
+ | manage Laravel's "maintenance mode" status. The "cache" driver will
135
+ | allow maintenance mode to be controlled across multiple machines.
136
+ |
137
+ | Supported drivers: "file", "cache"
138
+ |
139
+ */
140
+
141
+ 'maintenance' => [
142
+ 'driver' => 'file',
143
+ // 'store' => 'redis',
144
+ ],
145
+
146
+ /*
147
+ |--------------------------------------------------------------------------
148
+ | Autoloaded Service Providers
149
+ |--------------------------------------------------------------------------
150
+ |
151
+ | The service providers listed here will be automatically loaded on the
152
+ | request to your application. Feel free to add your own services to
153
+ | this array to grant expanded functionality to your applications.
154
+ |
155
+ */
156
+
157
+ 'providers' => [
158
+
159
+ /*
160
+ * Laravel Framework Service Providers...
161
+ */
162
+ Illuminate\Auth\AuthServiceProvider::class,
163
+ Illuminate\Broadcasting\BroadcastServiceProvider::class,
164
+ Illuminate\Bus\BusServiceProvider::class,
165
+ Illuminate\Cache\CacheServiceProvider::class,
166
+ Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
167
+ Illuminate\Cookie\CookieServiceProvider::class,
168
+ Illuminate\Database\DatabaseServiceProvider::class,
169
+ Illuminate\Encryption\EncryptionServiceProvider::class,
170
+ Illuminate\Filesystem\FilesystemServiceProvider::class,
171
+ Illuminate\Foundation\Providers\FoundationServiceProvider::class,
172
+ Illuminate\Hashing\HashServiceProvider::class,
173
+ Illuminate\Mail\MailServiceProvider::class,
174
+ Illuminate\Notifications\NotificationServiceProvider::class,
175
+ Illuminate\Pagination\PaginationServiceProvider::class,
176
+ Illuminate\Pipeline\PipelineServiceProvider::class,
177
+ Illuminate\Queue\QueueServiceProvider::class,
178
+ Illuminate\Redis\RedisServiceProvider::class,
179
+ Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
180
+ Illuminate\Session\SessionServiceProvider::class,
181
+ Illuminate\Translation\TranslationServiceProvider::class,
182
+ Illuminate\Validation\ValidationServiceProvider::class,
183
+ Illuminate\View\ViewServiceProvider::class,
184
+
185
+ /*
186
+ * Package Service Providers...
187
+ */
188
+
189
+ /*
190
+ * Application Service Providers...
191
+ */
192
+ App\Providers\AppServiceProvider::class,
193
+ App\Providers\AuthServiceProvider::class,
194
+ // App\Providers\BroadcastServiceProvider::class,
195
+ App\Providers\EventServiceProvider::class,
196
+ App\Providers\RouteServiceProvider::class,
197
+ App\Providers\ViewServiceProvider::class,
198
+
199
+ ],
200
+
201
+ /*
202
+ |--------------------------------------------------------------------------
203
+ | Class Aliases
204
+ |--------------------------------------------------------------------------
205
+ |
206
+ | This array of class aliases will be registered when this application
207
+ | is started. However, feel free to register as many as you wish as
208
+ | the aliases are "lazy" loaded so they don't hinder performance.
209
+ |
210
+ */
211
+
212
+ 'aliases' => Facade::defaultAliases()->merge([
213
+ // 'ExampleClass' => App\Example\ExampleClass::class,
214
+ ])->toArray(),
215
+
216
+ ];
@@ -0,0 +1,116 @@
1
+ <?php
2
+
3
+ return [
4
+
5
+ /*
6
+ |--------------------------------------------------------------------------
7
+ | Authentication Defaults
8
+ |--------------------------------------------------------------------------
9
+ |
10
+ | This option controls the default authentication "guard" and password
11
+ | reset options for your application. You may change these defaults
12
+ | as required, but they're a perfect start for most applications.
13
+ |
14
+ */
15
+
16
+ 'defaults' => [
17
+ 'guard' => 'web',
18
+ 'passwords' => 'users',
19
+ ],
20
+
21
+ /*
22
+ |--------------------------------------------------------------------------
23
+ | Authentication Guards
24
+ |--------------------------------------------------------------------------
25
+ |
26
+ | Next, you may define every authentication guard for your application.
27
+ | Of course, a great default configuration has been defined for you
28
+ | here which uses session storage and the Eloquent user provider.
29
+ |
30
+ | All authentication drivers have a user provider. This defines how the
31
+ | users are actually retrieved out of your database or other storage
32
+ | mechanisms used by this application to persist your user's data.
33
+ |
34
+ | Supported: "session"
35
+ |
36
+ */
37
+
38
+ 'guards' => [
39
+ 'web' => [
40
+ 'driver' => 'session',
41
+ 'provider' => 'users',
42
+ ],
43
+ ],
44
+
45
+ /*
46
+ |--------------------------------------------------------------------------
47
+ | User Providers
48
+ |--------------------------------------------------------------------------
49
+ |
50
+ | All authentication drivers have a user provider. This defines how the
51
+ | users are actually retrieved out of your database or other storage
52
+ | mechanisms used by this application to persist your user's data.
53
+ |
54
+ | If you have multiple user tables or models you may configure multiple
55
+ | sources which represent each model / table. These sources may then
56
+ | be assigned to any extra authentication guards you have defined.
57
+ |
58
+ | Supported: "database", "eloquent"
59
+ |
60
+ */
61
+
62
+ 'providers' => [
63
+ 'users' => [
64
+ 'driver' => 'repository',
65
+ 'repository' => Folklore\Contracts\Repositories\Users::class,
66
+ ],
67
+
68
+ // 'users' => [
69
+ // 'driver' => 'eloquent',
70
+ // 'model' => App\Models\User::class,
71
+ // ],
72
+
73
+ // 'users' => [
74
+ // 'driver' => 'database',
75
+ // 'table' => 'users',
76
+ // ],
77
+ ],
78
+
79
+ /*
80
+ |--------------------------------------------------------------------------
81
+ | Resetting Passwords
82
+ |--------------------------------------------------------------------------
83
+ |
84
+ | You may specify multiple password reset configurations if you have more
85
+ | than one user table or model in the application and you want to have
86
+ | separate password reset settings based on the specific user types.
87
+ |
88
+ | The expire time is the number of minutes that each reset token will be
89
+ | considered valid. This security feature keeps tokens short-lived so
90
+ | they have less time to be guessed. You may change this as needed.
91
+ |
92
+ */
93
+
94
+ 'passwords' => [
95
+ 'users' => [
96
+ 'provider' => 'users',
97
+ 'table' => 'password_resets',
98
+ 'expire' => 60,
99
+ 'throttle' => 60,
100
+ ],
101
+ ],
102
+
103
+ /*
104
+ |--------------------------------------------------------------------------
105
+ | Password Confirmation Timeout
106
+ |--------------------------------------------------------------------------
107
+ |
108
+ | Here you may define the amount of seconds before a password confirmation
109
+ | times out and the user is prompted to re-enter their password via the
110
+ | confirmation screen. By default, the timeout lasts for three hours.
111
+ |
112
+ */
113
+
114
+ 'password_timeout' => 10800,
115
+
116
+ ];
@@ -0,0 +1,39 @@
1
+ <?php
2
+
3
+ return [
4
+
5
+ /*
6
+ |--------------------------------------------------------------------------
7
+ | Third Party Services
8
+ |--------------------------------------------------------------------------
9
+ |
10
+ | This file is for storing the credentials for third party services such
11
+ | as Mailgun, Postmark, AWS and more. This file provides the de facto
12
+ | location for this type of information, allowing packages to have
13
+ | a conventional file to locate the various service credentials.
14
+ |
15
+ */
16
+
17
+ 'mailgun' => [
18
+ 'domain' => env('MAILGUN_DOMAIN'),
19
+ 'secret' => env('MAILGUN_SECRET'),
20
+ 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),
21
+ 'scheme' => 'https',
22
+ ],
23
+
24
+ 'postmark' => [
25
+ 'token' => env('POSTMARK_TOKEN'),
26
+ ],
27
+
28
+ 'ses' => [
29
+ 'key' => env('AWS_ACCESS_KEY_ID'),
30
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
31
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
32
+ ],
33
+
34
+ 'google' => [
35
+ 'tagmanager_id' => env('GOOGLE_TAGMANAGER_ID'),
36
+ 'analytics_id' => env('GOOGLE_ANALYTICS_ID'),
37
+ ],
38
+
39
+ ];
@@ -0,0 +1,17 @@
1
+ <?php
2
+
3
+ return [
4
+ 'title_401' => 'Error 401',
5
+ 'description_401' => 'You are not authorized to access this page.',
6
+
7
+ 'title_403' => 'Error 403',
8
+ 'description_403' => 'Access to this page is forbidden',
9
+
10
+ 'title_404' => 'Error 404',
11
+ 'description_404' => 'This page doesn’t exists',
12
+
13
+ 'title_500' => 'Error 500',
14
+ 'description_500' => 'There was an error',
15
+
16
+ 'goto_home' => 'Go to home',
17
+ ];