mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/izyim-api.git
synced 2026-08-19 04:24:01 +00:00
merged master
This commit is contained in:
+12
-1
@@ -7,6 +7,17 @@ use Illuminate\Database\Eloquent\Model;
|
||||
class Company extends Model
|
||||
{
|
||||
//
|
||||
protected $fillable = ['company_profile', 'reg_cert', 'company_name', 'registration_no', 'tax_no', 'tel_no', 'fax', 'address', 'city', 'postcode', 'state', 'country', 'contact_person'];
|
||||
protected $fillable = ['user_id', 'company_profile', 'reg_cert', 'company_name', 'registration_no', 'tax_no', 'tel_no', 'fax', 'address', 'city', 'postcode', 'state', 'country', 'contact_person'];
|
||||
//protected $guarded = [];
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\User');
|
||||
}
|
||||
|
||||
public function deliveryinfo() {
|
||||
|
||||
return $this->hasMany('App\Deliveryinfo');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Deliveryinfo extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
'id',
|
||||
'branch',
|
||||
'deli_info',
|
||||
'address',
|
||||
'city',
|
||||
'postcode',
|
||||
'state',
|
||||
'country',
|
||||
'contact_person',
|
||||
'contact_person_no',
|
||||
'com_id'
|
||||
];
|
||||
|
||||
public function company() {
|
||||
|
||||
return $this->belongsTo('App\Company');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,47 +2,165 @@
|
||||
namespace App\Http\Controllers;
|
||||
use Illuminate\Http\Request;
|
||||
use App\User;
|
||||
use App\UserVerification;
|
||||
use App\PasswordResets;
|
||||
use JWTAuth;
|
||||
use Auth;
|
||||
use App\Role;
|
||||
use App\Company;
|
||||
|
||||
use Aloha\Twilio\Twilio;
|
||||
use Tymon\JWTAuth\Exceptions\JWTException;
|
||||
use Validator, DB, Hash, Mail, Illuminate\Support\Facades\Password;
|
||||
use Illuminate\Auth\Passwords\TokenRepositoryInterface;
|
||||
use Illuminate\Contracts\Hashing\Hasher as HasherContract;
|
||||
|
||||
class AuthController extends Controller
|
||||
{
|
||||
protected $hasher;
|
||||
public function __construct(HasherContract $hasher)
|
||||
{
|
||||
$this->hasher = $hasher;
|
||||
}
|
||||
/**
|
||||
* API Send verification code
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function sendVerification(Request $request){
|
||||
$credentials = $request->only('phone');
|
||||
$rules = [
|
||||
'phone' => 'required|digits_between:10,11|unique:users'
|
||||
];
|
||||
$validator = Validator::make($credentials, $rules);
|
||||
|
||||
if($validator->fails()){
|
||||
return response()->json(['success'=> false, 'message'=> 'The minimum length should be 10.' ], 400);
|
||||
}
|
||||
|
||||
// create user if not exist
|
||||
$user = User::firstOrNew([
|
||||
'phone' => $request->phone
|
||||
]);
|
||||
$user->save();
|
||||
|
||||
// create token if not exist, update if exist
|
||||
$token = mt_rand(0000,9999);
|
||||
|
||||
// for testing
|
||||
if($request->phone == '0123456789'){
|
||||
$token = "1234";
|
||||
}
|
||||
|
||||
$user_verification = $user->phoneVerification()->firstOrNew([
|
||||
'user_id' => $user->id,
|
||||
]);
|
||||
$user_verification->token = $token;
|
||||
$user_verification->save();
|
||||
|
||||
// TODO: send token to phone
|
||||
//$message = "RM0.00 IZYIM: Verification code : ". $token;
|
||||
//$twilio = new Twilio(env('TWILIO_ACC'), env('TWILIO_TOKEN'), env('TWILIO_NUMBER'));
|
||||
//$twilio->message($request->phone, $message);
|
||||
return response()->json(['success'=> true, 'message'=> 'A verification code has been send to your mobile number.' ], 200);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* API Verify User
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function verifyPhone(Request $request)
|
||||
{
|
||||
$credentials = $request->only('phone', 'token');
|
||||
|
||||
// check if user already verified
|
||||
$check_user = User::where('phone', $request->phone)->first();
|
||||
if(!is_null($check_user)){
|
||||
if($check_user->is_verified == 1){
|
||||
return response()->json([
|
||||
'success'=> true,
|
||||
'message'=> 'Account already verified.'
|
||||
], 200);
|
||||
}
|
||||
}
|
||||
else{
|
||||
return response()->json([
|
||||
'success'=> false,
|
||||
'message'=> 'Please contact support.'
|
||||
], 400);
|
||||
}
|
||||
|
||||
// check and verify valid token
|
||||
$check_token = $check_user->phoneVerification()->where('token', $request->token)->first();
|
||||
if(!is_null($check_token)){
|
||||
$check_user->is_verified = 1;
|
||||
$check_user->save();
|
||||
$check_token->delete();
|
||||
|
||||
if (!$userToken=JWTAuth::fromUser($check_user)) {
|
||||
return response()->json(['error' => 'invalid_credentials'], 401);
|
||||
}
|
||||
|
||||
// TODO : Create company for user
|
||||
|
||||
|
||||
$expiration = JWTAuth::setToken($userToken)->getPayload()->get('exp');
|
||||
// all good so return the token
|
||||
return response()->json(['success' => true, 'token' => $userToken,
|
||||
'token_type' => 'bearer',
|
||||
'expires_in' => $expiration - time()]);
|
||||
}
|
||||
return response()->json(['success'=> false, 'error'=> "Verification code is invalid."], 400);
|
||||
}
|
||||
|
||||
/**
|
||||
* API Register
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function register(Request $request)
|
||||
public function updateUser(Request $request)
|
||||
{
|
||||
$credentials = $request->only('name', 'email', 'password');
|
||||
|
||||
$credentials = $request->only('role', 'name', 'password', 'password_confirmation');
|
||||
|
||||
$rules = [
|
||||
'name' => 'required|max:255',
|
||||
'email' => 'required|email|max:255|unique:users'
|
||||
'role' => 'required',
|
||||
'password' => 'required|confirmed|min:6'
|
||||
];
|
||||
|
||||
$validator = Validator::make($credentials, $rules);
|
||||
if($validator->fails()) {
|
||||
return response()->json(['success'=> false, 'error'=> $validator->messages()]);
|
||||
return response()->json(['success'=> false, 'error'=> $validator->messages()], 400);
|
||||
}
|
||||
|
||||
$name = $request->name;
|
||||
$email = $request->email;
|
||||
$password = $request->password;
|
||||
|
||||
$user = User::create(['name' => $name, 'email' => $email, 'password' => Hash::make($password)]);
|
||||
$verification_code = str_random(30); //Generate verification code
|
||||
DB::table('user_verifications')->insert(['user_id'=>$user->id,'token'=>$verification_code]);
|
||||
$subject = "Please verify your email address.";
|
||||
Mail::send('email.verify', ['name' => $name, 'verification_code' => $verification_code],
|
||||
function($mail) use ($email, $name, $subject){
|
||||
$mail->from(getenv('FROM_EMAIL_ADDRESS'), "From User/Company Name Goes Here");
|
||||
$mail->to($email, $name);
|
||||
$mail->subject($subject);
|
||||
});
|
||||
return response()->json(['success'=> true, 'message'=> 'Thanks for signing up! Please check your email to complete your registration.']);
|
||||
$role = $request->role;
|
||||
|
||||
// find role
|
||||
$role = Role::where('name','=',$role)->first();
|
||||
|
||||
$user = Auth::user();
|
||||
|
||||
// attach role to user
|
||||
$user->attachRole($role);
|
||||
$user->update(['name' => $name, 'password' => Hash::make($password)]);
|
||||
|
||||
// TODO : create company for user
|
||||
$company = new Company;
|
||||
$company->user_id = $user->id;
|
||||
$company->save();
|
||||
|
||||
|
||||
return response()->json(['success'=> true, 'message'=> 'Profile updated.'], 200);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* API Login, on success return JWT Auth token
|
||||
*
|
||||
@@ -51,23 +169,23 @@ class AuthController extends Controller
|
||||
*/
|
||||
public function login(Request $request)
|
||||
{
|
||||
$credentials = $request->only('email', 'password');
|
||||
|
||||
$credentials = $request->only('phone', 'password');
|
||||
|
||||
$rules = [
|
||||
'email' => 'required|email',
|
||||
'phone' => 'required|digits:11',
|
||||
'password' => 'required',
|
||||
];
|
||||
$validator = Validator::make($credentials, $rules);
|
||||
if($validator->fails()) {
|
||||
return response()->json(['success'=> false, 'error'=> $validator->messages()]);
|
||||
}
|
||||
|
||||
|
||||
$credentials['is_verified'] = 1;
|
||||
|
||||
|
||||
try {
|
||||
// attempt to verify the credentials and create a token for the user
|
||||
if (! $token = JWTAuth::attempt($credentials)) {
|
||||
return response()->json(['success' => false, 'error' => 'We cant find an account with this credentials. Please make sure you entered the right information and you have verified your email address.'], 401);
|
||||
return response()->json(['success' => false, 'error' => 'Phone or password incorrect'], 401);
|
||||
}
|
||||
} catch (JWTException $e) {
|
||||
// something went wrong whilst attempting to encode the token
|
||||
@@ -86,7 +204,7 @@ class AuthController extends Controller
|
||||
*/
|
||||
public function logout(Request $request) {
|
||||
$this->validate($request, ['token' => 'required']);
|
||||
|
||||
|
||||
try {
|
||||
JWTAuth::invalidate($request->input('token'));
|
||||
return response()->json(['success' => true, 'message'=> "You have successfully logged out."]);
|
||||
@@ -104,50 +222,76 @@ class AuthController extends Controller
|
||||
*/
|
||||
public function recover(Request $request)
|
||||
{
|
||||
$user = User::where('email', $request->email)->first();
|
||||
if (!$user) {
|
||||
$error_message = "Your email address was not found.";
|
||||
return response()->json(['success' => false, 'error' => ['email'=> $error_message]], 401);
|
||||
|
||||
$credentials = $request->only('phone');
|
||||
|
||||
$rules = [
|
||||
'phone'=> 'required',
|
||||
];
|
||||
|
||||
$validator = Validator::make($credentials, $rules);
|
||||
if($validator->fails()) {
|
||||
return response()->json(['success'=> false, 'error'=> $validator->messages()]);
|
||||
}
|
||||
try {
|
||||
Password::sendResetLink($request->only('email'), function (Message $message) {
|
||||
$message->subject('Your Password Reset Link');
|
||||
});
|
||||
} catch (\Exception $e) {
|
||||
//Return with error
|
||||
$error_message = $e->getMessage();
|
||||
return response()->json(['success' => false, 'error' => $error_message], 401);
|
||||
|
||||
$user = User::where('phone', $request->phone)->first();
|
||||
|
||||
if ($user){
|
||||
$token = str_random(64);
|
||||
DB::table(config('auth.passwords.users.table'))->insert([
|
||||
'phone' => $user->phone,
|
||||
'token' => $token
|
||||
]);
|
||||
return response()->json([
|
||||
'success' => true, 'data'=> ['message'=> 'A reset link has been send to your mobile phone.']
|
||||
]);
|
||||
}
|
||||
|
||||
/*
|
||||
todo
|
||||
|
||||
send SMS
|
||||
*/
|
||||
|
||||
return response()->json([
|
||||
'success' => true, 'data'=> ['message'=> 'A reset email has been sent! Please check your email.']
|
||||
'success' => false, 'data'=> ['message'=> 'Fail to recover your account.']
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* API Verify User
|
||||
* Reset the given user's password.
|
||||
*
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function verifyUser($verification_code)
|
||||
public function reset(Request $request)
|
||||
{
|
||||
$check = DB::table('user_verifications')->where('token',$verification_code)->first();
|
||||
if(!is_null($check)){
|
||||
$user = User::find($check->user_id);
|
||||
if($user->is_verified == 1){
|
||||
return response()->json([
|
||||
'success'=> true,
|
||||
'message'=> 'Account already verified..'
|
||||
]);
|
||||
}
|
||||
$user->update(['is_verified' => 1]);
|
||||
DB::table('user_verifications')->where('token',$verification_code)->delete();
|
||||
|
||||
$credentials = $request->only('token', 'password', 'password_confirmation');
|
||||
|
||||
$rules = [
|
||||
'token' => 'required',
|
||||
'password' => 'required|confirmed|min:6'
|
||||
];
|
||||
|
||||
$validator = Validator::make($credentials, $rules);
|
||||
if($validator->fails()) {
|
||||
return response()->json(['success'=> false, 'error'=> $validator->messages()]);
|
||||
}
|
||||
$token = $request->get('token');
|
||||
$password = $request->get('password');
|
||||
$reset = PasswordResets::where('token', $token)->first();
|
||||
if($reset) {
|
||||
$user = User::where('phone', '=', $reset->phone)->first();
|
||||
$user->password = Hash::make($password);
|
||||
$user->save();
|
||||
$reset->delete();
|
||||
return response()->json([
|
||||
'success'=> true,
|
||||
'message'=> 'You have successfully verified your email address.'
|
||||
'success' => false, 'data'=> ['message'=> 'Reset success']
|
||||
]);
|
||||
}
|
||||
return response()->json(['success'=> false, 'error'=> "Verification code is invalid."]);
|
||||
return response()->json([
|
||||
'success' => false, 'data'=> ['message'=> 'Invalid token or email or expired code']
|
||||
]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -4,22 +4,42 @@ namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Company;
|
||||
use Image;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Validator;
|
||||
use Auth;
|
||||
|
||||
class CompanyController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
public function update(Request $request)
|
||||
{
|
||||
//
|
||||
return view ('home');
|
||||
$company = Company::where("user_id", Auth::user()->id)->first();
|
||||
if (!$company)
|
||||
{
|
||||
return response()->json(['success'=> false, 'message'=>'Company not found'], 404);
|
||||
}
|
||||
|
||||
$rules = [
|
||||
'company_name' => 'required',
|
||||
'registration_no' => 'required',
|
||||
'tax_no' => 'required',
|
||||
'tax_no' => 'required',
|
||||
'tel_no' => 'required',
|
||||
'fax' => 'required',
|
||||
'address' => 'required',
|
||||
'city' => 'required',
|
||||
'postcode' => 'required',
|
||||
'state' => 'required',
|
||||
'country' => 'required',
|
||||
'contact_person' => 'required'
|
||||
];
|
||||
|
||||
$validator = Validator::make($request->all(), $rules);
|
||||
if($validator->fails()) {
|
||||
return response()->json(['success'=> false, 'error'=> 'All the fields are required'], 400);
|
||||
//return response()->json(['success'=> false, 'error'=> $validator->messages()], 400);
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
public function search($company_name)
|
||||
{
|
||||
$matchedTerm = Company::where('company_name', 'LIKE','%'. $company_name . '%')->get();
|
||||
@@ -34,156 +54,7 @@ class CompanyController extends Controller
|
||||
public function create()
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
//$company = new Company;
|
||||
// if($request->hasFile('avatar'))
|
||||
// {
|
||||
// $avatar = $request->file('avatar');
|
||||
// $filename = time() . '.' . $avatar->getClientOriginalExtension();
|
||||
// Image::make($avatar)->resize(300,300)->save(public_path('/uploads/company_profile/'.$filename));
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// return response()->json(['message'=>'Document not found']);
|
||||
// }
|
||||
$input = $request->all();
|
||||
|
||||
//validating uploaded files
|
||||
// $this->validate(request(),[
|
||||
// 'company_profile' => 'required|image|mimes:jpg,jpeg,bmp,png',
|
||||
// 'reg_cerf' => 'required|mimes:jpg,jpeg,bmp,png,gif,svg,pdf'
|
||||
// ]);
|
||||
|
||||
if($file = $request->file('company_profile')) //company profile picture
|
||||
{
|
||||
$company_profile = $request->file('company_profile');
|
||||
$filename = $company_profile->getClientOriginalName();
|
||||
//$destinationPath = config('app.fileDestinationPath').'/'.$filename;
|
||||
|
||||
$file = $request->file('company_profile');
|
||||
$ext = $file->getClientOriginalExtension();
|
||||
|
||||
Storage::putFileAs(
|
||||
'company_profile',/*folder name*/ $file, $filename. '.' .$ext
|
||||
);
|
||||
|
||||
// $name = $file->getClientOriginalName();
|
||||
// $img_file = $request->file('company_profile');
|
||||
// Image::make($img_file)->resize(300,300)->save(public_path('\company_profile'));
|
||||
// //return $img_file;
|
||||
// // $file->move('uploads/company_profile/', $img_file);
|
||||
|
||||
// $input['company_profile'] = $name;
|
||||
}
|
||||
|
||||
if($request->hasFile('reg_cert')) //Registration Certificate upload
|
||||
{
|
||||
$reg_cert = $request->file('reg_cert');
|
||||
$filename = $reg_cert->getClientOriginalName();
|
||||
//$destinationPath = config('app.fileDestinationPath').'/'.$filename;
|
||||
|
||||
$file = $request->file('reg_cert');
|
||||
$ext = $file->getClientOriginalExtension();
|
||||
|
||||
Storage::putFileAs(
|
||||
'reg_cert',/*folder name*/ $file, $filename. '.' .$ext
|
||||
);
|
||||
|
||||
// $uploaded = Storage::put($destinationPath, file_get_contents($reg_cert->getRealPath()));
|
||||
// $name = $file->getClientOriginalName();
|
||||
// $img_file = $request->file('reg_cert');
|
||||
// Image::make($img_file)->save(public_path('uploads\reg_cert'));
|
||||
|
||||
// $input['company_profile'] = $name;
|
||||
// $request->file('req_cert');
|
||||
// //$request->image->store('\uploads\reg_cert');
|
||||
// Storage::putFile('uploads\reg_cert', $request->file('reg_cert'));
|
||||
}
|
||||
// else{
|
||||
// return "failed";
|
||||
// }
|
||||
Company::create($input);
|
||||
//Company::create(request()->all());
|
||||
//dd(request()->all());
|
||||
return redirect('/');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$company = Company::find($id);
|
||||
if (!$company)
|
||||
{
|
||||
return response()->json(['message'=>'Document not found'],200);
|
||||
}
|
||||
//updating company profile picture
|
||||
if($file = $request->file('company_profile')) //company profile picture
|
||||
{
|
||||
$company_profile = $request->file('company_profile');
|
||||
$filename = $company_profile->getClientOriginalName();
|
||||
//$destinationPath = config('app.fileDestinationPath').'/'.$filename;
|
||||
|
||||
$file = $request->file('company_profile');
|
||||
$ext = $file->getClientOriginalExtension();
|
||||
|
||||
Storage::putFileAs(
|
||||
'company_profile',/*folder name*/ $file, $filename. '.' .$ext
|
||||
);
|
||||
}
|
||||
|
||||
//updating registration certificate
|
||||
if($request->hasFile('reg_cert')) //Registration Certificate upload
|
||||
{
|
||||
$reg_cert = $request->file('reg_cert');
|
||||
$filename = $reg_cert->getClientOriginalName();
|
||||
//$destinationPath = config('app.fileDestinationPath').'/'.$filename;
|
||||
|
||||
$file = $request->file('reg_cert');
|
||||
$ext = $file->getClientOriginalExtension();
|
||||
|
||||
Storage::putFileAs(
|
||||
'reg_cert',/*folder name*/ $file, $filename. '.' .$ext
|
||||
);
|
||||
}
|
||||
|
||||
=======
|
||||
$company->company_name=$request->input('company_name');
|
||||
$company->registration_no=$request->input('registration_no');
|
||||
$company->tax_no=$request->input('tax_no');
|
||||
@@ -195,34 +66,78 @@ class CompanyController extends Controller
|
||||
$company->state=$request->input('state');
|
||||
$company->country=$request->input('country');
|
||||
$company->contact_person=$request->input('contact_person');
|
||||
|
||||
$company->save();
|
||||
return response()->json(['warehouse'=>$company],200);
|
||||
// $product = Company::findOrFail($productId);
|
||||
// $product->update($request->all());
|
||||
// $product->company_name = 'imagepath';
|
||||
// $product->save();
|
||||
|
||||
//return response()->json($product, 200);
|
||||
return response()->json(['success'=> true, 'message'=>'Company created successfully'],200);
|
||||
>>>>>>> 49abcb49236cdde1e1fa759f89a704688447c106
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
public function companyProfile(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
$company = Company::where("user_id", Auth::user()->id)->first();
|
||||
if (!$company)
|
||||
{
|
||||
return response()->json(['success'=> false, 'error'=>'Company not found'], 404);
|
||||
}
|
||||
//validaating file types
|
||||
$validator = Validator::make($request->all(), [
|
||||
'company_profile' => 'image|mimes:jpg,jpeg,bmp,png'
|
||||
]);
|
||||
if($validator->fails())
|
||||
{
|
||||
return response()->json(['success'=> false, 'error'=>'Incorrect format'], 400);
|
||||
}
|
||||
|
||||
public function uploadImage($request)
|
||||
if($file = $request->file('company_profile')) //company profile picture
|
||||
{
|
||||
$company_profile = $request->file('company_profile');
|
||||
$filename = $company_profile->getClientOriginalName(); //get the original file name
|
||||
$unique_name = 'comp_prof_' . md5($filename. time()); //generating a random file name
|
||||
|
||||
$file = $request->file('company_profile');
|
||||
$ext = $file->getClientOriginalExtension();
|
||||
$input['company_profile'] = $filename;
|
||||
Storage::putFileAs(
|
||||
'company_profile',/*folder name*/ $file, $unique_name. '.' .$ext
|
||||
);
|
||||
$company->company_profile = $unique_name. '.' .$ext; //update database
|
||||
} //end if
|
||||
$company->save();
|
||||
return response()->json(['success'=> true, 'message'=>'Company profile picture uploaded successfully'],200);
|
||||
}//end of companyProfile()
|
||||
|
||||
public function regCert(Request $request)
|
||||
{
|
||||
// if($request->hasFile('avatar'))
|
||||
// {
|
||||
// $avatar = $request->file('avatar');
|
||||
// $filename = time() . '.' . $avatar->getClientOriginalExtension();
|
||||
// Image::make($avatar)->resize(300,300)->save(public_path('/uploads/company_profile/'.$filename));
|
||||
// }
|
||||
}
|
||||
}
|
||||
$company = Company::where("user_id", Auth::user()->id)->first();
|
||||
if (!$company)
|
||||
{
|
||||
return response()->json(['success'=> false, 'error'=>'Company not found'], 404);
|
||||
}
|
||||
|
||||
//validating file types
|
||||
$validator = Validator::make($request->all(), [
|
||||
'reg_cert' => 'mimes:jpg,jpeg,bmp,png,gif,svg,pdf'
|
||||
]);
|
||||
if($validator->fails()){
|
||||
return response()->json(['success'=> false, 'error'=>'Incorrect format'], 400);
|
||||
}
|
||||
|
||||
if($request->hasFile('reg_cert')) //Registration Certificate upload
|
||||
{
|
||||
$reg_cert = $request->file('reg_cert');
|
||||
$filename = $reg_cert->getClientOriginalName(); //original filename
|
||||
$unique_name = 'reg_cert_' . md5($filename. time()); //generating a random file name
|
||||
|
||||
$file = $request->file('reg_cert');
|
||||
$ext = $file->getClientOriginalExtension();
|
||||
$input['reg_cert'] = $filename;
|
||||
Storage::putFileAs(
|
||||
'reg_cert',/*folder name*/ $file, $unique_name. '.' .$ext
|
||||
);
|
||||
$company->reg_cert = $unique_name. '.' .$ext; //this updates database
|
||||
}//end if
|
||||
$company->save();
|
||||
return response()->json(['success'=> true, 'message'=>'Registration Certificate uploaded successfully'], 200);
|
||||
}//end regCert()
|
||||
|
||||
}//end of class
|
||||
@@ -0,0 +1,106 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Deliveryinfo;
|
||||
use Auth;
|
||||
|
||||
class DeliveryinfoController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->get();
|
||||
return response()->json($deliveryinfo, 200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified delivery-info.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show(Deliveryinfo $id)
|
||||
{
|
||||
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail();
|
||||
return response()->json($deliveryinfo, 200);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly delivery-info in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$deliveryinfo = new Deliveryinfo;
|
||||
$deliveryinfo->branch = $request->input('branch');
|
||||
$deliveryinfo->deli_info = $request->input('deli_info');
|
||||
$deliveryinfo->address = $request->input('address');
|
||||
$deliveryinfo->city = $request->input('city');
|
||||
$deliveryinfo->postcode = $request->input('postcode');
|
||||
$deliveryinfo->state = $request->input('state');
|
||||
$deliveryinfo->country = $request->input('country');
|
||||
$deliveryinfo->contact_person = $request->input('contact_person');
|
||||
$deliveryinfo->contact_person_no = $request->input('contact_person_no');
|
||||
$deliveryinfo->com_id = $user->company();
|
||||
$deliveryinfo->save();
|
||||
|
||||
return response()->json(['deliveryinfo'=>$deliveryinfo],201);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the delivery-info.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail();
|
||||
|
||||
if (!$deliveryinfo)
|
||||
{
|
||||
return response()->json(['message'=>'Access Denied!'], 404);
|
||||
}
|
||||
|
||||
$deliveryinfo->branch = $request->input('branch');
|
||||
$deliveryinfo->deli_info = $request->input('deli_info');
|
||||
$deliveryinfo->address = $request->input('address');
|
||||
$deliveryinfo->city = $request->input('city');
|
||||
$deliveryinfo->postcode = $request->input('postcode');
|
||||
$deliveryinfo->state = $request->input('state');
|
||||
$deliveryinfo->country = $request->input('country');
|
||||
$deliveryinfo->contact_person = $request->input('contact_person');
|
||||
$deliveryinfo->contact_person_no = $request->input('contact_person_no');
|
||||
$deliveryinfo->com_id = $user->company();
|
||||
$deliveryinfo->save();
|
||||
|
||||
return response()->json(['deliveryinfo'=>$deliveryinfo],200);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the delivery-info.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Deliveryinfo $id)
|
||||
{
|
||||
$deliveryinfo = Deliveryinfo::where('com_id', Auth::user()->company())->where('id', $id)->firstOrFail();
|
||||
|
||||
if (!$deliveryinfo)
|
||||
{
|
||||
return response()->json(['message'=>'Access Denied!'], 404);
|
||||
}
|
||||
|
||||
$deliveryinfo->delete($id);
|
||||
|
||||
return response()->json($deliveryinfo, 204);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ForgotPasswordController extends Controller
|
||||
{
|
||||
//
|
||||
}
|
||||
+2
-2
@@ -59,7 +59,7 @@ class Kernel extends HttpKernel
|
||||
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
|
||||
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
|
||||
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
|
||||
'jwt.auth' => 'Tymon\JWTAuth\Middleware\GetUserFromToken',
|
||||
'jwt.refresh' => 'Tymon\JWTAuth\Middleware\RefreshToken',
|
||||
'jwt.auth' => \Tymon\JWTAuth\Http\Middleware\Authenticate::class,
|
||||
'jwt.refresh' => \Tymon\JWTAuth\Middleware\RefreshToken::class,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class PasswordResets extends Model
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Laratrust\Models\LaratrustPermission;
|
||||
|
||||
class Permission extends LaratrustPermission
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Laratrust\Models\LaratrustRole;
|
||||
|
||||
class Role extends LaratrustRole
|
||||
{
|
||||
//
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Laratrust\Models\LaratrustTeam;
|
||||
|
||||
class Team extends LaratrustTeam
|
||||
{
|
||||
}
|
||||
+13
-1
@@ -5,9 +5,11 @@ namespace App;
|
||||
use Tymon\JWTAuth\Contracts\JWTSubject;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Laratrust\Traits\LaratrustUserTrait;
|
||||
|
||||
class User extends Authenticatable implements JWTSubject
|
||||
{
|
||||
use LaratrustUserTrait;
|
||||
use Notifiable;
|
||||
|
||||
/**
|
||||
@@ -16,7 +18,7 @@ class User extends Authenticatable implements JWTSubject
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name', 'email', 'password',
|
||||
'name', 'phone', 'password'
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -47,4 +49,14 @@ class User extends Authenticatable implements JWTSubject
|
||||
return [];
|
||||
}
|
||||
|
||||
public function phoneVerification()
|
||||
{
|
||||
return $this->hasOne('App\UserVerification', 'user_id');
|
||||
}
|
||||
|
||||
public function company()
|
||||
{
|
||||
return $this->hasOne('App\Company');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class UserVerification extends Model
|
||||
{
|
||||
protected $fillable = [
|
||||
'token'
|
||||
];
|
||||
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo('App\User', 'user_id');
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user