Replaced Moment with Carbon #84
8 changed files with 41 additions and 16 deletions
|
@ -4,11 +4,11 @@ namespace App\Http\Controllers\API;
|
|||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Services\SettingsService;
|
||||
use App\Services\RenderService;
|
||||
use App\Services\MaintenanceService;
|
||||
use App\Services\Data\SettingsService;
|
||||
use App\Services\Assets\RenderService;
|
||||
use App\Services\Upkeep\MaintenanceService;
|
||||
use App\Interfaces\MemberRepositoryInterface;
|
||||
use App\Services\AssetService;
|
||||
use App\Services\Assets\AssetService;
|
||||
|
||||
class SettingsAPIController extends Controller
|
||||
{
|
||||
|
@ -41,7 +41,10 @@ class SettingsAPIController extends Controller
|
|||
|
||||
public function sync(Request $request)
|
||||
{
|
||||
$body = json_decode($request->getContent());
|
||||
$body = json_decode($request->getContent());
|
||||
//update member if needed
|
||||
$this->member->update($body->member);
|
||||
//sync settings
|
||||
$result = $this->settings->sync($body);
|
||||
return response()->json($result)->header('Content-Type', 'application/json');
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ interface MemberRepositoryInterface
|
|||
|
||||
public function create($member);
|
||||
|
||||
public function update($id);
|
||||
public function update($member);
|
||||
|
||||
public function auth($request);
|
||||
|
||||
|
|
|
@ -20,8 +20,8 @@ use App\Services\Data\PaginateService;
|
|||
use App\Services\Data\ThemeService;
|
||||
use App\Services\Data\SortingService;
|
||||
//Upkeep Services
|
||||
use App\Services\UpKeep\MaintenanceService;
|
||||
use App\Services\UpKeep\InitService;
|
||||
use App\Services\Upkeep\MaintenanceService;
|
||||
use App\Services\Upkeep\InitService;
|
||||
|
||||
class FipamoServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
|
|
@ -2,17 +2,22 @@
|
|||
|
||||
namespace App\Repositories;
|
||||
|
||||
use App\Services\Assets\DocService;
|
||||
use App\Interfaces\MemberRepositoryInterface;
|
||||
use ReallySimpleJWT\Token;
|
||||
use Carbon\Carbon;
|
||||
|
||||
use function _\find;
|
||||
use function _\findIndex;
|
||||
|
||||
class MemberRepository implements MemberRepositoryInterface
|
||||
{
|
||||
protected $folks;
|
||||
protected $docs;
|
||||
|
||||
public function __construct()
|
||||
public function __construct(DocService $docService)
|
||||
{
|
||||
$this->docs = $docService;
|
||||
if (file_exists(env('FOLKS_PATH'))) {
|
||||
$this->folks = json_decode(file_get_contents(env('FOLKS_PATH')), true);
|
||||
} else {
|
||||
|
@ -47,9 +52,17 @@ class MemberRepository implements MemberRepositoryInterface
|
|||
//make new member
|
||||
}
|
||||
|
||||
public function update($id)
|
||||
public function update($member)
|
||||
{
|
||||
//update member data
|
||||
//TODO: need to add member avatar updating
|
||||
$index = findIndex($this->folks, ['id' => $member->id]);
|
||||
$this->folks[$index]['handle'] = $member->handle;
|
||||
$this->folks[$index]['email'] = $member->email;
|
||||
$this->folks[$index]['updated'] = Carbon::now();
|
||||
//save new folks file
|
||||
$this->docs::writeSettings($this->folks, env('FOLKS_PATH'));
|
||||
//update session
|
||||
session()->put('member', $this->folks[$index]);
|
||||
}
|
||||
|
||||
public function auth($request)
|
||||
|
@ -60,6 +73,7 @@ class MemberRepository implements MemberRepositoryInterface
|
|||
if ($found) {
|
||||
if (password_verify($request->password, $found['password'])) {
|
||||
$member = [
|
||||
'id' => $found['id'],
|
||||
'handle' => $found['handle'],
|
||||
'email' => $found['email'],
|
||||
'role' => $found['role'],
|
||||
|
|
|
@ -21,6 +21,8 @@ class SettingsService
|
|||
} else {
|
||||
$this->tags = [];
|
||||
}
|
||||
|
||||
$this->docs = $docService;
|
||||
}
|
||||
|
||||
protected function loadSettings()
|
||||
|
@ -110,7 +112,6 @@ class SettingsService
|
|||
|
||||
public function sync($data)
|
||||
{
|
||||
//dd($data->global->renderOnSave);
|
||||
$settings = $this->getSettings();
|
||||
$settings['global']['base_url'] = $data->global->base_url;
|
||||
$settings['global']['title'] = $data->global->title;
|
||||
|
@ -129,7 +130,7 @@ class SettingsService
|
|||
$settings['email']['smtp'] = $data->email->smtp;
|
||||
$settings['email']['mailgun'] = $data->email->mailgun;
|
||||
|
||||
return $this->docs->writeSettings($settings);
|
||||
return $this->docs::writeSettings($settings);
|
||||
}
|
||||
|
||||
public function navSync($data)
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
<?php
|
||||
|
||||
namespace App\Services;
|
||||
namespace App\Services\Upkeep;
|
||||
|
||||
use App\Services\Data\SettingsService;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class MaintenanceService
|
||||
|
|
|
@ -12,6 +12,7 @@ export default class SettingsActions {
|
|||
let url = document.getElementById('settings-url').value;
|
||||
let title = document.getElementById('settings-title').value;
|
||||
let desc = document.getElementById('settings-desc').value;
|
||||
let memberID = document.getElementById('member-id').value;
|
||||
//let privacy = document.getElementById('privacy-toggle').getAttribute('data-private');
|
||||
let render = document.getElementById('render-toggle').getAttribute('data-render');
|
||||
let background = document
|
||||
|
@ -55,7 +56,11 @@ export default class SettingsActions {
|
|||
externalAPI: apiStatus,
|
||||
dynamicRender: dynamicRenderStatus
|
||||
},
|
||||
member: { handle: handle, email: email },
|
||||
member: {
|
||||
handle: handle,
|
||||
email: email,
|
||||
id: memberID
|
||||
},
|
||||
email: {
|
||||
active: mailActive,
|
||||
smtp: {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<article class="settings">
|
||||
<section class="member-settings">
|
||||
<div class="member-avatar">
|
||||
<div class="avatar" style="background: url({{ $member['avatar'] }} ) no-repeat center center / cover"></div>
|
||||
<div class="avatar" style="background: url({{ $member['avi'] }} ) no-repeat center center / cover"></div>
|
||||
<input id="avatar-upload" type="file" name="avatar-upload"/>
|
||||
</div>
|
||||
<div class="site-background">
|
||||
|
@ -16,6 +16,7 @@
|
|||
<div>
|
||||
<input type='text' name='handle' id='settings-handle' placeholder='handle' value="{{ $member['handle'] }}" autofocus/>
|
||||
<input type='text' name='email' id='settings-email' placeholder='email' value="{{ $member['email'] }}" autofocus/>
|
||||
<input type='hidden' name='member-id' id='member-id' value="{{ $member['id'] }}"/>
|
||||
<input type='text' name='base-url' id='settings-url' placeholder='url' value="{{ $baseUrl }}" autofocus/>
|
||||
<input type='text' name='base-title' id='settings-title' placeholder='site title' value="{{ $siteTitle }}" autofocus/>
|
||||
<textarea id="settings-desc" type='text' name='settings_desc' class='settings-dec' placeholder='description stuff' , autofocus>{{ $desc }}</textarea>
|
||||
|
|
Loading…
Add table
Reference in a new issue