관리-도구
편집 파일: Features.php
<?php namespace Laravel\Jetstream; class Features { /** * Determine if the given feature is enabled. * * @param string $feature * @return bool */ public static function enabled(string $feature) { return in_array($feature, config('jetstream.features', [])); } /** * Determine if the feature is enabled and has a given option enabled. * * @param string $feature * @param string $option * @return bool */ public static function optionEnabled(string $feature, string $option) { return static::enabled($feature) && config("jetstream-options.{$feature}.{$option}") === true; } /** * Determine if the application is allowing profile photo uploads. * * @return bool */ public static function managesProfilePhotos() { return static::enabled(static::profilePhotos()); } /** * Determine if the application is using any API features. * * @return bool */ public static function hasApiFeatures() { return static::enabled(static::api()); } /** * Determine if the application is using any team features. * * @return bool */ public static function hasTeamFeatures() { return static::enabled(static::teams()); } /** * Determine if invitations are sent to team members. * * @return bool */ public static function sendsTeamInvitations() { return static::optionEnabled(static::teams(), 'invitations'); } /** * Determine if the application has terms of service / privacy policy confirmation enabled. * * @return bool */ public static function hasTermsAndPrivacyPolicyFeature() { return static::enabled(static::termsAndPrivacyPolicy()); } /** * Determine if the application is using any account deletion features. * * @return bool */ public static function hasAccountDeletionFeatures() { return static::enabled(static::accountDeletion()); } /** * Enable the profile photo upload feature. * * @return string */ public static function profilePhotos() { return 'profile-photos'; } /** * Enable the API feature. * * @return string */ public static function api() { return 'api'; } /** * Enable the teams feature. * * @param array $options * @return string */ public static function teams(array $options = []) { if (! empty($options)) { config(['jetstream-options.teams' => $options]); } return 'teams'; } /** * Enable the terms of service and privacy policy feature. * * @return string */ public static function termsAndPrivacyPolicy() { return 'terms'; } /** * Enable the account deletion feature. * * @return string */ public static function accountDeletion() { return 'account-deletion'; } }