mirror of
https://github.com/penpot/penpot.git
synced 2026-08-14 00:38:42 +00:00
Merge remote-tracking branch 'origin/staging' into develop
This commit is contained in:
commit
136052c15e
@ -48,7 +48,7 @@
|
||||
|
||||
(sv/defmethod ::get-nitrate-connectivity
|
||||
{::rpc/auth true
|
||||
::doc/added "2.14"
|
||||
::doc/added "2.18"
|
||||
::sm/params [:map]
|
||||
::sm/result schema:connectivity}
|
||||
[cfg _params]
|
||||
@ -64,7 +64,7 @@
|
||||
|
||||
(sv/defmethod ::get-subscription-warning
|
||||
{::rpc/auth true
|
||||
::doc/added "2.14"
|
||||
::doc/added "2.18"
|
||||
::sm/params [:map]
|
||||
::sm/result schema:subscription-warning}
|
||||
[cfg {:keys [::rpc/profile-id]}]
|
||||
@ -80,7 +80,7 @@
|
||||
|
||||
(sv/defmethod ::redeem-nitrate-activation-code
|
||||
{::rpc/auth true
|
||||
::doc/added "2.14"
|
||||
::doc/added "2.18"
|
||||
::sm/params schema:redeem-activation-code-params
|
||||
::sm/result schema:redeem-activation-code-result}
|
||||
[cfg {:keys [::rpc/profile-id activation-code]}]
|
||||
@ -112,7 +112,7 @@
|
||||
"Returns a Base64-encoded JSON file requesting a Nitrate activation code.
|
||||
Payload includes nitrateId, publicKey, email and iat."
|
||||
{::rpc/auth true
|
||||
::doc/added "2.20"
|
||||
::doc/added "2.18"
|
||||
::sm/params [:map]
|
||||
::sm/result ::sm/text}
|
||||
[cfg {:keys [::rpc/profile-id]}]
|
||||
@ -360,7 +360,7 @@
|
||||
|
||||
(sv/defmethod ::leave-organization
|
||||
{::rpc/auth true
|
||||
::doc/added "2.15"
|
||||
::doc/added "2.18"
|
||||
::sm/params schema:leave-organization
|
||||
::db/transaction true}
|
||||
[cfg {:keys [::rpc/profile-id] :as params}]
|
||||
@ -404,7 +404,7 @@
|
||||
[:organization-name ::sm/text]])
|
||||
|
||||
(sv/defmethod ::remove-team-from-organization
|
||||
{::doc/added "2.17"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:remove-team-from-organization}
|
||||
[cfg {:keys [::rpc/profile-id team-id organization-id organization-name]}]
|
||||
|
||||
@ -473,7 +473,7 @@
|
||||
|
||||
(sv/defmethod ::add-team-to-organization
|
||||
{::rpc/auth true
|
||||
::doc/added "2.17"
|
||||
::doc/added "2.18"
|
||||
::sm/params schema:add-team-to-organization
|
||||
::db/transaction true}
|
||||
[cfg {:keys [::rpc/profile-id team-id organization-id]}]
|
||||
@ -558,7 +558,7 @@
|
||||
|
||||
(sv/defmethod ::check-organization-members
|
||||
{::rpc/auth true
|
||||
::doc/added "2.17"
|
||||
::doc/added "2.18"
|
||||
::sm/params schema:check-organization-members-params
|
||||
::sm/result [:map-of :string :boolean]
|
||||
::db/transaction true}
|
||||
@ -583,7 +583,7 @@
|
||||
|
||||
(sv/defmethod ::all-organization-members-in-team
|
||||
{::rpc/auth true
|
||||
::doc/added "2.17"
|
||||
::doc/added "2.18"
|
||||
::sm/params schema:all-organization-members-in-team-params
|
||||
::sm/result ::sm/boolean}
|
||||
[cfg {:keys [::rpc/profile-id team-id organization-id]}]
|
||||
@ -607,7 +607,7 @@
|
||||
|
||||
(sv/defmethod ::all-team-members-in-organizations
|
||||
{::rpc/auth true
|
||||
::doc/added "2.17"
|
||||
::doc/added "2.18"
|
||||
::sm/params schema:all-team-members-in-organizations-params
|
||||
::sm/result [:map-of ::sm/uuid ::sm/boolean]}
|
||||
[cfg {:keys [::rpc/profile-id team-id organization-ids]}]
|
||||
@ -643,7 +643,7 @@
|
||||
|
||||
(sv/defmethod ::check-team-external-invitations
|
||||
{::rpc/auth true
|
||||
::doc/added "2.17"
|
||||
::doc/added "2.18"
|
||||
::sm/params schema:check-team-external-invitations-params
|
||||
::sm/result schema:check-team-external-invitations-result
|
||||
::db/transaction true}
|
||||
@ -677,7 +677,7 @@
|
||||
the client must redirect there. The OIDC provider itself handles
|
||||
re-authentication transparently if the user already has an active SSO session."
|
||||
{::rpc/auth true
|
||||
::doc/added "2.19"
|
||||
::doc/added "2.18"
|
||||
::sm/params schema:check-nitrate-sso
|
||||
::nitrate/sso false}
|
||||
[cfg {:keys [::rpc/profile-id team-id organization-id url] :as params}]
|
||||
|
||||
@ -17,6 +17,7 @@
|
||||
[app.common.types.organization :as cto]
|
||||
[app.common.types.profile :refer [schema:profile, schema:basic-profile]]
|
||||
[app.common.types.team :refer [schema:team]]
|
||||
[app.common.uri :as u]
|
||||
[app.common.uuid :as uuid]
|
||||
[app.config :as cf]
|
||||
[app.db :as db]
|
||||
@ -54,7 +55,7 @@
|
||||
|
||||
(sv/defmethod ::authenticate
|
||||
"Authenticate the current user"
|
||||
{::doc/added "2.14"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map]
|
||||
::sm/result schema:profile
|
||||
::nitrate/sso false}
|
||||
@ -94,7 +95,7 @@
|
||||
|
||||
(sv/defmethod ::get-penpot-version
|
||||
"Get the current Penpot version"
|
||||
{::doc/added "2.14"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map]
|
||||
::sm/result schema:get-penpot-version-result
|
||||
::rpc/auth false}
|
||||
@ -106,7 +107,7 @@
|
||||
|
||||
(sv/defmethod ::get-teams
|
||||
"List teams for which current user is owner"
|
||||
{::doc/added "2.14"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map]
|
||||
::sm/result schema:get-teams-result
|
||||
::nitrate/sso false}
|
||||
@ -130,7 +131,7 @@
|
||||
"Store an organization logo in penpot storage and return its ID.
|
||||
Accepts an optional previous-id to mark the old logo for garbage
|
||||
collection when replacing an existing one."
|
||||
{::doc/added "2.17"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:upload-organization-logo
|
||||
::sm/result schema:upload-organization-logo-result
|
||||
::nitrate/sso false}
|
||||
@ -151,7 +152,7 @@
|
||||
|
||||
(sv/defmethod ::notify-team-change
|
||||
"Notify to Penpot a team change from nitrate"
|
||||
{::doc/added "2.14"
|
||||
{::doc/added "2.18"
|
||||
::sm/params cto/schema:team-with-organization
|
||||
::rpc/auth false}
|
||||
[cfg team]
|
||||
@ -168,7 +169,7 @@
|
||||
|
||||
(sv/defmethod ::notify-user-added-to-organization
|
||||
"Notify to Penpot that an user has joined an organization from nitrate"
|
||||
{::doc/added "2.14"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:notify-user-added-to-organization
|
||||
::rpc/auth false}
|
||||
[cfg {:keys [profile-id organization-id]}]
|
||||
@ -199,7 +200,7 @@
|
||||
|
||||
(sv/defmethod ::get-managed-profiles
|
||||
"List profiles that belong to teams for which current user is owner"
|
||||
{::doc/added "2.14"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map]
|
||||
::sm/result schema:managed-profile-result
|
||||
::nitrate/sso false}
|
||||
@ -239,7 +240,7 @@
|
||||
|
||||
(sv/defmethod ::get-teams-summary
|
||||
"Get summary information for a list of teams"
|
||||
{::doc/added "2.15"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:get-teams-summary-params
|
||||
::sm/result schema:get-teams-summary-result
|
||||
::nitrate/sso false}
|
||||
@ -360,7 +361,7 @@ RETURNING id, deleted_at;")
|
||||
(sv/defmethod ::notify-organization-deletion
|
||||
"For a deleted organization, preserve organization teams and only prefix or delete
|
||||
imported Your Penpot teams before notifying connected users."
|
||||
{::doc/added "2.15"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:notify-organization-deletion
|
||||
::rpc/auth false}
|
||||
[cfg {:keys [organization-id]}]
|
||||
@ -406,7 +407,7 @@ RETURNING id, deleted_at;")
|
||||
|
||||
(sv/defmethod ::get-profile-by-email
|
||||
"Get profile by email"
|
||||
{::doc/added "2.15"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map [:email ::sm/email]]
|
||||
::sm/result schema:profile
|
||||
::nitrate/sso false}
|
||||
@ -430,7 +431,7 @@ RETURNING id, deleted_at;")
|
||||
|
||||
(sv/defmethod ::get-profile-by-id
|
||||
"Get profile by email"
|
||||
{::doc/added "2.15"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map [:id ::sm/uuid]]
|
||||
::sm/result schema:profile
|
||||
::nitrate/sso false}
|
||||
@ -465,7 +466,7 @@ RETURNING id, deleted_at;")
|
||||
|
||||
(sv/defmethod ::get-organization-member-team-counts
|
||||
"Get the number of non-default teams each profile belongs to within a set of teams."
|
||||
{::doc/added "2.15"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:get-organization-member-team-counts-params
|
||||
::sm/result schema:get-organization-member-team-counts-result
|
||||
::rpc/auth false}
|
||||
@ -499,13 +500,13 @@ RETURNING id, deleted_at;")
|
||||
{:id id
|
||||
:name name
|
||||
:initials (if logo-id "" (d/get-initials name))
|
||||
:logo (when logo-id (files/resolve-public-uri logo-id))
|
||||
:logo (when logo-id (u/uri (files/resolve-public-uri logo-id)))
|
||||
:avatar-bg-url (when-not logo-id avatar-bg-url)
|
||||
:sso-active (true? sso-active)}))
|
||||
|
||||
(sv/defmethod ::invite-to-organization
|
||||
"Invite to organization"
|
||||
{::doc/added "2.15"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map
|
||||
[:email ::sm/email]
|
||||
[:organization cto/schema:organization-with-avatar]]
|
||||
@ -537,7 +538,7 @@ RETURNING id, deleted_at;")
|
||||
|
||||
(sv/defmethod ::get-organization-invitations
|
||||
"Get valid invitations for an organization, returning at most one invitation per email."
|
||||
{::doc/added "2.16"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:get-organization-invitations-params
|
||||
::sm/result schema:get-organization-invitations-result
|
||||
::nitrate/sso false}
|
||||
@ -565,7 +566,7 @@ RETURNING id, deleted_at;")
|
||||
|
||||
(sv/defmethod ::delete-organization-invitations
|
||||
"Delete all invitations for one email in an organization scope (organization + organization teams)."
|
||||
{::doc/added "2.16"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:delete-organization-invitations-params
|
||||
::nitrate/sso false}
|
||||
[cfg {:keys [organization-id email]}]
|
||||
@ -630,7 +631,7 @@ RETURNING id, deleted_at;")
|
||||
|
||||
(sv/defmethod ::remove-from-organization
|
||||
"Remove an user from an organization"
|
||||
{::doc/added "2.17"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map
|
||||
[:profile-id ::sm/uuid]
|
||||
[:organization-id ::sm/uuid]
|
||||
@ -675,7 +676,7 @@ RETURNING id, deleted_at;")
|
||||
(sv/defmethod ::get-remove-from-organization-summary
|
||||
"Get a summary of the teams that would be deleted, transferred, or exited
|
||||
if the user were removed from the organization"
|
||||
{::doc/added "2.17"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map
|
||||
[:profile-id ::sm/uuid]
|
||||
[:organization-id ::sm/uuid]
|
||||
@ -710,7 +711,7 @@ RETURNING id, deleted_at;")
|
||||
|
||||
(sv/defmethod ::send-renewal-email
|
||||
"Send an Enterprise subscription renewal notice email to a user."
|
||||
{::doc/added "2.17"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:send-renewal-email-params
|
||||
::rpc/auth false}
|
||||
[cfg {:keys [profile-id user-email user-name renewal-date estimated-amount organizations]}]
|
||||
@ -823,7 +824,7 @@ RETURNING id, deleted_at;")
|
||||
"Push audit events from nitrate (strictly for nitrate backend
|
||||
events)"
|
||||
|
||||
{::doc/added "2.19"
|
||||
{::doc/added "2.18"
|
||||
::audit/skip true
|
||||
::sm/params schema:push-audit-events-params
|
||||
::rpc/auth false}
|
||||
@ -930,7 +931,7 @@ RETURNING id, deleted_at;")
|
||||
(sv/defmethod ::get-teams-detail
|
||||
"Get detailed information for all non-deleted teams in an organization,
|
||||
including owner info and project/file/member counts."
|
||||
{::doc/added "2.20"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:get-teams-detail-params
|
||||
::sm/result schema:get-teams-detail-result
|
||||
::nitrate/sso false}
|
||||
@ -958,7 +959,7 @@ RETURNING id, deleted_at;")
|
||||
"Validate an organization SSO configuration by generating a login redirect URL.
|
||||
Nitrate calls this while configuring SSO to verify client credentials and OIDC
|
||||
discovery before saving the settings."
|
||||
{::doc/added "2.20"
|
||||
{::doc/added "2.18"
|
||||
::sm/params cto/schema:nitrate-sso
|
||||
::sm/result schema:check-organization-sso-result
|
||||
::rpc/auth false}
|
||||
@ -968,7 +969,7 @@ RETURNING id, deleted_at;")
|
||||
;; ---- API: notify-organization-sso-change
|
||||
(sv/defmethod ::notify-organization-sso-change
|
||||
"Nitrate notifies that an organization sso values have changed"
|
||||
{::doc/added "2.19"
|
||||
{::doc/added "2.18"
|
||||
::sm/params [:map
|
||||
[:organization-id ::sm/uuid]
|
||||
[:updated-props ::sm/boolean]
|
||||
@ -1017,7 +1018,7 @@ RETURNING id, deleted_at;")
|
||||
bulk-creation screen; access is gated by the shared key and, in Nitrate, an
|
||||
email allow-list. Requires the `admin-console-bulk-create-profiles` flag, disabled
|
||||
by default so it is only available on test environments."
|
||||
{::doc/added "2.19"
|
||||
{::doc/added "2.18"
|
||||
::sm/params schema:bulk-create-profiles-params
|
||||
::sm/result schema:bulk-create-profiles-result
|
||||
::rpc/auth false}
|
||||
|
||||
@ -178,7 +178,7 @@
|
||||
(t/is (th/success? out))
|
||||
(t/is (= "Trusted Organization" (:name organization)))
|
||||
(t/is (= "" (:initials organization)))
|
||||
(t/is (str/ends-with? (:logo organization)
|
||||
(t/is (str/ends-with? (str (:logo organization))
|
||||
(str "/assets/by-id/" logo-id)))
|
||||
(t/is (nil? (:avatar-bg-url organization)))
|
||||
(t/is (true? (:sso-active organization))))))))
|
||||
|
||||
@ -111,6 +111,7 @@ http {
|
||||
}
|
||||
|
||||
location /assets {
|
||||
proxy_set_header Host $proxy_host;
|
||||
proxy_pass $PENPOT_BACKEND_URI/assets;
|
||||
recursive_error_pages on;
|
||||
proxy_intercept_errors on;
|
||||
@ -127,10 +128,12 @@ http {
|
||||
}
|
||||
|
||||
location /api/export {
|
||||
proxy_set_header Host $proxy_host;
|
||||
proxy_pass $PENPOT_EXPORTER_URI;
|
||||
}
|
||||
|
||||
location /api {
|
||||
proxy_set_header Host $proxy_host;
|
||||
proxy_pass $PENPOT_BACKEND_URI/api;
|
||||
proxy_buffering off;
|
||||
}
|
||||
@ -142,10 +145,12 @@ http {
|
||||
|
||||
location /readyz {
|
||||
access_log off;
|
||||
proxy_set_header Host $proxy_host;
|
||||
proxy_pass $PENPOT_BACKEND_URI$request_uri;
|
||||
}
|
||||
|
||||
location /ws/notifications {
|
||||
proxy_set_header Host $proxy_host;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection 'upgrade';
|
||||
proxy_pass $PENPOT_BACKEND_URI/ws/notifications;
|
||||
|
||||
@ -425,7 +425,7 @@
|
||||
|
||||
nitrate-toast-message
|
||||
(condp = params-subscription
|
||||
dnt/nitrate-checkout-finish-error-token (tr "subscription.error.nitrate.checkout-finish-failed")
|
||||
dnt/nitrate-checkout-finish-error-token (tr "subscription.error.nitrate.checkout-failed")
|
||||
dnt/nitrate-checkout-cancelled-token (tr "subscription.error.nitrate.checkout-cancelled")
|
||||
nil)
|
||||
|
||||
|
||||
@ -6073,12 +6073,6 @@ msgstr ""
|
||||
"The payment was not completed. Please try again. "
|
||||
"If the problem persists, contact us: support@penpot.app."
|
||||
|
||||
#: src/app/main/ui/settings/subscription.cljs:407
|
||||
msgid "subscription.error.nitrate.checkout-finish-failed"
|
||||
msgstr ""
|
||||
"We couldn’t confirm your subscription. Please check your subscription "
|
||||
"status on the Subscription page. You may try again if needed."
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs:114, src/app/main/ui/settings/subscription.cljs:505, src/app/main/ui/settings/subscription.cljs:565
|
||||
msgid "subscription.labels"
|
||||
msgstr "Subscription"
|
||||
|
||||
@ -5937,13 +5937,6 @@ msgstr ""
|
||||
"No hemos podido iniciar el proceso de pago. Inténtalo de nuevo. Si el "
|
||||
"problema persiste, contáctanos: support@penpot.app."
|
||||
|
||||
#: src/app/main/ui/settings/subscription.cljs:407
|
||||
msgid "subscription.error.nitrate.checkout-finish-failed"
|
||||
msgstr ""
|
||||
"No hemos podido confirmar tu suscripción. Revisa el estado de tu "
|
||||
"suscripción en la página de Suscripciones. Puedes volver a intentarlo si lo "
|
||||
"necesitas."
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs:114, src/app/main/ui/settings/subscription.cljs:505, src/app/main/ui/settings/subscription.cljs:565
|
||||
msgid "subscription.labels"
|
||||
msgstr "Suscripción"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user