diff --git a/.htaccess b/.htaccess
new file mode 100644
index 000000000000..886d649923e3
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,146 @@
+
+ RewriteEngine On
+ RewriteRule "^.env" - [F,L]
+ RewriteRule "^storage" - [F,L]
+ RewriteRule ^(.well-known)($|/) - [L]
+
+ RewriteRule ^(.*)$ public/$1 [L]
+
+
+# https://github.com/h5bp/server-configs-apache/blob/master/dist/.htaccess
+
+
+# ######################################################################
+# # INTERNET EXPLORER #
+# ######################################################################
+
+# ----------------------------------------------------------------------
+# | Iframes cookies |
+# ----------------------------------------------------------------------
+
+# Allow cookies to be set from iframes in Internet Explorer.
+#
+# https://msdn.microsoft.com/en-us/library/ms537343.aspx
+# http://www.w3.org/TR/2000/CR-P3P-20001215/
+
+
+ Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
+
+
+
+# ######################################################################
+# # MEDIA TYPES AND CHARACTER ENCODINGS #
+# ######################################################################
+
+# ----------------------------------------------------------------------
+# | Character encodings |
+# ----------------------------------------------------------------------
+
+# Serve all resources labeled as `text/html` or `text/plain`
+# with the media type `charset` parameter set to `UTF-8`.
+#
+# https://httpd.apache.org/docs/current/mod/core.html#adddefaultcharset
+
+AddDefaultCharset utf-8
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+# Serve the following file types with the media type `charset`
+# parameter set to `UTF-8`.
+#
+# https://httpd.apache.org/docs/current/mod/mod_mime.html#addcharset
+
+
+ AddCharset utf-8 .atom \
+ .bbaw \
+ .css \
+ .geojson \
+ .js \
+ .json \
+ .jsonld \
+ .manifest \
+ .rdf \
+ .rss \
+ .topojson \
+ .vtt \
+ .webapp \
+ .webmanifest \
+ .xloc \
+ .xml
+
+
+
+# ######################################################################
+# # WEB PERFORMANCE #
+# ######################################################################
+
+# ----------------------------------------------------------------------
+# | Compression |
+# ----------------------------------------------------------------------
+
+
+
+ # Force compression for mangled headers.
+ # https://developer.yahoo.com/blogs/ydn/pushing-beyond-gzipping-25601.html
+
+
+
+ SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
+ RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
+
+
+
+ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+ # Map certain file types to the specified encoding type in order to
+ # make Apache serve them with the appropriate `Content-Encoding` HTTP
+ # response header (this will NOT make Apache compress them!).
+
+ # If the following file types wouldn't be served without the appropriate
+ # `Content-Enable` HTTP response header, client applications (e.g.:
+ # browsers) wouldn't know that they first need to uncompress the response,
+ # and thus, wouldn't be able to understand the content.
+
+ # http://httpd.apache.org/docs/current/mod/mod_mime.html#addencoding
+
+
+ AddEncoding gzip svgz
+
+
+ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+ # Compress all output labeled with one of the following media types.
+
+ # IMPORTANT: For Apache versions below 2.3.7 you don't need to enable
+ # `mod_filter` and can remove the `` & ``
+ # lines as `AddOutputFilterByType` is still in the core directives.
+
+
+ AddOutputFilterByType DEFLATE "application/atom+xml" \
+ "application/javascript" \
+ "application/json" \
+ "application/ld+json" \
+ "application/manifest+json" \
+ "application/rdf+xml" \
+ "application/rss+xml" \
+ "application/schema+json" \
+ "application/vnd.geo+json" \
+ "application/vnd.ms-fontobject" \
+ "application/x-font-ttf" \
+ "application/x-web-app-manifest+json" \
+ "application/xhtml+xml" \
+ "application/xml" \
+ "font/opentype" \
+ "image/svg+xml" \
+ "image/x-icon" \
+ "text/cache-manifest" \
+ "text/css" \
+ "text/html" \
+ "text/javascript" \
+ "text/plain" \
+ "text/vtt" \
+ "text/x-component" \
+ "text/xml"
+
+
+
diff --git a/app/Events/Design/DesignWasArchived.php b/app/Events/Design/DesignWasArchived.php
new file mode 100644
index 000000000000..c41303db150d
--- /dev/null
+++ b/app/Events/Design/DesignWasArchived.php
@@ -0,0 +1,54 @@
+design = $design;
+ }
+
+ /**
+ * Get the channels the event should broadcast on.
+ *
+ * @return \Illuminate\Broadcasting\Channel|array
+ */
+ public function broadcastOn()
+ {
+ return new PrivateChannel('channel-name');
+ }
+}
diff --git a/app/Events/Design/DesignWasCreated.php b/app/Events/Design/DesignWasCreated.php
new file mode 100644
index 000000000000..b44e8fcd90a2
--- /dev/null
+++ b/app/Events/Design/DesignWasCreated.php
@@ -0,0 +1,48 @@
+design = $design;
+ }
+
+ /**
+ * Get the channels the event should broadcast on.
+ *
+ * @return \Illuminate\Broadcasting\Channel|array
+ */
+ public function broadcastOn()
+ {
+ return new PrivateChannel('channel-name');
+ }
+}
diff --git a/app/Events/Design/DesignWasDeleted.php b/app/Events/Design/DesignWasDeleted.php
new file mode 100644
index 000000000000..653a40f47836
--- /dev/null
+++ b/app/Events/Design/DesignWasDeleted.php
@@ -0,0 +1,49 @@
+design = $design;
+ }
+
+ /**
+ * Get the channels the event should broadcast on.
+ *
+ * @return \Illuminate\Broadcasting\Channel|array
+ */
+ public function broadcastOn()
+ {
+ return new PrivateChannel('channel-name');
+ }
+}
+}
diff --git a/app/Events/Design/DesignWasRestored.php b/app/Events/Design/DesignWasRestored.php
new file mode 100644
index 000000000000..1b71ecf93233
--- /dev/null
+++ b/app/Events/Design/DesignWasRestored.php
@@ -0,0 +1,48 @@
+design = $design;
+ }
+
+ /**
+ * Get the channels the event should broadcast on.
+ *
+ * @return \Illuminate\Broadcasting\Channel|array
+ */
+ public function broadcastOn()
+ {
+ return new PrivateChannel('channel-name');
+ }
+}
diff --git a/app/Events/Design/DesignWasUpdated.php b/app/Events/Design/DesignWasUpdated.php
new file mode 100644
index 000000000000..f90d8c76b4e3
--- /dev/null
+++ b/app/Events/Design/DesignWasUpdated.php
@@ -0,0 +1,49 @@
+design = $design;
+ }
+
+ /**
+ * Get the channels the event should broadcast on.
+ *
+ * @return \Illuminate\Broadcasting\Channel|array
+ */
+ public function broadcastOn()
+ {
+ return new PrivateChannel('channel-name');
+ }
+}
+}
diff --git a/app/Exceptions/Handler.php b/app/Exceptions/Handler.php
index 25b9ab51b118..7a9425d72010 100644
--- a/app/Exceptions/Handler.php
+++ b/app/Exceptions/Handler.php
@@ -57,25 +57,29 @@ class Handler extends ExceptionHandler
*/
public function report(Exception $exception)
{
- if(!Schema::hasTable('accounts'))
+ if(!Schema::hasTable('accounts')){
+ info("account table not found");
return;
+ }
if (app()->bound('sentry') && $this->shouldReport($exception)) {
- app('sentry')->configureScope(function (Scope $scope): void {
- if (auth()->guard('contact') && auth()->guard('contact')->user() && auth()->guard('contact')->user()->company->account->report_errors) {
- $scope->setUser([
- 'id' => auth()->guard('contact')->user()->company->account->key,
- 'email' => "anonymous@example.com",
- 'name' => "Anonymous User",
- ]);
- } elseif (auth()->guard('user')->user() && auth()->user()->company() && auth()->user()->company()->account->report_errors) {
- $scope->setUser([
- 'id' => auth()->user()->account->key,
- 'email' => "anonymous@example.com",
- 'name' => "Anonymous User",
- ]);
- }
- });
+
+ // app('sentry')->configureScope(function (Scope $scope): void {
+
+ // if (auth()->guard('contact') && auth()->guard('contact')->user() && auth()->guard('contact')->user()->company->account->report_errors) {
+ // $scope->setUser([
+ // 'id' => auth()->guard('contact')->user()->company->account->key,
+ // 'email' => "anonymous@example.com",
+ // 'name' => "Anonymous User",
+ // ]);
+ // } elseif (auth()->guard('user') && auth()->guard('user')->user() && auth()->user()->company() && auth()->user()->company()->account->report_errors) {
+ // $scope->setUser([
+ // 'id' => auth()->user()->account->key,
+ // 'email' => "anonymous@example.com",
+ // 'name' => "Anonymous User",
+ // ]);
+ // }
+ // });
app('sentry')->captureException($exception);
}
diff --git a/app/Http/Controllers/AccountController.php b/app/Http/Controllers/AccountController.php
index 91190bb2db15..cac67e2c27dd 100644
--- a/app/Http/Controllers/AccountController.php
+++ b/app/Http/Controllers/AccountController.php
@@ -125,7 +125,7 @@ class AccountController extends BaseController
* @OA\Response(
* response=200,
* description="The Company User response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyUser"),
diff --git a/app/Http/Controllers/ActivityController.php b/app/Http/Controllers/ActivityController.php
index 0a23c3bdfaaf..f008681254b7 100644
--- a/app/Http/Controllers/ActivityController.php
+++ b/app/Http/Controllers/ActivityController.php
@@ -52,7 +52,7 @@ class ActivityController extends BaseController
* @OA\Response(
* response=200,
* description="A list of actvities",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Activity"),
diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php
index 9374f6a46ec3..7b4f9ad17462 100644
--- a/app/Http/Controllers/Auth/ForgotPasswordController.php
+++ b/app/Http/Controllers/Auth/ForgotPasswordController.php
@@ -71,7 +71,7 @@ class ForgotPasswordController extends Controller
* @OA\Response(
* response=201,
* description="The Reset response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(
diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php
index e42f036ae0fa..5dd43a5ace30 100644
--- a/app/Http/Controllers/Auth/LoginController.php
+++ b/app/Http/Controllers/Auth/LoginController.php
@@ -136,7 +136,7 @@ class LoginController extends BaseController
* @OA\Response(
* response=200,
* description="The Company User response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyUser"),
@@ -168,7 +168,7 @@ class LoginController extends BaseController
return response()
->json(['message' => 'Too many login attempts, you are being throttled'], 401)
->header('X-App-Version', config('ninja.app_version'))
- ->header('X-Api-Version', config('ninja.api_version'));
+ ->header('X-Api-Version', config('ninja.minimum_client_version'));
}
if ($this->attemptLogin($request)) {
@@ -196,7 +196,7 @@ class LoginController extends BaseController
return response()
->json(['message' => ctrans('texts.invalid_credentials')], 401)
->header('X-App-Version', config('ninja.app_version'))
- ->header('X-Api-Version', config('ninja.api_version'));
+ ->header('X-Api-Version', config('ninja.minimum_client_version'));
}
}
@@ -221,7 +221,7 @@ class LoginController extends BaseController
* @OA\Response(
* response=200,
* description="The Company User response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyUser"),
@@ -267,7 +267,7 @@ class LoginController extends BaseController
return response()
->json(['message' => 'Provider not supported'], 400)
->header('X-App-Version', config('ninja.app_version'))
- ->header('X-Api-Version', config('ninja.api_version'));
+ ->header('X-Api-Version', config('ninja.minimum_client_version'));
}
private function handleGoogleOauth()
@@ -344,7 +344,7 @@ class LoginController extends BaseController
return response()
->json(['message' => ctrans('texts.invalid_credentials')], 401)
->header('X-App-Version', config('ninja.app_version'))
- ->header('X-Api-Version', config('ninja.api_version'));
+ ->header('X-Api-Version', config('ninja.minimum_client_version'));
}
diff --git a/app/Http/Controllers/BaseController.php b/app/Http/Controllers/BaseController.php
index 39699f662f26..f1b2af101f40 100644
--- a/app/Http/Controllers/BaseController.php
+++ b/app/Http/Controllers/BaseController.php
@@ -100,7 +100,7 @@ class BaseController extends Controller
public function notFound()
{
return response()->json(['message' => '404 | Nothing to see here!'], 404)
- ->header('X-API-VERSION', config('ninja.api_version'))
+ ->header('X-API-VERSION', config('ninja.minimum_client_version'))
->header('X-APP-VERSION', config('ninja.app_version'));
}
@@ -240,7 +240,7 @@ class BaseController extends Controller
{
return [
'Content-Type' => 'application/json',
- 'X-Api-Version' => config('ninja.api_version'),
+ 'X-Api-Version' => config('ninja.minimum_client_version'),
'X-App-Version' => config('ninja.app_version'),
];
}
diff --git a/app/Http/Controllers/ClientController.php b/app/Http/Controllers/ClientController.php
index d9f8c43b04dc..1edba051e169 100644
--- a/app/Http/Controllers/ClientController.php
+++ b/app/Http/Controllers/ClientController.php
@@ -89,7 +89,7 @@ class ClientController extends BaseController
* @OA\Response(
* response=200,
* description="A list of clients",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Client"),
@@ -146,7 +146,7 @@ class ClientController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the cl.ient object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Client"),
@@ -201,7 +201,7 @@ class ClientController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the client object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Client"),
@@ -258,7 +258,7 @@ class ClientController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the client object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Client"),
@@ -310,7 +310,7 @@ class ClientController extends BaseController
* @OA\Response(
* response=200,
* description="A blank client object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Client"),
@@ -357,7 +357,7 @@ class ClientController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the saved client object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Client"),
@@ -418,7 +418,7 @@ class ClientController extends BaseController
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -479,7 +479,7 @@ class ClientController extends BaseController
* @OA\Response(
* response=200,
* description="The Client User response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Client"),
diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php
index 19c68657414b..0877a2769736 100644
--- a/app/Http/Controllers/CompanyController.php
+++ b/app/Http/Controllers/CompanyController.php
@@ -89,7 +89,7 @@ class CompanyController extends BaseController
* @OA\Response(
* response=200,
* description="A list of companies",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Company"),
@@ -135,7 +135,7 @@ class CompanyController extends BaseController
* @OA\Response(
* response=200,
* description="A blank company object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Company"),
@@ -181,7 +181,7 @@ class CompanyController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the saved company object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Company"),
@@ -274,7 +274,7 @@ class CompanyController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the company object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Company"),
@@ -329,7 +329,7 @@ class CompanyController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the company object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Company"),
@@ -385,7 +385,7 @@ class CompanyController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the company object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Company"),
@@ -446,7 +446,7 @@ class CompanyController extends BaseController
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -466,9 +466,13 @@ class CompanyController extends BaseController
*/
public function destroy(DestroyCompanyRequest $request, Company $company)
{
+ info(print_r($request->all()));
+ info("destroying {$company->present()->name()} - {$company->hashed_id}");
$company_count = $company->account->companies->count();
$account = $company->account;
+
+ info("company count = {$company_count}");
if ($company_count == 1) {
diff --git a/app/Http/Controllers/CompanyGatewayController.php b/app/Http/Controllers/CompanyGatewayController.php
index bdd89008d676..58a4d5bd33c7 100644
--- a/app/Http/Controllers/CompanyGatewayController.php
+++ b/app/Http/Controllers/CompanyGatewayController.php
@@ -74,7 +74,7 @@ class CompanyGatewayController extends BaseController
* @OA\Response(
* response=200,
* description="A list of company_gateways",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyGateway"),
@@ -120,7 +120,7 @@ class CompanyGatewayController extends BaseController
* @OA\Response(
* response=200,
* description="A blank CompanyGateway object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyGateway"),
@@ -167,7 +167,7 @@ class CompanyGatewayController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the saved CompanyGateway object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyGateway"),
@@ -226,7 +226,7 @@ class CompanyGatewayController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the CompanyGateway object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyGateway"),
@@ -281,7 +281,7 @@ class CompanyGatewayController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the CompanyGateway object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyGateway"),
@@ -337,7 +337,7 @@ class CompanyGatewayController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the CompanyGateway object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyGateway"),
@@ -400,7 +400,7 @@ class CompanyGatewayController extends BaseController
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -460,7 +460,7 @@ class CompanyGatewayController extends BaseController
* @OA\Response(
* response=200,
* description="The Company Gateways response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyGateway"),
diff --git a/app/Http/Controllers/CompanyLedgerController.php b/app/Http/Controllers/CompanyLedgerController.php
index c09ae7b022a3..faecd4d0fc48 100644
--- a/app/Http/Controllers/CompanyLedgerController.php
+++ b/app/Http/Controllers/CompanyLedgerController.php
@@ -46,7 +46,7 @@ class CompanyLedgerController extends BaseController
* @OA\Response(
* response=200,
* description="A list of company_ledger",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyLedger"),
diff --git a/app/Http/Controllers/CompanyUserController.php b/app/Http/Controllers/CompanyUserController.php
index 990b07a34f39..572e6bb541b8 100644
--- a/app/Http/Controllers/CompanyUserController.php
+++ b/app/Http/Controllers/CompanyUserController.php
@@ -105,7 +105,7 @@ class CompanyUserController extends BaseController
* @OA\Response(
* response=200,
* description="The Company User response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/CompanyUser"),
diff --git a/app/Http/Controllers/CreditController.php b/app/Http/Controllers/CreditController.php
index 2341ffca289c..8b56a5685c2f 100644
--- a/app/Http/Controllers/CreditController.php
+++ b/app/Http/Controllers/CreditController.php
@@ -69,7 +69,7 @@ class CreditController extends BaseController
* @OA\Response(
* response=200,
* description="A list of credits",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Credit"),
@@ -117,7 +117,7 @@ class CreditController extends BaseController
* @OA\Response(
* response=200,
* description="A blank credit object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Credit"),
@@ -164,7 +164,7 @@ class CreditController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the saved credit object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Credit"),
@@ -229,7 +229,7 @@ class CreditController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the credit object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Credit"),
@@ -285,7 +285,7 @@ class CreditController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the credit object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Invoice"),
@@ -342,7 +342,7 @@ class CreditController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the Credit object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Credit"),
@@ -406,7 +406,7 @@ class CreditController extends BaseController
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -464,7 +464,7 @@ class CreditController extends BaseController
* @OA\Response(
* response=200,
* description="The Bulk Action response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
diff --git a/app/Http/Controllers/DesignController.php b/app/Http/Controllers/DesignController.php
index 388ce1d375af..088dcd277eed 100644
--- a/app/Http/Controllers/DesignController.php
+++ b/app/Http/Controllers/DesignController.php
@@ -21,6 +21,7 @@ use App\Http\Requests\Design\StoreDesignRequest;
use App\Http\Requests\Design\UpdateDesignRequest;
use App\Jobs\Entity\ActionEntity;
use App\Models\Design;
+use App\Repositories\DesignRepository;
use App\Transformers\DesignTransformer;
use App\Utils\Traits\BulkOptions;
use App\Utils\Traits\MakesHash;
@@ -40,14 +41,17 @@ class DesignController extends BaseController
protected $entity_transformer = DesignTransformer::class;
+ protected $design_repo;
/**
* DesignController constructor.
* @param DesignRepository $designRepo
*/
- public function __construct()
+ public function __construct(DesignRepository $design_repo)
{
parent::__construct();
+
+ $this->design_repo = $design_repo;
}
/**
@@ -65,7 +69,7 @@ class DesignController extends BaseController
* @OA\Response(
* response=200,
* description="A list of designs",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Design"),
@@ -122,7 +126,7 @@ class DesignController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the expense object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Design"),
@@ -177,7 +181,7 @@ class DesignController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the design object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Design"),
@@ -234,7 +238,7 @@ class DesignController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the design object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Design"),
@@ -285,7 +289,7 @@ class DesignController extends BaseController
* @OA\Response(
* response=200,
* description="A blank design object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Design"),
@@ -332,7 +336,7 @@ class DesignController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the saved design object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Design"),
@@ -391,7 +395,7 @@ class DesignController extends BaseController
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -454,7 +458,7 @@ class DesignController extends BaseController
* @OA\Response(
* response=200,
* description="The Design User response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Design"),
@@ -478,9 +482,14 @@ class DesignController extends BaseController
$ids = request()->input('ids');
$designs = Design::withTrashed()->find($this->transformKeys($ids));
+ info($designs);
+ info(auth()->user()->id);
+ info(auth()->user()->getCompany()->id);
+
$designs->each(function ($design, $key) use ($action) {
if (auth()->user()->can('edit', $design)) {
- //$this->design_repo->{$action}($design);@todo
+ info("authed");
+ $this->design_repo->{$action}($design);
}
});
diff --git a/app/Http/Controllers/EmailController.php b/app/Http/Controllers/EmailController.php
index c40b2a4804c1..62760c5acce3 100644
--- a/app/Http/Controllers/EmailController.php
+++ b/app/Http/Controllers/EmailController.php
@@ -88,7 +88,7 @@ class EmailController extends BaseController
* @OA\Response(
* response=200,
* description="success",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Template"),
diff --git a/app/Http/Controllers/ExpenseController.php b/app/Http/Controllers/ExpenseController.php
index fa4e2fd6cd83..487b15fe86d5 100644
--- a/app/Http/Controllers/ExpenseController.php
+++ b/app/Http/Controllers/ExpenseController.php
@@ -77,7 +77,7 @@ class ExpenseController extends BaseController
* @OA\Response(
* response=200,
* description="A list of expenses",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Expense"),
@@ -134,7 +134,7 @@ class ExpenseController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the expense object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Expense"),
@@ -189,7 +189,7 @@ class ExpenseController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the client object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Expense"),
@@ -246,7 +246,7 @@ class ExpenseController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the client object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Expense"),
@@ -298,7 +298,7 @@ class ExpenseController extends BaseController
* @OA\Response(
* response=200,
* description="A blank client object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Expense"),
@@ -345,7 +345,7 @@ class ExpenseController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the saved client object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Expense"),
@@ -406,7 +406,7 @@ class ExpenseController extends BaseController
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -467,7 +467,7 @@ class ExpenseController extends BaseController
* @OA\Response(
* response=200,
* description="The Expense User response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Expense"),
diff --git a/app/Http/Controllers/GroupSettingController.php b/app/Http/Controllers/GroupSettingController.php
index c0fab0ad4ba6..4dcf7923e0e5 100644
--- a/app/Http/Controllers/GroupSettingController.php
+++ b/app/Http/Controllers/GroupSettingController.php
@@ -64,7 +64,7 @@ class GroupSettingController extends BaseController
* @OA\Response(
* response=200,
* description="A list of group_settings",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/GroupSetting"),
@@ -110,7 +110,7 @@ class GroupSettingController extends BaseController
* @OA\Response(
* response=200,
* description="A blank GroupSetting object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/GroupSetting"),
@@ -157,7 +157,7 @@ class GroupSettingController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the saved GroupSetting object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/GroupSetting"),
@@ -221,7 +221,7 @@ class GroupSettingController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the GroupSetting object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/GroupSetting"),
@@ -276,7 +276,7 @@ class GroupSettingController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the GroupSetting object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/GroupSetting"),
@@ -332,7 +332,7 @@ class GroupSettingController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the GroupSetting object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/GroupSetting"),
@@ -391,7 +391,7 @@ class GroupSettingController extends BaseController
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php
index e0e95cbc19f2..48251ead318d 100644
--- a/app/Http/Controllers/InvoiceController.php
+++ b/app/Http/Controllers/InvoiceController.php
@@ -94,7 +94,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="A list of invoices",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Invoice"),
@@ -141,7 +141,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="A blank invoice object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Invoice"),
@@ -188,7 +188,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the saved invoice object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Invoice"),
@@ -251,7 +251,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the invoice object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Invoice"),
@@ -307,7 +307,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the invoice object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Invoice"),
@@ -364,7 +364,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the invoice object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Invoice"),
@@ -428,7 +428,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="Returns a HTTP status",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -486,7 +486,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="The Bulk Action response",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -599,7 +599,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the invoice object",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* @OA\JsonContent(ref="#/components/schemas/Invoice"),
@@ -701,7 +701,7 @@ class InvoiceController extends BaseController
}
break;
case 'email':
-
+ //check query paramater for email_type and set the template else use calculateTemplate
$this->reminder_template = $invoice->calculateTemplate();
$invoice->invitations->load('contact.client.country','invoice.client.country','invoice.company')->each(function ($invitation) use ($invoice) {
@@ -753,7 +753,7 @@ class InvoiceController extends BaseController
* @OA\Response(
* response=200,
* description="Returns the invoice pdf",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
diff --git a/app/Http/Controllers/LicenseController.php b/app/Http/Controllers/LicenseController.php
index 537f141f1cff..7c80e8faad7c 100644
--- a/app/Http/Controllers/LicenseController.php
+++ b/app/Http/Controllers/LicenseController.php
@@ -62,7 +62,7 @@ class LicenseController extends BaseController
* @OA\Response(
* response=200,
* description="Success!",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
diff --git a/app/Http/Controllers/MigrationController.php b/app/Http/Controllers/MigrationController.php
index 07fc187fd3cf..59c7db415a5a 100644
--- a/app/Http/Controllers/MigrationController.php
+++ b/app/Http/Controllers/MigrationController.php
@@ -59,7 +59,7 @@ class MigrationController extends BaseController
* @OA\Response(
* response=200,
* description="Success",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -122,7 +122,7 @@ class MigrationController extends BaseController
* @OA\Response(
* response=200,
* description="Success",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
@@ -174,7 +174,7 @@ class MigrationController extends BaseController
* @OA\Response(
* response=200,
* description="Success",
- * @OA\Header(header="X-API-Version", ref="#/components/headers/X-API-Version"),
+ * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"),
* @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"),
* @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"),
* ),
diff --git a/app/Http/Controllers/OpenAPI/Headers.php b/app/Http/Controllers/OpenAPI/Headers.php
index 549c3f0fce24..b9aef8924c2d 100644
--- a/app/Http/Controllers/OpenAPI/Headers.php
+++ b/app/Http/Controllers/OpenAPI/Headers.php
@@ -1,7 +1,7 @@
json($error, 403)
->header('X-App-Version', config('ninja.app_version'))
- ->header('X-Api-Version', config('ninja.api_version'));
+ ->header('X-Minimum-Client-Version', config('ninja.minimum_client_version'));
}
}
}
diff --git a/app/Http/Middleware/Cors.php b/app/Http/Middleware/Cors.php
index f1ca85bf62f7..210a45855106 100644
--- a/app/Http/Middleware/Cors.php
+++ b/app/Http/Middleware/Cors.php
@@ -39,7 +39,7 @@ class Cors
$response->headers->set('Access-Control-Allow-Headers', 'X-API-SECRET,X-API-TOKEN,X-API-PASSWORD,DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range');
$response->headers->set('Access-Control-Expose-Headers', 'X-APP-VERSION');
$response->headers->set('X-APP-VERSION', config('ninja.app_version'));
- $response->headers->set('X-API-VERSION', config('ninja.api_version'));
+ $response->headers->set('X-MINIMUM-CLIENT-VERSION', config('ninja.minimum_client_version'));
return $response;
}
diff --git a/app/Http/Middleware/StartupCheck.php b/app/Http/Middleware/StartupCheck.php
index d8abfe9ca4a4..84a0e1f37cb1 100644
--- a/app/Http/Middleware/StartupCheck.php
+++ b/app/Http/Middleware/StartupCheck.php
@@ -45,8 +45,6 @@ class StartupCheck
Session::flash('message', 'Cache cleared');
}
-
-
/* Make sure our cache is built */
$cached_tables = config('ninja.cached_tables');
diff --git a/app/Http/Requests/Payment/StorePaymentRequest.php b/app/Http/Requests/Payment/StorePaymentRequest.php
index e553cfba30d3..a46f5c68f802 100644
--- a/app/Http/Requests/Payment/StorePaymentRequest.php
+++ b/app/Http/Requests/Payment/StorePaymentRequest.php
@@ -76,6 +76,8 @@ class StorePaymentRequest extends Request
$input['is_manual'] = true;
+ info(print_r($input,1));
+
$this->replace($input);
}
diff --git a/app/Http/Requests/Payment/UpdatePaymentRequest.php b/app/Http/Requests/Payment/UpdatePaymentRequest.php
index e5cb40f81b4f..7abe8aeebd65 100644
--- a/app/Http/Requests/Payment/UpdatePaymentRequest.php
+++ b/app/Http/Requests/Payment/UpdatePaymentRequest.php
@@ -35,9 +35,9 @@ class UpdatePaymentRequest extends Request
public function rules()
- {//min:1 removed
+ {//min:1 removed, 'required'
return [
- 'invoices' => ['required','array',new PaymentAppliedValidAmount,new ValidCreditsPresentRule],
+ 'invoices' => ['array',new PaymentAppliedValidAmount,new ValidCreditsPresentRule],
'invoices.*.invoice_id' => 'distinct',
'documents' => 'mimes:png,ai,svg,jpeg,tiff,pdf,gif,psd,txt,doc,xls,ppt,xlsx,docx,pptx',
];
diff --git a/app/Models/Client.php b/app/Models/Client.php
index d186023b0ea0..79457ea7d864 100644
--- a/app/Models/Client.php
+++ b/app/Models/Client.php
@@ -64,6 +64,7 @@ class Client extends BaseModel implements HasLocalePreference
];
protected $fillable = [
+ 'assigned_user_id',
'currency_id',
'name',
'website',
diff --git a/app/Models/Credit.php b/app/Models/Credit.php
index abb776c12e1d..c82292a24b59 100644
--- a/app/Models/Credit.php
+++ b/app/Models/Credit.php
@@ -38,6 +38,7 @@ class Credit extends BaseModel
protected $presenter = 'App\Models\Presenters\CreditPresenter';
protected $fillable = [
+ 'assigned_user_id',
'number',
'discount',
'po_number',
diff --git a/app/Models/Quote.php b/app/Models/Quote.php
index 362829eefede..debd2e8058bb 100644
--- a/app/Models/Quote.php
+++ b/app/Models/Quote.php
@@ -42,6 +42,7 @@ class Quote extends BaseModel
protected $presenter = 'App\Models\Presenters\QuotePresenter';
protected $fillable = [
+ 'assigned_user_id',
'number',
'discount',
'po_number',
diff --git a/app/Providers/EventServiceProvider.php b/app/Providers/EventServiceProvider.php
index 85bc5e3ec942..f2b657e4ea42 100644
--- a/app/Providers/EventServiceProvider.php
+++ b/app/Providers/EventServiceProvider.php
@@ -11,10 +11,18 @@
namespace App\Providers;
+use App\Events\Client\ClientWasArchived;
use App\Events\Client\ClientWasCreated;
+use App\Events\Client\ClientWasDeleted;
+use App\Events\Client\ClientWasRestored;
+use App\Events\Client\ClientWasUpdated;
+use App\Events\Client\DesignWasDeleted;
+use App\Events\Client\DesignWasRestored;
+use App\Events\Client\DesignWasUpdated;
use App\Events\Company\CompanyWasDeleted;
use App\Events\Contact\ContactLoggedIn;
use App\Events\Credit\CreditWasMarkedSent;
+use App\Events\Design\DesignWasArchived;
use App\Events\Invoice\InvoiceWasCancelled;
use App\Events\Invoice\InvoiceWasCreated;
use App\Events\Invoice\InvoiceWasDeleted;
@@ -78,11 +86,6 @@ class EventServiceProvider extends ServiceProvider
ContactLoggedIn::class => [
UpdateContactLastLogin::class,
],
- // Clients
- ClientWasCreated::class => [
- CreatedClientActivity::class,
- // 'App\Listeners\SubscriptionListener@createdClient',
- ],
PaymentWasCreated::class => [
PaymentCreatedActivity::class,
PaymentNotification::class,
@@ -96,24 +99,29 @@ class EventServiceProvider extends ServiceProvider
PaymentWasVoided::class => [
PaymentVoidedActivity::class,
],
- 'App\Events\ClientWasArchived' => [
- 'App\Listeners\ActivityListener@archivedClient',
+ // Clients
+ ClientWasCreated::class =>[
+ CreatedClientActivity::class,
],
- 'App\Events\ClientWasUpdated' => [
- 'App\Listeners\SubscriptionListener@updatedClient',
+ ClientWasArchived::class =>[
],
- 'App\Events\ClientWasDeleted' => [
- 'App\Listeners\ActivityListener@deletedClient',
- 'App\Listeners\SubscriptionListener@deletedClient',
- 'App\Listeners\HistoryListener@deletedClient',
+ ClientWasUpdated::class =>[
],
- 'App\Events\ClientWasRestored' => [
- 'App\Listeners\ActivityListener@restoredClient',
+ ClientWasDeleted::class =>[
+ ],
+ ClientWasRestored::class =>[
],
-
CreditWasMarkedSent::class => [
],
-
+ //Designs
+ DesignWasArchived::class => [
+ ],
+ DesignWasUpdated::class => [
+ ],
+ DesignWasDeleted::class => [
+ ],
+ DesignWasRestored::class => [
+ ],
//Invoices
InvoiceWasMarkedSent::class => [
CreateInvoiceHtmlBackup::class,
diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php
index 277b15a6b984..a3cc6e5ed1ce 100644
--- a/app/Repositories/BaseRepository.php
+++ b/app/Repositories/BaseRepository.php
@@ -73,6 +73,8 @@ class BaseRepository
$entity->delete();
+ info("archived");
+
$className = $this->getEventClass($entity, 'Archived');
if (class_exists($className)) {
@@ -203,13 +205,14 @@ class BaseRepository
$lcfirst_resource_id = lcfirst($resource) . '_id';
if ($class->name == Invoice::class || $class->name == Quote::class) {
+ info("class name = invoice");
$state['starting_amount'] = $model->amount;
+ info("starting amount = {$model->amount}");
}
if (!$model->id) {
$company_defaults = $client->setCompanyDefaults($data, lcfirst($resource));
$model->uses_inclusive_taxes = $client->getSetting('inclusive_taxes');
-
$data = array_merge($company_defaults, $data);
}
@@ -281,7 +284,10 @@ class BaseRepository
$model->service()->createInvitations();
}
+ $model = $model->calc()->getInvoice();
$state['finished_amount'] = $model->amount;
+
+ info("finished amount = {$model->amount}");
$model = $model->service()->applyNumber()->save();
@@ -291,11 +297,11 @@ class BaseRepository
if ($class->name == Invoice::class) {
if (($state['finished_amount'] != $state['starting_amount']) && ($model->status_id != Invoice::STATUS_DRAFT)) {
+ info("inside ledger updating");
$model->ledger()->updateInvoiceBalance(($state['finished_amount'] - $state['starting_amount']));
+ $model->client->service()->updateBalance(($state['finished_amount'] - $state['starting_amount']))->save();
}
- $model = $model->calc()->getInvoice();
-
event(new InvoiceWasUpdated($model, $model->company));
}
diff --git a/app/Repositories/DesignRepository.php b/app/Repositories/DesignRepository.php
new file mode 100644
index 000000000000..9e9070aa866f
--- /dev/null
+++ b/app/Repositories/DesignRepository.php
@@ -0,0 +1,40 @@
+ env('APP_URL', ''),
'app_domain' => env('APP_DOMAIN', ''),
'app_version' => '5.0.4',
- 'api_version' => '5.0.4',
+ 'minimum_client_version' => '5.0.4',
'terms_version' => '1.0.1',
'api_secret' => env('API_SECRET', ''),
'google_maps_api_key' => env('GOOGLE_MAPS_API_KEY'),
diff --git a/database/migrations/2014_10_13_000000_create_users_table.php b/database/migrations/2014_10_13_000000_create_users_table.php
index 7ec7235b8fe3..2f8011779281 100644
--- a/database/migrations/2014_10_13_000000_create_users_table.php
+++ b/database/migrations/2014_10_13_000000_create_users_table.php
@@ -156,7 +156,7 @@ class CreateUsersTable extends Migration
$table->boolean('custom_surcharge_taxes4')->default(false);
//$table->boolean('enable_invoice_quantity')->default(true);
$table->boolean('show_product_cost')->default(false);
- $table->unsignedInteger('enabled_tax_rates')->default(1);
+ $table->unsignedInteger('enabled_tax_rates')->default(0);
$table->unsignedInteger('enabled_modules')->default(0);
$table->boolean('enable_product_cost')->default(0);
diff --git a/resources/views/index/index.blade.php b/resources/views/index/index.blade.php
index 48236cbcb726..1e63b29e1698 100644
--- a/resources/views/index/index.blade.php
+++ b/resources/views/index/index.blade.php
@@ -5,6 +5,7 @@
Invoice Ninja
+
@@ -16,7 +17,7 @@
}
-
+
Loading...
diff --git a/routes/api.php b/routes/api.php
index 5f9e1e35a1ba..5d9d7b016ddd 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -84,6 +84,7 @@ Route::group(['middleware' => ['api_db', 'token_auth', 'locale'], 'prefix' => 'a
Route::post('migrate', 'MigrationController@index')->name('migrate.start');
Route::resource('designs', 'DesignController');// name = (payments. index / create / show / update / destroy / edit
+ Route::post('designs/bulk', 'DesignController@bulk')->name('designs.bulk');
Route::get('users', 'UserController@index');
Route::put('users/{user}', 'UserController@update')->middleware('password_protected');
diff --git a/tests/Feature/PaymentTest.php b/tests/Feature/PaymentTest.php
index 8963494ce2cd..afae8009ebf2 100644
--- a/tests/Feature/PaymentTest.php
+++ b/tests/Feature/PaymentTest.php
@@ -191,7 +191,7 @@ class PaymentTest extends TestCase
$response = $this->withHeaders([
'X-API-SECRET' => config('ninja.api_secret'),
'X-API-TOKEN' => $this->token,
- ])->post('/api/v1/payments?include=invoices', $data);
+ ])->post('/api/v1/payments?include=invoices,paymentables', $data);
} catch (ValidationException $e) {
$message = json_decode($e->validator->getMessageBag(), 1);
$this->assertNotNull($message);
@@ -204,6 +204,7 @@ class PaymentTest extends TestCase
$payment_id = $arr['data']['id'];
$payment = Payment::find($this->decodePrimaryKey($payment_id))->first();
+ $payment->load('invoices');
$this->assertNotNull($payment);
$this->assertNotNull($payment->invoices());
@@ -663,7 +664,7 @@ class PaymentTest extends TestCase
}
if ($response) {
- $response->assertStatus(302);
+ $response->assertStatus(200);
}
}