From 7149320986bf5bec1af5da4fc65756f9dd01f58e Mon Sep 17 00:00:00 2001 From: Maciej Krajowski-Kukiel Date: Tue, 24 Feb 2026 09:43:27 +0100 Subject: [PATCH 01/44] new assign syntax --- .../chat/public/views/pages/inbox.html.liquid | 2 +- .../channels/conversate/receive.liquid | 5 +--- .../chat/public/views/partials/inbox.liquid | 2 +- .../conversations/create/build.liquid | 6 ++-- .../conversations/create/check.liquid | 8 +++--- .../conversations/find_or_create.liquid | 2 +- .../conversations/find_or_create/build.liquid | 8 ++---- .../conversations/find_or_create/check.liquid | 4 +-- .../conversations/mark_read/build.liquid | 7 ++--- .../conversations/mark_read/check.liquid | 8 +++--- .../conversations/mark_unread/build.liquid | 6 ++-- .../conversations/mark_unread/check.liquid | 8 +++--- .../lib/commands/messages/create/build.liquid | 7 ++--- .../lib/commands/messages/create/check.liquid | 8 +++--- .../lib/queries/conversations/find.liquid | 11 +++----- .../conversations/find_by_participant.liquid | 8 +++--- .../conversations/find_by_participants.liquid | 8 +++--- .../lib/queries/conversations/search.liquid | 14 +++++----- .../search_by_participant.liquid | 14 +++++----- .../modules/chat/template-values.json | 6 ++-- .../public/views/pages/style-guide.liquid | 4 +-- .../templates/views/pages/model/new.liquid | 4 +-- .../public/lib/commands/hook/alter.liquid | 2 +- .../core/public/lib/commands/hook/fire.liquid | 4 +-- .../partials/lib/commands/hook/alter.liquid | 2 +- .../partials/lib/commands/hook/fire.liquid | 4 +-- .../lib/helpers/register_error.liquid | 2 +- .../lib/queries/registry/search.liquid | 8 +++--- .../lib/commands/profiles/create/build.liquid | 11 ++++---- .../lib/commands/profiles/roles/append.liquid | 2 +- .../lib/commands/profiles/roles/remove.liquid | 2 +- .../lib/commands/profiles/roles/set.liquid | 2 +- .../commands/profiles/tokenize_names.liquid | 4 +-- .../public/lib/commands/session/create.liquid | 2 +- .../lib/commands/session/destroy.liquid | 2 +- .../public/lib/commands/user/delete.liquid | 2 +- .../public/lib/commands/user/update.liquid | 2 +- .../public/lib/helpers/current_profile.liquid | 8 +++--- .../lib/queries/profiles/filters.liquid | 14 ++++------ .../public/lib/queries/profiles/search.liquid | 6 ++-- .../templates/views/pages/model/new.liquid | 4 +-- .../public/lib/commands/email/send.liquid | 4 +-- .../lib/commands/email/send/check.liquid | 8 +++--- .../lib/commands/events/broadcast.liquid | 2 +- .../lib/commands/events/create/check.liquid | 8 +++--- .../lib/commands/events/create/execute.liquid | 2 +- .../core/public/lib/commands/execute.liquid | 2 +- .../public/lib/commands/hook/alter.liquid | 2 +- .../core/public/lib/commands/hook/fire.liquid | 4 +-- .../lib/commands/statuses/create/check.liquid | 8 +++--- .../lib/commands/statuses/delete/check.liquid | 8 +++--- .../public/lib/helpers/redirect_to.liquid | 4 +-- .../public/lib/helpers/register_error.liquid | 6 ++-- .../public/lib/queries/registry/search.liquid | 4 +-- .../lib/validations/valid_object.liquid | 2 +- .../public/views/pages/_events/trigger.liquid | 2 +- .../partials/lib/commands/email/send.liquid | 4 +-- .../lib/commands/email/send/check.liquid | 8 +++--- .../partials/lib/commands/hook/alter.liquid | 2 +- .../partials/lib/commands/hook/fire.liquid | 4 +-- .../lib/helpers/register_error.liquid | 6 ++-- .../lib/queries/registry/search.liquid | 4 +-- .../lib/validations/valid_object.liquid | 2 +- .../modules/core/template-values.json | 2 +- .../commands/data_exports/create/build.liquid | 10 +++---- .../commands/data_exports/delete/build.liquid | 5 ++-- .../data_export_api/template-values.json | 2 +- .../commands/embeddings/create/build.liquid | 9 ++---- .../commands/embeddings/create/execute.liquid | 4 +-- .../commands/embeddings/delete/build.liquid | 5 ++-- .../commands/embeddings/update/build.liquid | 10 ++----- .../commands/embeddings/update/execute.liquid | 4 +-- .../lib/commands/openai/chat/build.liquid | 23 ++++++++------- .../openai/fetch_embeddings/build.liquid | 6 ++-- .../commands/openai/responses/build.liquid | 28 +++++++++---------- pos-module-openai/template-values.json | 2 +- .../commands/connected_accounts/create.liquid | 2 +- .../lib/commands/customers/create.liquid | 2 +- .../payouts/handle_webhook/check.liquid | 8 +++--- .../setup_intents/update_status/check.liquid | 8 +++--- .../retrieve/map_response.liquid | 12 ++++---- .../stripe_charge/create/map_response.liquid | 12 ++++---- .../stripe_charge/handle_webhook/check.liquid | 8 +++--- .../stripe_checkout/complete/build.liquid | 4 +-- .../stripe_checkout/complete/check.liquid | 8 +++--- .../complete/map_request.liquid | 22 +++++++-------- .../create/map_response.liquid | 12 ++++---- .../expire/map_response.liquid | 12 ++++---- .../handle_webhook/build.liquid | 6 ++-- .../handle_webhook/check.liquid | 8 +++--- .../stripe_checkout/retrieve/build.liquid | 6 ++-- .../retrieve/map_response.liquid | 12 ++++---- .../setup_intent/map_response.liquid | 12 ++++---- .../create/map_response.liquid | 14 +++++----- .../delete/map_response.liquid | 12 ++++---- .../get_dashboard_link/map_response.liquid | 12 ++++---- .../get_onboarding_link/map_response.liquid | 12 ++++---- .../handle_webhook/build.liquid | 6 ++-- .../handle_webhook/check.liquid | 8 +++--- .../retrieve/map_response.liquid | 18 ++++++------ .../create/map_response.liquid | 12 ++++---- .../retrieve/map_response.liquid | 12 ++++---- .../stripe_refund/create/build.liquid | 2 +- .../stripe_refund/create/map_response.liquid | 16 +++++------ .../handle_webhook/build.liquid | 8 +++--- .../handle_webhook/check.liquid | 8 +++--- .../stripe_webhook/delete/check.liquid | 8 +++--- .../commands/webhook_endpoints/create.liquid | 4 +-- .../lib/commands/webhooks/charge.liquid | 16 +++++------ .../webhooks/connected_account.liquid | 6 ++-- .../lib/commands/webhooks/payout.liquid | 6 ++-- .../commands/webhooks/session_expired.liquid | 12 ++++---- .../lib/commands/webhooks/setup_intent.liquid | 10 +++---- .../payments_stripe/template-values.json | 4 +-- .../public/lib/commands/hook/alter.liquid | 2 +- .../partials/lib/commands/hook/alter.liquid | 2 +- .../create_with_content/build.liquid | 11 ++------ .../create_with_content/check.liquid | 8 +++--- .../lib/commands/reports/create/check.liquid | 8 +++--- .../report_requested/trigger_export.liquid | 4 +-- .../update_report_status.liquid | 8 +++--- .../modules/reports/template-values.json | 8 +++--- .../tests/public/lib/commands/run.liquid | 5 +--- .../public/views/pages/_tests/index.js.liquid | 10 +++---- .../views/pages/_tests/run_async.js.liquid | 2 +- .../views/partials/tests/show_js.liquid | 16 ++++------- .../modules/tests/template-values.json | 2 +- .../public/lib/commands/hook/alter.liquid | 2 +- .../core/public/lib/commands/hook/fire.liquid | 4 +-- .../public/lib/helpers/register_error.liquid | 2 +- .../partials/lib/commands/hook/alter.liquid | 2 +- .../partials/lib/commands/hook/fire.liquid | 4 +-- .../authentication_links/create/check.liquid | 8 +++--- .../create/execute.liquid | 4 +-- .../commands/passwords/create/check.liquid | 8 +++--- .../commands/passwords/create/execute.liquid | 6 ++-- .../lib/commands/profiles/create/build.liquid | 11 ++++---- .../commands/profiles/mark_otp/build.liquid | 8 +++--- .../commands/profiles/mark_otp/check.liquid | 8 +++--- .../lib/commands/profiles/roles/append.liquid | 2 +- .../lib/commands/profiles/roles/remove.liquid | 2 +- .../lib/commands/profiles/roles/set.liquid | 2 +- .../commands/profiles/tokenize_names.liquid | 4 +-- .../public/lib/commands/session/create.liquid | 8 +++--- .../lib/commands/session/create/check.liquid | 8 +++--- .../lib/commands/session/destroy.liquid | 6 ++-- .../session/impersonation/create/check.liquid | 8 +++--- .../impersonation/destroy/check.liquid | 8 +++--- .../public/lib/commands/user/create.liquid | 2 +- .../lib/commands/user/create/build.liquid | 2 +- .../lib/commands/user/create/check.liquid | 8 +++--- .../public/lib/commands/user/delete.liquid | 4 +-- .../public/lib/commands/user/update.liquid | 12 ++++---- .../lib/commands/user/update/check.liquid | 8 +++--- .../lib/commands/user/verify_otp/check.liquid | 10 +++---- .../user/verify_password/check.liquid | 10 +++---- .../public/lib/helpers/current_profile.liquid | 8 +++--- .../get_available_oauth_providers.liquid | 10 ++----- .../lib/queries/profiles/filters.liquid | 22 +++++++-------- .../public/lib/queries/profiles/find.liquid | 2 +- .../public/lib/queries/profiles/search.liquid | 8 +++--- .../views/pages/passwords/create.liquid | 2 +- .../views/pages/profiles/2fa/create.liquid | 2 +- .../views/pages/profiles/2fa/delete.liquid | 2 +- .../views/pages/users/email/update.liquid | 2 +- .../modules/user/template-values.json | 4 +-- 166 files changed, 529 insertions(+), 589 deletions(-) diff --git a/pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid b/pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid index 530c33a..b8dc19c 100644 --- a/pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid +++ b/pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid @@ -33,7 +33,7 @@ slug: inbox if conversations.total_entries > 0 if current_conversation and current_conversation.participants == blank graphql participants = 'modules/user/profiles/search', ids: current_conversation.participant_ids - hash_assign current_conversation['participants'] = participants.records.results + assign current_conversation.participants = participants.records.results endif render 'modules/chat/inbox', current_conversation: current_conversation, conversations: conversations, current_profile: current_profile diff --git a/pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid b/pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid index ae49cbc..eb364f4 100644 --- a/pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid @@ -21,10 +21,7 @@ function conversation = 'modules/chat/lib/queries/conversations/find_by_participant', id: room_id, participant_id: current_profile.id, include_messages: null if conversation assign message_safe = context.params.message | raw_escape_string - assign object = '{}' | parse_json - hash_assign object['conversation_id'] = conversation.id - hash_assign object['autor_id'] = current_profile.id - hash_assign object['message'] = message_safe + assign object = { "conversation_id": conversation.id, "autor_id": current_profile.id, "message": message_safe } function message = 'modules/chat/lib/commands/messages/create', object: object if message.valid != true log message, 'ERROR receive message' diff --git a/pos-module-chat/modules/chat/public/views/partials/inbox.liquid b/pos-module-chat/modules/chat/public/views/partials/inbox.liquid index 807bb5c..2f3601c 100644 --- a/pos-module-chat/modules/chat/public/views/partials/inbox.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/inbox.liquid @@ -41,7 +41,7 @@ -{% assign dummy_message = '{ "message": "", "created_at": null }' | parse_json %} +{% assign dummy_message = { "message": "", "created_at": null } %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/build.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/build.liquid index bb3b199..2f469c6 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/build.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/build.liquid @@ -1,7 +1,5 @@ {% liquid - assign data = '{}' | parse_json - hash_assign data['participant_ids'] = object.participant_ids - hash_assign data['participant_read_ids'] = current_profile.id + assign data = { "participant_ids": object.participant_ids, "participant_read_ids": current_profile.id } return data -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/check.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/check.liquid index 00c229f..005ff93 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/check.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/check.liquid @@ -1,12 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'participant_ids' function c = 'modules/core/validations/length', c: c, object: object, field_name: 'participant_ids', minimum: 2, allow_blank: null function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'participant_read_ids' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid index 6dbbb52..ac83518 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid @@ -7,7 +7,7 @@ function conversation = 'modules/chat/lib/queries/conversations/find_by_participants', participant_ids: object.participant_ids, include_messages: true unless conversation function conversation = 'modules/chat/lib/commands/conversations/create', object: object, current_profile: current_profile - hash_assign conversation['created'] = true + assign conversation.created = true endunless endif diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create/build.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create/build.liquid index 5716d07..a35f400 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create/build.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create/build.liquid @@ -1,8 +1,6 @@ {% liquid - assign participants = '[]' | parse_json | add_to_array: current_profile.id | add_to_array: object['to_id'] | uniq | compact | sort - assign data = '{}' | parse_json - hash_assign data['participant_ids'] = participants - hash_assign data['conversation_id'] = object.conversation_id + assign participants = [current_profile.id, object.to_id] | uniq | compact | sort + assign data = { "participant_ids": participants, "conversation_id": object.conversation_id } return data -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create/check.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create/check.liquid index 6391f18..e606409 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create/check.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create/check.liquid @@ -4,9 +4,9 @@ assign types = object.participants | map: 'type' | uniq if types.size == 1 and types.first == 'profile' - hash_assign object['valid'] = false + assign object.valid = false endif endcomment return object -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/build.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/build.liquid index edb2233..1723801 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/build.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/build.liquid @@ -1,8 +1,5 @@ {% liquid - assign data = '{}' | parse_json - hash_assign data['id'] = conversation.id - hash_assign data['participant_read_ids'] = conversation.participant_read_ids - hash_assign data['participant_id'] = participant_id + assign data = { "id": conversation.id, "participant_read_ids": conversation.participant_read_ids, "participant_id": participant_id } return data -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/check.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/check.liquid index f043e84..11c6623 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/check.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'participant_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/build.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/build.liquid index 96eb24c..2150034 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/build.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/build.liquid @@ -1,7 +1,5 @@ {% liquid - assign data = '{}' | parse_json - hash_assign data['id'] = conversation.id - hash_assign data['participant_read_ids'] = current_profile.id + assign data = { "id": conversation.id, "participant_read_ids": current_profile.id } return data -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/check.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/check.liquid index a74aa70..df21af9 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/check.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'participant_read_ids' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/build.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/build.liquid index 5c12d58..00baae5 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/build.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/build.liquid @@ -1,8 +1,5 @@ {% liquid - assign data = '{}' | parse_json - hash_assign data['conversation_id'] = object.conversation_id - hash_assign data['autor_id'] = object.autor_id - hash_assign data['message'] = object.message + assign data = { "conversation_id": object.conversation_id, "autor_id": object.autor_id, "message": object.message } return data -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/check.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/check.liquid index b464e90..f8f3e3e 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/check.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/check.liquid @@ -1,12 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'conversation_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'autor_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'message' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid index 7d922a3..0177666 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid @@ -8,17 +8,14 @@ assign conversation = r.conversations.results.first - assign participants = '[]' | parse_json + assign participants = [] - - # platformos-check-disable GraphqlInForLoop for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants | add_to_array: profile + assign participants << profile endfor - # platformos-check-enable GraphqlInForLoop - hash_assign conversation['participants'] = participants + assign conversation.participants = participants return conversation -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid index a80d216..81fd303 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid @@ -14,15 +14,15 @@ assign conversation = r.conversations.results.first if conversation - assign participants = '[]' | parse_json + assign participants = [] for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants | add_to_array: profile + assign participants << profile endfor - hash_assign conversation['participants'] = participants + assign conversation.participants = participants endif return conversation -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid index 3624d77..c7ecc72 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid @@ -9,15 +9,15 @@ assign conversation = r.conversations.results.first if conversation - assign participants = '[]' | parse_json + assign participants = [] for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants | add_to_array: profile + assign participants << profile endfor - hash_assign conversation['participants'] = participants + assign conversation.participants = participants endif return conversation -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid index 132d680..e775b30 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid @@ -3,21 +3,21 @@ graphql r = 'modules/chat/conversations/search_by_message', limit: limit, page: page, participant_id: participant_id, message: message assign result = r.conversations - assign conversations = '[]' | parse_json + assign conversations = [] for conversation in result.results - assign participants = '[]' | parse_json + assign participants = [] for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants | add_to_array: profile + assign participants << profile endfor - hash_assign conversation['participants'] = participants - assign conversations = conversations | add_to_array: conversation + assign conversation.participants = participants + assign conversations << conversation endfor - hash_assign result['results'] = conversations + assign result.results = conversations return result -%} + %} diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid index 4632f13..4b54064 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid @@ -9,21 +9,21 @@ graphql r = 'modules/chat/conversations/search', limit: limit, page: page, participant_id: participant_id assign result = r.conversations - assign conversations = '[]' | parse_json + assign conversations = [] for conversation in result.results - assign participants = '[]' | parse_json + assign participants = [] for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants | add_to_array: profile + assign participants << profile endfor - hash_assign conversation['participants'] = participants - assign conversations = conversations | add_to_array: conversation + assign conversation.participants = participants + assign conversations << conversation endfor - hash_assign result['results'] = conversations + assign result.results = conversations return result -%} + %} diff --git a/pos-module-chat/modules/chat/template-values.json b/pos-module-chat/modules/chat/template-values.json index ca5c942..f9c5f3a 100644 --- a/pos-module-chat/modules/chat/template-values.json +++ b/pos-module-chat/modules/chat/template-values.json @@ -2,11 +2,11 @@ "name": "Pos Module Chat", "machine_name": "chat", "type": "module", - "version": "1.1.1", + "version": "1.2.0", "dependencies": { - "core": "^2.0.6", + "core": "^2.1.0", "profile": "^1.1.1", - "user": "^5.0.4", + "user": "^5.2.0", "common-styling": "1.11.0" } } diff --git a/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid b/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid index 4af2559..1bc8167 100644 --- a/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid +++ b/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid @@ -1139,9 +1139,9 @@ layout: 'modules/common-styling/style-guide' for i in (i..10) assign value = 'value' | append: i assign label = 'Label for value ' | append: i - assign example_item = '{}' | parse_json | hash_merge: value: value, label: label + assign example_item = { "value": value, "label": label } assign example_list = example_list | add_to_array: example_item - assign selected = '["value0", "value5", "value6"]' | parse_json + assign selected = ["value0", "value5", "value6"] endfor %} {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-1', id: 'styleguide-form-multiselect-test-1', list: example_list, showFilter: true, combine_selected: true %} diff --git a/pos-module-chat/modules/core/generators/crud/templates/views/pages/model/new.liquid b/pos-module-chat/modules/core/generators/crud/templates/views/pages/model/new.liquid index cb0e37a..43c1b24 100644 --- a/pos-module-chat/modules/core/generators/crud/templates/views/pages/model/new.liquid +++ b/pos-module-chat/modules/core/generators/crud/templates/views/pages/model/new.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = '{}' | parse_json + assign object = {} render 'theme/simple/<%= modelNamePlural %>/new', object: object -%} + %} diff --git a/pos-module-chat/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-chat/modules/core/public/lib/commands/hook/alter.liquid index 64e2245..670f254 100644 --- a/pos-module-chat/modules/core/public/lib/commands/hook/alter.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/hook/alter.liquid @@ -16,6 +16,6 @@ function _ = implementation.path, params_to_modify: params_to_modify, params: params endfor - assign result = '{}' | parse_json | hash_merge: original_params: original_params + assign result = { "original_params": original_params } return result %} diff --git a/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid index c4956c8..d2872ca 100644 --- a/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid @@ -8,9 +8,9 @@ {% endcomment %} {% liquid if merge_to_object - assign results = '{}' | parse_json + assign results = {} else - assign results = '[]' | parse_json + assign results = [] endif assign hook = '/hook_' | append: hook diff --git a/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/alter.liquid index 3418a8a..118bc47 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/alter.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -17,6 +17,6 @@ function _ = implementation.path, params_to_modify: params_to_modify, params: params endfor - assign result = '{}' | parse_json | hash_merge: original_params: original_params + assign result = { "original_params": original_params } return result %} diff --git a/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid index 5af969b..ec71ae5 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -8,9 +8,9 @@ {% endcomment %} {% liquid if merge_to_object - assign results = '{}' | parse_json + assign results = {} else - assign results = '[]' | parse_json + assign results = [] endif assign hook = '/hook_' | append: hook diff --git a/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid index 2f252ef..a449ea4 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -17,7 +17,7 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: '[]' | parse_json + assign field_errors = errors[field_name] | default: [] assign field_errors = field_errors | add_to_array: msg hash_assign errors[field_name] = field_errors diff --git a/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid index 9c2cb22..7d9294a 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -8,18 +8,18 @@ case type when 'module' - assign modules = '[]' | parse_json + assign modules = [] for module in registry if module.type == 'module' - assign modules = modules | add_to_array: module + assign modules << module endif endfor return modules when 'theme' - assign themes = '[]' | parse_json + assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes | add_to_array: module + assign themes << module endif endfor return themes diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid index ff6f895..3c60414 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid @@ -6,9 +6,9 @@ assign data = null | hash_merge: first_name: object.first_name, last_name: object.last_name, user_id: object.user_id, email: object.email, uuid: uuid, name: name, c__names: tokenized_names if object.roles == null - assign roles = '[]' | parse_json + assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles | array_add: context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif else assign roles_type = object.roles | type_of @@ -17,16 +17,15 @@ elsif roles_type == 'Array' assign roles = object.roles else - # accepts only String and Array log object.roles, type: 'ERROR: roles must be an array or a coma separated string' - assign roles = '[]' | parse_json + assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles | array_add: context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif endif endif hash_assign data['roles'] = roles return data -%} + %} diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid index aabfc15..c6052e7 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid @@ -1,5 +1,5 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, role: role + assign object = { "valid": true, "id": id, "role": role } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/append' if object.errors == blank diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid index 2f6a6da..45ef598 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid @@ -1,5 +1,5 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, role : role + assign object = { "valid": true, "id": id, "role": role } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/remove' if object.errors == blank diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid index c1a0f39..b912b18 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid @@ -1,5 +1,5 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, roles: roles + assign object = { "valid": true, "id": id, "roles": roles } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/set' if object.errors == blank diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/tokenize_names.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/tokenize_names.liquid index f4b04c8..7155bdc 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/tokenize_names.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/tokenize_names.liquid @@ -1,4 +1,4 @@ {% liquid - assign tokenized_names = '[]' | parse_json | array_add: object.email | array_add: object.first_name | array_add: object.last_name | compact | uniq | join: ' ' | downcase + assign tokenized_names = [] | push: object.email | push: object.first_name | push: object.last_name | compact | uniq | join: ' ' | downcase return tokenized_names -%} + %} diff --git a/pos-module-chat/modules/user/public/lib/commands/session/create.liquid b/pos-module-chat/modules/user/public/lib/commands/session/create.liquid index 5cffc62..1af717e 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/create.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/create.liquid @@ -30,7 +30,7 @@ function user = 'modules/user/queries/user/load', id: object.id if user.id sign_in user_id: user.id - assign params = '{}' | parse_json | hash_merge: user: user, hook_params: hook_params + assign params = { "user": user, "hook_params": hook_params } function results = 'modules/core/commands/hook/fire', hook: 'user_login', params: params, merge_to_object: true hash_assign user['hook_results'] = results endif diff --git a/pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid b/pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid index 1ad11d0..3a26f10 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid @@ -8,7 +8,7 @@ hash_assign destroy['user'] = current_profile.user unless destroy.errors - assign params = '{}' | parse_json | hash_merge: destroy: destroy + assign params = { "destroy": destroy } function results = 'modules/core/commands/hook/fire', hook: 'user_logout', params: params, merge_to_object: null hash_assign destroy['hook_results'] = results assign event_payload = null | hash_merge: user_id: current_profile.user.id diff --git a/pos-module-chat/modules/user/public/lib/commands/user/delete.liquid b/pos-module-chat/modules/user/public/lib/commands/user/delete.liquid index 31ba099..c220cfd 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/delete.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/delete.liquid @@ -8,7 +8,7 @@ graphql user = 'modules/user/user/delete', id: id unless user.errors - assign params = '{}' | parse_json | hash_merge: user: user.user + assign params = { "user": user.user } function results = 'modules/core/commands/hook/fire', hook: 'user_delete', params: params, merge_to_object: null hash_assign user['hook_results'] = results diff --git a/pos-module-chat/modules/user/public/lib/commands/user/update.liquid b/pos-module-chat/modules/user/public/lib/commands/user/update.liquid index d2502fa..c28a241 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/update.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/update.liquid @@ -17,7 +17,7 @@ graphql user = 'modules/user/user/update', args: object hash_assign object['update_result'] = user unless user.errors - assign params = '{}' | parse_json | hash_merge: updated_user: user.user, hook_params: hook_params + assign params = { "updated_user": user.user, "hook_params": hook_params } # todo: merge_to_object for hooks with the same name will overwrite the validity of previous results function results = 'modules/core/commands/hook/fire', hook: 'user_update', params: params, merge_to_object: true for result in results diff --git a/pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid b/pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid index 460352f..b56072e 100644 --- a/pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid +++ b/pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid @@ -1,17 +1,17 @@ {% liquid function user = 'modules/user/queries/user/current' if user.id == null - assign current_profile = '{ "user": null, "roles": ["anonymous"] }' | parse_json + assign current_profile = { "user": null, "roles": ["anonymous"] } else function current_profile = 'modules/user/queries/profiles/find', user_id: user.id, id: null, uuid: null, first_name: null, last_name: null assign current_profile = current_profile | hash_merge: user: user if current_profile.roles != null - hash_assign current_profile['roles'] = current_profile.roles | array_add: 'authenticated' + hash_assign current_profile['roles'] = current_profile.roles << 'authenticated' else - hash_assign current_profile['roles'] = '["authenticated"]' | parse_json + hash_assign current_profile['roles'] = ["authenticated"] endif endif export current_profile return current_profile -%} + %} diff --git a/pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid b/pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid index 0e490b4..85da299 100644 --- a/pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid +++ b/pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid @@ -1,15 +1,13 @@ -{% parse_json sort_options %} -{ - "first_name_desc": { "properties": { "name": "first_name", "order": "DESC" }}, - "first_name_desc": { "properties": { "name": "first_name", "order": "ASC" }} -} -{% endparse_json %} {% liquid - assign filters = '{}' | parse_json + assign sort_options = { + "first_name_desc": { "properties": { "name": "first_name", "order": "DESC" }}, + "first_name_asc": { "properties": { "name": "first_name", "order": "ASC" }} + } + assign filters = {} hash_assign filters['page'] = params.page | to_positive_integer: 1 hash_assign filters['keyword'] = params.keyword | default: '' hash_assign filters['sort_by'] = params.sort_by | default: 'first_name_desc' hash_assign filters['sort'] = sort_options[filters.sort_by] return filters -%} + %} diff --git a/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid b/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid index ec4ed53..dab15bc 100644 --- a/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid +++ b/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid @@ -7,16 +7,16 @@ graphql r = 'modules/user/profiles/search', limit: limit, uuid: uuid, id: id, ids: ids, first_name: first_name , last_name: last_name , user_id: user_id, not_ids: not_ids, query: query, emails: emails, sort: sort, page: page assign records = r.records - assign profiles = '[]' | parse_json + assign profiles = [] for profile in records.results function slug = 'modules/user/helpers/profiles/slugs/build' , current_profile: profile hash_assign profile['slug'] = slug assign p = profile - assign profiles = profiles | array_add: p + assign profiles << p endfor hash_assign records['results'] = profiles return records -%} + %} diff --git a/pos-module-core/modules/core/generators/crud/templates/views/pages/model/new.liquid b/pos-module-core/modules/core/generators/crud/templates/views/pages/model/new.liquid index cb0e37a..43c1b24 100644 --- a/pos-module-core/modules/core/generators/crud/templates/views/pages/model/new.liquid +++ b/pos-module-core/modules/core/generators/crud/templates/views/pages/model/new.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = '{}' | parse_json + assign object = {} render 'theme/simple/<%= modelNamePlural %>/new', object: object -%} + %} diff --git a/pos-module-core/modules/core/public/lib/commands/email/send.liquid b/pos-module-core/modules/core/public/lib/commands/email/send.liquid index bd0a46e..08b61e8 100644 --- a/pos-module-core/modules/core/public/lib/commands/email/send.liquid +++ b/pos-module-core/modules/core/public/lib/commands/email/send.liquid @@ -7,8 +7,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif else log object.errors, type: 'payload validation error in core: commands/email' diff --git a/pos-module-core/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-core/modules/core/public/lib/commands/email/send/check.liquid index 83f4269..ace1577 100644 --- a/pos-module-core/modules/core/public/lib/commands/email/send/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/email/send/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid index 5cf9440..6558c07 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid @@ -8,7 +8,7 @@ assign name = 'consumers/' | append: object.type | append: '/' graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" - hash_assign object['consumers'] = consumers + assign object.consumers = consumers for consumer in consumers assign priority = 'default' if priorities contains consumer.metadata.priority diff --git a/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid index b4f2878..e931a31 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date' @@ -17,8 +17,8 @@ if event_check_partial function event_result = event_check_partial.path, event: object if event_result.valid != true - hash_assign c['errors']['object'] = event_result.errors - hash_assign c['valid'] = false + assign c.errors.object = event_result.errors + assign c.valid = false endif else assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type @@ -27,4 +27,4 @@ assign object = object | hash_merge: c return object -%} + %} diff --git a/pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid index bff75bf..326537b 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid @@ -2,7 +2,7 @@ graphql r = 'modules/core/events/create', payload: object assign object = r.activity_create.payload - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-core/modules/core/public/lib/commands/execute.liquid b/pos-module-core/modules/core/public/lib/commands/execute.liquid index 0c9e1cd..e68f82d 100644 --- a/pos-module-core/modules/core/public/lib/commands/execute.liquid +++ b/pos-module-core/modules/core/public/lib/commands/execute.liquid @@ -7,6 +7,6 @@ endif assign object = r[selection] - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-core/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-core/modules/core/public/lib/commands/hook/alter.liquid index 64e2245..670f254 100644 --- a/pos-module-core/modules/core/public/lib/commands/hook/alter.liquid +++ b/pos-module-core/modules/core/public/lib/commands/hook/alter.liquid @@ -16,6 +16,6 @@ function _ = implementation.path, params_to_modify: params_to_modify, params: params endfor - assign result = '{}' | parse_json | hash_merge: original_params: original_params + assign result = { "original_params": original_params } return result %} diff --git a/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid index c4956c8..d2872ca 100644 --- a/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid @@ -8,9 +8,9 @@ {% endcomment %} {% liquid if merge_to_object - assign results = '{}' | parse_json + assign results = {} else - assign results = '[]' | parse_json + assign results = [] endif assign hook = '/hook_' | append: hook diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid index acbcb25..db690e5 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid index 51f8988..225a9ed 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -1,10 +1,10 @@ {% liquid - assign c = '{ "valid": true, "errors": {} }' | parse_json + assign c = { "valid": true, "errors": {} } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid index 3d430eb..2a109e0 100644 --- a/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid @@ -28,8 +28,8 @@ echo response_json else response_status 422 - assign res = '{ "errors": {} }' | parse_json - hash_assign res['errors'] = response_json.errors + assign res = { "errors": {} } + assign res.errors = response_json.errors echo res endif diff --git a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid index 2f252ef..e04d750 100644 --- a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid @@ -17,11 +17,11 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: '[]' | parse_json + assign field_errors = errors[field_name] | default: [] assign field_errors = field_errors | add_to_array: msg - hash_assign errors[field_name] = field_errors - hash_assign contract['valid'] = false + assign errors[field_name] = field_errors + assign contract.valid = false return contract %} diff --git a/pos-module-core/modules/core/public/lib/queries/registry/search.liquid b/pos-module-core/modules/core/public/lib/queries/registry/search.liquid index 60e1126..f0564d4 100644 --- a/pos-module-core/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-core/modules/core/public/lib/queries/registry/search.liquid @@ -8,7 +8,7 @@ case type when 'module' - assign modules = '[]' | parse_json + assign modules = [] for module in registry if module.type == 'module' assign modules = modules | add_to_array: module @@ -16,7 +16,7 @@ endfor return modules when 'theme' - assign themes = '[]' | parse_json + assign themes = [] for module in registry if module.type == 'theme' assign themes = themes | add_to_array: module diff --git a/pos-module-core/modules/core/public/lib/validations/valid_object.liquid b/pos-module-core/modules/core/public/lib/validations/valid_object.liquid index b29a9b1..41f9359 100644 --- a/pos-module-core/modules/core/public/lib/validations/valid_object.liquid +++ b/pos-module-core/modules/core/public/lib/validations/valid_object.liquid @@ -12,7 +12,7 @@ if check_object.valid != true function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' assign errors_key = field_name | append: '_errors' - hash_assign c['errors'][errors_key] = check_object.errors + assign c.errors[errors_key] = check_object.errors endif endif diff --git a/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid index 9ac9edd..c062670 100644 --- a/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid +++ b/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid @@ -12,7 +12,7 @@ slug: _events/:uuid/trigger else assign name = 'consumers/' | append: event.type | append: '/' graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" - hash_assign event['consumers'] = consumers + assign event.consumers = consumers endif render 'modules/core/events/show', event: event diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid index e6ad1be..1818aa7 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -8,8 +8,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif else log object.errors, type: 'payload validation error in core: lib/commands/email' diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid index 83f4269..ace1577 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid index 3418a8a..118bc47 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -17,6 +17,6 @@ function _ = implementation.path, params_to_modify: params_to_modify, params: params endfor - assign result = '{}' | parse_json | hash_merge: original_params: original_params + assign result = { "original_params": original_params } return result %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid index 5af969b..ec71ae5 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -8,9 +8,9 @@ {% endcomment %} {% liquid if merge_to_object - assign results = '{}' | parse_json + assign results = {} else - assign results = '[]' | parse_json + assign results = [] endif assign hook = '/hook_' | append: hook diff --git a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid index 2f252ef..e04d750 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -17,11 +17,11 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: '[]' | parse_json + assign field_errors = errors[field_name] | default: [] assign field_errors = field_errors | add_to_array: msg - hash_assign errors[field_name] = field_errors - hash_assign contract['valid'] = false + assign errors[field_name] = field_errors + assign contract.valid = false return contract %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid index 9c2cb22..c417f51 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -8,7 +8,7 @@ case type when 'module' - assign modules = '[]' | parse_json + assign modules = [] for module in registry if module.type == 'module' assign modules = modules | add_to_array: module @@ -16,7 +16,7 @@ endfor return modules when 'theme' - assign themes = '[]' | parse_json + assign themes = [] for module in registry if module.type == 'theme' assign themes = themes | add_to_array: module diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid index 7b1b317..f0adacc 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -13,7 +13,7 @@ if check_object.valid != true function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' assign errors_key = field_name | append: '_errors' - hash_assign c['errors'][errors_key] = check_object.errors + assign c.errors[errors_key] = check_object.errors endif endif diff --git a/pos-module-core/modules/core/template-values.json b/pos-module-core/modules/core/template-values.json index 87ab94b..8a2520a 100644 --- a/pos-module-core/modules/core/template-values.json +++ b/pos-module-core/modules/core/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Core", "machine_name": "core", "type": "module", - "version": "2.0.7", + "version": "2.1.0", "dependencies": {} } diff --git a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/build.liquid b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/build.liquid index 44ec47d..81e6a33 100644 --- a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/build.liquid +++ b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/build.liquid @@ -1,14 +1,14 @@ {%- liquid - assign result = '{}' | parse_json + assign result = {} if object.records_filter - hash_assign result['records_filter'] = null | hash_merge: filter: object.records_filter + assign result.records_filter = null | hash_merge: filter: object.records_filter endif if object.users_filter - hash_assign result['users_filter'] = null | hash_merge: filter: object.users_filter + assign result.users_filter = null | hash_merge: filter: object.users_filter endif if object.encryption - hash_assign result['encryption'] = object.encryption + assign result.encryption = object.encryption endif return result -%} + %} diff --git a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/build.liquid b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/build.liquid index 7527759..e27c6b3 100644 --- a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/build.liquid +++ b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/build.liquid @@ -1,6 +1,5 @@ {%- liquid - assign result = '{}' | parse_json - hash_assign result['id'] = object.id + assign result = { "id": object.id } return result -%} + %} diff --git a/pos-module-data-export-api/modules/data_export_api/template-values.json b/pos-module-data-export-api/modules/data_export_api/template-values.json index 250e6d2..1b744f6 100644 --- a/pos-module-data-export-api/modules/data_export_api/template-values.json +++ b/pos-module-data-export-api/modules/data_export_api/template-values.json @@ -2,7 +2,7 @@ "name": "pos-module-data-export-api", "machine_name": "data_export_api", "type": "module", - "version": "0.1.1", + "version": "0.2.0", "dependencies": { "core": "^1.5.0" } diff --git a/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/build.liquid index 44f6bf5..19489c9 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/build.liquid @@ -1,10 +1,5 @@ {% liquid - assign embedding = '{}' | parse_json - - hash_assign embedding['embedding'] = object.embedding - hash_assign embedding['content'] = object.content - hash_assign embedding['metadata'] = object.metadata - hash_assign embedding['token_count'] = object.token_count + assign embedding = { "embedding": object.embedding, "content": object.content, "metadata": object.metadata, "token_count": object.token_count } return embedding -%} + %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/execute.liquid b/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/execute.liquid index 7674aec..0ea5325 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/execute.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/execute.liquid @@ -2,8 +2,8 @@ graphql r = 'modules/openai/embeddings/create', args: object assign object = r.embedding_create - hash_assign object['valid'] = true + assign object.valid = true return object -%} + %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/build.liquid index 5315d48..eebc3bb 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/build.liquid @@ -1,7 +1,6 @@ {% liquid assign id = id | default: object.id - assign embedding = '{}' | parse_json - hash_assign embedding['id'] = id + assign embedding = { "id": id } return embedding -%} + %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/build.liquid index 3d57b43..1707969 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/build.liquid @@ -1,13 +1,7 @@ {% liquid assign id = id | default: object.id - assign embedding = '{}' | parse_json - hash_assign embedding['id'] = id - - hash_assign embedding['embedding'] = object.embedding - hash_assign embedding['content'] = object.content - hash_assign embedding['metadata'] = object.metadata - hash_assign embedding['token_count'] = object.token_count + assign embedding = { "id": id, "embedding": object.embedding, "content": object.content, "metadata": object.metadata, "token_count": object.token_count } return embedding -%} + %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/execute.liquid b/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/execute.liquid index 3909418..e6b6a60 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/execute.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/execute.liquid @@ -2,8 +2,8 @@ graphql r = 'modules/openai/embeddings/update', args: object assign object = r.embedding_update - hash_assign object['valid'] = true + assign object.valid = true return object -%} + %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid index aed1ea7..0813677 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid @@ -74,31 +74,30 @@ See also: https://platform.openai.com/docs/api-reference/chat {%- liquid - hash_assign data_frame['model'] = object['model'] | default: "gpt-4o-mini" - hash_assign data_frame['temperature'] = object['temperature'] | default: 1 - hash_assign data_frame['messages'][0]['content'] = object['system_message'] | default: "" - hash_assign data_frame['messages'][1]['content'][0]['text'] = object['user_message'] | default: "" + assign data_frame.model = object['model'] | default: "gpt-4o-mini" + assign data_frame.temperature = object['temperature'] | default: 1 + assign data_frame.messages[0].content = object['system_message'] | default: "" + assign data_frame.messages[1].content[0].text = object['user_message'] | default: "" - assign user_images = object['user_images'] | default: '[]' | parse_json + assign user_images = object['user_images'] | default: [] if user_images.size > 0 - assign user_content = data_frame['messages'][1]['content'] + assign user_content = data_frame.messages[1].content for item in user_images - assign img_object = null | hash_merge: type: "image_url" | hash_merge: image_url: null - hash_assign img_object['image_url'] = null | hash_merge: url: item - assign user_content = user_content | array_add: img_object + assign img_object = { "type": "image_url", "image_url": { "url": item } } + assign user_content = user_content << img_object endfor - hash_assign data_frame['messages'][1]['content'] = user_content + assign data_frame.messages[1].content = user_content endif assign response_format_schema_json = object['response_format_schema_json'] | default: null if response_format_schema_json != blank - hash_assign data_frame['response_format']['json_schema']['schema']['properties'] = response_format_schema_json + assign data_frame.response_format.json_schema.schema.properties = response_format_schema_json else - hash_assign data_frame['response_format'] = null + assign data_frame.response_format = null endif return data_frame diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/build.liquid index 8d263ff..7cacd27 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/build.liquid @@ -21,14 +21,14 @@ assign arr = object assign obj_type = object | type_of if obj_type != 'Array' - assign arr = '[]' | parse_json | add_to_array: object + assign arr = [object] endif assign arr = arr - hash_assign request_object['data']['payload']['input'] = arr | compact + assign request_object.data.payload.input = arr | compact else log "modules/openai/fetch_embeddings - object is null, should be an array of strings that will be transformed to embeddings", type: 'ERROR' endif return request_object -%} + %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid index c4be056..e657109 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid @@ -77,38 +77,38 @@ See also: https://platform.openai.com/docs/api-reference/responses/create {%- liquid - hash_assign data_frame['model'] = object['model'] | default: "gpt-4o-mini" - hash_assign data_frame['temperature'] = object['temperature'] | default: 1 - hash_assign data_frame['input'][0]['content'] = object['system_message'] | default: "" - hash_assign data_frame['input'][1]['content'][0]['text'] = object['user_message'] | default: "" + assign data_frame.model = object['model'] | default: "gpt-4o-mini" + assign data_frame.temperature = object['temperature'] | default: 1 + assign data_frame.input[0].content = object['system_message'] | default: "" + assign data_frame.input[1].content[0].text = object['user_message'] | default: "" - assign user_images = object['user_images'] | default: '[]' | parse_json + assign user_images = object['user_images'] | default: [] if user_images.size > 0 - assign user_content = data_frame['input'][1]['content'] + assign user_content = data_frame.input[1].content for item in user_images - assign img_object = null | hash_merge: type: "input_image" | hash_merge: image_url: item - assign user_content = user_content | array_add: img_object + assign img_object = { "type": "input_image", "image_url": item } + assign user_content << img_object endfor - hash_assign data_frame['input'][1]['content'] = user_content + assign data_frame.input[1].content = user_content endif assign response_format_schema_json = object['response_format_schema_json'] | default: null assign response_format_required_fields = object['response_format_required_fields'] | default: null if response_format_schema_json != blank - hash_assign data_frame['text']['format']['schema']['properties'] = response_format_schema_json + assign data_frame.text.format.schema.properties = response_format_schema_json if response_format_required_fields == blank - assign required = data_frame['text']['format']['schema']['properties'] | hash_keys - hash_assign data_frame['text']['format']['schema']['required'] = required + assign required = data_frame.text.format.schema.properties | hash_keys + assign data_frame.text.format.schema.required = required else - hash_assign data_frame['text']['format']['schema']['required'] = response_format_required_fields + assign data_frame.text.format.schema.required = response_format_required_fields endif else - hash_assign data_frame['text'] = null + assign data_frame.text = null endif return data_frame diff --git a/pos-module-openai/template-values.json b/pos-module-openai/template-values.json index de6d548..2475366 100644 --- a/pos-module-openai/template-values.json +++ b/pos-module-openai/template-values.json @@ -2,7 +2,7 @@ "name": "pos-module-openai", "machine_name": "openai", "type": "module", - "version": "1.1.0", + "version": "1.2.0", "dependencies": { "core": "^2.0.0" } diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid index 8a7589d..ca81eaa 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid @@ -6,7 +6,7 @@ if object.account_id == blank function account = 'modules/payments_stripe/commands/stripe_connected_accounts/create', reference_id: object.reference_id, metadata: object - hash_assign object['account_id'] = account.id + assign object.account_id = account.id endif function object = 'modules/payments_stripe/commands/connected_accounts/create/build', object: object function object = 'modules/payments_stripe/commands/connected_accounts/create/check', object: object diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create.liquid index 148994f..b8ea1eb 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create.liquid @@ -1,7 +1,7 @@ {% liquid function customer = 'modules/payments_stripe/queries/customers/find_by_customer_id', customer_id: object.customer_id if customer - hash_assign customer['valid'] = true + assign customer.valid = true return customer endif diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/check.liquid index 401f7a1..a47d533 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'payout_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'gateway_connected_account_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/check.liquid index 63323dc..88397ca 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'c__status' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve/map_response.liquid index 6c84bc9..4b21687 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = response - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create/map_response.liquid index 6c84bc9..4b21687 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = response - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/check.liquid index 384b5fa..a9ebc98 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'status' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid index 73f6210..80a7c9c 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid @@ -1,3 +1,3 @@ {% liquid - return object | default: '{}' | parse_json -%} + return object | default: {} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/check.liquid index 06145c0..c6273d9 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object.data.object, field_name: 'client_reference_id' assign ids = object.data.object['client_reference_id'] | split: ',' function c = 'modules/core/validations/exist_in_db', c: c, field_name: 'transaction_id', table: 'modules/payments/transaction', ids: ids - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid index 55e2652..2de5ec0 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid @@ -1,33 +1,33 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.request_data assign response = object.request_data | parse_json - hash_assign data['valid'] = true - hash_assign data['external_id'] = response.client_reference_id + assign data.valid = true + assign data.external_id = response.client_reference_id function transaction = 'modules/payments/queries/transactions/find', id: data.external_id - hash_assign data['transaction'] = transaction + assign data.transaction = transaction assign customer = nil | hash_merge: customer_id: response.customer, email: response.customer_details.email, name: response.customer_details.name, reference_id: transaction.payer_id - hash_assign data['customer'] = customer + assign data.customer = customer case object.name when 'checkout.session.completed' - hash_assign data['status'] = 'pending' + assign data.status = 'pending' if response.payment_status == 'paid' - hash_assign data['status'] = 'succeeded' + assign data.status = 'succeeded' endif when 'checkout.session.async_payment_succeeded' - hash_assign data['status'] = 'succeeded' + assign data.status = 'succeeded' when 'checkout.session.async_payment_failed' - hash_assign data['status'] = 'failed' + assign data.status = 'failed' endcase else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/map_response.liquid index f905911..502f634 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = data | hash_merge: id: response.id, url: response.url, payment_intent: response.payment_intent - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire/map_response.liquid index 6c84bc9..4b21687 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = response - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/build.liquid index a49a1aa..446e562 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/build.liquid @@ -3,9 +3,9 @@ if object.customer assign customer = nil | hash_merge: customer_id: object.customer, email: object.customer_details.email, name: object.customer_details.name, reference_id: transaction.payer_id - hash_assign data['customer'] = customer + assign data.customer = customer endif - hash_assign data['status'] = object.status + assign data.status = object.status return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/check.liquid index 34348e0..b203354 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/check.liquid @@ -1,8 +1,8 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/build.liquid index bd7d71f..6e2c7d5 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/build.liquid @@ -2,12 +2,12 @@ assign url = 'https://api.stripe.com/v1/checkout/sessions' assign url = url | append: '/' | append: transaction.gateway_transaction_id - assign payload = '{}' | parse_json + assign payload = {} if with_payment_intent - assign expand = '[]' | parse_json | array_add: 'payment_intent' + assign expand = ["payment_intent"] assign payload = payload | hash_merge: expand: expand endif assign data = null | hash_merge: payload: payload, request_type: 'GET', to: url return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/map_response.liquid index 6c84bc9..4b21687 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = response - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/map_response.liquid index 2d31acd..2d0cff5 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = data | hash_merge: id: response.id, url: response.url, setup_intent: response.setup_intent - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/map_response.liquid index cdaed6e..1f2d438 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/map_response.liquid @@ -1,19 +1,19 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = data | hash_merge: id: response.id - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif - hash_assign data['stripe_account_name'] = stripe_account_name + assign data.stripe_account_name = stripe_account_name return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/map_response.liquid index a2cb0de..af2a3fd 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/map_response.liquid @@ -1,18 +1,18 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = data | hash_merge: id: response.id - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/map_response.liquid index 6c84bc9..4b21687 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = response - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/map_response.liquid index 6c84bc9..4b21687 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = response - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/build.liquid index e46aebc..4c9b92d 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/build.liquid @@ -1,10 +1,10 @@ {% liquid assign account_data = object.data.object - hash_assign account_data['state'] = 'pending' + assign account_data.state = 'pending' if account_data.payouts_enabled == true and account_data.charges_enabled == true - hash_assign account_data['state'] = 'verified' + assign account_data.state = 'verified' endif return account_data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/check.liquid index 07a5d00..dd50ad5 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'state' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve/map_response.liquid index a1754d6..fcaa275 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve/map_response.liquid @@ -1,20 +1,20 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = response - hash_assign data['valid'] = true - hash_assign data['customer_id'] = response.id - hash_assign data['reference_id'] = payer_id - hash_assign data['stripe_account_name'] = stripe_account_name + assign data.valid = true + assign data.customer_id = response.id + assign data.reference_id = payer_id + assign data.stripe_account_name = stripe_account_name endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create/map_response.liquid index 6c84bc9..4b21687 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create/map_response.liquid @@ -1,17 +1,17 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign data = response - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/map_response.liquid index e3d9ff3..3d44c2c 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/map_response.liquid @@ -1,18 +1,18 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.valid = false else assign payment_method = response[response.type] | hash_merge: payment_method_id: response.id, type: response.type, stripe_account_name: stripe_account_name assign data = payment_method - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false + assign data.valid = false endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/build.liquid index f968d4b..470bb77 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/build.liquid @@ -1,6 +1,6 @@ {%- liquid assign payable_ids = transaction.payable_ids | join: ',' - hash_assign object['metadata'] = object.metadata | hash_merge: transaction_id: transaction.id, payable_ids: payable_ids, payer_id: transaction.payer_id + assign object.metadata = object.metadata | hash_merge: transaction_id: transaction.id, payable_ids: payable_ids, payer_id: transaction.payer_id -%} {%- parse_json data -%} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/map_response.liquid index c0afda1..4b1ef47 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/map_response.liquid @@ -1,19 +1,19 @@ {% liquid - assign data = '{}' | parse_json + assign data = {} if object.response_body assign response = object.response_body | parse_json if response.error - hash_assign data['errors'] = response.error - hash_assign data['status'] = 'failed' - hash_assign data['valid'] = false + assign data.errors = response.error + assign data.status = 'failed' + assign data.valid = false else assign data = response | hash_merge: refund_id: response.id - hash_assign data['valid'] = true + assign data.valid = true endif else - hash_assign data['valid'] = false - hash_assign data['status'] = 'failed' + assign data.valid = false + assign data.status = 'failed' endif return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid index 9653133..dd28ea0 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid @@ -2,13 +2,13 @@ assign data = null | hash_merge: setup_intent: setup_intent, id: object.id if object.customer function customer = 'modules/payments_stripe/commands/stripe_customer/retrieve', customer_id: object.customer, payer_id: setup_intent.reference_id, stripe_account_name: setup_intent.stripe_account_name - hash_assign data['customer'] = customer + assign data.customer = customer if object.payment_method function payment_method = 'modules/payments_stripe/commands/stripe_payment_method/retrieve', payment_method_id: object.payment_method, customer_id: customer.customer_id, stripe_account_name: setup_intent.stripe_account_name - hash_assign data['payment_method'] = payment_method + assign data.payment_method = payment_method endif endif - hash_assign data['status'] = object.status + assign data.status = object.status return data -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/check.liquid index a97c3fe..41ee7a8 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'customer' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'payment_method' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/check.liquid index e535b50..7423300 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'request_type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'idempotency_key' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'gateway_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/create.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/create.liquid index 582749c..426b14b 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/create.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/create.liquid @@ -4,10 +4,10 @@ if object.valid graphql r = 'modules/payments_stripe/webhook_endpoints/create', args: object assign object = r['record'] - hash_assign object['valid'] = true + assign object.valid = true else log object, type: 'ERROR: modules/payments_stripe webhook_endpoints/create' endif return object -%} + %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid index 64cfdec..0aa7884 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid @@ -1,7 +1,7 @@ {%- liquid assign requester_id = 'stripe_webhook_request' assign response = null | hash_merge: status: 200 - assign gateway_transaction_ids = params.data.object.id | split: '!!' | array_add: params.data.object.payment_intent | array_compact + assign gateway_transaction_ids = params.data.object.id | split: '!!' | push: params.data.object.payment_intent | compact if params.data.object.metadata.transaction_id function transaction = 'modules/payments/queries/transactions/find', id: params.data.object.metadata.transaction_id elsif gateway_transaction_ids.size > 0 @@ -11,18 +11,18 @@ function payment_status = 'modules/payments/commands/transactions/map_status', payment_status: params.data.object.status if transaction == blank and params.data.object.metadata.host contains host - hash_assign response['status'] = 500 - hash_assign response['body'] = "Transaction not found" + assign response.status = 500 + assign response.body = "Transaction not found" log params, type: 'ERROR: modules/payments_stripe/commands/webhooks/charge object' elsif transaction == blank - hash_assign response['status'] = 202 - hash_assign response['body'] = "Transaction is from a different host" + assign response.status = 202 + assign response.body = "Transaction is from a different host" elsif transaction and transaction.c__status == payment_status - hash_assign response['status'] = 202 - hash_assign response['body'] = "Transaction already completed" + assign response.status = 202 + assign response.body = "Transaction already completed" elsif transaction and params.data.object.metadata.host contains host or params.data.object.metadata.host == blank function object = 'modules/payments_stripe/commands/stripe_charge/handle_webhook', params: params, requester_id: requester_id, request_url: request_url, transaction: transaction - hash_assign response['body'] = object + assign response.body = object endif return response diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid index 8362cd7..fd7bc5e 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid @@ -4,11 +4,11 @@ function connected_account = 'modules/payments_stripe/queries/connected_accounts/find_by_account_id', account_id: params.account if connected_account == blank - hash_assign response['status'] = 202 - hash_assign response['body'] = "Account is from a different host" + assign response.status = 202 + assign response.body = "Account is from a different host" else function object = 'modules/payments_stripe/commands/stripe_connected_accounts/handle_webhook', params: params, connected_account: connected_account - hash_assign response['body'] = object + assign response.body = object endif return response diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid index c0c77de..5ee5ddd 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid @@ -4,11 +4,11 @@ function connected_account = 'modules/payments_stripe/queries/connected_accounts/find_by_account_id', account_id: params.account if connected_account == blank - hash_assign response['status'] = 202 - hash_assign response['body'] = "Payout is from a different host" + assign response.status = 202 + assign response.body = "Payout is from a different host" else function object = 'modules/payments_stripe/commands/payouts/handle_webhook', params: params, request_url: request_url, connected_account: connected_account - hash_assign response['body'] = object + assign response.body = object endif return response diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid index 7919639..79f8494 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid @@ -2,21 +2,21 @@ assign requester_id = 'stripe_webhook_request' assign response = null | hash_merge: status: 200 - assign gateway_transaction_ids = params.data.object.id | split: '!!' | array_add: params.data.object.payment_intent + assign gateway_transaction_ids = params.data.object.id | split: '!!' | push: params.data.object.payment_intent function transactions = 'modules/payments/queries/transactions/search', gateway_transaction_ids: gateway_transaction_ids, limit: 1 assign transaction = transactions.results[0] if transaction == blank and params.data.object.success_url contains host - hash_assign response['status'] = 500 - hash_assign response['body'] = "Transaction not found" + assign response.status = 500 + assign response.body = "Transaction not found" log params, type: 'ERROR: modules/payments_stripe/commands/webhooks/session_expired object' elsif transaction == blank - hash_assign response['status'] = 202 - hash_assign response['body'] = "Transaction is from a different host" + assign response.status = 202 + assign response.body = "Transaction is from a different host" else function object = 'modules/payments_stripe/commands/stripe_checkout/handle_webhook', params: params, transaction: transaction, requester_id: requester_id, request_url: request_url - hash_assign response['body'] = object + assign response.body = object endif return response diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid index 5dfaa4e..272910c 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid @@ -6,15 +6,15 @@ assign setup_intent = setup_intents.results[0] if setup_intent == blank and params.data.object.metadata.host contains host - hash_assign response['status'] = 500 - hash_assign response['body'] = "Setup Intent not found" + assign response.status = 500 + assign response.body = "Setup Intent not found" log params, type: 'ERROR: modules/payments_stripe/commands/webhooks/setup_intent object' elsif setup_intent == blank - hash_assign response['status'] = 202 - hash_assign response['body'] = "Setup Intent is from a different host" + assign response.status = 202 + assign response.body = "Setup Intent is from a different host" else function object = 'modules/payments_stripe/commands/stripe_setup_intent/handle_webhook', params: params, requester_id: requester_id, request_url: request_url, setup_intent: setup_intent - hash_assign response['body'] = object + assign response.body = object endif return response diff --git a/pos-module-payments-stripe/modules/payments_stripe/template-values.json b/pos-module-payments-stripe/modules/payments_stripe/template-values.json index 24ade2d..95bcef8 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/template-values.json +++ b/pos-module-payments-stripe/modules/payments_stripe/template-values.json @@ -2,9 +2,9 @@ "name": "pOS Payments Stripe", "machine_name": "payments_stripe", "type": "module", - "version": "1.2.1", + "version": "1.3.0", "dependencies": { - "core": "^1.3.0", + "core": "^2.1.0", "payments": "0.2.6" } } diff --git a/pos-module-reports/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-reports/modules/core/public/lib/commands/hook/alter.liquid index 64e2245..670f254 100644 --- a/pos-module-reports/modules/core/public/lib/commands/hook/alter.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/hook/alter.liquid @@ -16,6 +16,6 @@ function _ = implementation.path, params_to_modify: params_to_modify, params: params endfor - assign result = '{}' | parse_json | hash_merge: original_params: original_params + assign result = { "original_params": original_params } return result %} diff --git a/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/alter.liquid index 3418a8a..118bc47 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/alter.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -17,6 +17,6 @@ function _ = implementation.path, params_to_modify: params_to_modify, params: params endfor - assign result = '{}' | parse_json | hash_merge: original_params: original_params + assign result = { "original_params": original_params } return result %} diff --git a/pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/build.liquid b/pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/build.liquid index 1ab15e9..a38e48c 100644 --- a/pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/build.liquid +++ b/pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/build.liquid @@ -1,12 +1,5 @@ {% liquid - assign output = '{}' | parse_json - - hash_assign output['content'] = object.content - hash_assign output['document_type'] = object.document_type - hash_assign output['object_uuid'] = object.object_uuid - hash_assign output['content_type'] = object.content_type - hash_assign output['content_disposition'] = object.content_disposition - hash_assign output['creator_id'] = creator_id + assign output = { "content": object.content, "document_type": object.document_type, "object_uuid": object.object_uuid, "content_type": object.content_type, "content_disposition": object.content_disposition, "creator_id": creator_id } return output -%} + %} diff --git a/pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/check.liquid b/pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/check.liquid index 0adf4aa..237a26f 100644 --- a/pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/check.liquid +++ b/pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/check.liquid @@ -1,12 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'content' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'object_uuid' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'document_type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'creator_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid b/pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid index fbf8255..8585a88 100644 --- a/pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid +++ b/pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'uuid' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'operation_type' @@ -11,13 +11,13 @@ if object.options try - hash_assign object['options'] = object.options | parse_json | json + assign object.options = object.options | parse_json | json catch err - hash_assign object['options'] = null + assign object.options = null endtry endif assign object = object | hash_merge: c return object -%} + %} diff --git a/pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid b/pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid index 4064b8c..c80361d 100644 --- a/pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid +++ b/pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid @@ -11,11 +11,11 @@ endif assign content_disposition = "attachment; filename=" | append: file_name | append: ";" - assign object_payload = '{}' | parse_json | hash_merge: content: results, object_uuid: operation.uuid, document_type: 'file', content_type: "text/csv; charset=UTF-8", content_disposition: content_disposition + assign object_payload = { "content": results, "object_uuid": operation.uuid, "document_type": "file", "content_type": "text/csv; charset=UTF-8", "content_disposition": content_disposition } function document = 'modules/reports/commands/documents/create_with_content', object: object_payload, creator_id: operation.creator_id if document.valid function res = 'modules/core/commands/statuses/create', name: 'modules/reports/statuses.report.done', reference_id: operation.id, requester_id: 'report' - assign object_payload = '{}' | parse_json | hash_merge: creator_id: operation.creator_id, user_id: operation.user_id, object_id: operation.id, document_id: document.id, app_host: event.app_host + assign object_payload = { "creator_id": operation.creator_id, "user_id": operation.user_id, "object_id": operation.id, "document_id": document.id, "app_host": event.app_host } function _event = 'modules/core/commands/events/publish', type: 'report_completed', object: object_payload else log document, type: 'ERROR: trigger_export document' diff --git a/pos-module-reports/modules/reports/public/lib/consumers/status_created/update_report_status.liquid b/pos-module-reports/modules/reports/public/lib/consumers/status_created/update_report_status.liquid index 532767b..a977aea 100644 --- a/pos-module-reports/modules/reports/public/lib/consumers/status_created/update_report_status.liquid +++ b/pos-module-reports/modules/reports/public/lib/consumers/status_created/update_report_status.liquid @@ -1,11 +1,11 @@ {% liquid - assign object = '{}' | parse_json + assign object = {} if event.name contains 'modules/reports/statuses.report' - hash_assign object['id'] = event.reference_id + assign object.id = event.reference_id assign short_name = event.name | replace: 'modules/reports/statuses.report.', '' - hash_assign object['status'] = short_name + assign object.status = short_name function object = 'modules/core/commands/execute', mutation_name: 'modules/reports/reports/update_status' object: object endif -%} + %} diff --git a/pos-module-reports/modules/reports/template-values.json b/pos-module-reports/modules/reports/template-values.json index b9909a9..edd7fc1 100644 --- a/pos-module-reports/modules/reports/template-values.json +++ b/pos-module-reports/modules/reports/template-values.json @@ -2,10 +2,10 @@ "name": "Pos Module Reports", "machine_name": "reports", "type": "module", - "version": "1.0.4", + "version": "1.1.0", "dependencies": { - "core": "^2.0.0", - "tests": "^1.0.0", - "user": "^5.0.0" + "core": "^2.1.0", + "tests": "^1.3.0", + "user": "^5.2.0" } } diff --git a/pos-module-tests/modules/tests/public/lib/commands/run.liquid b/pos-module-tests/modules/tests/public/lib/commands/run.liquid index 87930c7..7789099 100644 --- a/pos-module-tests/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-tests/modules/tests/public/lib/commands/run.liquid @@ -31,10 +31,7 @@ assign __stop = "now" | to_time assign total_duration = __start | time_diff: __stop, 'ms' | round - assign data = '{}' | parse_json - hash_assign data['contracts'] = contracts - hash_assign data['total_errors'] = total_errors - hash_assign data['total_duration'] = total_duration + assign data = { "contracts": contracts, "total_errors": total_errors, "total_duration": total_duration } assign test_formatter = format | default: 'html' | prepend: 'modules/tests/tests/show_' # platformos-check-disable ConvertIncludeToRender diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid index 0725673..46be7ea 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid @@ -6,7 +6,7 @@ layout: '' assign per_page = 100 graphql total_pages = 'modules/tests/test_files/count', per_page: per_page, path: context.params.name | dig: "admin_liquid_partials" | dig: "total_pages" - assign result = '[]' | parse_json + assign result = [] for page in (1..total_pages) graphql tests = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page | dig: "admin_liquid_partials" | dig: "results" @@ -14,10 +14,8 @@ layout: '' for test in tests assign test_name = test.path | remove_first: 'lib/test/' | remove_first: '_test' assign test_url = '/_tests/run.js?test_name=' | append: test_name - assign test_object = '{}' | parse_json - hash_assign test_object['name'] = test_name - hash_assign test_object['url'] = test_url - assign result = result | add_to_array: test_object + assign test_object = { "name": test_name, "url": test_url } + assign result << test_object endfor endfor @@ -25,4 +23,4 @@ layout: '' else echo '{"error":"Tests can only be accessed in staging or development environment"}' endif -%} + %} diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid index 79956bd..481743c 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid @@ -6,7 +6,7 @@ layout: '' {% background source_name: "liquid_tests", test_name: test_name %} {% include 'modules/tests/commands/run', format: 'log_js', test_name: test_name %} {% endbackground %} - {% assign result = '{}' | parse_json | hash_merge: test_name: test_name %} + {% assign result = { "test_name": test_name } %} {{ result }} {% else %} {"success":false,"error":"Tests can only be run in staging or development environment"} diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid index f9e4d75..76eb411 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid @@ -1,18 +1,14 @@ {% liquid - assign result = '{}' | parse_json + assign result = {} assign total_assertions = 0 - assign tests_array = '[]' | parse_json - for contract in contracts + assign tests_array = [] + for contract in tests_array assign total_assertions = total_assertions | plus: contract.total - assign test_result = '{}' | parse_json - hash_assign test_result['name'] = contract.test_path - hash_assign test_result['success'] = contract.success - hash_assign test_result['assertions'] = contract.total - hash_assign test_result['errors'] = contract.errors + assign test_result = { "name": contract.test_path, "success": contract.success, "assertions": contract.total, "errors": contract.errors } - assign tests_array = tests_array | add_to_array: test_result + assign tests_array << test_result endfor if total_errors > 0 @@ -26,5 +22,5 @@ hash_assign result['total_errors'] = total_errors hash_assign result['duration_ms'] = total_duration hash_assign result['tests'] = tests_array -%} + %} {{ result | json }} diff --git a/pos-module-tests/modules/tests/template-values.json b/pos-module-tests/modules/tests/template-values.json index 59e310f..9f70878 100644 --- a/pos-module-tests/modules/tests/template-values.json +++ b/pos-module-tests/modules/tests/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Tests", "machine_name": "tests", "type": "module", - "version": "1.2.0", + "version": "1.3.0", "dependencies": {} } diff --git a/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid index 64e2245..670f254 100644 --- a/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid +++ b/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid @@ -16,6 +16,6 @@ function _ = implementation.path, params_to_modify: params_to_modify, params: params endfor - assign result = '{}' | parse_json | hash_merge: original_params: original_params + assign result = { "original_params": original_params } return result %} diff --git a/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid index c4956c8..d2872ca 100644 --- a/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid @@ -8,9 +8,9 @@ {% endcomment %} {% liquid if merge_to_object - assign results = '{}' | parse_json + assign results = {} else - assign results = '[]' | parse_json + assign results = [] endif assign hook = '/hook_' | append: hook diff --git a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid index 2f252ef..a449ea4 100644 --- a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid @@ -17,7 +17,7 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: '[]' | parse_json + assign field_errors = errors[field_name] | default: [] assign field_errors = field_errors | add_to_array: msg hash_assign errors[field_name] = field_errors diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid index 3418a8a..118bc47 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -17,6 +17,6 @@ function _ = implementation.path, params_to_modify: params_to_modify, params: params endfor - assign result = '{}' | parse_json | hash_merge: original_params: original_params + assign result = { "original_params": original_params } return result %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid index 5af969b..ec71ae5 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -8,9 +8,9 @@ {% endcomment %} {% liquid if merge_to_object - assign results = '{}' | parse_json + assign results = {} else - assign results = '[]' | parse_json + assign results = [] endif assign hook = '/hook_' | append: hook diff --git a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid index cdd52a2..b942cbd 100644 --- a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'host' @@ -9,8 +9,8 @@ function c = 'modules/core/validations/hcaptcha', c: c, hcaptcha_params: hcaptcha_params endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid index 2b5ea1e..b3e2207 100644 --- a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid +++ b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid @@ -1,7 +1,7 @@ {% liquid if object.valid - hash_assign object['url'] = 'https://{host}/passwords/new?token={token}&email={email}' | expand_url_template: object + assign object.url = 'https://{host}/passwords/new?token={token}&email={email}' | expand_url_template: object endif return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid index 877fbe9..c1aeed8 100644 --- a/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' @@ -7,8 +7,8 @@ function c = 'modules/core/validations/equal', c: c, given: object.password, expected: object.password_confirmation, field_name: 'password_confirmation', key: 'modules/user/validation.password.do_not_match', not_verbose: true, message: null function c = 'modules/core/validations/password_complexity', c: c, object: object, field_name: 'password', key: null - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid b/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid index 4c0a7fd..4d9e84b 100644 --- a/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid +++ b/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid @@ -4,9 +4,9 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid index ff6f895..11e00d2 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid @@ -6,9 +6,9 @@ assign data = null | hash_merge: first_name: object.first_name, last_name: object.last_name, user_id: object.user_id, email: object.email, uuid: uuid, name: name, c__names: tokenized_names if object.roles == null - assign roles = '[]' | parse_json + assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles | array_add: context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif else assign roles_type = object.roles | type_of @@ -17,16 +17,15 @@ elsif roles_type == 'Array' assign roles = object.roles else - # accepts only String and Array log object.roles, type: 'ERROR: roles must be an array or a coma separated string' - assign roles = '[]' | parse_json + assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles | array_add: context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif endif endif - hash_assign data['roles'] = roles + assign data.roles = roles return data %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid index 87e9177..ede59fc 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid @@ -1,10 +1,10 @@ {% liquid - assign data = '{}' | parse_json | hash_merge: id: object.id + assign data = { "id": object.id } if object.otp_configured == null - hash_assign data['otp_configured'] = true + assign data.otp_configured = true else - hash_assign data['otp_configured'] = object.otp_configured + assign data.otp_configured = object.otp_configured endif return data -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid index 9c54ed4..a56c28c 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/not_null', c: c, object: object, field_name: 'otp_configured' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid index aabfc15..c6052e7 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid @@ -1,5 +1,5 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, role: role + assign object = { "valid": true, "id": id, "role": role } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/append' if object.errors == blank diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid index 2f6a6da..45ef598 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid @@ -1,5 +1,5 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, role : role + assign object = { "valid": true, "id": id, "role": role } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/remove' if object.errors == blank diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid index c1a0f39..b912b18 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid @@ -1,5 +1,5 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, roles: roles + assign object = { "valid": true, "id": id, "roles": roles } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/set' if object.errors == blank diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid index f4b04c8..7155bdc 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid @@ -1,4 +1,4 @@ {% liquid - assign tokenized_names = '[]' | parse_json | array_add: object.email | array_add: object.first_name | array_add: object.last_name | compact | uniq | join: ' ' | downcase + assign tokenized_names = [] | push: object.email | push: object.first_name | push: object.last_name | compact | uniq | join: ' ' | downcase return tokenized_names -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/session/create.liquid b/pos-module-user/modules/user/public/lib/commands/session/create.liquid index 4d99513..0e93581 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/create.liquid @@ -36,15 +36,15 @@ function user = 'modules/user/queries/user/load', id: object.id function profile = 'modules/user/queries/profiles/find', user_id: user.id, id: null, uuid: null, first_name: null, last_name: null if profile.otp_configured and skip_otp == false - hash_assign object['otp_required'] = true + assign object.otp_required = true else if user.id sign_in user_id: user.id - assign params = '{}' | parse_json | hash_merge: user: user, hook_params: hook_params + assign params = { "user": user, "hook_params": hook_params } function results = 'modules/core/commands/hook/fire', hook: 'user_login', params: params, merge_to_object: true - hash_assign user['hook_results'] = results + assign user.hook_results = results endif - hash_assign object['user'] = user + assign object.user = user assign event_payload = null | hash_merge: user_id: object.id function _ = 'modules/core/commands/events/publish', type: 'user_signed_in', object: event_payload, delay: null, max_attempts: null diff --git a/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid index a8e6310..9370ce1 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid @@ -1,10 +1,10 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid b/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid index 1ad11d0..a997205 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid @@ -5,12 +5,12 @@ function current_profile = 'modules/user/helpers/current_profile' graphql destroy = 'modules/user/session/destroy' - hash_assign destroy['user'] = current_profile.user + assign destroy.user = current_profile.user unless destroy.errors - assign params = '{}' | parse_json | hash_merge: destroy: destroy + assign params = { "destroy": destroy } function results = 'modules/core/commands/hook/fire', hook: 'user_logout', params: params, merge_to_object: null - hash_assign destroy['hook_results'] = results + assign destroy.hook_results = results assign event_payload = null | hash_merge: user_id: current_profile.user.id function _ = 'modules/core/commands/events/publish', type: 'user_logout', object: event_payload, delay: null, max_attempts: null session original_user_id = null diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid index 3298544..49d3fc9 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid index 3298544..49d3fc9 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/user/create.liquid b/pos-module-user/modules/user/public/lib/commands/user/create.liquid index 29331b6..8a2207b 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/create.liquid @@ -17,7 +17,7 @@ function object = 'modules/user/commands/user/create/check', object: object if object.valid function user = 'modules/core/commands/execute', mutation_name: 'modules/user/user/create', object: object, selection: 'user' - hash_assign object['user_id'] = user.id + assign object.user_id = user.id function profile = 'modules/user/commands/profiles/create', object: object if profile.valid != true diff --git a/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid index 361605f..29e474d 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid @@ -8,6 +8,6 @@ } {% endparse_json %} -{% hash_assign object['roles'] = roles %} +{% assign object.roles = roles %} {% return object %} diff --git a/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid index ca33f4e..8e37d48 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'first_name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'last_name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' @@ -16,8 +16,8 @@ endif endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/user/delete.liquid b/pos-module-user/modules/user/public/lib/commands/user/delete.liquid index 31ba099..0ed2286 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/delete.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/delete.liquid @@ -8,9 +8,9 @@ graphql user = 'modules/user/user/delete', id: id unless user.errors - assign params = '{}' | parse_json | hash_merge: user: user.user + assign params = { "user": user.user } function results = 'modules/core/commands/hook/fire', hook: 'user_delete', params: params, merge_to_object: null - hash_assign user['hook_results'] = results + assign user.hook_results = results assign event_payload = null | hash_merge: user_id: id function _ = 'modules/core/commands/events/publish', type: 'user_deleted', object: event_payload, delay: null, max_attempts: null diff --git a/pos-module-user/modules/user/public/lib/commands/user/update.liquid b/pos-module-user/modules/user/public/lib/commands/user/update.liquid index d2502fa..0812589 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/update.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/update.liquid @@ -15,20 +15,18 @@ if object.valid graphql user = 'modules/user/user/update', args: object - hash_assign object['update_result'] = user + assign object.update_result = user unless user.errors - assign params = '{}' | parse_json | hash_merge: updated_user: user.user, hook_params: hook_params - # todo: merge_to_object for hooks with the same name will overwrite the validity of previous results + assign params = { "updated_user": user.user, "hook_params": hook_params } function results = 'modules/core/commands/hook/fire', hook: 'user_update', params: params, merge_to_object: true for result in results - # using the errors key for a quick workaround for now if result[1].valid == false or result[1].errors != blank - hash_assign object['valid'] = false - hash_assign object['errors'] = result[1].errors + assign object.valid = false + assign object.errors = result[1].errors break endif endfor - hash_assign object['hook_results'] = results + assign object.hook_results = results endunless assign event_payload = null | hash_merge: user_id: object.id diff --git a/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid index 3719f9e..4b848dc 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid @@ -1,12 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } if object['email'] function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid index 37151c6..54477b0 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' @@ -11,11 +11,11 @@ function c = 'modules/core/validations/truthy', c: c, field_name: 'otp_code', object: user.authenticate, key: 'modules/user/2fa.errors.otp_code' function c = 'modules/core/validations/truthy', c: c, field_name: 'password', object: user.authenticate, key: 'modules/user/2fa.errors.password' - hash_assign object['id'] = user.id + assign object.id = user.id endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid index 19a55b6..85b247c 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' @@ -10,11 +10,11 @@ assign user = user.users.results.first function c = 'modules/core/validations/truthy', c: c, field_name: 'password', object: user.authenticate, key: 'modules/user/validation.invalid_email_or_password' - hash_assign object['id'] = user.id + assign object.id = user.id endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid b/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid index 460352f..3cd6a6f 100644 --- a/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid @@ -1,17 +1,17 @@ {% liquid function user = 'modules/user/queries/user/current' if user.id == null - assign current_profile = '{ "user": null, "roles": ["anonymous"] }' | parse_json + assign current_profile = { "user": null, "roles": ["anonymous"] } else function current_profile = 'modules/user/queries/profiles/find', user_id: user.id, id: null, uuid: null, first_name: null, last_name: null assign current_profile = current_profile | hash_merge: user: user if current_profile.roles != null - hash_assign current_profile['roles'] = current_profile.roles | array_add: 'authenticated' + assign current_profile.roles = current_profile.roles << 'authenticated' else - hash_assign current_profile['roles'] = '["authenticated"]' | parse_json + assign current_profile.roles = ["authenticated"] endif endif export current_profile return current_profile -%} + %} diff --git a/pos-module-user/modules/user/public/lib/helpers/get_available_oauth_providers.liquid b/pos-module-user/modules/user/public/lib/helpers/get_available_oauth_providers.liquid index 86ceef8..7153b6c 100644 --- a/pos-module-user/modules/user/public/lib/helpers/get_available_oauth_providers.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/get_available_oauth_providers.liquid @@ -1,5 +1,5 @@ {% liquid - assign available_providers = "{}" | parse_json + assign available_providers = {} assign keys = context.constants | hash_keys for item in keys assign starts_with = item | start_with: "OAUTH2_" @@ -12,13 +12,9 @@ assign client_id_key = "OAUTH2_" | append: provider_id | append: "_CLIENT_ID" assign secret_value_key = "OAUTH2_" | append: provider_id | append: "_SECRET_VALUE" - assign provider_data = "{}" | parse_json - hash_assign provider_data['key'] = context.constants[provider_key] - hash_assign provider_data['name'] = context.constants[name_key] - hash_assign provider_data['client_id'] = context.constants[client_id_key] - hash_assign provider_data['secret_value'] = context.constants[secret_value_key] + assign provider_data = { "key": context.constants[provider_key], "name": context.constants[name_key], "client_id": context.constants[client_id_key], "secret_value": context.constants[secret_value_key] } - hash_assign available_providers[provider_id] = provider_data + assign available_providers[provider_id] = provider_data endif endfor diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid index 0e490b4..85b367f 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid @@ -1,15 +1,13 @@ -{% parse_json sort_options %} -{ - "first_name_desc": { "properties": { "name": "first_name", "order": "DESC" }}, - "first_name_desc": { "properties": { "name": "first_name", "order": "ASC" }} -} -{% endparse_json %} {% liquid - assign filters = '{}' | parse_json - hash_assign filters['page'] = params.page | to_positive_integer: 1 - hash_assign filters['keyword'] = params.keyword | default: '' - hash_assign filters['sort_by'] = params.sort_by | default: 'first_name_desc' - hash_assign filters['sort'] = sort_options[filters.sort_by] + assign sort_options = { + "first_name_desc": { "properties": { "name": "first_name", "order": "DESC" }}, + "first_name_asc": { "properties": { "name": "first_name", "order": "ASC" }} + } + assign filters = {} + assign filters.page = params.page | to_positive_integer: 1 + assign filters.keyword = params.keyword | default: '' + assign filters.sort_by = params.sort_by | default: 'first_name_desc' + assign filters.sort = sort_options[filters.sort_by] return filters -%} + %} diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid index 9c64092..aceb24e 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid @@ -9,7 +9,7 @@ if profile function slug = 'modules/user/helpers/profiles/slugs/build', current_profile: profile - hash_assign profile['slug'] = slug + assign profile.slug = slug endif return profile diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid index ec4ed53..ee683d8 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid @@ -7,15 +7,15 @@ graphql r = 'modules/user/profiles/search', limit: limit, uuid: uuid, id: id, ids: ids, first_name: first_name , last_name: last_name , user_id: user_id, not_ids: not_ids, query: query, emails: emails, sort: sort, page: page assign records = r.records - assign profiles = '[]' | parse_json + assign profiles = [] for profile in records.results function slug = 'modules/user/helpers/profiles/slugs/build' , current_profile: profile - hash_assign profile['slug'] = slug + assign profile.slug = slug assign p = profile - assign profiles = profiles | array_add: p + assign profiles << p endfor - hash_assign records['results'] = profiles + assign records.results = profiles return records %} diff --git a/pos-module-user/modules/user/public/views/pages/passwords/create.liquid b/pos-module-user/modules/user/public/views/pages/passwords/create.liquid index 4a641f8..58c23b8 100644 --- a/pos-module-user/modules/user/public/views/pages/passwords/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/passwords/create.liquid @@ -5,7 +5,7 @@ method: post {% liquid assign input = context.params.password assign redirect_url = context.params.redirect_to | default: '/' - hash_assign input['user_id'] = context.session.reset_password_session_user_id + assign input.user_id = context.session.reset_password_session_user_id function object = 'modules/user/commands/passwords/create', object: input if object.valid diff --git a/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid b/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid index e97d6a7..c35ad40 100644 --- a/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid @@ -10,7 +10,7 @@ method: post function object = 'modules/user/commands/user/verify_otp', object: context.params.2fa, email: current_profile.user.email if object.valid - hash_assign current_profile['otp_configured'] = true + assign current_profile.otp_configured = true function object = 'modules/user/commands/profiles/mark_otp', object: current_profile if object.valid != true log object, 'ERROR: modules/user/profiles/mark_otp' diff --git a/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid b/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid index 970c0f9..d932282 100644 --- a/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid +++ b/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid @@ -10,7 +10,7 @@ method: post function object = 'modules/user/commands/user/verify_otp', object: context.params.2fa, email: current_profile.user.email if object.valid - hash_assign current_profile['otp_configured'] = false + assign current_profile.otp_configured = false function object = 'modules/user/commands/profiles/mark_otp', object: current_profile if object.valid != true log object, 'ERROR: modules/user/profiles/mark_otp' diff --git a/pos-module-user/modules/user/public/views/pages/users/email/update.liquid b/pos-module-user/modules/user/public/views/pages/users/email/update.liquid index b82cb1e..2afe6b9 100644 --- a/pos-module-user/modules/user/public/views/pages/users/email/update.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/email/update.liquid @@ -19,7 +19,7 @@ method: put function object = 'modules/user/commands/user/email_update', object: context.params.user, current_user: current_profile.user, c: null if object.valid - hash_assign current_profile['email'] = context.params.user.email + assign current_profile.email = context.params.user.email function _ = 'modules/user/commands/profiles/update', object: current_profile, profile: current_profile assign event_payload = null | hash_merge: actor_id: object.id, object: object, actor: object, target: null, object_id: null, target_id: null function _event = 'modules/core/commands/events/publish', type: 'email_updated', object: event_payload, delay: null, max_attempts: null diff --git a/pos-module-user/modules/user/template-values.json b/pos-module-user/modules/user/template-values.json index 76ac117..bcc95c2 100644 --- a/pos-module-user/modules/user/template-values.json +++ b/pos-module-user/modules/user/template-values.json @@ -2,9 +2,9 @@ "name": "User", "machine_name": "user", "type": "module", - "version": "5.1.2", + "version": "5.2.0", "dependencies": { - "core": "^1.5.0", + "core": "^2.1.0", "common-styling": "^1.11.0" } } From c9c012c7ece5c0194299413778344982e88c7141 Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Tue, 3 Mar 2026 11:13:39 +0000 Subject: [PATCH 02/44] Module fixes --- errors.txt | 5253 +++++++++++++++++ .../notify_of_new_message.liquid | 2 +- .../lib/events/chat_message_created.liquid | 2 +- .../message_notification_to_send.liquid | 2 +- .../chat/public/views/pages/inbox.html.liquid | 2 +- .../lib/commands/messages/create.liquid | 2 +- .../lib/queries/conversations/find.liquid | 2 +- .../conversations/find_by_participant.liquid | 2 +- .../conversations/find_by_participants.liquid | 2 +- .../lib/queries/conversations/search.liquid | 4 +- .../search_by_participant.liquid | 4 +- .../public/views/pages/style-guide.liquid | 4 +- .../lib/commands/create/build.liquid | 2 +- .../lib/commands/create/check.liquid | 6 +- .../lib/commands/model/create/check.liquid | 5 +- .../lib/commands/model/delete/check.liquid | 5 +- .../lib/commands/model/update/check.liquid | 5 +- .../public/lib/commands/email/send.liquid | 4 +- .../lib/commands/email/send/check.liquid | 6 +- .../lib/commands/events/broadcast.liquid | 2 +- .../lib/commands/events/create/build.liquid | 4 +- .../lib/commands/events/create/check.liquid | 10 +- .../lib/commands/events/create/execute.liquid | 2 +- .../core/public/lib/commands/execute.liquid | 2 +- .../core/public/lib/commands/hook/fire.liquid | 4 +- .../lib/commands/statuses/create/check.liquid | 6 +- .../lib/commands/statuses/delete/build.liquid | 2 +- .../lib/commands/statuses/delete/check.liquid | 6 +- .../public/lib/events/status_created.liquid | 2 +- .../lib/helpers/hash_to_x_form_encoded.liquid | 2 +- .../public/lib/helpers/redirect_to.liquid | 5 +- .../public/lib/helpers/register_error.liquid | 6 +- .../public/lib/queries/registry/search.liquid | 8 +- .../validations/password_complexity.liquid | 3 +- .../lib/validations/valid_object.liquid | 2 +- .../public/views/pages/_events/trigger.liquid | 2 +- .../partials/lib/commands/email/send.liquid | 4 +- .../lib/commands/email/send/check.liquid | 6 +- .../partials/lib/commands/hook/fire.liquid | 4 +- .../lib/helpers/register_error.liquid | 6 +- .../lib/queries/registry/search.liquid | 4 +- .../validations/password_complexity.liquid | 3 +- .../lib/validations/valid_object.liquid | 2 +- .../authentication_links/create.liquid | 2 +- .../authentication_links/create/check.liquid | 6 +- .../create/execute.liquid | 2 +- .../lib/commands/oauth/create_user.liquid | 3 +- .../lib/commands/passwords/create.liquid | 2 +- .../commands/passwords/create/check.liquid | 6 +- .../commands/passwords/create/execute.liquid | 4 +- .../lib/commands/profiles/create/build.liquid | 8 +- .../lib/commands/profiles/create/check.liquid | 6 +- .../lib/commands/profiles/delete/build.liquid | 2 +- .../lib/commands/profiles/delete/check.liquid | 6 +- .../lib/commands/profiles/roles/append.liquid | 2 +- .../lib/commands/profiles/roles/remove.liquid | 2 +- .../lib/commands/profiles/roles/set.liquid | 2 +- .../lib/commands/profiles/update/build.liquid | 2 +- .../lib/commands/profiles/update/check.liquid | 7 +- .../public/lib/commands/session/create.liquid | 6 +- .../lib/commands/session/create/check.liquid | 6 +- .../lib/commands/session/destroy.liquid | 6 +- .../session/impersonation/create.liquid | 2 +- .../session/impersonation/create/check.liquid | 6 +- .../session/impersonation/destroy.liquid | 2 +- .../impersonation/destroy/check.liquid | 6 +- .../public/lib/commands/user/create.liquid | 4 +- .../lib/commands/user/create/build.liquid | 2 +- .../lib/commands/user/create/check.liquid | 6 +- .../public/lib/commands/user/delete.liquid | 4 +- .../public/lib/commands/user/update.liquid | 10 +- .../lib/commands/user/update/check.liquid | 6 +- .../user/verify_password/check.liquid | 8 +- .../events/authentication_link_created.liquid | 2 +- .../lib/events/impersonation_ended.liquid | 2 +- .../lib/events/impersonation_started.liquid | 2 +- .../public/lib/events/password_created.liquid | 2 +- .../public/lib/events/user_created.liquid | 2 +- .../public/lib/events/user_deleted.liquid | 2 +- .../user/public/lib/events/user_logout.liquid | 2 +- .../lib/events/user_role_appended.liquid | 2 +- .../lib/events/user_role_removed.liquid | 2 +- .../public/lib/events/user_roles_set.liquid | 2 +- .../public/lib/events/user_signed_in.liquid | 2 +- .../public/lib/events/user_updated.liquid | 2 +- .../public/lib/helpers/current_profile.liquid | 6 +- .../user/public/lib/helpers/flash.liquid | 2 +- .../get_available_oauth_providers.liquid | 10 +- .../lib/queries/profiles/filters.liquid | 8 +- .../public/lib/queries/profiles/find.liquid | 2 +- .../public/lib/queries/profiles/search.liquid | 6 +- .../views/pages/passwords/create.liquid | 2 +- .../public/views/pages/users/create.liquid | 5 +- .../user/public/views/pages/users/new.liquid | 2 +- .../20250805174858_create_dummy_users.liquid | 16 +- ...05174905_create_dummy_conversations.liquid | 16 +- .../app/lib/presign_upload.liquid | 2 +- .../views/partials/style-guide/fonts.liquid | 4 +- .../views/partials/style-guide/forms.liquid | 9 +- .../views/partials/style-guide/links.liquid | 1 + .../partials/style-guide/text-styles.liquid | 1 + .../lib/commands/create/build.liquid | 2 +- .../lib/commands/create/check.liquid | 6 +- .../lib/commands/model/create/check.liquid | 5 +- .../lib/commands/model/delete/check.liquid | 5 +- .../lib/commands/model/update/check.liquid | 5 +- .../lib/commands/events/create/build.liquid | 4 +- .../lib/commands/events/create/check.liquid | 4 +- .../core/public/lib/commands/hook/fire.liquid | 4 +- .../lib/commands/statuses/delete/build.liquid | 2 +- .../public/lib/events/status_created.liquid | 2 +- .../lib/helpers/hash_to_x_form_encoded.liquid | 2 +- .../public/lib/helpers/redirect_to.liquid | 5 +- .../public/lib/helpers/register_error.liquid | 2 +- .../public/lib/queries/registry/search.liquid | 4 +- .../validations/password_complexity.liquid | 3 +- .../public/views/partials/events/show.liquid | 2 +- .../partials/lib/commands/hook/fire.liquid | 4 +- .../lib/helpers/register_error.liquid | 2 +- .../lib/queries/registry/search.liquid | 4 +- .../validations/password_complexity.liquid | 3 +- .../commands/data_exports/create/build.liquid | 4 +- .../commands/data_exports/create/check.liquid | 5 +- .../commands/data_exports/delete/check.liquid | 5 +- .../public/lib/shared/authorize.liquid | 6 +- .../public/lib/commands/get_token.liquid | 3 +- .../lib/commands/get_token/check.liquid | 6 +- .../lib/commands/get_user_info/check.liquid | 6 +- .../lib/helpers/get_redirect_url.liquid | 7 +- .../public/lib/helpers/get_user_info.liquid | 21 +- .../public/lib/commands/get_token.liquid | 3 +- .../lib/commands/get_token/check.liquid | 6 +- .../lib/commands/get_user_email/check.liquid | 6 +- .../lib/commands/get_user_info/check.liquid | 6 +- .../lib/helpers/get_redirect_url.liquid | 5 +- .../public/lib/helpers/get_user_info.liquid | 23 +- .../public/lib/commands/get_token.liquid | 3 +- .../lib/commands/get_token/check.liquid | 6 +- .../lib/commands/get_user_info/check.liquid | 6 +- .../lib/helpers/get_redirect_url.liquid | 9 +- .../public/lib/helpers/get_user_info.liquid | 21 +- .../openai/commands_to_embeddings.liquid | 36 +- .../queries/pages/search_for_openai.liquid | 8 +- .../app/views/pages/openai_gpt_usage.liquid | 2 +- .../app/views/pages/openai_search.liquid | 4 +- .../commands/embeddings/create/check.liquid | 6 +- .../commands/embeddings/delete/check.liquid | 6 +- .../commands/embeddings/update/check.liquid | 6 +- .../lib/commands/openai/chat/check.liquid | 6 +- .../openai/fetch_embeddings/check.liquid | 6 +- .../commands/openai/responses/build.liquid | 2 +- .../commands/openai/responses/check.liquid | 6 +- .../lib/commands/transaction_finalize.liquid | 2 +- .../map_response.liquid | 12 +- .../public/lib/helpers/pay_object.liquid | 2 +- .../payments/example_gateway/webhook.liquid | 4 +- .../connected_accounts/create/check.liquid | 5 +- .../commands/connected_accounts/delete.liquid | 2 +- .../connected_accounts/delete/build.liquid | 2 +- .../connected_accounts/delete/check.liquid | 6 +- .../commands/connected_accounts/update.liquid | 2 +- .../connected_accounts/update/build.liquid | 4 +- .../connected_accounts/update/check.liquid | 5 +- .../commands/customers/create/build.liquid | 2 +- .../commands/customers/create/check.liquid | 5 +- .../create_bank_account/check.liquid | 5 +- .../payment_methods/create_card/check.liquid | 5 +- .../lib/commands/payouts/create/check.liquid | 5 +- .../commands/payouts/handle_webhook.liquid | 2 +- .../payouts/handle_webhook/build.liquid | 5 +- .../lib/commands/refunds/create/check.liquid | 5 +- .../lib/commands/refunds/update/check.liquid | 5 +- .../setup_intents/create/build.liquid | 2 +- .../setup_intents/create/check.liquid | 5 +- .../update_gateway_id/build.liquid | 2 +- .../update_gateway_id/check.liquid | 6 +- .../setup_intents/update_status.liquid | 2 +- .../setup_intents/update_status/build.liquid | 2 +- .../retrieve/build.liquid | 4 +- .../stripe_charge/create/build.liquid | 2 +- .../stripe_charge/handle_webhook.liquid | 2 +- .../stripe_charge/handle_webhook/build.liquid | 2 +- .../commands/stripe_checkout/complete.liquid | 2 +- .../stripe_checkout/complete/build.liquid | 3 +- .../complete/map_request.liquid | 2 +- .../stripe_checkout/create/build.liquid | 2 +- .../create/map_response.liquid | 4 +- .../stripe_checkout/expire/build.liquid | 2 +- .../stripe_checkout/handle_webhook.liquid | 2 +- .../handle_webhook/build.liquid | 4 +- .../stripe_checkout/retrieve/build.liquid | 4 +- .../stripe_checkout/setup_intent.liquid | 2 +- .../stripe_checkout/setup_intent/build.liquid | 2 +- .../setup_intent/map_response.liquid | 4 +- .../create/build.liquid | 2 +- .../create/map_response.liquid | 2 +- .../delete/build.liquid | 2 +- .../delete/map_response.liquid | 2 +- .../get_dashboard_link/build.liquid | 4 +- .../get_dashboard_link/check.liquid | 6 +- .../get_onboarding_link/build.liquid | 2 +- .../get_onboarding_link/check.liquid | 6 +- .../stripe_customer/retrieve/build.liquid | 4 +- .../stripe_payment_intent/create/build.liquid | 2 +- .../retrieve/build.liquid | 4 +- .../retrieve/map_response.liquid | 5 +- .../stripe_refund/create/build.liquid | 6 +- .../stripe_refund/create/check.liquid | 6 +- .../stripe_refund/create/map_response.liquid | 3 +- .../handle_webhook/build.liquid | 2 +- .../lib/commands/stripe_webhook/create.liquid | 2 +- .../stripe_webhook/delete/build.liquid | 2 +- .../lib/commands/transaction_finalize.liquid | 4 +- .../transaction_finalize/build.liquid | 2 +- .../transaction_finalize/check.liquid | 6 +- .../lib/commands/webhooks/charge.liquid | 2 +- .../webhooks/connected_account.liquid | 2 +- .../lib/commands/webhooks/is_valid.liquid | 2 + .../lib/commands/webhooks/payout.liquid | 2 +- .../commands/webhooks/session_expired.liquid | 2 +- .../lib/commands/webhooks/setup_intent.liquid | 2 +- ...ts_stripe_connected_account_deleted.liquid | 2 +- ...ts_stripe_connected_account_updated.liquid | 2 +- .../events/payments_stripe_payout_paid.liquid | 2 +- ...ments_stripe_setup_intent_succeeded.liquid | 2 +- .../public/lib/helpers/pay_object.liquid | 2 +- .../public/lib/commands/execute.liquid | 2 +- .../gateway_requests/receive/build.liquid | 2 +- .../gateway_requests/receive/check.liquid | 6 +- .../gateway_requests/send/build.liquid | 6 +- .../gateway_requests/send/check.liquid | 6 +- .../gateway_requests/update/check.liquid | 6 +- .../lib/commands/transactions/create.liquid | 2 +- .../commands/transactions/create/check.liquid | 6 +- .../set_status_cache/build.liquid | 2 +- .../set_status_cache/check.liquid | 6 +- .../build.liquid | 4 +- .../check.liquid | 6 +- .../transactions/update_status.liquid | 2 +- .../transactions/update_status/build.liquid | 2 +- .../transactions/update_status/check.liquid | 6 +- .../payments_transaction_expired.liquid | 2 +- .../events/payments_transaction_failed.liquid | 2 +- .../events/payments_transaction_new.liquid | 2 +- .../payments_transaction_pending.liquid | 2 +- .../payments_transaction_succeeded.liquid | 2 +- .../gateway_requests/receive_test.liquid | 2 +- .../update_gateway_transaction_id_test.liquid | 4 +- .../lib/commands/profiles/export_all.liquid | 30 +- ...312131527_create_users_and_profiles.liquid | 2 +- .../20250312231550_create_admin_user.liquid | 2 +- .../app/views/pages/admin/reports/list.liquid | 4 +- .../views/pages/admin/reports/profiles.liquid | 4 +- .../lib/commands/create/build.liquid | 2 +- .../lib/commands/create/check.liquid | 6 +- .../lib/commands/model/create/check.liquid | 5 +- .../lib/commands/model/delete/check.liquid | 5 +- .../lib/commands/model/update/check.liquid | 5 +- .../templates/views/pages/model/new.liquid | 2 +- .../public/lib/commands/email/send.liquid | 4 +- .../lib/commands/email/send/check.liquid | 6 +- .../lib/commands/events/broadcast.liquid | 2 +- .../lib/commands/events/create/build.liquid | 4 +- .../lib/commands/events/create/check.liquid | 10 +- .../lib/commands/events/create/execute.liquid | 2 +- .../core/public/lib/commands/execute.liquid | 2 +- .../core/public/lib/commands/hook/fire.liquid | 8 +- .../lib/commands/statuses/create/check.liquid | 6 +- .../lib/commands/statuses/delete/build.liquid | 2 +- .../lib/commands/statuses/delete/check.liquid | 6 +- .../public/lib/events/status_created.liquid | 2 +- .../lib/helpers/hash_to_x_form_encoded.liquid | 2 +- .../public/lib/helpers/redirect_to.liquid | 5 +- .../public/lib/helpers/register_error.liquid | 6 +- .../public/lib/queries/registry/search.liquid | 8 +- .../validations/password_complexity.liquid | 3 +- .../lib/validations/valid_object.liquid | 2 +- .../public/views/pages/_events/trigger.liquid | 2 +- .../public/views/partials/events/show.liquid | 2 +- .../partials/lib/commands/email/send.liquid | 4 +- .../lib/commands/email/send/check.liquid | 6 +- .../partials/lib/commands/hook/fire.liquid | 8 +- .../lib/helpers/register_error.liquid | 6 +- .../lib/queries/registry/search.liquid | 8 +- .../validations/password_complexity.liquid | 3 +- .../lib/validations/valid_object.liquid | 2 +- .../lib/commands/profiles/create/build.liquid | 2 +- .../lib/commands/profiles/create/check.liquid | 6 +- .../lib/commands/profiles/delete/build.liquid | 2 +- .../lib/commands/profiles/delete/check.liquid | 6 +- .../commands/profiles/tokenize_names.liquid | 2 +- .../lib/commands/profiles/update/build.liquid | 2 +- .../lib/commands/profiles/update/check.liquid | 7 +- .../public/lib/helpers/current_profile.liquid | 6 +- .../lib/queries/profiles/filters.liquid | 8 +- .../public/lib/queries/profiles/find.liquid | 2 +- .../public/lib/queries/profiles/search.liquid | 8 +- .../lib/commands/reports/create/build.liquid | 2 +- .../lib/commands/reports/create/check.liquid | 4 +- .../public/lib/events/report_completed.liquid | 2 +- .../public/lib/events/report_requested.liquid | 2 +- .../authentication_links/create.liquid | 2 +- .../authentication_links/create/check.liquid | 6 +- .../create/execute.liquid | 2 +- .../lib/commands/passwords/create.liquid | 2 +- .../commands/passwords/create/check.liquid | 6 +- .../commands/passwords/create/execute.liquid | 4 +- .../public/lib/commands/session/create.liquid | 8 +- .../lib/commands/session/create/check.liquid | 6 +- .../lib/commands/session/destroy.liquid | 8 +- .../session/impersonation/create.liquid | 2 +- .../session/impersonation/create/check.liquid | 6 +- .../session/impersonation/destroy.liquid | 2 +- .../impersonation/destroy/check.liquid | 6 +- .../public/lib/commands/user/create.liquid | 2 +- .../lib/commands/user/create/build.liquid | 6 +- .../lib/commands/user/create/check.liquid | 6 +- .../public/lib/commands/user/delete.liquid | 6 +- .../lib/commands/user/roles/append.liquid | 4 +- .../lib/commands/user/roles/remove.liquid | 4 +- .../public/lib/commands/user/roles/set.liquid | 4 +- .../public/lib/commands/user/update.liquid | 12 +- .../lib/commands/user/update/check.liquid | 6 +- .../user/verify_password/check.liquid | 8 +- .../events/authentication_link_created.liquid | 2 +- .../lib/events/impersonation_ended.liquid | 2 +- .../lib/events/impersonation_started.liquid | 2 +- .../public/lib/events/password_created.liquid | 2 +- .../public/lib/events/user_created.liquid | 2 +- .../public/lib/events/user_deleted.liquid | 2 +- .../user/public/lib/events/user_logout.liquid | 2 +- .../lib/events/user_role_appended.liquid | 2 +- .../lib/events/user_role_removed.liquid | 2 +- .../public/lib/events/user_roles_set.liquid | 2 +- .../public/lib/events/user_signed_in.liquid | 2 +- .../public/lib/events/user_updated.liquid | 2 +- .../user/public/lib/helpers/flash.liquid | 2 +- .../public/lib/queries/user/current.liquid | 4 +- .../views/pages/passwords/create.liquid | 2 +- .../public/views/pages/users/create.liquid | 5 +- .../user/public/views/pages/users/new.liquid | 2 +- .../partials/components/atoms/input.liquid | 14 +- .../components/molecules/formfield.liquid | 14 +- .../components/organisms/login.liquid | 28 +- .../components/organisms/new-password.liquid | 28 +- .../components/organisms/register.liquid | 16 +- .../organisms/reset-password.liquid | 26 +- .../app/lib/test/array_test.liquid | 2 +- .../app/lib/test/example_test.liquid | 3 +- .../lib/test/examples/assertions_test.liquid | 6 +- .../app/lib/test/object_test.liquid | 8 +- .../tests/public/lib/assertions/blank.liquid | 2 +- .../tests/public/lib/assertions/equal.liquid | 2 +- .../lib/assertions/invalid_object.liquid | 2 +- .../public/lib/assertions/not_presence.liquid | 2 +- .../public/lib/assertions/not_true.liquid | 2 +- .../lib/assertions/not_valid_object.liquid | 2 +- .../assertions/object_contains_object.liquid | 2 +- .../public/lib/assertions/presence.liquid | 2 +- .../tests/public/lib/assertions/true.liquid | 2 +- .../public/lib/assertions/valid_object.liquid | 2 +- .../tests/public/lib/commands/run.liquid | 14 +- .../public/lib/helpers/register_error.liquid | 6 +- .../public/views/pages/_tests/index.js.liquid | 2 +- .../partials/sent_mails/pagination.liquid | 2 +- .../public/views/partials/tests/index.liquid | 1 + .../views/partials/tests/show_js.liquid | 16 +- .../public/views/pages/style-guide.liquid | 15 +- .../lib/commands/create/build.liquid | 2 +- .../lib/commands/create/check.liquid | 6 +- .../lib/commands/model/create/check.liquid | 5 +- .../lib/commands/model/delete/check.liquid | 5 +- .../lib/commands/model/update/check.liquid | 5 +- .../templates/views/pages/model/new.liquid | 2 +- .../public/lib/commands/email/send.liquid | 4 +- .../lib/commands/email/send/check.liquid | 6 +- .../lib/commands/events/broadcast.liquid | 2 +- .../lib/commands/events/create/build.liquid | 4 +- .../lib/commands/events/create/check.liquid | 10 +- .../lib/commands/events/create/execute.liquid | 2 +- .../core/public/lib/commands/execute.liquid | 2 +- .../core/public/lib/commands/hook/fire.liquid | 4 +- .../lib/commands/statuses/create/check.liquid | 6 +- .../lib/commands/statuses/delete/build.liquid | 2 +- .../lib/commands/statuses/delete/check.liquid | 6 +- .../public/lib/events/status_created.liquid | 2 +- .../lib/helpers/hash_to_x_form_encoded.liquid | 2 +- .../public/lib/helpers/redirect_to.liquid | 5 +- .../public/lib/helpers/register_error.liquid | 6 +- .../public/lib/queries/registry/search.liquid | 8 +- .../validations/password_complexity.liquid | 3 +- .../lib/validations/valid_object.liquid | 2 +- .../public/views/pages/_events/trigger.liquid | 2 +- .../public/views/partials/events/show.liquid | 2 +- .../partials/lib/commands/email/send.liquid | 4 +- .../lib/commands/email/send/check.liquid | 6 +- .../partials/lib/commands/hook/fire.liquid | 4 +- .../lib/helpers/register_error.liquid | 6 +- .../lib/queries/registry/search.liquid | 8 +- .../validations/password_complexity.liquid | 3 +- .../lib/validations/valid_object.liquid | 2 +- .../public/lib/commands/get_token.liquid | 3 +- .../lib/commands/get_token/check.liquid | 6 +- .../lib/commands/get_user_email/check.liquid | 6 +- .../lib/commands/get_user_info/check.liquid | 6 +- .../lib/helpers/get_redirect_url.liquid | 5 +- .../public/lib/helpers/get_user_info.liquid | 23 +- .../tests/public/lib/assertions/blank.liquid | 2 +- .../tests/public/lib/assertions/equal.liquid | 2 +- .../lib/assertions/invalid_object.liquid | 2 +- .../public/lib/assertions/not_presence.liquid | 2 +- .../public/lib/assertions/not_true.liquid | 2 +- .../lib/assertions/not_valid_object.liquid | 2 +- .../assertions/object_contains_object.liquid | 2 +- .../public/lib/assertions/presence.liquid | 2 +- .../tests/public/lib/assertions/true.liquid | 2 +- .../public/lib/assertions/valid_object.liquid | 2 +- .../tests/public/lib/commands/run.liquid | 16 +- .../public/lib/helpers/register_error.liquid | 6 +- .../partials/sent_mails/pagination.liquid | 2 +- .../public/views/partials/tests/index.liquid | 1 + .../views/partials/tests/show_log.liquid | 3 +- .../authentication_links/create.liquid | 2 +- .../lib/commands/oauth/create_user.liquid | 3 +- .../lib/commands/passwords/create.liquid | 2 +- .../lib/commands/profiles/create/build.liquid | 6 +- .../lib/commands/profiles/create/check.liquid | 6 +- .../lib/commands/profiles/delete/build.liquid | 2 +- .../lib/commands/profiles/delete/check.liquid | 6 +- .../lib/commands/profiles/roles/append.liquid | 2 +- .../lib/commands/profiles/roles/remove.liquid | 2 +- .../lib/commands/profiles/roles/set.liquid | 2 +- .../lib/commands/profiles/update/build.liquid | 2 +- .../lib/commands/profiles/update/check.liquid | 7 +- .../public/lib/commands/session/create.liquid | 2 +- .../lib/commands/session/destroy.liquid | 2 +- .../session/impersonation/create.liquid | 2 +- .../session/impersonation/destroy.liquid | 2 +- .../public/lib/commands/user/create.liquid | 2 +- .../public/lib/commands/user/delete.liquid | 2 +- .../commands/user/email_update/build.liquid | 2 +- .../commands/user/email_update/check.liquid | 5 +- .../public/lib/commands/user/update.liquid | 2 +- .../events/authentication_link_created.liquid | 2 +- .../lib/events/impersonation_ended.liquid | 2 +- .../lib/events/impersonation_started.liquid | 2 +- .../public/lib/events/password_created.liquid | 2 +- .../public/lib/events/user_created.liquid | 2 +- .../public/lib/events/user_deleted.liquid | 2 +- .../user/public/lib/events/user_logout.liquid | 2 +- .../lib/events/user_role_appended.liquid | 2 +- .../lib/events/user_role_removed.liquid | 2 +- .../public/lib/events/user_roles_set.liquid | 2 +- .../public/lib/events/user_signed_in.liquid | 2 +- .../public/lib/events/user_updated.liquid | 2 +- .../public/lib/helpers/current_profile.liquid | 2 +- .../user/public/lib/helpers/flash.liquid | 2 +- .../lib/queries/profiles/filters.liquid | 5 +- .../public/lib/queries/profiles/search.liquid | 2 +- .../user/public/lib/queries/user/otp.liquid | 2 +- .../public/views/pages/passwords/new.liquid | 2 +- .../public/views/pages/passwords/reset.liquid | 2 +- .../public/views/pages/sessions/new.liquid | 2 +- .../public/views/pages/users/create.liquid | 5 +- .../views/pages/users/email/edit.liquid | 2 +- .../views/pages/users/email/update.liquid | 6 +- .../user/public/views/pages/users/new.liquid | 4 +- .../views/partials/passwords/reset.liquid | 1 + .../public/views/partials/sessions/new.liquid | 2 + .../views/partials/users/email/edit.liquid | 1 + .../public/views/partials/users/new.liquid | 1 + .../20241202183257_set_superadmin_role.liquid | 2 +- 472 files changed, 6318 insertions(+), 975 deletions(-) create mode 100644 errors.txt diff --git a/errors.txt b/errors.txt new file mode 100644 index 0000000..8f93288 --- /dev/null +++ b/errors.txt @@ -0,0 +1,5253 @@ +platformOS Check - Errors Report +Total errors: 2612 +================================================================================ + +[LiquidHTMLSyntaxError] (101 errors) +-------------------------------------------------------------------------------- + pos-module-chat/modules/chat/public/lib/consumers/chat_message_created/notify_of_new_message.liquid:15:1 + Attempting to close LiquidTag 'background' before it was opened + pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid:27:7 + Invalid syntax for tag 'log' Expected syntax: {% log variable, type: 'type' %} + pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid:33:5 + Invalid syntax for tag 'log' Expected syntax: {% log variable, type: 'type' %} + pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid:479:41 + SyntaxError: expected a letter, "{{", "wbr" (case-insensitive), "track" (case-insensitive), "source" (case-insensitive), "param" (case-insensitive), "meta" (case-insensitive), "link" (case-insensitive), "keygen" (case-insensitive), "input" (case-insensitive), "img" (case-insensitive), "hr" (case-insensitive), "embed" (case-insensitive), "command" (case-insensitive), "col" (case-insensitive), "br" (case-insensitive), "base" (case-insensitive), "area" (case-insensitive), "svg", "style", or "script" + pos-module-chat/modules/core/public/lib/commands/events/broadcast.liquid:20:5 + Invalid syntax for tag 'background' Expected syntax: background job_id = 'path/to/partial', delay: 0.1, max_attempts: 3, source_name: 'custom_job', arg0: data + pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid:18:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-chat/modules/core/public/lib/commands/hook/alter.liquid:16:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid:20:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-chat/modules/core/public/lib/commands/statuses/create.liquid:26:5 + Invalid syntax for tag 'log' Expected syntax: {% log variable, type: 'type' %} + pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid:32:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-chat/modules/core/public/views/partials/events/show.liquid:2:21 + SyntaxError: expected a letter, "{{", "wbr" (case-insensitive), "track" (case-insensitive), "source" (case-insensitive), "param" (case-insensitive), "meta" (case-insensitive), "link" (case-insensitive), "keygen" (case-insensitive), "input" (case-insensitive), "img" (case-insensitive), "hr" (case-insensitive), "embed" (case-insensitive), "command" (case-insensitive), "col" (case-insensitive), "br" (case-insensitive), "base" (case-insensitive), "area" (case-insensitive), "svg", "style", or "script" + pos-module-chat/modules/core/public/views/partials/lib/commands/hook/alter.liquid:17:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid:20:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid:30:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-chat/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:20:7 + Invalid syntax for tag 'session' Expected syntax: {% session variable = "value" %} + pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid:15:3 + Invalid syntax for tag 'export' Expected syntax: export a, b, namespace: 'namespace' + pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid:2:5 + SyntaxError: expected end of input, "\n", a space, "#", a letter, "yield", "theme_render_rc", "spam_protection", "sign_in", "session", "rollback", "return", "response_status", "response_headers", "redirect_to", "print", "log", "include_form", "export", "context", "catch", "background", "when", "graphql", "function", "render", "liquid", "layout", "increment", "include", "elsif", "else", "echo", "decrement", "cycle", "continue", "break", "hash_assign", "assign", "try", "transaction", "parse_json", "cache", "tablerow", "unless", "if", "ifchanged", "for", "case", "capture", "form", "content_for", "end", "raw", or "comment" + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:12:5 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:21:5 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:30:7 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:40:5 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:56:7 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:69:7 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-chat/modules/user/public/views/pages/oauth/start.liquid:22:5 + Invalid syntax for tag 'session' Expected syntax: {% session variable = "value" %} + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/fonts.liquid:25:37 + SyntaxError: expected a letter, "{{", "wbr" (case-insensitive), "track" (case-insensitive), "source" (case-insensitive), "param" (case-insensitive), "meta" (case-insensitive), "link" (case-insensitive), "keygen" (case-insensitive), "input" (case-insensitive), "img" (case-insensitive), "hr" (case-insensitive), "embed" (case-insensitive), "command" (case-insensitive), "col" (case-insensitive), "br" (case-insensitive), "base" (case-insensitive), "area" (case-insensitive), "svg", "style", or "script" + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid:1:1 + Attempting to close HtmlElement 'div' before HtmlElement 'article' was closed + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/links.liquid:4:3 + Attempting to close HtmlElement 'article' before HtmlElement 'div' was closed + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/text-styles.liquid:27:3 + Attempting to close HtmlElement 'article' before HtmlElement 'div' was closed + pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid:20:5 + Invalid syntax for tag 'background' Expected syntax: background job_id = 'path/to/partial', delay: 0.1, max_attempts: 3, source_name: 'custom_job', arg0: data + pos-module-core/modules/core/public/lib/commands/events/create/check.liquid:18:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-core/modules/core/public/lib/commands/hook/alter.liquid:16:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-core/modules/core/public/lib/commands/hook/fire.liquid:20:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-core/modules/core/public/lib/commands/statuses/create.liquid:26:5 + Invalid syntax for tag 'log' Expected syntax: {% log variable, type: 'type' %} + pos-module-core/modules/core/public/lib/validations/password_complexity.liquid:32:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-core/modules/core/public/views/partials/events/show.liquid:2:21 + SyntaxError: expected a letter, "{{", "wbr" (case-insensitive), "track" (case-insensitive), "source" (case-insensitive), "param" (case-insensitive), "meta" (case-insensitive), "link" (case-insensitive), "keygen" (case-insensitive), "input" (case-insensitive), "img" (case-insensitive), "hr" (case-insensitive), "embed" (case-insensitive), "command" (case-insensitive), "col" (case-insensitive), "br" (case-insensitive), "base" (case-insensitive), "area" (case-insensitive), "svg", "style", or "script" + pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid:17:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid:20:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid:30:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-openai/modules/openai/public/lib/commands/openai/chat/completions.liquid:2:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-openai/modules/openai/public/lib/commands/openai/chat/completions.liquid:3:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-openai/modules/openai/public/lib/commands/openai/responses/create.liquid:2:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-openai/modules/openai/public/lib/commands/openai/responses/create.liquid:3:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid:2:3 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/build.liquid:18:3 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/build.liquid:5:3 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/build.liquid:6:3 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/build.liquid:11:3 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks.liquid:22:5 + Invalid syntax for tag 'response_status' Expected syntax: {% response_status 200 %} + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks_connect.liquid:16:5 + Invalid syntax for tag 'response_status' Expected syntax: {% response_status 200 %} + pos-module-reports/modules/core/public/lib/commands/events/broadcast.liquid:20:5 + Invalid syntax for tag 'background' Expected syntax: background job_id = 'path/to/partial', delay: 0.1, max_attempts: 3, source_name: 'custom_job', arg0: data + pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid:18:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-reports/modules/core/public/lib/commands/hook/alter.liquid:16:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-reports/modules/core/public/lib/commands/hook/fire.liquid:20:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-reports/modules/core/public/lib/commands/statuses/create.liquid:26:5 + Invalid syntax for tag 'log' Expected syntax: {% log variable, type: 'type' %} + pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid:32:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-reports/modules/core/public/views/partials/events/show.liquid:2:21 + SyntaxError: expected a letter, "{{", "wbr" (case-insensitive), "track" (case-insensitive), "source" (case-insensitive), "param" (case-insensitive), "meta" (case-insensitive), "link" (case-insensitive), "keygen" (case-insensitive), "input" (case-insensitive), "img" (case-insensitive), "hr" (case-insensitive), "embed" (case-insensitive), "command" (case-insensitive), "col" (case-insensitive), "br" (case-insensitive), "base" (case-insensitive), "area" (case-insensitive), "svg", "style", or "script" + pos-module-reports/modules/core/public/views/partials/lib/commands/hook/alter.liquid:17:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid:20:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid:30:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-reports/modules/profile/public/lib/helpers/current_profile.liquid:13:3 + Invalid syntax for tag 'export' Expected syntax: export a, b, namespace: 'namespace' + pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid:13:5 + Invalid syntax for tag 'try' Expected syntax: try + +catch err + +endtry + pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid:6:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-reports/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:20:7 + Invalid syntax for tag 'session' Expected syntax: {% session variable = "value" %} + pos-module-reports/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:25:7 + Invalid syntax for tag 'try' Expected syntax: try + +catch err + +endtry + pos-module-reports/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:28:9 + Invalid syntax for tag 'render' Expected syntax: {% render 'filename' %} + pos-module-reports/modules/user/public/views/partials/components/atoms/input.liquid:68:3 + Attempting to close LiquidTag 'if' before it was opened + pos-module-tests/modules/tests/public/lib/commands/run.liquid:24:7 + Invalid syntax for tag 'include' Expected syntax: {% include 'filename' %} + pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid:4:1 + Attempting to close LiquidTag 'background' before LiquidTag 'if' was closed + pos-module-tests/modules/tests/public/views/pages/_tests/run_async.liquid:4:1 + Attempting to close LiquidTag 'background' before LiquidTag 'if' was closed + pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid:30:9 + SyntaxError: expected "svg", "style", or "script" + pos-module-tests/modules/tests/public/views/partials/tests/index.liquid:10:3 + Attempting to close HtmlElement 'section' before HtmlElement 'div' was closed + pos-module-user/modules/common-styling/public/views/pages/style-guide.liquid:479:41 + SyntaxError: expected a letter, "{{", "wbr" (case-insensitive), "track" (case-insensitive), "source" (case-insensitive), "param" (case-insensitive), "meta" (case-insensitive), "link" (case-insensitive), "keygen" (case-insensitive), "input" (case-insensitive), "img" (case-insensitive), "hr" (case-insensitive), "embed" (case-insensitive), "command" (case-insensitive), "col" (case-insensitive), "br" (case-insensitive), "base" (case-insensitive), "area" (case-insensitive), "svg", "style", or "script" + pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid:20:5 + Invalid syntax for tag 'background' Expected syntax: background job_id = 'path/to/partial', delay: 0.1, max_attempts: 3, source_name: 'custom_job', arg0: data + pos-module-user/modules/core/public/lib/commands/events/create/check.liquid:18:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/core/public/lib/commands/hook/alter.liquid:16:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/core/public/lib/commands/hook/fire.liquid:20:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/core/public/lib/commands/statuses/create.liquid:26:5 + Invalid syntax for tag 'log' Expected syntax: {% log variable, type: 'type' %} + pos-module-user/modules/core/public/lib/validations/password_complexity.liquid:32:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/core/public/views/partials/events/show.liquid:2:21 + SyntaxError: expected a letter, "{{", "wbr" (case-insensitive), "track" (case-insensitive), "source" (case-insensitive), "param" (case-insensitive), "meta" (case-insensitive), "link" (case-insensitive), "keygen" (case-insensitive), "input" (case-insensitive), "img" (case-insensitive), "hr" (case-insensitive), "embed" (case-insensitive), "command" (case-insensitive), "col" (case-insensitive), "br" (case-insensitive), "base" (case-insensitive), "area" (case-insensitive), "svg", "style", or "script" + pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid:17:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid:20:5 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid:30:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/tests/public/lib/commands/run.liquid:19:5 + Invalid syntax for tag 'include' Expected syntax: {% include 'filename' %} + pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid:4:1 + Attempting to close LiquidTag 'background' before LiquidTag 'if' was closed + pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid:30:9 + SyntaxError: expected "svg", "style", or "script" + pos-module-user/modules/tests/public/views/partials/tests/index.liquid:10:3 + Attempting to close HtmlElement 'section' before HtmlElement 'div' was closed + pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:22:7 + Invalid syntax for tag 'session' Expected syntax: {% session variable = "value" %} + pos-module-user/modules/user/public/lib/helpers/current_profile.liquid:15:3 + Invalid syntax for tag 'export' Expected syntax: export a, b, namespace: 'namespace' + pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid:2:5 + SyntaxError: expected end of input, "\n", a space, "#", a letter, "yield", "theme_render_rc", "spam_protection", "sign_in", "session", "rollback", "return", "response_status", "response_headers", "redirect_to", "print", "log", "include_form", "export", "context", "catch", "background", "when", "graphql", "function", "render", "liquid", "layout", "increment", "include", "elsif", "else", "echo", "decrement", "cycle", "continue", "break", "hash_assign", "assign", "try", "transaction", "parse_json", "cache", "tablerow", "unless", "if", "ifchanged", "for", "case", "capture", "form", "content_for", "end", "raw", or "comment" + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:12:5 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:21:5 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:30:7 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:40:5 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:56:7 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:69:7 + Invalid syntax for tag 'return' Expected syntax: return variable + pos-module-user/modules/user/public/views/pages/oauth/start.liquid:22:5 + Invalid syntax for tag 'session' Expected syntax: {% session variable = "value" %} + pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid:11:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid:16:7 + Invalid syntax for tag 'log' Expected syntax: {% log variable, type: 'type' %} + pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid:11:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid:16:7 + Invalid syntax for tag 'log' Expected syntax: {% log variable, type: 'type' %} + pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid:12:3 + Invalid syntax for tag 'function' Expected syntax: {% function variable = 'path/to/partial', arg1: value %} + +[MissingAsset] (95 errors) +-------------------------------------------------------------------------------- + pos-module-chat/app/views/layouts/application.liquid:12:39 + 'modules/user/style/pos-user-form.css' does not exist + pos-module-chat/app/views/layouts/application.liquid:13:39 + 'modules/chat/style/pos-chat-inbox.css' does not exist + pos-module-chat/app/views/layouts/application.liquid:15:39 + 'style/app-config.css' does not exist + pos-module-chat/app/views/layouts/application.liquid:16:39 + 'style/app-button.css' does not exist + pos-module-chat/app/views/layouts/application.liquid:17:39 + 'style/app-typography.css' does not exist + pos-module-chat/app/views/layouts/application.liquid:18:39 + 'style/app-inbox.css' does not exist + pos-module-chat/app/views/layouts/application.liquid:19:39 + 'style/app.css' does not exist + pos-module-chat/app/views/layouts/application.liquid:21:29 + 'js/app.js' does not exist + pos-module-chat/app/views/layouts/application.liquid:22:29 + 'js/popup.js' does not exist + pos-module-chat/app/views/layouts/application.liquid:34:24 + 'font/SourceCodePro-VariableFont_wght.ttf' does not exist + pos-module-chat/app/views/layouts/application.liquid:42:24 + 'font/SourceCodePro-Italic-VariableFont_wght.woff2' does not exist + pos-module-chat/app/views/partials/index.liquid:29:22 + 'images/pos-sign.svg' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:4:16 + 'modules/chat/js/' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:5:26 + 'modules/chat/js/pos-chat.js' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:6:35 + 'modules/chat/js/pos-chat-consumer.js' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:7:36 + 'modules/chat/js/pos-chat-csrfToken.js' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:8:40 + 'modules/chat/js/pos-chat-notifications.js' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:41:37 + 'modules/chat/js/pos-chat.js' does not exist + pos-module-chat/modules/common-styling/public/views/layouts/style-guide.liquid:11:41 + 'modules/common-styling/style-guide/styleguide.css' does not exist + pos-module-chat/modules/common-styling/public/views/layouts/style-guide.liquid:12:25 + 'modules/common-styling/style-guide/styleguide.js' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:2:35 + 'modules/common-styling/style/pos-reset.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:4:33 + 'modules/common-styling/style/pos-config.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:5:33 + 'modules/common-styling/style/pos-typography.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:6:33 + 'modules/common-styling/style/pos-button.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:7:33 + 'modules/common-styling/style/pos-toast.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:8:33 + 'modules/common-styling/style/pos-avatar.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:9:33 + 'modules/common-styling/style/pos-forms.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:10:33 + 'modules/common-styling/style/pos-page.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:11:33 + 'modules/common-styling/style/pos-card.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:12:33 + 'modules/common-styling/style/pos-table.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:13:33 + 'modules/common-styling/style/pos-tag.css' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:15:17 + 'modules/common-styling/js/pos.js' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:27:18 + 'modules/common-styling/js/pos-forms-password.js' does not exist + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:35:18 + 'modules/common-styling/js/pos-forms-multiselect.js' does not exist + pos-module-chat/modules/common-styling/public/views/partials/toasts.liquid:35:17 + 'modules/common-styling/js/pos-toast.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/layouts/style-guide.liquid:11:41 + 'modules/common-styling/style-guide/styleguide.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/layouts/style-guide.liquid:12:25 + 'modules/common-styling/style-guide/styleguide.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:2:35 + 'modules/common-styling/style/pos-reset.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:4:33 + 'modules/common-styling/style/pos-config.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:5:33 + 'modules/common-styling/style/pos-utility.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:6:33 + 'modules/common-styling/style/pos-typography.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:7:33 + 'modules/common-styling/style/pos-button.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:8:33 + 'modules/common-styling/style/pos-toast.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:9:33 + 'modules/common-styling/style/pos-avatar.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:10:33 + 'modules/common-styling/style/pos-forms.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:11:33 + 'modules/common-styling/style/pos-page.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:12:33 + 'modules/common-styling/style/pos-popover.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:13:33 + 'modules/common-styling/style/pos-dialog.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:14:33 + 'modules/common-styling/style/pos-card.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:15:33 + 'modules/common-styling/style/pos-table.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:16:33 + 'modules/common-styling/style/pos-tag.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:17:33 + 'modules/common-styling/style/pos-pagination.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:18:33 + 'modules/common-styling/style/pos-collapsible.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:20:33 + 'modules/common-styling/style/dependency-uppy.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:21:33 + 'modules/common-styling/style/pos-upload.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:23:33 + 'modules/common-styling/style/dependency-easyMde.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:24:17 + 'modules/common-styling/js/dependency-easyMde.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:25:33 + 'modules/common-styling/style/pos-markdown.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:27:33 + 'modules/common-styling/style/dependency-highlightJs.css' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:28:17 + 'modules/common-styling/js/dependency-highlightJs.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:50:17 + 'modules/common-styling/js/pos-debug.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:58:18 + 'modules/common-styling/js/pos-forms-password.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:67:18 + 'modules/common-styling/js/pos-forms-multiselect.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:76:18 + 'modules/common-styling/js/pos-popover.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:85:18 + 'modules/common-styling/js/pos-dialog.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:97:18 + 'modules/common-styling/js/pos-collapsible.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:115:16 + 'modules/common-styling/js/pos-load.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:133:18 + 'modules/common-styling/js/dependency-uppy.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:136:20 + 'modules/common-styling/js/pos-upload.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:153:18 + 'modules/common-styling/js/pos-markdown.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid:168:18 + 'modules/common-styling/js/pos-code.js' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/toasts.liquid:35:17 + 'modules/common-styling/js/pos-toast.js' does not exist + pos-module-openai/app/views/pages/openai_gpt_usage.liquid:43:36 + 'images/image_example.png' does not exist + pos-module-tests/modules/tests/public/views/layouts/mailer.html.liquid:152:24 + 'images/logo.png' does not exist + pos-module-user/app/views/layouts/application.liquid:8:39 + 'modules/user/style/pos-user-form.css' does not exist + pos-module-user/app/views/layouts/application.liquid:10:39 + 'style/app.css' does not exist + pos-module-user/app/views/pages/index.liquid:78:22 + 'images/pos-sign.svg' does not exist + pos-module-user/modules/common-styling/public/views/layouts/style-guide.liquid:11:41 + 'modules/common-styling/style-guide/styleguide.css' does not exist + pos-module-user/modules/common-styling/public/views/layouts/style-guide.liquid:12:25 + 'modules/common-styling/style-guide/styleguide.js' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:2:35 + 'modules/common-styling/style/pos-reset.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:4:33 + 'modules/common-styling/style/pos-config.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:5:33 + 'modules/common-styling/style/pos-typography.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:6:33 + 'modules/common-styling/style/pos-button.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:7:33 + 'modules/common-styling/style/pos-toast.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:8:33 + 'modules/common-styling/style/pos-avatar.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:9:33 + 'modules/common-styling/style/pos-forms.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:10:33 + 'modules/common-styling/style/pos-page.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:11:33 + 'modules/common-styling/style/pos-card.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:12:33 + 'modules/common-styling/style/pos-table.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:13:33 + 'modules/common-styling/style/pos-tag.css' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:15:17 + 'modules/common-styling/js/pos.js' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:27:18 + 'modules/common-styling/js/pos-forms-password.js' does not exist + pos-module-user/modules/common-styling/public/views/partials/init.liquid:35:18 + 'modules/common-styling/js/pos-forms-multiselect.js' does not exist + pos-module-user/modules/common-styling/public/views/partials/toasts.liquid:35:17 + 'modules/common-styling/js/pos-toast.js' does not exist + pos-module-user/modules/tests/public/views/layouts/mailer.html.liquid:152:24 + 'images/logo.png' does not exist + +[MissingPartial] (2210 errors) +-------------------------------------------------------------------------------- + pos-module-chat/app/views/layouts/application.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/app/views/layouts/application.liquid:11:17 + 'modules/common-styling/init' does not exist + pos-module-chat/app/views/layouts/application.liquid:51:21 + 'header' does not exist + pos-module-chat/app/views/layouts/application.liquid:57:26 + 'modules/core/commands/session/get' does not exist + pos-module-chat/app/views/layouts/application.liquid:59:24 + 'modules/core/commands/session/clear' does not exist + pos-module-chat/app/views/layouts/application.liquid:61:16 + 'modules/common-styling/toasts' does not exist + pos-module-chat/app/views/pages/index.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/app/views/pages/index.liquid:4:24 + 'modules/user/queries/profiles/search' does not exist + pos-module-chat/app/views/pages/index.liquid:7:10 + 'index' does not exist + pos-module-chat/modules/chat/public/lib/events/chat_message_created.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/lib/events/chat_message_created.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/lib/events/message_notification_to_send.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/lib/events/message_notification_to_send.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/pages/api/messages/show.json.liquid:16:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/chat/public/views/pages/api/messages/show.json.liquid:19:11 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-chat/modules/chat/public/views/pages/api/messages/show.json.liquid:26:23 + 'modules/chat/lib/queries/messages/search_by_participant' does not exist + pos-module-chat/modules/chat/public/views/pages/api/messages/show.json.liquid:28:10 + 'modules/chat/theme/json/messages/show' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:5:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:8:11 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:12:23 + 'modules/chat/lib/queries/records/find_by_uuid' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:16:37 + 'modules/chat/lib/commands/conversations/find_or_create' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:22:21 + 'modules/chat/lib/commands/conversations/mark_read' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:26:25 + 'modules/chat/lib/commands/conversations/mark_read' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:31:28 + 'modules/chat/lib/queries/conversations/search_by_participant' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:35:30 + 'modules/user/profiles/search' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:39:12 + 'modules/chat/inbox' does not exist + pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid:41:12 + 'modules/chat/blank' does not exist + pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid:17:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid:21:27 + 'modules/chat/lib/queries/conversations/find_by_participant' does not exist + pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid:25:24 + 'modules/chat/lib/commands/messages/create' does not exist + pos-module-chat/modules/chat/public/views/partials/channels/conversate/receive.liquid:30:23 + 'modules/chat/lib/commands/conversations/mark_unread' does not exist + pos-module-chat/modules/chat/public/views/partials/channels/conversate/subscribed.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/chat/public/views/partials/channels/conversate/subscribed.liquid:5:27 + 'modules/chat/lib/queries/conversations/find_by_participant' does not exist + pos-module-chat/modules/chat/public/views/partials/conversation.liquid:5:17 + 'modules/common-styling/user/avatar' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:46:13 + 'modules/chat/message' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:49:13 + 'modules/chat/message' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:80:21 + 'modules/chat/conversation' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:105:22 + 'modules/common-styling/user/avatar' does not exist + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:125:22 + 'modules/chat/message' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create.liquid:2:21 + 'modules/chat/lib/commands/conversations/create/build' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create.liquid:3:21 + 'modules/chat/lib/commands/conversations/create/check' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/check.liquid:5:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid:2:21 + 'modules/chat/lib/commands/conversations/find_or_create/build' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid:5:29 + 'modules/chat/lib/queries/conversations/find_by_participant' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid:7:29 + 'modules/chat/lib/queries/conversations/find_by_participants' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid:9:31 + 'modules/chat/lib/commands/conversations/create' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/find_or_create.liquid:14:27 + 'modules/chat/lib/commands/conversations/find_or_create/check' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read.liquid:2:21 + 'modules/chat/lib/commands/conversations/mark_read/build' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read.liquid:3:21 + 'modules/chat/lib/commands/conversations/mark_read/check' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read.liquid:8:25 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_read/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread.liquid:2:21 + 'modules/chat/lib/commands/conversations/mark_unread/build' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread.liquid:3:21 + 'modules/chat/lib/commands/conversations/mark_unread/check' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread.liquid:5:23 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/conversations/mark_unread/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create.liquid:2:21 + 'modules/chat/lib/commands/messages/create/build' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create.liquid:3:21 + 'modules/chat/lib/commands/messages/create/check' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create.liquid:9:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid:7:15 + 'modules/chat/conversations/search' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid:14:24 + 'modules/user/queries/profiles/find' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid:12:15 + 'modules/chat/conversations/search' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid:20:26 + 'modules/user/queries/profiles/find' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid:7:15 + 'modules/chat/conversations/search' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid:15:26 + 'modules/user/queries/profiles/find' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/number_of_unread_by_participant.liquid:7:15 + 'modules/chat/conversations/number_unread_by_participant' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid:3:15 + 'modules/chat/conversations/search_by_message' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid:12:26 + 'modules/user/queries/profiles/find' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid:9:15 + 'modules/chat/conversations/search' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid:18:26 + 'modules/user/queries/profiles/find' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/messages/search_by_participant.liquid:7:15 + 'modules/chat/messages/search' does not exist + pos-module-chat/modules/chat/public/views/partials/lib/queries/records/find_by_uuid.liquid:7:15 + 'modules/chat/records/search' does not exist + pos-module-chat/modules/common-styling/public/views/layouts/style-guide.liquid:10:19 + 'modules/common-styling/init' does not exist + pos-module-chat/modules/common-styling/public/views/partials/forms/multiselect.liquid:60:21 + 'modules/common-styling/icon' does not exist + pos-module-chat/modules/common-styling/public/views/partials/forms/multiselect.liquid:69:21 + 'modules/common-styling/icon' does not exist + pos-module-chat/modules/common-styling/public/views/partials/forms/multiselect.liquid:75:15 + 'modules/common-styling/icon' does not exist + pos-module-chat/modules/common-styling/public/views/partials/forms/password.liquid:33:17 + 'modules/common-styling/icon' does not exist + pos-module-chat/modules/common-styling/public/views/partials/forms/password.liquid:34:17 + 'modules/common-styling/icon' does not exist + pos-module-chat/modules/core/public/api_calls/generic_x_form_encoded.liquid:7:18 + 'modules/core/helpers/hash_to_x_form_encoded' does not exist + pos-module-chat/modules/core/public/lib/commands/email/send.liquid:2:21 + 'modules/core/commands/email/send/build' does not exist + pos-module-chat/modules/core/public/lib/commands/email/send.liquid:3:21 + 'modules/core/commands/email/send/check' does not exist + pos-module-chat/modules/core/public/lib/commands/email/send.liquid:6:17 + 'modules/core/email/send' does not exist + pos-module-chat/modules/core/public/lib/commands/email/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/email/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/email/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/email/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/events/broadcast.liquid:9:23 + 'modules/core/events/consumers' does not exist + pos-module-chat/modules/core/public/lib/commands/events/create.liquid:2:20 + 'modules/core/commands/events/create/build' does not exist + pos-module-chat/modules/core/public/lib/commands/events/create.liquid:3:20 + 'modules/core/commands/events/create/check' does not exist + pos-module-chat/modules/core/public/lib/commands/events/create.liquid:5:22 + 'modules/core/commands/events/create/execute' does not exist + pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid:8:34 + 'modules/core/events/events_checks' does not exist + pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid:25:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/commands/events/create/execute.liquid:2:15 + 'modules/core/events/create' does not exist + pos-module-chat/modules/core/public/lib/commands/events/publish.liquid:18:20 + 'modules/core/commands/events/create' does not exist + pos-module-chat/modules/core/public/lib/commands/hook/alter.liquid:13:30 + 'modules/core/queries/hook/search' does not exist + pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid:17:30 + 'modules/core/queries/hook/search' does not exist + pos-module-chat/modules/core/public/lib/commands/session/clear.liquid:3:17 + 'modules/core/session/delete' does not exist + pos-module-chat/modules/core/public/lib/commands/session/get.liquid:5:19 + 'modules/core/session/delete' does not exist + pos-module-chat/modules/core/public/lib/commands/session/set.liquid:3:15 + 'modules/core/session/set' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/create.liquid:17:21 + 'modules/core/commands/statuses/create/build' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/create.liquid:18:21 + 'modules/core/commands/statuses/create/check' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/create.liquid:21:23 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/create.liquid:23:20 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/delete.liquid:8:21 + 'modules/core/commands/statuses/delete/build' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/delete.liquid:9:21 + 'modules/core/commands/statuses/delete/check' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/delete.liquid:12:23 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/core/public/lib/commands/statuses/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/commands/variable/set.liquid:7:20 + 'modules/core/variable/set' does not exist + pos-module-chat/modules/core/public/lib/events/status_created.liquid:13:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/events/status_created.liquid:14:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/events/status_created.liquid:15:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid:22:11 + 'modules/core/helpers/flash/publish' does not exist + pos-module-chat/modules/core/public/lib/helpers/timezone/get_by_name.liquid:17:24 + 'modules/core/helpers/timezone/get_all' does not exist + pos-module-chat/modules/core/public/lib/helpers/timezone/get_by_offset.liquid:17:24 + 'modules/core/helpers/timezone/get_all' does not exist + pos-module-chat/modules/core/public/lib/queries/events/find.liquid:6:21 + 'modules/core/queries/events/search' does not exist + pos-module-chat/modules/core/public/lib/queries/events/search.liquid:5:15 + 'modules/core/events/search' does not exist + pos-module-chat/modules/core/public/lib/queries/headscripts/get.liquid:3:18 + 'modules/core/queries/headscripts/search' does not exist + pos-module-chat/modules/core/public/lib/queries/headscripts/search.liquid:2:41 + 'modules/core/commands/hook/fire' does not exist + pos-module-chat/modules/core/public/lib/queries/hook/search.liquid:9:29 + 'modules/core/hook/search' does not exist + pos-module-chat/modules/core/public/lib/queries/module/exists.liquid:8:22 + 'modules/core/queries/registry/search' does not exist + pos-module-chat/modules/core/public/lib/queries/registry/get.liquid:3:23 + 'modules/core/queries/registry/search' does not exist + pos-module-chat/modules/core/public/lib/queries/registry/search.liquid:7:23 + 'modules/core/commands/hook/fire' does not exist + pos-module-chat/modules/core/public/lib/queries/statuses/find.liquid:12:16 + 'modules/core/statuses/search' does not exist + pos-module-chat/modules/core/public/lib/queries/statuses/search.liquid:22:15 + 'modules/core/statuses/search' does not exist + pos-module-chat/modules/core/public/lib/queries/variable/get.liquid:3:18 + 'modules/core/queries/variable/find' does not exist + pos-module-chat/modules/core/public/lib/validations/date.liquid:22:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/date.liquid:27:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/date.liquid:35:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/date.liquid:44:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/date.liquid:53:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/date.liquid:62:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/each_element_length.liquid:17:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/each_element_length.liquid:23:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/each_element_length.liquid:28:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/elements_included.liquid:14:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/email.liquid:12:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/equal.liquid:17:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/exist_in_db.liquid:24:15 + 'modules/core/records/count' does not exist + pos-module-chat/modules/core/public/lib/validations/exist_in_db.liquid:28:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/hcaptcha.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/included.liquid:13:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/length.liquid:23:18 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/lib/validations/length.liquid:28:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/length.liquid:33:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/length.liquid:38:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/matches.liquid:16:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/not_null.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/number.liquid:21:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/number.liquid:30:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/number.liquid:38:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/number.liquid:43:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/number.liquid:48:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/number.liquid:53:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/number.liquid:58:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid:14:31 + 'modules/core/queries/variable/find' does not exist + pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid:18:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid:23:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid:28:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/presence.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/truthy.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/unique_elements.liquid:15:18 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/uniqueness.liquid:20:17 + 'modules/core/records/count' does not exist + pos-module-chat/modules/core/public/lib/validations/uniqueness.liquid:24:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/lib/validations/valid_object.liquid:13:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/pages/_events/index.liquid:7:23 + 'modules/core/queries/events/search' does not exist + pos-module-chat/modules/core/public/views/pages/_events/index.liquid:9:12 + 'modules/core/events/list' does not exist + pos-module-chat/modules/core/public/views/pages/_events/trigger.liquid:7:22 + 'modules/core/queries/events/find' does not exist + pos-module-chat/modules/core/public/views/pages/_events/trigger.liquid:10:24 + 'modules/core/commands/events/broadcast' does not exist + pos-module-chat/modules/core/public/views/pages/_events/trigger.liquid:14:27 + 'modules/core/events/consumers' does not exist + pos-module-chat/modules/core/public/views/pages/_events/trigger.liquid:18:12 + 'modules/core/events/show' does not exist + pos-module-chat/modules/core/public/views/partials/events/list.liquid:5:15 + 'modules/core/events/event_card' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/email/send.liquid:3:21 + 'modules/core/commands/email/send/build' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/email/send.liquid:4:21 + 'modules/core/commands/email/send/check' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/email/send.liquid:7:17 + 'modules/core/email/send' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/email/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/email/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/email/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/email/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/hook/alter.liquid:14:30 + 'modules/core/lib/queries/hook/search' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid:17:30 + 'modules/core/lib/queries/hook/search' does not exist + pos-module-chat/modules/core/public/views/partials/lib/commands/variable/set.liquid:8:20 + 'modules/core/variable/set' does not exist + pos-module-chat/modules/core/public/views/partials/lib/queries/headscripts/get.liquid:4:18 + 'modules/core/lib/queries/headscripts/search' does not exist + pos-module-chat/modules/core/public/views/partials/lib/queries/headscripts/search.liquid:3:41 + 'modules/core/lib/commands/hook/fire' does not exist + pos-module-chat/modules/core/public/views/partials/lib/queries/hook/search.liquid:10:29 + 'modules/core/hook/search' does not exist + pos-module-chat/modules/core/public/views/partials/lib/queries/module/exists.liquid:8:22 + 'modules/core/lib/queries/registry/search' does not exist + pos-module-chat/modules/core/public/views/partials/lib/queries/registry/get.liquid:3:23 + 'modules/core/lib/queries/registry/search' does not exist + pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid:7:23 + 'modules/core/lib/commands/hook/fire' does not exist + pos-module-chat/modules/core/public/views/partials/lib/queries/variable/get.liquid:3:18 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/date.liquid:23:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/date.liquid:28:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/date.liquid:36:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/date.liquid:45:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/date.liquid:54:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/date.liquid:63:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/each_element_length.liquid:17:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/each_element_length.liquid:23:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/each_element_length.liquid:28:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/elements_included.liquid:15:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/email.liquid:13:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/equal.liquid:18:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/exist_in_db.liquid:25:15 + 'modules/core/records/count' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/exist_in_db.liquid:29:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/hcaptcha.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/included.liquid:14:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/length.liquid:26:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/length.liquid:32:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/length.liquid:37:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/length.liquid:42:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/matches.liquid:17:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/not_null.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/number.liquid:22:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/number.liquid:31:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/number.liquid:39:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/number.liquid:44:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/number.liquid:49:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/number.liquid:54:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/number.liquid:59:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid:12:31 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid:16:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid:21:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid:26:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/presence.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/truthy.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/unique_elements.liquid:15:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/uniqueness.liquid:21:17 + 'modules/core/records/count' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/uniqueness.liquid:25:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/core/public/views/partials/lib/validations/valid_object.liquid:14:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create.liquid:2:21 + 'modules/user/commands/authentication_links/create/build' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create.liquid:3:21 + 'modules/user/commands/authentication_links/create/check' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create.liquid:6:23 + 'modules/user/commands/authentication_links/create/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create.liquid:8:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create/build.liquid:3:19 + 'modules/user/queries/user/find' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/authentication_links/create/check.liquid:9:18 + 'modules/core/validations/hcaptcha' does not exist + pos-module-chat/modules/user/public/lib/commands/emails/auth-link.liquid:26:21 + 'modules/core/commands/email/send' does not exist + pos-module-chat/modules/user/public/lib/commands/oauth/create_user.liquid:6:25 + 'modules/user/commands/user/create' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create.liquid:2:21 + 'modules/user/commands/passwords/create/build' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create.liquid:3:21 + 'modules/user/commands/passwords/create/check' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create.liquid:6:23 + 'modules/user/commands/passwords/create/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create.liquid:8:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid:7:16 + 'modules/core/validations/equal' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid:8:16 + 'modules/core/validations/password_complexity' does not exist + pos-module-chat/modules/user/public/lib/commands/passwords/create/execute.liquid:2:15 + 'modules/user/user/update_password' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create.liquid:2:21 + 'modules/user/commands/profiles/create/build' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create.liquid:3:21 + 'modules/user/commands/profiles/create/check' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create.liquid:5:23 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid:2:30 + 'modules/user/commands/profiles/tokenize_names' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid:5:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid:7:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid:8:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid:9:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create_validate.liquid:2:21 + 'modules/user/commands/profiles/create/build' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create_validate.liquid:3:21 + 'modules/user/commands/profiles/create/check' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/create_validate_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/delete.liquid:2:21 + 'modules/user/commands/profiles/delete/build' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/delete.liquid:3:21 + 'modules/user/commands/profiles/delete/check' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/delete.liquid:5:23 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid:7:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid:7:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid:7:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update.liquid:2:21 + 'modules/user/commands/profiles/update/build' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update.liquid:3:21 + 'modules/user/commands/profiles/update/check' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update/build.liquid:2:30 + 'modules/user/commands/profiles/tokenize_names' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid:5:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid:6:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid:7:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid:8:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/user/public/lib/commands/profiles/update_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-chat/modules/user/public/lib/commands/session/create.liquid:20:21 + 'modules/user/commands/user/verify_password' does not exist + pos-module-chat/modules/user/public/lib/commands/session/create.liquid:27:21 + 'modules/user/commands/session/create/build' does not exist + pos-module-chat/modules/user/public/lib/commands/session/create.liquid:28:21 + 'modules/user/commands/session/create/check' does not exist + pos-module-chat/modules/user/public/lib/commands/session/create.liquid:30:21 + 'modules/user/queries/user/load' does not exist + pos-module-chat/modules/user/public/lib/commands/session/create.liquid:34:26 + 'modules/core/commands/hook/fire' does not exist + pos-module-chat/modules/user/public/lib/commands/session/create.liquid:40:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/session/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid:5:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid:7:21 + 'modules/user/session/destroy' does not exist + pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid:12:24 + 'modules/core/commands/hook/fire' does not exist + pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid:15:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/create.liquid:2:21 + 'modules/user/commands/session/impersonation/create/build' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/create.liquid:3:21 + 'modules/user/commands/session/impersonation/create/check' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/create.liquid:9:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy.liquid:2:21 + 'modules/user/commands/session/impersonation/create/build' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy.liquid:3:21 + 'modules/user/commands/session/impersonation/destroy/check' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy.liquid:10:20 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create.liquid:16:21 + 'modules/user/commands/user/create/build' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create.liquid:17:21 + 'modules/user/commands/user/create/check' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create.liquid:19:21 + 'modules/core/commands/execute' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create.liquid:22:24 + 'modules/user/commands/profiles/create' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create.liquid:28:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:3:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:6:16 + 'modules/core/validations/password_complexity' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:8:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:9:16 + 'modules/core/validations/email' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:12:27 + 'modules/user/user/list' does not exist + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:15:20 + 'modules/core/helpers/register_error' does not exist + pos-module-chat/modules/user/public/lib/commands/user/delete.liquid:8:18 + 'modules/user/user/delete' does not exist + pos-module-chat/modules/user/public/lib/commands/user/delete.liquid:12:24 + 'modules/core/commands/hook/fire' does not exist + pos-module-chat/modules/user/public/lib/commands/user/delete.liquid:16:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/user/update.liquid:13:21 + 'modules/user/commands/user/update/build' does not exist + pos-module-chat/modules/user/public/lib/commands/user/update.liquid:14:21 + 'modules/user/commands/user/update/check' does not exist + pos-module-chat/modules/user/public/lib/commands/user/update.liquid:17:20 + 'modules/user/user/update' does not exist + pos-module-chat/modules/user/public/lib/commands/user/update.liquid:22:26 + 'modules/core/commands/hook/fire' does not exist + pos-module-chat/modules/user/public/lib/commands/user/update.liquid:35:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/modules/user/public/lib/commands/user/update/check.liquid:5:18 + 'modules/core/validations/email' does not exist + pos-module-chat/modules/user/public/lib/commands/user/verify_password.liquid:9:21 + 'modules/user/commands/user/verify_password/build' does not exist + pos-module-chat/modules/user/public/lib/commands/user/verify_password.liquid:10:21 + 'modules/user/commands/user/verify_password/check' does not exist + pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid:4:16 + 'modules/core/validations/email' does not exist + pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid:9:20 + 'modules/user/user/verify_password' does not exist + pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid:12:18 + 'modules/core/validations/truthy' does not exist + pos-module-chat/modules/user/public/lib/events/authentication_link_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/impersonation_ended.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/impersonation_ended.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/impersonation_started.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/impersonation_started.liquid:12:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/password_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_deleted.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_logout.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_role_appended.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_role_appended.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_role_removed.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_role_removed.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_roles_set.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_roles_set.liquid:11:16 + 'modules/core/validations/length' does not exist + pos-module-chat/modules/user/public/lib/events/user_signed_in.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/events/user_updated.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-chat/modules/user/public/lib/helpers/can_do.liquid:25:26 + 'modules/user/queries/role_permissions/permissions' does not exist + pos-module-chat/modules/user/public/lib/helpers/can_do_or_redirect.liquid:16:18 + 'modules/user/helpers/can_do' does not exist + pos-module-chat/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:17:18 + 'modules/user/helpers/can_do' does not exist + pos-module-chat/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:22:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:25:23 + 'components/pages/403' does not exist + pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid:2:19 + 'modules/user/queries/user/current' does not exist + pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid:6:32 + 'modules/user/queries/profiles/find' does not exist + pos-module-chat/modules/user/public/lib/helpers/flash.liquid:19:16 + 'modules/core/commands/session/set' does not exist + pos-module-chat/modules/user/public/lib/helpers/get_assigned_oauth_providers.liquid:2:29 + 'modules/user/queries/user/current' does not exist + pos-module-chat/modules/user/public/lib/helpers/get_assigned_oauth_providers.liquid:3:17 + 'modules/user/oauth/find_by_user_id' does not exist + pos-module-chat/modules/user/public/lib/helpers/table_name.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-chat/modules/user/public/lib/helpers/user_from_temporary_token.liquid:6:19 + 'modules/user/queries/user/find' does not exist + pos-module-chat/modules/user/public/lib/queries/api_call.liquid:18:15 + 'modules/user/api_call' does not exist + pos-module-chat/modules/user/public/lib/queries/profiles/filters_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-chat/modules/user/public/lib/queries/profiles/find.liquid:7:20 + 'modules/user/profiles/search' does not exist + pos-module-chat/modules/user/public/lib/queries/profiles/find.liquid:11:21 + 'modules/user/helpers/profiles/slugs/build' does not exist + pos-module-chat/modules/user/public/lib/queries/profiles/find_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid:7:15 + 'modules/user/profiles/search' does not exist + pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid:12:21 + 'modules/user/helpers/profiles/slugs/build' does not exist + pos-module-chat/modules/user/public/lib/queries/profiles/search_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-chat/modules/user/public/lib/queries/roles/all.liquid:1:27 + 'modules/user/queries/role_permissions/permissions' does not exist + pos-module-chat/modules/user/public/lib/queries/roles/custom.liquid:2:22 + 'modules/user/queries/roles/all' does not exist + pos-module-chat/modules/user/public/lib/queries/user/count.liquid:5:19 + 'modules/user/user/count' does not exist + pos-module-chat/modules/user/public/lib/queries/user/current.liquid:6:21 + 'modules/user/queries/user/load' does not exist + pos-module-chat/modules/user/public/lib/queries/user/find.liquid:10:16 + 'modules/user/user/find' does not exist + pos-module-chat/modules/user/public/lib/queries/user/get_all.liquid:3:15 + 'modules/user/user/list' does not exist + pos-module-chat/modules/user/public/lib/queries/user/load.liquid:9:15 + 'modules/user/user/load' does not exist + pos-module-chat/modules/user/public/lib/queries/user/search.liquid:5:15 + 'modules/user/user/search' does not exist + pos-module-chat/modules/user/public/views/pages/authentication_links/create.liquid:6:21 + 'modules/user/commands/authentication_links/create' does not exist + pos-module-chat/modules/user/public/views/pages/authentication_links/create.liquid:8:22 + 'modules/user/commands/emails/auth-link' does not exist + pos-module-chat/modules/user/public/views/pages/authentication_links/create.liquid:15:20 + 'modules/user/helpers/flash' does not exist + pos-module-chat/modules/user/public/views/pages/authentication_links/create.liquid:20:20 + 'modules/user/helpers/flash' does not exist + pos-module-chat/modules/user/public/views/pages/authentication_links/create.liquid:28:18 + 'modules/user/helpers/flash' does not exist + pos-module-chat/modules/user/public/views/pages/authentication_links/create.liquid:31:12 + 'modules/user/passwords/reset' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:8:27 + 'modules/user/queries/user/current' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:11:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:15:34 + 'modules/user/helpers/get_available_oauth_providers' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:20:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:26:17 + 'modules/user/oauth/find_by_user_id' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:29:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:39:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:49:15 + 'modules/user/oauth/find_by_sub' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:55:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:65:25 + 'modules/user/commands/oauth/create_user' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:68:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:76:17 + 'modules/user/oauth/create' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:81:18 + 'modules/user/commands/session/create' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:82:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/callback.liquid:84:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/start.liquid:12:36 + 'modules/user/helpers/get_available_oauth_providers' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/unassign.liquid:6:27 + 'modules/user/queries/user/current' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/unassign.liquid:14:15 + 'modules/user/oauth/find_by_user_id' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/unassign.liquid:16:17 + 'modules/user/oauth/delete' does not exist + pos-module-chat/modules/user/public/views/pages/oauth/unassign.liquid:19:16 + 'modules/user/helpers/flash' does not exist + pos-module-chat/modules/user/public/views/pages/passwords/create.liquid:10:21 + 'modules/user/commands/passwords/create' does not exist + pos-module-chat/modules/user/public/views/pages/passwords/create.liquid:14:18 + 'modules/user/commands/session/create' does not exist + pos-module-chat/modules/user/public/views/pages/passwords/create.liquid:17:12 + 'modules/user/passwords/new' does not exist + pos-module-chat/modules/user/public/views/pages/passwords/new.liquid:3:21 + 'modules/user/helpers/user_from_temporary_token' does not exist + pos-module-chat/modules/user/public/views/pages/passwords/new.liquid:8:20 + 'modules/user/helpers/flash' does not exist + pos-module-chat/modules/user/public/views/pages/passwords/new.liquid:14:10 + 'modules/user/passwords/new' does not exist + pos-module-chat/modules/user/public/views/pages/passwords/reset.liquid:1:11 + 'modules/user/passwords/reset' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/create.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/create.liquid:8:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/create.liquid:10:18 + 'modules/user/commands/session/create' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/create.liquid:13:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/create.liquid:15:12 + 'modules/user/sessions/new' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/destroy.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/destroy.liquid:8:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/destroy.liquid:10:18 + 'modules/user/commands/session/destroy' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/impersonation/create.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/impersonation/create.liquid:7:34 + 'modules/user/queries/user/load' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/impersonation/create.liquid:17:13 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/impersonation/create.liquid:20:33 + 'modules/user/commands/session/impersonation/create' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/impersonation/create.liquid:23:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:9:27 + 'modules/user/queries/user/load' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:10:23 + 'modules/user/commands/session/impersonation/destroy' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:13:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/new.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/new.liquid:4:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-chat/modules/user/public/views/pages/sessions/new.liquid:6:10 + 'modules/user/sessions/new' does not exist + pos-module-chat/modules/user/public/views/pages/users/create.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/user/public/views/pages/users/create.liquid:8:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-chat/modules/user/public/views/pages/users/create.liquid:10:21 + 'modules/user/commands/user/create' does not exist + pos-module-chat/modules/user/public/views/pages/users/create.liquid:12:18 + 'modules/user/commands/session/create' does not exist + pos-module-chat/modules/user/public/views/pages/users/create.liquid:13:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-chat/modules/user/public/views/pages/users/create.liquid:15:36 + 'modules/user/queries/registration_fields/load' does not exist + pos-module-chat/modules/user/public/views/pages/users/create.liquid:19:12 + 'modules/user/users/new' does not exist + pos-module-chat/modules/user/public/views/pages/users/new.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-chat/modules/user/public/views/pages/users/new.liquid:4:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-chat/modules/user/public/views/pages/users/new.liquid:6:34 + 'modules/user/queries/registration_fields/load' does not exist + pos-module-chat/modules/user/public/views/pages/users/new.liquid:9:10 + 'modules/user/users/new' does not exist + pos-module-chat/modules/user/public/views/partials/admin_pages/list.liquid:1:21 + 'modules/user/queries/user/get_all' does not exist + pos-module-chat/modules/user/public/views/partials/admin_pages/list.liquid:4:22 + 'components/atoms/heading' does not exist + pos-module-chat/modules/user/public/views/partials/oauth/listing.liquid:2:36 + 'modules/user/helpers/get_available_oauth_providers' does not exist + pos-module-chat/modules/user/public/views/partials/oauth/listing.liquid:3:35 + 'modules/user/helpers/get_assigned_oauth_providers' does not exist + pos-module-chat/modules/user/public/views/partials/oauth/providers.liquid:1:35 + 'modules/user/helpers/get_available_oauth_providers' does not exist + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:19:15 + 'modules/core/helpers/authenticity_token' does not exist + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:23:121 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:24:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:29:147 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:30:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:25:154 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:26:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:29:15 + 'modules/common-styling/forms/hcaptcha' does not exist + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:21:133 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:22:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:30:111 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:31:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:42:13 + 'modules/user/oauth/providers' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:26:184 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:27:19 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:33:145 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:34:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:39:141 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:40:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:45:133 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:46:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:51:111 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:61:15 + 'modules/common-styling/forms/hcaptcha' does not exist + pos-module-chat/modules/user/public/views/partials/users/new.liquid:71:13 + 'modules/user/oauth/providers' does not exist + pos-module-chat/tests/post_import/app/migrations/20250805174858_create_dummy_users.liquid:20:21 + 'modules/core/commands/execute' does not exist + pos-module-chat/tests/post_import/app/migrations/20250805174858_create_dummy_users.liquid:23:24 + 'modules/user/commands/profiles/create' does not exist + pos-module-chat/tests/post_import/app/migrations/20250805174858_create_dummy_users.liquid:26:18 + 'modules/core/commands/events/publish' does not exist + pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid:7:15 + 'modules/user/profiles/search' does not exist + pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid:13:17 + 'modules/user/profiles/search' does not exist + pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid:22:29 + 'modules/core/commands/execute' does not exist + pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid:34:24 + 'modules/core/commands/execute' does not exist + pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid:37:18 + 'modules/core/commands/events/publish' does not exist + pos-module-common-styling/app/lib/presign_upload.liquid:2:31 + 'queries/uploads/presign' does not exist + pos-module-common-styling/app/lib/queries/uploads/presign.liquid:2:21 + 'uploads/presign' does not exist + pos-module-common-styling/modules/common-styling/public/views/layouts/style-guide.liquid:10:19 + 'modules/common-styling/init' does not exist + pos-module-common-styling/modules/common-styling/public/views/layouts/style-guide.liquid:22:18 + 'modules/common-styling/toasts' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:30:14 + 'modules/common-styling/style-guide/initialization' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:31:14 + 'modules/common-styling/style-guide/colors' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:32:14 + 'modules/common-styling/style-guide/gradients' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:33:14 + 'modules/common-styling/style-guide/icons' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:34:14 + 'modules/common-styling/style-guide/spacings' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:35:14 + 'modules/common-styling/style-guide/fonts' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:36:14 + 'modules/common-styling/style-guide/headings' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:37:14 + 'modules/common-styling/style-guide/text-styles' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:38:14 + 'modules/common-styling/style-guide/links' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:39:14 + 'modules/common-styling/style-guide/buttons' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:40:14 + 'modules/common-styling/style-guide/forms' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:41:14 + 'modules/common-styling/style-guide/boxes' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:42:14 + 'modules/common-styling/style-guide/tables' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:43:14 + 'modules/common-styling/style-guide/toasts' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:44:14 + 'modules/common-styling/style-guide/tags' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:45:14 + 'modules/common-styling/style-guide/navigation' does not exist + pos-module-common-styling/modules/common-styling/public/views/pages/style-guide.liquid:46:14 + 'modules/common-styling/style-guide/upload' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/content/alert.liquid:21:17 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/content/alert.liquid:23:17 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/content/alert.liquid:25:17 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/content/alert.liquid:27:17 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/content/dialog.liquid:20:17 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid:60:21 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid:69:21 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid:75:15 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid:33:17 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid:34:17 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/navigation/collapsible.liquid:20:23 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/navigation/collapsible.liquid:41:41 + 'modules/common-styling/navigation/collapsible' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/pagination.liquid:34:19 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/pagination.liquid:55:19 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/boxes.liquid:40:17 + 'modules/common-styling/content/card' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/boxes.liquid:49:17 + 'modules/common-styling/content/card' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/buttons.liquid:73:13 + 'modules/common-styling/tip' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/icons.liquid:10:15 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/navigation.liquid:7:14 + 'modules/common-styling/pagination' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/navigation.liquid:78:14 + 'modules/common-styling/navigation/collapsible' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/navigation.liquid:183:19 + 'modules/common-styling/icon' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/upload.liquid:7:19 + 'modules/common-styling/forms/upload' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/upload.liquid:43:19 + 'modules/common-styling/forms/upload' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/user/card.liquid:9:15 + 'modules/common-styling/user/avatar' does not exist + pos-module-common-styling/modules/common-styling/public/views/partials/user/card.liquid:31:29 + 'modules/community/components/molecules/profile-follow-button' does not exist + pos-module-core/modules/core/public/api_calls/generic_x_form_encoded.liquid:7:18 + 'modules/core/helpers/hash_to_x_form_encoded' does not exist + pos-module-core/modules/core/public/lib/commands/email/send.liquid:2:21 + 'modules/core/commands/email/send/build' does not exist + pos-module-core/modules/core/public/lib/commands/email/send.liquid:3:21 + 'modules/core/commands/email/send/check' does not exist + pos-module-core/modules/core/public/lib/commands/email/send.liquid:6:17 + 'modules/core/email/send' does not exist + pos-module-core/modules/core/public/lib/commands/email/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/email/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/email/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/email/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid:9:23 + 'modules/core/events/consumers' does not exist + pos-module-core/modules/core/public/lib/commands/events/create.liquid:2:20 + 'modules/core/commands/events/create/build' does not exist + pos-module-core/modules/core/public/lib/commands/events/create.liquid:3:20 + 'modules/core/commands/events/create/check' does not exist + pos-module-core/modules/core/public/lib/commands/events/create.liquid:5:22 + 'modules/core/commands/events/create/execute' does not exist + pos-module-core/modules/core/public/lib/commands/events/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/events/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/events/create/check.liquid:8:34 + 'modules/core/events/events_checks' does not exist + pos-module-core/modules/core/public/lib/commands/events/create/check.liquid:25:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid:2:15 + 'modules/core/events/create' does not exist + pos-module-core/modules/core/public/lib/commands/events/publish.liquid:18:20 + 'modules/core/commands/events/create' does not exist + pos-module-core/modules/core/public/lib/commands/hook/alter.liquid:13:30 + 'modules/core/queries/hook/search' does not exist + pos-module-core/modules/core/public/lib/commands/hook/fire.liquid:17:30 + 'modules/core/queries/hook/search' does not exist + pos-module-core/modules/core/public/lib/commands/session/clear.liquid:3:17 + 'modules/core/session/delete' does not exist + pos-module-core/modules/core/public/lib/commands/session/get.liquid:5:19 + 'modules/core/session/delete' does not exist + pos-module-core/modules/core/public/lib/commands/session/set.liquid:3:15 + 'modules/core/session/set' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/create.liquid:17:21 + 'modules/core/commands/statuses/create/build' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/create.liquid:18:21 + 'modules/core/commands/statuses/create/check' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/create.liquid:21:23 + 'modules/core/commands/execute' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/create.liquid:23:20 + 'modules/core/commands/events/publish' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/delete.liquid:8:21 + 'modules/core/commands/statuses/delete/build' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/delete.liquid:9:21 + 'modules/core/commands/statuses/delete/check' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/delete.liquid:12:23 + 'modules/core/commands/execute' does not exist + pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/commands/variable/set.liquid:7:20 + 'modules/core/variable/set' does not exist + pos-module-core/modules/core/public/lib/events/status_created.liquid:13:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/events/status_created.liquid:14:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/events/status_created.liquid:15:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid:22:11 + 'modules/core/helpers/flash/publish' does not exist + pos-module-core/modules/core/public/lib/helpers/timezone/get_by_name.liquid:17:24 + 'modules/core/helpers/timezone/get_all' does not exist + pos-module-core/modules/core/public/lib/helpers/timezone/get_by_offset.liquid:17:24 + 'modules/core/helpers/timezone/get_all' does not exist + pos-module-core/modules/core/public/lib/queries/events/find.liquid:6:21 + 'modules/core/queries/events/search' does not exist + pos-module-core/modules/core/public/lib/queries/events/search.liquid:5:15 + 'modules/core/events/search' does not exist + pos-module-core/modules/core/public/lib/queries/headscripts/get.liquid:3:18 + 'modules/core/queries/headscripts/search' does not exist + pos-module-core/modules/core/public/lib/queries/headscripts/search.liquid:2:41 + 'modules/core/commands/hook/fire' does not exist + pos-module-core/modules/core/public/lib/queries/hook/search.liquid:9:29 + 'modules/core/hook/search' does not exist + pos-module-core/modules/core/public/lib/queries/module/exists.liquid:8:22 + 'modules/core/queries/registry/search' does not exist + pos-module-core/modules/core/public/lib/queries/registry/get.liquid:3:23 + 'modules/core/queries/registry/search' does not exist + pos-module-core/modules/core/public/lib/queries/registry/search.liquid:7:23 + 'modules/core/commands/hook/fire' does not exist + pos-module-core/modules/core/public/lib/queries/statuses/find.liquid:12:16 + 'modules/core/statuses/search' does not exist + pos-module-core/modules/core/public/lib/queries/statuses/search.liquid:22:15 + 'modules/core/statuses/search' does not exist + pos-module-core/modules/core/public/lib/queries/variable/get.liquid:3:18 + 'modules/core/queries/variable/find' does not exist + pos-module-core/modules/core/public/lib/validations/date.liquid:22:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/date.liquid:27:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/date.liquid:35:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/date.liquid:44:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/date.liquid:53:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/date.liquid:62:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/each_element_length.liquid:17:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/each_element_length.liquid:23:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/each_element_length.liquid:28:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/elements_included.liquid:14:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/email.liquid:12:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/equal.liquid:17:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/exist_in_db.liquid:24:15 + 'modules/core/records/count' does not exist + pos-module-core/modules/core/public/lib/validations/exist_in_db.liquid:28:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/hcaptcha.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/included.liquid:13:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/is_url.liquid:12:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/length.liquid:23:18 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/lib/validations/length.liquid:28:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/length.liquid:33:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/length.liquid:38:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/matches.liquid:16:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/not_null.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/number.liquid:21:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/number.liquid:30:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/number.liquid:38:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/number.liquid:43:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/number.liquid:48:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/number.liquid:53:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/number.liquid:58:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/password_complexity.liquid:14:31 + 'modules/core/queries/variable/find' does not exist + pos-module-core/modules/core/public/lib/validations/password_complexity.liquid:18:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/password_complexity.liquid:23:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/password_complexity.liquid:28:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/presence.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/truthy.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/unique_elements.liquid:15:18 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/uniqueness.liquid:20:17 + 'modules/core/records/count' does not exist + pos-module-core/modules/core/public/lib/validations/uniqueness.liquid:24:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/lib/validations/valid_object.liquid:13:20 + 'modules/core/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/pages/_events/index.liquid:7:23 + 'modules/core/queries/events/search' does not exist + pos-module-core/modules/core/public/views/pages/_events/index.liquid:9:12 + 'modules/core/events/list' does not exist + pos-module-core/modules/core/public/views/pages/_events/trigger.liquid:7:22 + 'modules/core/queries/events/find' does not exist + pos-module-core/modules/core/public/views/pages/_events/trigger.liquid:10:24 + 'modules/core/commands/events/broadcast' does not exist + pos-module-core/modules/core/public/views/pages/_events/trigger.liquid:14:27 + 'modules/core/events/consumers' does not exist + pos-module-core/modules/core/public/views/pages/_events/trigger.liquid:18:12 + 'modules/core/events/show' does not exist + pos-module-core/modules/core/public/views/partials/events/list.liquid:5:15 + 'modules/core/events/event_card' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid:3:21 + 'modules/core/commands/email/send/build' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid:4:21 + 'modules/core/commands/email/send/check' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid:7:17 + 'modules/core/email/send' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid:14:30 + 'modules/core/lib/queries/hook/search' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid:17:30 + 'modules/core/lib/queries/hook/search' does not exist + pos-module-core/modules/core/public/views/partials/lib/commands/variable/set.liquid:8:20 + 'modules/core/variable/set' does not exist + pos-module-core/modules/core/public/views/partials/lib/queries/headscripts/get.liquid:4:18 + 'modules/core/lib/queries/headscripts/search' does not exist + pos-module-core/modules/core/public/views/partials/lib/queries/headscripts/search.liquid:3:41 + 'modules/core/lib/commands/hook/fire' does not exist + pos-module-core/modules/core/public/views/partials/lib/queries/hook/search.liquid:10:29 + 'modules/core/hook/search' does not exist + pos-module-core/modules/core/public/views/partials/lib/queries/module/exists.liquid:8:22 + 'modules/core/lib/queries/registry/search' does not exist + pos-module-core/modules/core/public/views/partials/lib/queries/registry/get.liquid:3:23 + 'modules/core/lib/queries/registry/search' does not exist + pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid:7:23 + 'modules/core/lib/commands/hook/fire' does not exist + pos-module-core/modules/core/public/views/partials/lib/queries/variable/get.liquid:3:18 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid:23:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid:28:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid:36:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid:45:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid:54:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid:63:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid:17:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid:23:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid:28:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/elements_included.liquid:15:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/email.liquid:13:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/equal.liquid:18:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/exist_in_db.liquid:25:15 + 'modules/core/records/count' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/exist_in_db.liquid:29:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/hcaptcha.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/included.liquid:14:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/length.liquid:26:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/length.liquid:32:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/length.liquid:37:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/length.liquid:42:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/matches.liquid:17:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/not_null.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid:22:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid:31:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid:39:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid:44:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid:49:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid:54:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid:59:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid:12:31 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid:16:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid:21:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid:26:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/presence.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/truthy.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/unique_elements.liquid:15:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/uniqueness.liquid:21:17 + 'modules/core/records/count' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/uniqueness.liquid:25:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid:14:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create.liquid:2:21 + 'modules/data_export_api/commands/data_exports/create/build' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create.liquid:3:21 + 'modules/data_export_api/commands/data_exports/create/check' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete.liquid:2:21 + 'modules/data_export_api/commands/data_exports/delete/build' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete.liquid:3:21 + 'modules/data_export_api/commands/data_exports/delete/check' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/queries/data_exports/find.liquid:6:16 + 'modules/data_export_api/data_exports/search' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid:2:22 + 'modules/core/queries/variable/find' does not exist + pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid:3:30 + 'modules/core/queries/variable/find' does not exist + pos-module-data-export-api/modules/data_export_api/public/migrations/20231019145218_generate_api_key.liquid:3:19 + 'modules/core/commands/variable/set' does not exist + pos-module-data-export-api/modules/data_export_api/public/views/pages/api/data_exports/create.json.liquid:6:11 + 'modules/data_export_api/shared/authorize' does not exist + pos-module-data-export-api/modules/data_export_api/public/views/pages/api/data_exports/create.json.liquid:8:21 + 'modules/data_export_api/commands/data_exports/create' does not exist + pos-module-data-export-api/modules/data_export_api/public/views/pages/api/data_exports/delete.json.liquid:6:11 + 'modules/data_export_api/shared/authorize' does not exist + pos-module-data-export-api/modules/data_export_api/public/views/pages/api/data_exports/delete.json.liquid:8:21 + 'modules/data_export_api/queries/data_exports/find' does not exist + pos-module-data-export-api/modules/data_export_api/public/views/pages/api/data_exports/delete.json.liquid:10:28 + 'modules/data_export_api/commands/data_exports/delete' does not exist + pos-module-data-export-api/modules/data_export_api/public/views/pages/api/data_exports/show.json.liquid:5:11 + 'modules/data_export_api/shared/authorize' does not exist + pos-module-data-export-api/modules/data_export_api/public/views/pages/api/data_exports/show.json.liquid:7:21 + 'modules/data_export_api/queries/data_exports/find' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token.liquid:3:21 + 'modules/oauth_facebook/commands/get_token/build' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token.liquid:4:21 + 'modules/oauth_facebook/commands/get_token/check' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token.liquid:12:18 + 'modules/oauth_facebook/get_token' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid:4:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid:5:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid:6:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid:7:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid:8:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info.liquid:3:21 + 'modules/oauth_facebook/commands/get_user_info/build' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info.liquid:4:21 + 'modules/oauth_facebook/commands/get_user_info/check' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info.liquid:7:18 + 'modules/oauth_facebook/get_user_info' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid:6:25 + 'modules/oauth_facebook/commands/get_token' does not exist + pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid:18:22 + 'modules/oauth_facebook/commands/get_user_info' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token.liquid:2:21 + 'modules/oauth_github/commands/get_token/build' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token.liquid:3:21 + 'modules/oauth_github/commands/get_token/check' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token.liquid:9:18 + 'modules/oauth_github/get_token' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid:4:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid:5:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid:6:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid:7:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email.liquid:3:21 + 'modules/oauth_github/commands/get_user_email/build' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email.liquid:4:21 + 'modules/oauth_github/commands/get_user_email/check' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email.liquid:7:18 + 'modules/oauth_github/get_user_email' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info.liquid:3:21 + 'modules/oauth_github/commands/get_user_info/build' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info.liquid:4:21 + 'modules/oauth_github/commands/get_user_info/check' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info.liquid:7:18 + 'modules/oauth_github/get_user_info' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid:6:25 + 'modules/oauth_github/commands/get_token' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid:18:22 + 'modules/oauth_github/commands/get_user_info' does not exist + pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid:20:28 + 'modules/oauth_github/commands/get_user_email' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token.liquid:3:21 + 'modules/oauth_google/commands/get_token/build' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token.liquid:4:21 + 'modules/oauth_google/commands/get_token/check' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token.liquid:9:18 + 'modules/oauth_google/get_token' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid:4:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid:5:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid:6:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid:7:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid:8:14 + 'modules/core/validations/presence' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info.liquid:3:21 + 'modules/oauth_google/commands/get_user_info/build' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info.liquid:4:21 + 'modules/oauth_google/commands/get_user_info/check' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info.liquid:7:18 + 'modules/oauth_google/get_user_info' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid:6:25 + 'modules/oauth_google/commands/get_token' does not exist + pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid:18:22 + 'modules/oauth_google/commands/get_user_info' does not exist + pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid:3:20 + 'queries/pages/search_for_openai' does not exist + pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid:4:21 + 'modules/openai/queries/embeddings/search' does not exist + pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid:19:25 + 'modules/openai/commands/openai/fetch_embeddings' does not exist + pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid:42:38 + 'modules/openai/commands/embeddings/update' does not exist + pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid:55:38 + 'modules/openai/commands/embeddings/create' does not exist + pos-module-openai/app/lib/queries/pages/search_for_openai.liquid:8:16 + 'pages/search_for_openai' does not exist + pos-module-openai/app/views/pages/openai_gpt_usage.liquid:4:18 + 'modules/core/validations/hcaptcha' does not exist + pos-module-openai/app/views/pages/openai_gpt_usage.liquid:36:18 + 'img_base64' does not exist + pos-module-openai/app/views/pages/openai_gpt_usage.liquid:51:32 + 'modules/openai/commands/openai/responses/create' does not exist + pos-module-openai/app/views/pages/openai_gpt_usage.liquid:56:11 + 'gpt_usage_view' does not exist + pos-module-openai/app/views/pages/openai_search.liquid:13:20 + 'modules/core/validations/hcaptcha' does not exist + pos-module-openai/app/views/pages/openai_search.liquid:17:29 + 'modules/openai/commands/openai/fetch_embeddings' does not exist + pos-module-openai/app/views/pages/openai_search.liquid:22:41 + 'modules/openai/queries/embeddings/search' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/create.liquid:2:21 + 'modules/openai/commands/embeddings/create/build' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/create.liquid:3:21 + 'modules/openai/commands/embeddings/create/check' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/create.liquid:6:23 + 'modules/openai/commands/embeddings/create/execute' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/create/check.liquid:5:16 + 'modules/core/validations/length' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/create/execute.liquid:2:15 + 'modules/openai/embeddings/create' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/delete.liquid:3:21 + 'modules/openai/commands/embeddings/delete/build' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/delete.liquid:4:21 + 'modules/openai/commands/embeddings/delete/check' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/delete.liquid:7:23 + 'modules/core/commands/execute' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/update.liquid:2:21 + 'modules/openai/commands/embeddings/update/build' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/update.liquid:3:21 + 'modules/openai/commands/embeddings/update/check' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/update.liquid:6:23 + 'modules/openai/commands/embeddings/update/execute' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/update/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/update/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/update/check.liquid:6:16 + 'modules/core/validations/length' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/update/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/embeddings/update/execute.liquid:2:15 + 'modules/openai/embeddings/update' does not exist + pos-module-openai/modules/openai/public/lib/commands/openai/chat/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/openai/chat/completions.liquid:6:24 + 'modules/core/api_calls/send' does not exist + pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings.liquid:3:21 + 'modules/openai/commands/openai/fetch_embeddings/build' does not exist + pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings.liquid:4:21 + 'modules/openai/commands/openai/fetch_embeddings/check' does not exist + pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings.liquid:7:23 + 'modules/core/commands/execute' does not exist + pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/openai/responses/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-openai/modules/openai/public/lib/commands/openai/responses/create.liquid:6:24 + 'modules/core/api_calls/send' does not exist + pos-module-openai/modules/openai/public/lib/queries/embeddings/search.liquid:4:15 + 'modules/openai/embeddings/search' does not exist + pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/update_transaction_status.liquid:2:31 + 'modules/payments/commands/gateway_requests/receive' does not exist + pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/update_transaction_status.liquid:4:23 + 'modules/payments_example_gateway/commands/update_transaction_status/map_response' does not exist + pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/update_transaction_status.liquid:5:28 + 'modules/payments/queries/transactions/find' does not exist + pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/update_transaction_status.liquid:7:30 + 'modules/payments/commands/transactions/update_status' does not exist + pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/helpers/pay_url.liquid:2:21 + 'modules/payments_example_gateway/helpers/pay_object' does not exist + pos-module-payments-example-gateway/modules/payments_example_gateway/public/views/pages/payments/example_gateway/index.liquid:5:26 + 'modules/payments/queries/transactions/find' does not exist + pos-module-payments-example-gateway/modules/payments_example_gateway/public/views/pages/payments/example_gateway/webhook.liquid:11:23 + 'modules/payments_example_gateway/commands/update_transaction_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid:2:32 + 'modules/payments_stripe/queries/connected_accounts/find_by_reference_id' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid:8:24 + 'modules/payments_stripe/commands/stripe_connected_accounts/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid:11:21 + 'modules/payments_stripe/commands/connected_accounts/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid:12:21 + 'modules/payments_stripe/commands/connected_accounts/create/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create.liquid:15:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create/check.liquid:7:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid:2:29 + 'modules/payments_stripe/commands/connected_accounts/delete/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid:3:29 + 'modules/payments_stripe/commands/connected_accounts/delete/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid:6:35 + 'modules/payments_stripe/commands/stripe_connected_accounts/delete' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid:7:31 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid:10:18 + 'modules/core/commands/events/publish' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update.liquid:2:21 + 'modules/payments_stripe/commands/connected_accounts/update/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update.liquid:3:21 + 'modules/payments_stripe/commands/connected_accounts/update/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update.liquid:9:18 + 'modules/core/commands/events/publish' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create.liquid:2:23 + 'modules/payments_stripe/queries/customers/find_by_customer_id' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create.liquid:8:21 + 'modules/payments_stripe/commands/customers/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create.liquid:9:21 + 'modules/payments_stripe/commands/customers/create/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create.liquid:12:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/check.liquid:6:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create.liquid:2:29 + 'modules/payments_stripe/queries/payment_methods/find_by_payment_method_id' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create.liquid:8:23 + 'modules/payments_stripe/commands/payment_methods/create_card' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create.liquid:10:23 + 'modules/payments_stripe/commands/payment_methods/create_bank_account' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account.liquid:2:21 + 'modules/payments_stripe/commands/payment_methods/create_bank_account/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account.liquid:3:21 + 'modules/payments_stripe/commands/payment_methods/create_bank_account/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid:8:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid:10:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card.liquid:2:21 + 'modules/payments_stripe/commands/payment_methods/create_card/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card.liquid:3:21 + 'modules/payments_stripe/commands/payment_methods/create_card/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid:8:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid:10:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create.liquid:2:21 + 'modules/payments_stripe/queries/payouts/find_by_payout_id' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create.liquid:7:21 + 'modules/payments_stripe/commands/payouts/create/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create.liquid:10:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create/check.liquid:7:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid:2:21 + 'modules/payments_stripe/commands/payouts/handle_webhook/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid:3:21 + 'modules/payments_stripe/commands/payouts/handle_webhook/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid:6:23 + 'modules/payments_stripe/commands/payouts/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid:7:33 + 'modules/payments/commands/gateway_requests/receive' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid:11:18 + 'modules/core/commands/events/publish' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create.liquid:3:21 + 'modules/payments_stripe/commands/refunds/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create.liquid:4:21 + 'modules/payments_stripe/commands/refunds/create/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create.liquid:7:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update.liquid:2:21 + 'modules/payments_stripe/commands/refunds/update/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update.liquid:3:21 + 'modules/payments_stripe/commands/refunds/update/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup.liquid:11:28 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup.liquid:15:20 + 'modules/payments_stripe/commands/webhook_endpoints/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup.liquid:22:22 + 'modules/payments_stripe/commands/webhook_endpoints/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create.liquid:2:21 + 'modules/payments_stripe/commands/setup_intents/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create.liquid:3:21 + 'modules/payments_stripe/commands/setup_intents/create/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/check.liquid:6:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id.liquid:2:21 + 'modules/payments_stripe/commands/setup_intents/update_gateway_id/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id.liquid:3:21 + 'modules/payments_stripe/commands/setup_intents/update_gateway_id/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid:3:21 + 'modules/payments_stripe/commands/setup_intents/update_status/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid:4:21 + 'modules/payments_stripe/commands/setup_intents/update_status/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid:7:23 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid:11:18 + 'modules/core/commands/events/publish' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid:12:18 + 'modules/core/commands/statuses/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve.liquid:4:21 + 'modules/payments_stripe/commands/stripe_balance_history/retrieve/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve.liquid:5:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve.liquid:6:21 + 'modules/payments_stripe/commands/stripe_balance_history/retrieve/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create.liquid:2:21 + 'modules/payments_stripe/commands/stripe_charge/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create.liquid:3:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create.liquid:4:21 + 'modules/payments_stripe/commands/stripe_charge/create/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook.liquid:2:21 + 'modules/payments_stripe/commands/stripe_charge/handle_webhook/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook.liquid:3:21 + 'modules/payments_stripe/commands/stripe_charge/handle_webhook/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook.liquid:5:31 + 'modules/payments/commands/gateway_requests/receive' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook.liquid:8:23 + 'modules/payments/commands/transactions/update_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid:2:21 + 'modules/payments_stripe/commands/stripe_checkout/complete/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid:3:21 + 'modules/payments_stripe/commands/stripe_checkout/complete/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid:8:21 + 'modules/payments/commands/gateway_requests/receive' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid:10:23 + 'modules/payments_stripe/commands/stripe_checkout/complete/map_request' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid:11:26 + 'modules/payments_stripe/commands/customers/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid:13:23 + 'modules/payments/commands/transactions/update_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/check.liquid:7:16 + 'modules/core/validations/exist_in_db' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid:9:28 + 'modules/payments/queries/transactions/find' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create.liquid:2:21 + 'modules/payments_stripe/commands/stripe_checkout/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create.liquid:3:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create.liquid:4:21 + 'modules/payments_stripe/commands/stripe_checkout/create/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire.liquid:2:21 + 'modules/payments_stripe/commands/stripe_checkout/expire/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire.liquid:3:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire.liquid:4:21 + 'modules/payments_stripe/commands/stripe_checkout/expire/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid:2:21 + 'modules/payments_stripe/commands/stripe_checkout/handle_webhook/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid:3:21 + 'modules/payments_stripe/commands/stripe_checkout/handle_webhook/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid:5:31 + 'modules/payments/commands/gateway_requests/receive' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid:8:28 + 'modules/payments_stripe/commands/customers/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid:11:23 + 'modules/payments/commands/transactions/update_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve.liquid:4:21 + 'modules/payments_stripe/commands/stripe_checkout/retrieve/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve.liquid:5:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve.liquid:6:21 + 'modules/payments_stripe/commands/stripe_checkout/retrieve/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid:3:27 + 'modules/payments_stripe/commands/setup_intents/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid:5:23 + 'modules/payments_stripe/commands/stripe_checkout/setup_intent/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid:6:23 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid:7:23 + 'modules/payments_stripe/commands/stripe_checkout/setup_intent/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid:9:29 + 'modules/payments_stripe/commands/setup_intents/update_gateway_id' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create.liquid:2:21 + 'modules/payments_stripe/commands/stripe_connected_accounts/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create.liquid:3:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create.liquid:4:21 + 'modules/payments_stripe/commands/stripe_connected_accounts/create/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete.liquid:2:29 + 'modules/payments_stripe/commands/stripe_connected_accounts/delete/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete.liquid:3:29 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete.liquid:4:29 + 'modules/payments_stripe/commands/stripe_connected_accounts/delete/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link.liquid:2:29 + 'modules/payments_stripe/commands/stripe_connected_accounts/get_dashboard_link/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link.liquid:3:29 + 'modules/payments_stripe/commands/stripe_connected_accounts/get_dashboard_link/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link.liquid:5:31 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link.liquid:6:31 + 'modules/payments_stripe/commands/stripe_connected_accounts/get_dashboard_link/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link.liquid:2:29 + 'modules/payments_stripe/commands/stripe_connected_accounts/get_onboarding_link/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link.liquid:3:29 + 'modules/payments_stripe/commands/stripe_connected_accounts/get_onboarding_link/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link.liquid:6:31 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link.liquid:7:31 + 'modules/payments_stripe/commands/stripe_connected_accounts/get_onboarding_link/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook.liquid:2:21 + 'modules/payments_stripe/commands/stripe_connected_accounts/handle_webhook/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook.liquid:3:21 + 'modules/payments_stripe/commands/stripe_connected_accounts/handle_webhook/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook.liquid:6:23 + 'modules/payments_stripe/commands/connected_accounts/update' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/handle_webhook/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve.liquid:2:21 + 'modules/payments_stripe/commands/stripe_customer/retrieve/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve.liquid:3:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve.liquid:4:21 + 'modules/payments_stripe/commands/stripe_customer/retrieve/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create.liquid:2:21 + 'modules/payments_stripe/commands/stripe_payment_intent/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create.liquid:3:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create.liquid:4:21 + 'modules/payments_stripe/commands/stripe_payment_intent/create/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve.liquid:2:21 + 'modules/payments_stripe/commands/stripe_payment_method/retrieve/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve.liquid:3:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve.liquid:4:21 + 'modules/payments_stripe/commands/stripe_payment_method/retrieve/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create.liquid:2:21 + 'modules/payments_stripe/commands/stripe_refund/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create.liquid:3:21 + 'modules/payments_stripe/commands/stripe_refund/create/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create.liquid:5:23 + 'modules/payments_stripe/commands/refunds/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create.liquid:6:23 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create.liquid:7:23 + 'modules/payments_stripe/commands/stripe_refund/create/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create.liquid:8:23 + 'modules/payments_stripe/commands/refunds/update' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid:5:16 + 'modules/core/validations/not_null' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid:6:16 + 'modules/core/validations/not_null' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid:7:16 + 'modules/core/validations/number' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid:10:18 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid:12:18 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid:17:18 + 'modules/core/validations/included' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook.liquid:2:21 + 'modules/payments_stripe/commands/stripe_setup_intent/handle_webhook/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook.liquid:3:21 + 'modules/payments_stripe/commands/stripe_setup_intent/handle_webhook/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook.liquid:5:31 + 'modules/payments/commands/gateway_requests/receive' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook.liquid:7:25 + 'modules/payments_stripe/commands/customers/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook.liquid:9:33 + 'modules/payments_stripe/commands/payment_methods/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook.liquid:12:23 + 'modules/payments_stripe/commands/setup_intents/update_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid:4:25 + 'modules/payments_stripe/commands/stripe_customer/retrieve' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid:7:33 + 'modules/payments_stripe/commands/stripe_payment_method/retrieve' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/create.liquid:11:22 + 'modules/payments_stripe/api_call' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete.liquid:9:21 + 'modules/payments_stripe/commands/stripe_webhook/delete/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete.liquid:10:21 + 'modules/payments_stripe/commands/stripe_webhook/delete/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete.liquid:13:24 + 'modules/payments_stripe/api_call' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid:2:21 + 'modules/payments_stripe/commands/transaction_finalize/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid:3:21 + 'modules/payments_stripe/commands/transaction_finalize/check' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid:6:31 + 'modules/payments_stripe/commands/stripe_checkout/retrieve' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid:29:35 + 'modules/payments_stripe/commands/stripe_checkout/expire' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid:36:29 + 'modules/payments/commands/transactions/update_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid:39:27 + 'modules/core/helpers/register_error' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/check.liquid:6:16 + 'modules/core/validations/included' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/create.liquid:2:23 + 'modules/payments_stripe/commands/stripe_webhook/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/create.liquid:3:21 + 'modules/payments_stripe/commands/webhook_endpoints/create/build' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/create.liquid:5:17 + 'modules/payments_stripe/webhook_endpoints/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/delete_many.liquid:9:23 + 'modules/payments_stripe/commands/stripe_webhook/delete' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/delete_many.liquid:11:23 + 'modules/payments_stripe/commands/webhook_endpoints/delete_many/map_response' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhook_endpoints/delete_many.liquid:13:25 + 'modules/core/commands/execute' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid:6:28 + 'modules/payments/queries/transactions/find' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid:8:29 + 'modules/payments/queries/transactions/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid:11:29 + 'modules/payments/commands/transactions/map_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid:24:23 + 'modules/payments_stripe/commands/stripe_charge/handle_webhook' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid:4:32 + 'modules/payments_stripe/queries/connected_accounts/find_by_account_id' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid:10:23 + 'modules/payments_stripe/commands/stripe_connected_accounts/handle_webhook' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/is_valid.liquid:3:15 + 'modules/payments_stripe/webhook_endpoints/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid:4:32 + 'modules/payments_stripe/queries/connected_accounts/find_by_account_id' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid:10:23 + 'modules/payments_stripe/commands/payouts/handle_webhook' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid:7:27 + 'modules/payments/queries/transactions/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid:18:23 + 'modules/payments_stripe/commands/stripe_checkout/handle_webhook' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid:5:28 + 'modules/payments_stripe/queries/setup_intents/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid:16:23 + 'modules/payments_stripe/commands/stripe_setup_intent/handle_webhook' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_deleted.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_deleted.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_updated.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_updated.liquid:12:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_updated.liquid:13:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_payout_paid.liquid:12:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_payout_paid.liquid:13:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_payout_paid.liquid:14:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_payout_paid.liquid:15:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_setup_intent_succeeded.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_setup_intent_succeeded.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid:14:23 + 'modules/payments_stripe/commands/stripe_charge/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid:17:37 + 'modules/payments/commands/transactions/map_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid:20:23 + 'modules/payments_stripe/commands/stripe_payment_intent/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid:23:37 + 'modules/payments/commands/transactions/map_status' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid:26:23 + 'modules/payments_stripe/commands/stripe_checkout/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid:30:23 + 'modules/payments_stripe/commands/stripe_checkout/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid:35:26 + 'modules/payments/commands/transactions/update_gateway_transaction_id' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_url.liquid:2:21 + 'modules/payments_stripe/commands/stripe_checkout/create' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/connected_accounts/find.liquid:7:16 + 'modules/payments_stripe/connected_accounts/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/connected_accounts/find_by_account_id.liquid:7:16 + 'modules/payments_stripe/connected_accounts/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/connected_accounts/find_by_reference_id.liquid:7:16 + 'modules/payments_stripe/connected_accounts/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/connected_accounts/search.liquid:10:15 + 'modules/payments_stripe/connected_accounts/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/customers/find.liquid:7:16 + 'modules/payments_stripe/customers/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/customers/find_by_customer_id.liquid:7:16 + 'modules/payments_stripe/customers/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/customers/find_by_reference_id.liquid:7:16 + 'modules/payments_stripe/customers/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/customers/search.liquid:11:15 + 'modules/payments_stripe/customers/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/payment_methods/find.liquid:7:16 + 'modules/payments_stripe/payment_methods/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/payment_methods/find_by_payment_method_id.liquid:7:16 + 'modules/payments_stripe/payment_methods/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/payment_methods/search.liquid:10:15 + 'modules/payments_stripe/payment_methods/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/payouts/find.liquid:7:16 + 'modules/payments_stripe/payouts/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/payouts/find_by_payout_id.liquid:7:16 + 'modules/payments_stripe/payouts/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/payouts/search.liquid:12:15 + 'modules/payments_stripe/payouts/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/refunds/find.liquid:7:16 + 'modules/payments_stripe/refunds/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/refunds/search.liquid:12:15 + 'modules/payments_stripe/refunds/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/setup_intents/find.liquid:7:16 + 'modules/payments_stripe/connected_accounts/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/setup_intents/find_by_reference_id.liquid:7:16 + 'modules/payments_stripe/setup_intents/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/lib/queries/setup_intents/search.liquid:10:15 + 'modules/payments_stripe/setup_intents/search' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/checkout_session_completed_webhook.liquid:6:28 + 'modules/payments_stripe/commands/webhooks/is_valid' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/checkout_session_completed_webhook.liquid:14:23 + 'modules/payments_stripe/commands/stripe_checkout/complete' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks.liquid:7:28 + 'modules/payments_stripe/commands/webhooks/is_valid' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks.liquid:11:27 + 'modules/payments_stripe/commands/webhooks/charge' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks.liquid:13:27 + 'modules/payments_stripe/commands/webhooks/charge' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks.liquid:15:27 + 'modules/payments_stripe/commands/webhooks/charge' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks.liquid:17:27 + 'modules/payments_stripe/commands/webhooks/session_expired' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks.liquid:19:27 + 'modules/payments_stripe/commands/webhooks/setup_intent' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks_connect.liquid:7:28 + 'modules/payments_stripe/commands/webhooks/is_valid' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks_connect.liquid:11:27 + 'modules/payments_stripe/commands/webhooks/payout' does not exist + pos-module-payments-stripe/modules/payments_stripe/public/views/pages/payments/stripe/webhooks_connect.liquid:13:27 + 'modules/payments_stripe/commands/webhooks/connected_account' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive.liquid:2:21 + 'modules/payments/commands/gateway_requests/receive/build' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive.liquid:3:21 + 'modules/payments/commands/gateway_requests/receive/check' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive.liquid:6:33 + 'modules/payments/commands/execute' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send.liquid:2:21 + 'modules/payments/commands/gateway_requests/send/build' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send.liquid:3:21 + 'modules/payments/commands/gateway_requests/send/check' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send.liquid:5:32 + 'modules/payments/commands/execute' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send.liquid:7:25 + 'modules/payments/commands/execute' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send.liquid:9:27 + 'modules/payments/commands/gateway_requests/update' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid:8:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update.liquid:2:21 + 'modules/payments/commands/gateway_requests/update/build' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update.liquid:3:21 + 'modules/payments/commands/gateway_requests/update/check' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update.liquid:6:24 + 'modules/payments/commands/execute' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create.liquid:2:21 + 'modules/payments/commands/transactions/create/build' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create.liquid:3:21 + 'modules/payments/commands/transactions/create/check' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create.liquid:6:23 + 'modules/payments/commands/execute' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create.liquid:9:18 + 'modules/payments/commands/transactions/update_status' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid:5:16 + 'modules/core/validations/length' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid:8:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache.liquid:2:21 + 'modules/payments/commands/transactions/set_status_cache/build' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache.liquid:3:21 + 'modules/payments/commands/transactions/set_status_cache/check' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/check.liquid:8:16 + 'modules/core/validations/included' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id.liquid:2:21 + 'modules/payments/commands/transactions/update_gateway_transaction_id/build' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id.liquid:3:21 + 'modules/payments/commands/transactions/update_gateway_transaction_id/check' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid:3:21 + 'modules/payments/commands/transactions/update_status/build' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid:4:21 + 'modules/payments/commands/transactions/update_status/check' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid:7:23 + 'modules/core/commands/execute' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid:11:18 + 'modules/core/commands/events/publish' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid:12:18 + 'modules/core/commands/statuses/create' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/build.liquid:2:21 + 'modules/payments/commands/transactions/map_status' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/consumers/status_created/set_transaction_status_cache.liquid:3:23 + 'modules/payments/commands/transactions/set_status_cache' does not exist + pos-module-payments/modules/payments/public/lib/events/payments_transaction_expired.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/events/payments_transaction_failed.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/events/payments_transaction_new.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/events/payments_transaction_pending.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/events/payments_transaction_succeeded.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-payments/modules/payments/public/lib/queries/gateway_requests/find.liquid:6:16 + 'modules/payments/gateway_requests/search' does not exist + pos-module-payments/modules/payments/public/lib/queries/gateway_requests/search.liquid:5:15 + 'modules/payments/gateway_requests/search' does not exist + pos-module-payments/modules/payments/public/lib/queries/transactions/find.liquid:18:16 + 'modules/payments/transactions/search' does not exist + pos-module-payments/modules/payments/public/lib/queries/transactions/search.liquid:37:15 + 'modules/payments/transactions/search' does not exist + pos-module-payments/modules/payments/public/lib/tests/gateway_requests/receive_test.liquid:4:21 + 'modules/payments/commands/gateway_requests/receive' does not exist + pos-module-payments/modules/payments/public/lib/tests/gateway_requests/receive_test.liquid:6:23 + 'modules/tests/assertions/valid_object' does not exist + pos-module-payments/modules/payments/public/lib/tests/gateway_requests/receive_test.liquid:8:23 + 'modules/tests/assertions/equal' does not exist + pos-module-payments/modules/payments/public/lib/tests/gateway_requests/receive_test.liquid:9:23 + 'modules/tests/assertions/equal' does not exist + pos-module-payments/modules/payments/public/lib/tests/gateway_requests/send_test.liquid:9:21 + 'modules/payments/commands/gateway_requests/send' does not exist + pos-module-payments/modules/payments/public/lib/tests/gateway_requests/send_test.liquid:11:23 + 'modules/tests/assertions/valid_object' does not exist + pos-module-payments/modules/payments/public/lib/tests/gateway_requests/send_test.liquid:13:23 + 'modules/tests/assertions/equal' does not exist + pos-module-payments/modules/payments/public/lib/tests/gateway_requests/send_test.liquid:14:23 + 'modules/tests/assertions/equal' does not exist + pos-module-payments/modules/payments/public/lib/tests/transactions/update_gateway_transaction_id_test.liquid:3:26 + 'modules/payments/commands/transactions/create' does not exist + pos-module-payments/modules/payments/public/lib/tests/transactions/update_gateway_transaction_id_test.liquid:6:21 + 'modules/payments/commands/transactions/update_gateway_transaction_id' does not exist + pos-module-payments/modules/payments/public/lib/tests/transactions/update_gateway_transaction_id_test.liquid:8:23 + 'modules/tests/assertions/valid_object' does not exist + pos-module-payments/modules/payments/public/lib/tests/transactions/update_gateway_transaction_id_test.liquid:9:23 + 'modules/tests/assertions/equal' does not exist + pos-module-reports/app/lib/commands/profiles/export_all.liquid:7:24 + 'modules/profile/profiles/search' does not exist + pos-module-reports/app/lib/commands/profiles/export_all.liquid:11:28 + 'modules/profile/profiles/search' does not exist + pos-module-reports/app/migrations/20250312131527_create_users_and_profiles.liquid:312:23 + 'modules/user/commands/user/create' does not exist + pos-module-reports/app/migrations/20250312131527_create_users_and_profiles.liquid:314:24 + 'modules/profile/commands/profiles/create' does not exist + pos-module-reports/app/migrations/20250312231550_create_admin_user.liquid:27:21 + 'modules/user/commands/user/create' does not exist + pos-module-reports/app/migrations/20250312231550_create_admin_user.liquid:29:22 + 'modules/profile/commands/profiles/create' does not exist + pos-module-reports/app/views/pages/404.liquid:6:11 + '404' does not exist + pos-module-reports/app/views/pages/admin/reports/download.liquid:9:20 + 'modules/reports/reports/search' does not exist + pos-module-reports/app/views/pages/admin/reports/list.liquid:13:25 + 'modules/reports/reports/search' does not exist + pos-module-reports/app/views/pages/admin/reports/list.liquid:15:11 + 'admin/reports/list' does not exist + pos-module-reports/app/views/pages/admin/reports/profiles.liquid:6:26 + 'modules/user/queries/user/find' does not exist + pos-module-reports/app/views/pages/admin/reports/profiles.liquid:7:34 + 'modules/profile/queries/profiles/find' does not exist + pos-module-reports/app/views/pages/admin/reports/profiles.liquid:12:21 + 'modules/reports/commands/reports/create' does not exist + pos-module-reports/app/views/pages/admin/reports/profiles.liquid:15:20 + 'modules/core/commands/statuses/create' does not exist + pos-module-reports/app/views/pages/admin/reports/profiles.liquid:18:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/app/views/pages/index.liquid:6:11 + 'index' does not exist + pos-module-reports/modules/core/public/api_calls/generic_x_form_encoded.liquid:7:18 + 'modules/core/helpers/hash_to_x_form_encoded' does not exist + pos-module-reports/modules/core/public/lib/commands/email/send.liquid:2:21 + 'modules/core/commands/email/send/build' does not exist + pos-module-reports/modules/core/public/lib/commands/email/send.liquid:3:21 + 'modules/core/commands/email/send/check' does not exist + pos-module-reports/modules/core/public/lib/commands/email/send.liquid:6:17 + 'modules/core/email/send' does not exist + pos-module-reports/modules/core/public/lib/commands/email/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/email/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/email/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/email/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/events/broadcast.liquid:9:23 + 'modules/core/events/consumers' does not exist + pos-module-reports/modules/core/public/lib/commands/events/create.liquid:2:20 + 'modules/core/commands/events/create/build' does not exist + pos-module-reports/modules/core/public/lib/commands/events/create.liquid:3:20 + 'modules/core/commands/events/create/check' does not exist + pos-module-reports/modules/core/public/lib/commands/events/create.liquid:5:22 + 'modules/core/commands/events/create/execute' does not exist + pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid:8:34 + 'modules/core/events/events_checks' does not exist + pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid:25:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/commands/events/create/execute.liquid:2:15 + 'modules/core/events/create' does not exist + pos-module-reports/modules/core/public/lib/commands/events/publish.liquid:18:20 + 'modules/core/commands/events/create' does not exist + pos-module-reports/modules/core/public/lib/commands/hook/alter.liquid:13:30 + 'modules/core/queries/hook/search' does not exist + pos-module-reports/modules/core/public/lib/commands/hook/fire.liquid:17:30 + 'modules/core/queries/hook/search' does not exist + pos-module-reports/modules/core/public/lib/commands/session/clear.liquid:3:17 + 'modules/core/session/delete' does not exist + pos-module-reports/modules/core/public/lib/commands/session/get.liquid:5:19 + 'modules/core/session/delete' does not exist + pos-module-reports/modules/core/public/lib/commands/session/set.liquid:3:15 + 'modules/core/session/set' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/create.liquid:17:21 + 'modules/core/commands/statuses/create/build' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/create.liquid:18:21 + 'modules/core/commands/statuses/create/check' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/create.liquid:21:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/create.liquid:23:20 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/delete.liquid:8:21 + 'modules/core/commands/statuses/delete/build' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/delete.liquid:9:21 + 'modules/core/commands/statuses/delete/check' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/delete.liquid:12:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/core/public/lib/commands/statuses/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/commands/variable/set.liquid:7:20 + 'modules/core/variable/set' does not exist + pos-module-reports/modules/core/public/lib/events/status_created.liquid:13:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/events/status_created.liquid:14:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/events/status_created.liquid:15:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid:22:11 + 'modules/core/helpers/flash/publish' does not exist + pos-module-reports/modules/core/public/lib/helpers/timezone/get_by_name.liquid:17:24 + 'modules/core/helpers/timezone/get_all' does not exist + pos-module-reports/modules/core/public/lib/helpers/timezone/get_by_offset.liquid:17:24 + 'modules/core/helpers/timezone/get_all' does not exist + pos-module-reports/modules/core/public/lib/queries/events/find.liquid:6:21 + 'modules/core/queries/events/search' does not exist + pos-module-reports/modules/core/public/lib/queries/events/search.liquid:5:15 + 'modules/core/events/search' does not exist + pos-module-reports/modules/core/public/lib/queries/headscripts/get.liquid:3:18 + 'modules/core/queries/headscripts/search' does not exist + pos-module-reports/modules/core/public/lib/queries/headscripts/search.liquid:2:41 + 'modules/core/commands/hook/fire' does not exist + pos-module-reports/modules/core/public/lib/queries/hook/search.liquid:9:29 + 'modules/core/hook/search' does not exist + pos-module-reports/modules/core/public/lib/queries/module/exists.liquid:8:22 + 'modules/core/queries/registry/search' does not exist + pos-module-reports/modules/core/public/lib/queries/registry/get.liquid:3:23 + 'modules/core/queries/registry/search' does not exist + pos-module-reports/modules/core/public/lib/queries/registry/search.liquid:7:23 + 'modules/core/commands/hook/fire' does not exist + pos-module-reports/modules/core/public/lib/queries/statuses/find.liquid:12:16 + 'modules/core/statuses/search' does not exist + pos-module-reports/modules/core/public/lib/queries/statuses/search.liquid:22:15 + 'modules/core/statuses/search' does not exist + pos-module-reports/modules/core/public/lib/queries/variable/get.liquid:3:18 + 'modules/core/queries/variable/find' does not exist + pos-module-reports/modules/core/public/lib/validations/date.liquid:22:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/date.liquid:27:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/date.liquid:35:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/date.liquid:44:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/date.liquid:53:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/date.liquid:62:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/each_element_length.liquid:17:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/each_element_length.liquid:23:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/each_element_length.liquid:28:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/elements_included.liquid:14:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/email.liquid:12:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/equal.liquid:17:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/exist_in_db.liquid:24:15 + 'modules/core/records/count' does not exist + pos-module-reports/modules/core/public/lib/validations/exist_in_db.liquid:28:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/hcaptcha.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/included.liquid:13:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/length.liquid:23:18 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/lib/validations/length.liquid:28:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/length.liquid:33:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/length.liquid:38:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/matches.liquid:16:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/not_null.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/number.liquid:21:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/number.liquid:30:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/number.liquid:38:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/number.liquid:43:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/number.liquid:48:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/number.liquid:53:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/number.liquid:58:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid:14:31 + 'modules/core/queries/variable/find' does not exist + pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid:18:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid:23:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid:28:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/presence.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/truthy.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/unique_elements.liquid:15:18 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/uniqueness.liquid:20:17 + 'modules/core/records/count' does not exist + pos-module-reports/modules/core/public/lib/validations/uniqueness.liquid:24:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/lib/validations/valid_object.liquid:13:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/pages/_events/index.liquid:7:23 + 'modules/core/queries/events/search' does not exist + pos-module-reports/modules/core/public/views/pages/_events/index.liquid:9:12 + 'modules/core/events/list' does not exist + pos-module-reports/modules/core/public/views/pages/_events/trigger.liquid:7:22 + 'modules/core/queries/events/find' does not exist + pos-module-reports/modules/core/public/views/pages/_events/trigger.liquid:10:24 + 'modules/core/commands/events/broadcast' does not exist + pos-module-reports/modules/core/public/views/pages/_events/trigger.liquid:14:27 + 'modules/core/events/consumers' does not exist + pos-module-reports/modules/core/public/views/pages/_events/trigger.liquid:18:12 + 'modules/core/events/show' does not exist + pos-module-reports/modules/core/public/views/partials/events/list.liquid:5:15 + 'modules/core/events/event_card' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/email/send.liquid:3:21 + 'modules/core/commands/email/send/build' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/email/send.liquid:4:21 + 'modules/core/commands/email/send/check' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/email/send.liquid:7:17 + 'modules/core/email/send' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/email/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/email/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/email/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/email/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/hook/alter.liquid:14:30 + 'modules/core/lib/queries/hook/search' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid:17:30 + 'modules/core/lib/queries/hook/search' does not exist + pos-module-reports/modules/core/public/views/partials/lib/commands/variable/set.liquid:8:20 + 'modules/core/variable/set' does not exist + pos-module-reports/modules/core/public/views/partials/lib/queries/headscripts/get.liquid:4:18 + 'modules/core/lib/queries/headscripts/search' does not exist + pos-module-reports/modules/core/public/views/partials/lib/queries/headscripts/search.liquid:3:41 + 'modules/core/lib/commands/hook/fire' does not exist + pos-module-reports/modules/core/public/views/partials/lib/queries/hook/search.liquid:10:29 + 'modules/core/hook/search' does not exist + pos-module-reports/modules/core/public/views/partials/lib/queries/module/exists.liquid:8:22 + 'modules/core/lib/queries/registry/search' does not exist + pos-module-reports/modules/core/public/views/partials/lib/queries/registry/get.liquid:3:23 + 'modules/core/lib/queries/registry/search' does not exist + pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid:7:23 + 'modules/core/lib/commands/hook/fire' does not exist + pos-module-reports/modules/core/public/views/partials/lib/queries/variable/get.liquid:3:18 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/date.liquid:23:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/date.liquid:28:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/date.liquid:36:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/date.liquid:45:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/date.liquid:54:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/date.liquid:63:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/each_element_length.liquid:17:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/each_element_length.liquid:23:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/each_element_length.liquid:28:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/elements_included.liquid:15:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/email.liquid:13:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/equal.liquid:18:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/exist_in_db.liquid:25:15 + 'modules/core/records/count' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/exist_in_db.liquid:29:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/hcaptcha.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/included.liquid:14:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/length.liquid:26:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/length.liquid:32:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/length.liquid:37:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/length.liquid:42:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/matches.liquid:17:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/not_null.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/number.liquid:22:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/number.liquid:31:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/number.liquid:39:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/number.liquid:44:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/number.liquid:49:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/number.liquid:54:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/number.liquid:59:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid:12:31 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid:16:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid:21:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid:26:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/presence.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/truthy.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/unique_elements.liquid:15:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/uniqueness.liquid:21:17 + 'modules/core/records/count' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/uniqueness.liquid:25:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/core/public/views/partials/lib/validations/valid_object.liquid:14:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create.liquid:2:21 + 'modules/profile/commands/profiles/create/build' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create.liquid:3:21 + 'modules/profile/commands/profiles/create/check' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create.liquid:5:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create/build.liquid:2:30 + 'modules/profile/commands/profiles/tokenize_names' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid:5:20 + 'modules/profile/helpers/table_name' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid:6:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid:8:16 + 'modules/core/validations/length' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid:9:16 + 'modules/core/validations/length' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid:10:16 + 'modules/core/validations/length' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create_validate.liquid:2:21 + 'modules/profile/commands/profiles/create/build' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create_validate.liquid:3:21 + 'modules/profile/commands/profiles/create/check' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/create_validate_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/delete.liquid:2:21 + 'modules/profile/commands/profiles/delete/build' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/delete.liquid:3:21 + 'modules/profile/commands/profiles/delete/check' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/delete.liquid:5:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/delete_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update.liquid:2:21 + 'modules/profile/commands/profiles/update/build' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update.liquid:3:21 + 'modules/profile/commands/profiles/update/check' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update/build.liquid:2:30 + 'modules/profile/commands/profiles/tokenize_names' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid:5:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid:6:16 + 'modules/core/validations/length' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid:7:16 + 'modules/core/validations/length' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid:8:16 + 'modules/core/validations/length' does not exist + pos-module-reports/modules/profile/public/lib/commands/profiles/update_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-reports/modules/profile/public/lib/helpers/current_profile.liquid:2:19 + 'modules/user/queries/user/current' does not exist + pos-module-reports/modules/profile/public/lib/helpers/current_profile.liquid:4:32 + 'modules/profile/queries/profiles/find' does not exist + pos-module-reports/modules/profile/public/lib/helpers/table_name.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-reports/modules/profile/public/lib/queries/profiles/filters_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-reports/modules/profile/public/lib/queries/profiles/find.liquid:7:20 + 'modules/profile/profiles/search' does not exist + pos-module-reports/modules/profile/public/lib/queries/profiles/find.liquid:11:21 + 'modules/profile/helpers/profiles/slugs/build' does not exist + pos-module-reports/modules/profile/public/lib/queries/profiles/find_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid:7:15 + 'modules/profile/profiles/search' does not exist + pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid:12:21 + 'modules/profile/helpers/profiles/slugs/build' does not exist + pos-module-reports/modules/profile/public/lib/queries/profiles/search_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content.liquid:2:21 + 'modules/reports/commands/documents/create_with_content/build' does not exist + pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content.liquid:3:21 + 'modules/reports/commands/documents/create_with_content/check' does not exist + pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/documents/create_with_content/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create.liquid:2:21 + 'modules/reports/commands/reports/create/build' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create.liquid:3:21 + 'modules/reports/commands/reports/create/check' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid:8:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid:2:15 + 'modules/reports/reports/search' does not exist + pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid:4:18 + 'modules/core/commands/statuses/create' does not exist + pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid:15:23 + 'modules/reports/commands/documents/create_with_content' does not exist + pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid:17:20 + 'modules/core/commands/statuses/create' does not exist + pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid:19:23 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/reports/public/lib/consumers/report_requested/trigger_export.liquid:22:20 + 'modules/core/commands/statuses/create' does not exist + pos-module-reports/modules/reports/public/lib/consumers/status_created/update_report_status.liquid:9:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/reports/public/lib/events/report_completed.liquid:12:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/events/report_completed.liquid:13:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/events/report_completed.liquid:14:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/events/report_completed.liquid:15:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/events/report_completed.liquid:16:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/events/report_requested.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/events/report_requested.liquid:12:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/reports/public/lib/events/report_requested.liquid:13:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create.liquid:2:21 + 'modules/user/commands/authentication_links/create/build' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create.liquid:3:21 + 'modules/user/commands/authentication_links/create/check' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create.liquid:6:23 + 'modules/user/commands/authentication_links/create/execute' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create.liquid:8:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create/build.liquid:3:19 + 'modules/user/queries/user/find' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/authentication_links/create/check.liquid:9:18 + 'modules/core/validations/hcaptcha' does not exist + pos-module-reports/modules/user/public/lib/commands/emails/auth-link.liquid:26:21 + 'modules/core/commands/email/send' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create.liquid:2:21 + 'modules/user/commands/passwords/create/build' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create.liquid:3:21 + 'modules/user/commands/passwords/create/check' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create.liquid:6:23 + 'modules/user/commands/passwords/create/execute' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create.liquid:8:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid:7:16 + 'modules/core/validations/equal' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid:8:16 + 'modules/core/validations/password_complexity' does not exist + pos-module-reports/modules/user/public/lib/commands/passwords/create/execute.liquid:2:15 + 'modules/user/user/update_password' does not exist + pos-module-reports/modules/user/public/lib/commands/session/create.liquid:20:21 + 'modules/user/commands/user/verify_password' does not exist + pos-module-reports/modules/user/public/lib/commands/session/create.liquid:27:21 + 'modules/user/commands/session/create/build' does not exist + pos-module-reports/modules/user/public/lib/commands/session/create.liquid:28:21 + 'modules/user/commands/session/create/check' does not exist + pos-module-reports/modules/user/public/lib/commands/session/create.liquid:30:21 + 'modules/user/queries/user/load' does not exist + pos-module-reports/modules/user/public/lib/commands/session/create.liquid:34:26 + 'modules/core/commands/hook/fire' does not exist + pos-module-reports/modules/user/public/lib/commands/session/create.liquid:40:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/session/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/session/destroy.liquid:5:19 + 'modules/user/queries/user/current' does not exist + pos-module-reports/modules/user/public/lib/commands/session/destroy.liquid:6:21 + 'modules/user/session/destroy' does not exist + pos-module-reports/modules/user/public/lib/commands/session/destroy.liquid:11:24 + 'modules/core/commands/hook/fire' does not exist + pos-module-reports/modules/user/public/lib/commands/session/destroy.liquid:14:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/create.liquid:2:21 + 'modules/user/commands/session/impersonation/create/build' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/create.liquid:3:21 + 'modules/user/commands/session/impersonation/create/check' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/create.liquid:9:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy.liquid:2:21 + 'modules/user/commands/session/impersonation/create/build' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy.liquid:3:21 + 'modules/user/commands/session/impersonation/destroy/check' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy.liquid:10:20 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create.liquid:12:21 + 'modules/user/commands/user/create/build' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create.liquid:13:21 + 'modules/user/commands/user/create/check' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create.liquid:15:23 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create.liquid:17:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid:5:16 + 'modules/core/validations/password_complexity' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid:7:16 + 'modules/core/validations/length' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid:8:16 + 'modules/core/validations/email' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid:11:27 + 'modules/user/user/list' does not exist + pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid:14:20 + 'modules/core/helpers/register_error' does not exist + pos-module-reports/modules/user/public/lib/commands/user/delete.liquid:8:18 + 'modules/user/user/delete' does not exist + pos-module-reports/modules/user/public/lib/commands/user/delete.liquid:12:24 + 'modules/core/commands/hook/fire' does not exist + pos-module-reports/modules/user/public/lib/commands/user/delete.liquid:16:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/user/roles/append.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/user/public/lib/commands/user/roles/append.liquid:8:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/user/roles/remove.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/user/public/lib/commands/user/roles/remove.liquid:7:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/user/roles/set.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-reports/modules/user/public/lib/commands/user/roles/set.liquid:7:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/user/update.liquid:13:21 + 'modules/user/commands/user/update/build' does not exist + pos-module-reports/modules/user/public/lib/commands/user/update.liquid:14:21 + 'modules/user/commands/user/update/check' does not exist + pos-module-reports/modules/user/public/lib/commands/user/update.liquid:17:20 + 'modules/user/user/update' does not exist + pos-module-reports/modules/user/public/lib/commands/user/update.liquid:22:26 + 'modules/core/commands/hook/fire' does not exist + pos-module-reports/modules/user/public/lib/commands/user/update.liquid:35:18 + 'modules/core/commands/events/publish' does not exist + pos-module-reports/modules/user/public/lib/commands/user/update/check.liquid:5:18 + 'modules/core/validations/email' does not exist + pos-module-reports/modules/user/public/lib/commands/user/verify_password.liquid:9:21 + 'modules/user/commands/user/verify_password/build' does not exist + pos-module-reports/modules/user/public/lib/commands/user/verify_password.liquid:10:21 + 'modules/user/commands/user/verify_password/check' does not exist + pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid:4:16 + 'modules/core/validations/email' does not exist + pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid:9:20 + 'modules/user/user/verify_password' does not exist + pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid:12:18 + 'modules/core/validations/truthy' does not exist + pos-module-reports/modules/user/public/lib/events/authentication_link_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/impersonation_ended.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/impersonation_ended.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/impersonation_started.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/impersonation_started.liquid:12:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/password_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_deleted.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_logout.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_role_appended.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_role_appended.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_role_removed.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_role_removed.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_roles_set.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_roles_set.liquid:11:16 + 'modules/core/validations/length' does not exist + pos-module-reports/modules/user/public/lib/events/user_signed_in.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/events/user_updated.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-reports/modules/user/public/lib/helpers/can_do.liquid:25:26 + 'modules/user/queries/role_permissions/permissions' does not exist + pos-module-reports/modules/user/public/lib/helpers/can_do_or_redirect.liquid:16:18 + 'modules/user/helpers/can_do' does not exist + pos-module-reports/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:17:18 + 'modules/user/helpers/can_do' does not exist + pos-module-reports/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:22:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-reports/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:26:25 + 'components/pages/403' does not exist + pos-module-reports/modules/user/public/lib/helpers/flash.liquid:19:16 + 'modules/core/commands/session/set' does not exist + pos-module-reports/modules/user/public/lib/helpers/user_from_temporary_token.liquid:6:19 + 'modules/user/queries/user/find' does not exist + pos-module-reports/modules/user/public/lib/queries/roles/all.liquid:1:27 + 'modules/user/queries/role_permissions/permissions' does not exist + pos-module-reports/modules/user/public/lib/queries/roles/custom.liquid:2:22 + 'modules/user/queries/roles/all' does not exist + pos-module-reports/modules/user/public/lib/queries/user/count.liquid:5:19 + 'modules/user/user/count' does not exist + pos-module-reports/modules/user/public/lib/queries/user/current.liquid:6:21 + 'modules/user/queries/user/load' does not exist + pos-module-reports/modules/user/public/lib/queries/user/find.liquid:10:16 + 'modules/user/user/find' does not exist + pos-module-reports/modules/user/public/lib/queries/user/get_all.liquid:3:15 + 'modules/user/user/list' does not exist + pos-module-reports/modules/user/public/lib/queries/user/load.liquid:9:15 + 'modules/user/user/load' does not exist + pos-module-reports/modules/user/public/lib/queries/user/search.liquid:5:15 + 'modules/user/user/search' does not exist + pos-module-reports/modules/user/public/views/pages/authentication_links/create.liquid:6:21 + 'modules/user/commands/authentication_links/create' does not exist + pos-module-reports/modules/user/public/views/pages/authentication_links/create.liquid:8:22 + 'modules/user/commands/emails/auth-link' does not exist + pos-module-reports/modules/user/public/views/pages/authentication_links/create.liquid:15:20 + 'modules/user/helpers/flash' does not exist + pos-module-reports/modules/user/public/views/pages/authentication_links/create.liquid:20:20 + 'modules/user/helpers/flash' does not exist + pos-module-reports/modules/user/public/views/pages/authentication_links/create.liquid:28:18 + 'modules/user/helpers/flash' does not exist + pos-module-reports/modules/user/public/views/pages/authentication_links/create.liquid:31:21 + 'passwords/reset' does not exist + pos-module-reports/modules/user/public/views/pages/passwords/create.liquid:10:21 + 'modules/user/commands/passwords/create' does not exist + pos-module-reports/modules/user/public/views/pages/passwords/create.liquid:14:18 + 'modules/user/commands/session/create' does not exist + pos-module-reports/modules/user/public/views/pages/passwords/create.liquid:17:21 + 'passwords/new' does not exist + pos-module-reports/modules/user/public/views/pages/passwords/new.liquid:3:21 + 'modules/user/helpers/user_from_temporary_token' does not exist + pos-module-reports/modules/user/public/views/pages/passwords/new.liquid:8:20 + 'modules/user/helpers/flash' does not exist + pos-module-reports/modules/user/public/views/pages/passwords/new.liquid:14:19 + 'passwords/new' does not exist + pos-module-reports/modules/user/public/views/pages/passwords/reset.liquid:1:20 + 'passwords/reset' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/create.liquid:6:27 + 'modules/user/queries/user/current' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/create.liquid:8:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/create.liquid:11:18 + 'modules/user/commands/session/create' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/create.liquid:14:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/create.liquid:16:21 + 'sessions/new' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/destroy.liquid:6:27 + 'modules/user/queries/user/current' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/destroy.liquid:8:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/destroy.liquid:11:18 + 'modules/user/commands/session/destroy' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/impersonation/create.liquid:6:27 + 'modules/user/queries/user/current' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/impersonation/create.liquid:7:34 + 'modules/user/queries/user/load' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/impersonation/create.liquid:17:13 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/impersonation/create.liquid:20:33 + 'modules/user/commands/session/impersonation/create' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/impersonation/create.liquid:23:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:9:27 + 'modules/user/queries/user/load' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:10:23 + 'modules/user/commands/session/impersonation/destroy' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:13:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/new.liquid:2:27 + 'modules/user/queries/user/current' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/new.liquid:4:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-reports/modules/user/public/views/pages/sessions/new.liquid:7:19 + 'sessions/new' does not exist + pos-module-reports/modules/user/public/views/pages/users/create.liquid:6:27 + 'modules/user/queries/user/current' does not exist + pos-module-reports/modules/user/public/views/pages/users/create.liquid:9:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-reports/modules/user/public/views/pages/users/create.liquid:12:21 + 'modules/user/commands/user/create' does not exist + pos-module-reports/modules/user/public/views/pages/users/create.liquid:14:18 + 'modules/user/commands/session/create' does not exist + pos-module-reports/modules/user/public/views/pages/users/create.liquid:15:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-reports/modules/user/public/views/pages/users/create.liquid:17:36 + 'modules/user/queries/registration_fields/load' does not exist + pos-module-reports/modules/user/public/views/pages/users/create.liquid:21:21 + 'users/new' does not exist + pos-module-reports/modules/user/public/views/pages/users/new.liquid:2:27 + 'modules/user/queries/user/current' does not exist + pos-module-reports/modules/user/public/views/pages/users/new.liquid:4:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-reports/modules/user/public/views/pages/users/new.liquid:7:34 + 'modules/user/queries/registration_fields/load' does not exist + pos-module-reports/modules/user/public/views/pages/users/new.liquid:10:19 + 'users/new' does not exist + pos-module-reports/modules/user/public/views/partials/admin_pages/list.liquid:1:21 + 'modules/user/queries/user/get_all' does not exist + pos-module-reports/modules/user/public/views/partials/admin_pages/list.liquid:4:22 + 'components/atoms/heading' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid:80:23 + 'components/atoms/checkbox' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid:90:25 + 'components/molecules/select' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid:92:25 + 'components/atoms/input' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid:102:32 + 'components/atoms/icon' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid:109:32 + 'components/atoms/icon' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid:116:34 + 'components/atoms/icon' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid:118:32 + 'components/atoms/sidenote' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid:126:38 + 'components/atoms/sidenote' does not exist + pos-module-reports/modules/user/public/views/partials/components/molecules/pagetitle.liquid:12:22 + 'components/atoms/heading' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid:40:21 + 'components/molecules/formfield' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid:52:21 + 'components/molecules/formfield' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid:57:21 + 'components/atoms/input' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid:62:21 + 'components/atoms/input' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid:65:22 + 'components/atoms/button' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid:35:21 + 'components/molecules/formfield' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid:48:21 + 'components/molecules/formfield' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid:53:21 + 'components/atoms/input' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid:58:21 + 'components/atoms/input' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid:61:22 + 'components/atoms/button' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid:32:13 + 'modules/core/helpers/authenticity_token' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid:50:23 + 'components/molecules/formfield' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid:54:22 + 'components/molecules/hcaptcha' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid:57:24 + 'components/atoms/button' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid:35:21 + 'components/molecules/formfield' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid:38:13 + 'modules/core/helpers/authenticity_token' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid:40:22 + 'components/atoms/input' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid:54:23 + 'components/molecules/formfield' does not exist + pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid:60:22 + 'components/atoms/button' does not exist + pos-module-reports/modules/user/public/views/partials/passwords/new.liquid:12:19 + 'components/molecules/pagetitle' does not exist + pos-module-reports/modules/user/public/views/partials/passwords/new.liquid:17:24 + 'components/organisms/new-password' does not exist + pos-module-reports/modules/user/public/views/partials/passwords/new.liquid:20:22 + 'components/atoms/card' does not exist + pos-module-reports/modules/user/public/views/partials/passwords/reset.liquid:12:19 + 'components/molecules/pagetitle' does not exist + pos-module-reports/modules/user/public/views/partials/passwords/reset.liquid:15:22 + 'components/organisms/reset-password' does not exist + pos-module-reports/modules/user/public/views/partials/passwords/reset.liquid:19:22 + 'components/atoms/card' does not exist + pos-module-reports/modules/user/public/views/partials/sessions/new.liquid:10:19 + 'components/molecules/pagetitle' does not exist + pos-module-reports/modules/user/public/views/partials/sessions/new.liquid:14:22 + 'components/organisms/login' does not exist + pos-module-reports/modules/user/public/views/partials/sessions/new.liquid:32:22 + 'components/atoms/card' does not exist + pos-module-reports/modules/user/public/views/partials/users/new.liquid:15:19 + 'components/molecules/pagetitle' does not exist + pos-module-reports/modules/user/public/views/partials/users/new.liquid:18:22 + 'components/organisms/register' does not exist + pos-module-reports/modules/user/public/views/partials/users/new.liquid:22:22 + 'components/atoms/card' does not exist + pos-module-tests/app/lib/test/array_test.liquid:6:23 + 'modules/tests/assertions/equal' does not exist + pos-module-tests/app/lib/test/array_test.liquid:9:23 + 'modules/tests/assertions/equal' does not exist + pos-module-tests/app/lib/test/example_test.liquid:7:23 + 'modules/tests/assertions/equal' does not exist + pos-module-tests/app/lib/test/example_test.liquid:11:23 + 'modules/tests/assertions/equal' does not exist + pos-module-tests/app/lib/test/example_test.liquid:15:23 + 'modules/tests/assertions/blank' does not exist + pos-module-tests/app/lib/test/example_test.liquid:19:23 + 'modules/tests/assertions/presence' does not exist + pos-module-tests/app/lib/test/example_test.liquid:23:23 + 'modules/tests/assertions/true' does not exist + pos-module-tests/app/lib/test/examples/assertions_test.liquid:7:23 + 'modules/tests/assertions/equal' does not exist + pos-module-tests/app/lib/test/examples/assertions_test.liquid:11:23 + 'modules/tests/assertions/presence' does not exist + pos-module-tests/app/lib/test/examples/assertions_test.liquid:15:23 + 'modules/tests/assertions/blank' does not exist + pos-module-tests/app/lib/test/examples/assertions_test.liquid:19:23 + 'modules/tests/assertions/true' does not exist + pos-module-tests/app/lib/test/object_test.liquid:6:23 + 'modules/tests/assertions/valid_object' does not exist + pos-module-tests/app/lib/test/object_test.liquid:10:23 + 'modules/tests/assertions/invalid_object' does not exist + pos-module-tests/app/lib/test/object_test.liquid:15:23 + 'modules/tests/assertions/object_contains_object' does not exist + pos-module-tests/app/lib/test/string_test.liquid:6:23 + 'modules/tests/assertions/not_true' does not exist + pos-module-tests/app/lib/test/string_test.liquid:10:23 + 'modules/tests/assertions/equal' does not exist + pos-module-tests/modules/tests/public/lib/assertions/blank.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/equal.liquid:6:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid:6:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid:10:27 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid:14:29 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/presence.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/true.liquid:6:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid:5:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-tests/modules/tests/public/lib/commands/run.liquid:7:25 + 'modules/tests/test_files/count' does not exist + pos-module-tests/modules/tests/public/lib/commands/run.liquid:18:21 + 'modules/tests/test_files/search' does not exist + pos-module-tests/modules/tests/public/lib/queries/sent_mails/find.liquid:6:16 + 'modules/tests/sent_mails/search' does not exist + pos-module-tests/modules/tests/public/lib/queries/sent_mails/search.liquid:2:15 + 'modules/tests/sent_mails/search' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/index.html.liquid:6:21 + 'modules/tests/test_files/search' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/index.html.liquid:8:12 + 'modules/tests/tests/index' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid:7:27 + 'modules/tests/test_files/count' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid:12:23 + 'modules/tests/test_files/search' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/run.html.liquid:8:13 + 'modules/tests/commands/run' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/run.js.liquid:8:13 + 'modules/tests/commands/run' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/sent_mails/index.liquid:7:22 + 'modules/tests/queries/sent_mails/search' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/sent_mails/index.liquid:9:12 + 'modules/tests/sent_mails/list' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/sent_mails/show.liquid:7:21 + 'modules/tests/queries/sent_mails/find' does not exist + pos-module-tests/modules/tests/public/views/pages/_tests/sent_mails/show.liquid:9:12 + 'modules/tests/sent_mails/show' does not exist + pos-module-tests/modules/tests/public/views/partials/sent_mails/list.liquid:20:13 + 'modules/tests/sent_mails/pagination' does not exist + pos-module-tests/modules/tests/public/views/partials/tests/show_html.liquid:5:12 + 'modules/tests/tests/test_report_html' does not exist + pos-module-tests/modules/tests/public/views/partials/tests/show_log.liquid:2:13 + 'modules/tests/tests/show_text' does not exist + pos-module-tests/modules/tests/public/views/partials/tests/show_log_js.liquid:2:13 + 'modules/tests/tests/show_js' does not exist + pos-module-tests/modules/tests/public/views/partials/tests/show_text.liquid:5:12 + 'modules/tests/tests/test_report_text' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:6:19 + 'modules/user/commands/user/create' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:7:22 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:9:23 + 'modules/tests/assertions/equal' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:16:19 + 'modules/user/commands/user/create' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:17:22 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:19:23 + 'modules/tests/assertions/equal' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:28:19 + 'modules/user/commands/user/create' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:29:22 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:31:23 + 'modules/tests/assertions/equal' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:39:19 + 'modules/user/commands/user/create' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:40:22 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/app/lib/test/commands/user/create_test.liquid:42:23 + 'modules/tests/assertions/equal' does not exist + pos-module-user/app/lib/test/commands/user/roles/append_test.liquid:4:19 + 'modules/user/commands/user/create' does not exist + pos-module-user/app/lib/test/commands/user/roles/append_test.liquid:5:22 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/app/lib/test/commands/user/roles/append_test.liquid:6:21 + 'modules/user/commands/profiles/roles/append' does not exist + pos-module-user/app/lib/test/commands/user/roles/append_test.liquid:8:23 + 'modules/tests/assertions/equal' does not exist + pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid:5:19 + 'modules/user/commands/user/create' does not exist + pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid:6:22 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid:7:21 + 'modules/user/commands/profiles/roles/remove' does not exist + pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid:10:23 + 'modules/tests/assertions/equal' does not exist + pos-module-user/app/lib/test/commands/user/roles/set_test.liquid:5:19 + 'modules/user/commands/user/create' does not exist + pos-module-user/app/lib/test/commands/user/roles/set_test.liquid:6:22 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/app/lib/test/commands/user/roles/set_test.liquid:9:21 + 'modules/user/commands/profiles/roles/set' does not exist + pos-module-user/app/lib/test/commands/user/roles/set_test.liquid:10:23 + 'modules/tests/assertions/equal' does not exist + pos-module-user/app/migrations/20241009125747_enable_complex_passwords.liquid:2:16 + 'modules/core/commands/variable/set' does not exist + pos-module-user/app/migrations/20241012150157_setup_user_default_role.liquid:2:21 + 'modules/core/commands/variable/set' does not exist + pos-module-user/app/views/layouts/application.liquid:7:17 + 'modules/common-styling/init' does not exist + pos-module-user/app/views/layouts/application.liquid:42:24 + 'modules/core/commands/session/get' does not exist + pos-module-user/app/views/layouts/application.liquid:44:22 + 'modules/core/commands/session/clear' does not exist + pos-module-user/app/views/layouts/application.liquid:47:14 + 'modules/common-styling/toasts' does not exist + pos-module-user/app/views/pages/admin/index.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/app/views/pages/admin/index.liquid:4:11 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-user/app/views/pages/admin/index.liquid:7:20 + 'modules/user/queries/user/search' does not exist + pos-module-user/app/views/pages/admin/index.liquid:9:10 + 'admin/home/index' does not exist + pos-module-user/app/views/pages/index.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/app/views/pages/profile/index.liquid:2:32 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/app/views/pages/profile/index.liquid:4:13 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-user/app/views/pages/profile/index.liquid:7:12 + 'profile/index' does not exist + pos-module-user/app/views/pages/profile/update.liquid:6:32 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/app/views/pages/profile/update.liquid:8:13 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-user/app/views/pages/profile/update.liquid:11:23 + 'modules/user/commands/profiles/update' does not exist + pos-module-user/app/views/pages/profile/update.liquid:12:12 + 'profile/index' does not exist + pos-module-user/app/views/pages/subscription/index.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/app/views/pages/subscription/index.liquid:4:11 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-user/app/views/pages/subscription/index.liquid:7:10 + 'subscription/home/index' does not exist + pos-module-user/app/views/partials/profile/index.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/app/views/partials/profile/index.liquid:22:158 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/app/views/partials/profile/index.liquid:23:21 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/app/views/partials/profile/index.liquid:28:154 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/app/views/partials/profile/index.liquid:29:21 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/app/views/partials/profile/index.liquid:32:19 + 'modules/common-styling/forms/hcaptcha' does not exist + pos-module-user/app/views/partials/profile/index.liquid:54:15 + 'modules/user/oauth/listing' does not exist + pos-module-user/modules/common-styling/public/views/layouts/style-guide.liquid:10:19 + 'modules/common-styling/init' does not exist + pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid:60:21 + 'modules/common-styling/icon' does not exist + pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid:69:21 + 'modules/common-styling/icon' does not exist + pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid:75:15 + 'modules/common-styling/icon' does not exist + pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid:33:17 + 'modules/common-styling/icon' does not exist + pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid:34:17 + 'modules/common-styling/icon' does not exist + pos-module-user/modules/core/public/api_calls/generic_x_form_encoded.liquid:7:18 + 'modules/core/helpers/hash_to_x_form_encoded' does not exist + pos-module-user/modules/core/public/lib/commands/email/send.liquid:2:21 + 'modules/core/commands/email/send/build' does not exist + pos-module-user/modules/core/public/lib/commands/email/send.liquid:3:21 + 'modules/core/commands/email/send/check' does not exist + pos-module-user/modules/core/public/lib/commands/email/send.liquid:6:17 + 'modules/core/email/send' does not exist + pos-module-user/modules/core/public/lib/commands/email/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/email/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/email/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/email/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid:9:23 + 'modules/core/events/consumers' does not exist + pos-module-user/modules/core/public/lib/commands/events/create.liquid:2:20 + 'modules/core/commands/events/create/build' does not exist + pos-module-user/modules/core/public/lib/commands/events/create.liquid:3:20 + 'modules/core/commands/events/create/check' does not exist + pos-module-user/modules/core/public/lib/commands/events/create.liquid:5:22 + 'modules/core/commands/events/create/execute' does not exist + pos-module-user/modules/core/public/lib/commands/events/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/events/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/events/create/check.liquid:8:34 + 'modules/core/events/events_checks' does not exist + pos-module-user/modules/core/public/lib/commands/events/create/check.liquid:25:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid:2:15 + 'modules/core/events/create' does not exist + pos-module-user/modules/core/public/lib/commands/events/publish.liquid:18:20 + 'modules/core/commands/events/create' does not exist + pos-module-user/modules/core/public/lib/commands/hook/alter.liquid:13:30 + 'modules/core/queries/hook/search' does not exist + pos-module-user/modules/core/public/lib/commands/hook/fire.liquid:17:30 + 'modules/core/queries/hook/search' does not exist + pos-module-user/modules/core/public/lib/commands/session/clear.liquid:3:17 + 'modules/core/session/delete' does not exist + pos-module-user/modules/core/public/lib/commands/session/get.liquid:5:19 + 'modules/core/session/delete' does not exist + pos-module-user/modules/core/public/lib/commands/session/set.liquid:3:15 + 'modules/core/session/set' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/create.liquid:17:21 + 'modules/core/commands/statuses/create/build' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/create.liquid:18:21 + 'modules/core/commands/statuses/create/check' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/create.liquid:21:23 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/create.liquid:23:20 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid:8:21 + 'modules/core/commands/statuses/delete/build' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid:9:21 + 'modules/core/commands/statuses/delete/check' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid:12:23 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/commands/variable/set.liquid:7:20 + 'modules/core/variable/set' does not exist + pos-module-user/modules/core/public/lib/events/status_created.liquid:13:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/events/status_created.liquid:14:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/events/status_created.liquid:15:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid:22:11 + 'modules/core/helpers/flash/publish' does not exist + pos-module-user/modules/core/public/lib/helpers/timezone/get_by_name.liquid:17:24 + 'modules/core/helpers/timezone/get_all' does not exist + pos-module-user/modules/core/public/lib/helpers/timezone/get_by_offset.liquid:17:24 + 'modules/core/helpers/timezone/get_all' does not exist + pos-module-user/modules/core/public/lib/queries/events/find.liquid:6:21 + 'modules/core/queries/events/search' does not exist + pos-module-user/modules/core/public/lib/queries/events/search.liquid:5:15 + 'modules/core/events/search' does not exist + pos-module-user/modules/core/public/lib/queries/headscripts/get.liquid:3:18 + 'modules/core/queries/headscripts/search' does not exist + pos-module-user/modules/core/public/lib/queries/headscripts/search.liquid:2:41 + 'modules/core/commands/hook/fire' does not exist + pos-module-user/modules/core/public/lib/queries/hook/search.liquid:9:29 + 'modules/core/hook/search' does not exist + pos-module-user/modules/core/public/lib/queries/module/exists.liquid:8:22 + 'modules/core/queries/registry/search' does not exist + pos-module-user/modules/core/public/lib/queries/registry/get.liquid:3:23 + 'modules/core/queries/registry/search' does not exist + pos-module-user/modules/core/public/lib/queries/registry/search.liquid:7:23 + 'modules/core/commands/hook/fire' does not exist + pos-module-user/modules/core/public/lib/queries/statuses/find.liquid:12:16 + 'modules/core/statuses/search' does not exist + pos-module-user/modules/core/public/lib/queries/statuses/search.liquid:22:15 + 'modules/core/statuses/search' does not exist + pos-module-user/modules/core/public/lib/queries/variable/get.liquid:3:18 + 'modules/core/queries/variable/find' does not exist + pos-module-user/modules/core/public/lib/validations/date.liquid:22:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/date.liquid:27:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/date.liquid:35:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/date.liquid:44:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/date.liquid:53:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/date.liquid:62:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/each_element_length.liquid:17:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/each_element_length.liquid:23:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/each_element_length.liquid:28:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/elements_included.liquid:14:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/email.liquid:12:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/equal.liquid:17:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid:24:15 + 'modules/core/records/count' does not exist + pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid:28:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/included.liquid:13:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/length.liquid:23:18 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/lib/validations/length.liquid:28:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/length.liquid:33:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/length.liquid:38:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/matches.liquid:16:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/not_null.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/number.liquid:21:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/number.liquid:30:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/number.liquid:38:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/number.liquid:43:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/number.liquid:48:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/number.liquid:53:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/number.liquid:58:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/password_complexity.liquid:14:31 + 'modules/core/queries/variable/find' does not exist + pos-module-user/modules/core/public/lib/validations/password_complexity.liquid:18:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/password_complexity.liquid:23:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/password_complexity.liquid:28:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/presence.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/truthy.liquid:11:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/unique_elements.liquid:15:18 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/uniqueness.liquid:20:17 + 'modules/core/records/count' does not exist + pos-module-user/modules/core/public/lib/validations/uniqueness.liquid:24:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/lib/validations/valid_object.liquid:13:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/pages/_events/index.liquid:7:23 + 'modules/core/queries/events/search' does not exist + pos-module-user/modules/core/public/views/pages/_events/index.liquid:9:12 + 'modules/core/events/list' does not exist + pos-module-user/modules/core/public/views/pages/_events/trigger.liquid:7:22 + 'modules/core/queries/events/find' does not exist + pos-module-user/modules/core/public/views/pages/_events/trigger.liquid:10:24 + 'modules/core/commands/events/broadcast' does not exist + pos-module-user/modules/core/public/views/pages/_events/trigger.liquid:14:27 + 'modules/core/events/consumers' does not exist + pos-module-user/modules/core/public/views/pages/_events/trigger.liquid:18:12 + 'modules/core/events/show' does not exist + pos-module-user/modules/core/public/views/partials/events/list.liquid:5:15 + 'modules/core/events/event_card' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid:3:21 + 'modules/core/commands/email/send/build' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid:4:21 + 'modules/core/commands/email/send/check' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid:7:17 + 'modules/core/email/send' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid:14:30 + 'modules/core/lib/queries/hook/search' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid:17:30 + 'modules/core/lib/queries/hook/search' does not exist + pos-module-user/modules/core/public/views/partials/lib/commands/variable/set.liquid:8:20 + 'modules/core/variable/set' does not exist + pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/get.liquid:4:18 + 'modules/core/lib/queries/headscripts/search' does not exist + pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/search.liquid:3:41 + 'modules/core/lib/commands/hook/fire' does not exist + pos-module-user/modules/core/public/views/partials/lib/queries/hook/search.liquid:10:29 + 'modules/core/hook/search' does not exist + pos-module-user/modules/core/public/views/partials/lib/queries/module/exists.liquid:8:22 + 'modules/core/lib/queries/registry/search' does not exist + pos-module-user/modules/core/public/views/partials/lib/queries/registry/get.liquid:3:23 + 'modules/core/lib/queries/registry/search' does not exist + pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid:7:23 + 'modules/core/lib/commands/hook/fire' does not exist + pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid:3:18 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid:23:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid:28:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid:36:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid:45:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid:54:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid:63:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid:17:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid:23:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid:28:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid:15:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid:13:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid:18:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid:25:15 + 'modules/core/records/count' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid:29:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid:14:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid:26:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid:32:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid:37:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid:42:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid:17:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid:22:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid:31:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid:39:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid:44:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid:49:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid:54:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid:59:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid:12:31 + 'modules/core/lib/queries/variable/find' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid:16:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid:21:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid:26:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid:12:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid:15:18 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid:21:17 + 'modules/core/records/count' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid:25:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid:14:20 + 'modules/core/lib/helpers/register_error' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid:2:21 + 'modules/oauth_github/commands/get_token/build' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid:3:21 + 'modules/oauth_github/commands/get_token/check' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid:9:18 + 'modules/oauth_github/get_token' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid:4:14 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid:5:14 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid:6:14 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid:7:14 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_email.liquid:3:21 + 'modules/oauth_github/commands/get_user_email/build' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_email.liquid:4:21 + 'modules/oauth_github/commands/get_user_email/check' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_email.liquid:7:18 + 'modules/oauth_github/get_user_email' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_info.liquid:3:21 + 'modules/oauth_github/commands/get_user_info/build' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_info.liquid:4:21 + 'modules/oauth_github/commands/get_user_info/check' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_info.liquid:7:18 + 'modules/oauth_github/get_user_info' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid:6:25 + 'modules/oauth_github/commands/get_token' does not exist + pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid:18:22 + 'modules/oauth_github/commands/get_user_info' does not exist + pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid:20:28 + 'modules/oauth_github/commands/get_user_email' does not exist + pos-module-user/modules/tests/public/lib/assertions/blank.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/equal.liquid:6:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/not_true.liquid:6:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid:10:27 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid:14:29 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/presence.liquid:4:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/true.liquid:6:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid:5:25 + 'modules/tests/helpers/register_error' does not exist + pos-module-user/modules/tests/public/lib/commands/run.liquid:6:19 + 'modules/tests/test_files/search' does not exist + pos-module-user/modules/tests/public/lib/queries/sent_mails/find.liquid:6:16 + 'modules/tests/sent_mails/search' does not exist + pos-module-user/modules/tests/public/lib/queries/sent_mails/search.liquid:2:15 + 'modules/tests/sent_mails/search' does not exist + pos-module-user/modules/tests/public/views/pages/_tests/index.html.liquid:6:21 + 'modules/tests/test_files/search' does not exist + pos-module-user/modules/tests/public/views/pages/_tests/index.html.liquid:8:12 + 'modules/tests/tests/index' does not exist + pos-module-user/modules/tests/public/views/pages/_tests/run.liquid:7:13 + 'modules/tests/commands/run' does not exist + pos-module-user/modules/tests/public/views/pages/_tests/sent_mails/index.liquid:7:22 + 'modules/tests/queries/sent_mails/search' does not exist + pos-module-user/modules/tests/public/views/pages/_tests/sent_mails/index.liquid:9:12 + 'modules/tests/sent_mails/list' does not exist + pos-module-user/modules/tests/public/views/pages/_tests/sent_mails/show.liquid:7:21 + 'modules/tests/queries/sent_mails/find' does not exist + pos-module-user/modules/tests/public/views/pages/_tests/sent_mails/show.liquid:9:12 + 'modules/tests/sent_mails/show' does not exist + pos-module-user/modules/tests/public/views/partials/sent_mails/list.liquid:20:13 + 'modules/tests/sent_mails/pagination' does not exist + pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid:5:12 + 'modules/tests/tests/test_report_html' does not exist + pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid:2:13 + 'modules/tests/tests/show_text' does not exist + pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid:5:12 + 'modules/tests/tests/test_report_text' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid:2:21 + 'modules/user/commands/authentication_links/create/build' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid:3:21 + 'modules/user/commands/authentication_links/create/check' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid:6:23 + 'modules/user/commands/authentication_links/create/execute' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid:8:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid:3:19 + 'modules/user/queries/user/find' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid:9:18 + 'modules/core/validations/hcaptcha' does not exist + pos-module-user/modules/user/public/lib/commands/emails/auth-link.liquid:26:21 + 'modules/core/commands/email/send' does not exist + pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid:6:25 + 'modules/user/commands/user/create' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create.liquid:2:21 + 'modules/user/commands/passwords/create/build' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create.liquid:3:21 + 'modules/user/commands/passwords/create/check' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create.liquid:6:23 + 'modules/user/commands/passwords/create/execute' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create.liquid:8:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid:7:16 + 'modules/core/validations/equal' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid:8:16 + 'modules/core/validations/password_complexity' does not exist + pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid:2:15 + 'modules/user/user/update_password' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create.liquid:2:21 + 'modules/user/commands/profiles/create/build' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create.liquid:3:21 + 'modules/user/commands/profiles/create/check' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create.liquid:5:23 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid:2:30 + 'modules/user/commands/profiles/tokenize_names' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid:5:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid:7:16 + 'modules/core/validations/length' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid:8:16 + 'modules/core/validations/length' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid:9:16 + 'modules/core/validations/length' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create_validate.liquid:2:21 + 'modules/user/commands/profiles/create/build' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create_validate.liquid:3:21 + 'modules/user/commands/profiles/create/check' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/create_validate_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid:2:21 + 'modules/user/commands/profiles/delete/build' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid:3:21 + 'modules/user/commands/profiles/delete/check' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid:5:23 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid:2:21 + 'modules/user/commands/profiles/mark_otp/build' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid:3:21 + 'modules/user/commands/profiles/mark_otp/check' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid:5:16 + 'modules/core/validations/not_null' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid:7:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid:7:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid:3:21 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid:7:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update.liquid:2:21 + 'modules/user/commands/profiles/update/build' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update.liquid:3:21 + 'modules/user/commands/profiles/update/check' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid:2:30 + 'modules/user/commands/profiles/tokenize_names' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid:5:16 + 'modules/core/validations/uniqueness' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid:6:16 + 'modules/core/validations/length' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid:7:16 + 'modules/core/validations/length' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid:8:16 + 'modules/core/validations/length' does not exist + pos-module-user/modules/user/public/lib/commands/profiles/update_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-user/modules/user/public/lib/commands/session/create.liquid:26:21 + 'modules/user/commands/user/verify_password' does not exist + pos-module-user/modules/user/public/lib/commands/session/create.liquid:33:21 + 'modules/user/commands/session/create/build' does not exist + pos-module-user/modules/user/public/lib/commands/session/create.liquid:34:21 + 'modules/user/commands/session/create/check' does not exist + pos-module-user/modules/user/public/lib/commands/session/create.liquid:36:21 + 'modules/user/queries/user/load' does not exist + pos-module-user/modules/user/public/lib/commands/session/create.liquid:37:24 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/modules/user/public/lib/commands/session/create.liquid:44:28 + 'modules/core/commands/hook/fire' does not exist + pos-module-user/modules/user/public/lib/commands/session/create.liquid:50:20 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/session/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/session/destroy.liquid:5:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/lib/commands/session/destroy.liquid:7:21 + 'modules/user/session/destroy' does not exist + pos-module-user/modules/user/public/lib/commands/session/destroy.liquid:12:24 + 'modules/core/commands/hook/fire' does not exist + pos-module-user/modules/user/public/lib/commands/session/destroy.liquid:15:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid:2:21 + 'modules/user/commands/session/impersonation/create/build' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid:3:21 + 'modules/user/commands/session/impersonation/create/check' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid:9:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid:2:21 + 'modules/user/commands/session/impersonation/create/build' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid:3:21 + 'modules/user/commands/session/impersonation/destroy/check' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid:10:20 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/create.liquid:16:21 + 'modules/user/commands/user/create/build' does not exist + pos-module-user/modules/user/public/lib/commands/user/create.liquid:17:21 + 'modules/user/commands/user/create/check' does not exist + pos-module-user/modules/user/public/lib/commands/user/create.liquid:19:21 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/user/create.liquid:22:24 + 'modules/user/commands/profiles/create' does not exist + pos-module-user/modules/user/public/lib/commands/user/create.liquid:28:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:3:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:6:16 + 'modules/core/validations/password_complexity' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:7:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:8:16 + 'modules/core/validations/length' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:9:16 + 'modules/core/validations/email' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:12:27 + 'modules/user/user/list' does not exist + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:15:20 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/user/public/lib/commands/user/delete.liquid:8:18 + 'modules/user/user/delete' does not exist + pos-module-user/modules/user/public/lib/commands/user/delete.liquid:12:24 + 'modules/core/commands/hook/fire' does not exist + pos-module-user/modules/user/public/lib/commands/user/delete.liquid:16:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update.liquid:2:21 + 'modules/user/commands/user/email_update/build' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update.liquid:3:21 + 'modules/user/commands/user/email_update/check' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update.liquid:6:23 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid:3:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid:4:16 + 'modules/core/validations/email' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid:6:28 + 'modules/user/user/emails_count' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid:8:14 + 'modules/core/helpers/register_error' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid:12:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid:14:18 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid:17:18 + 'modules/core/validations/truthy' does not exist + pos-module-user/modules/user/public/lib/commands/user/update.liquid:13:21 + 'modules/user/commands/user/update/build' does not exist + pos-module-user/modules/user/public/lib/commands/user/update.liquid:14:21 + 'modules/user/commands/user/update/check' does not exist + pos-module-user/modules/user/public/lib/commands/user/update.liquid:17:20 + 'modules/user/user/update' does not exist + pos-module-user/modules/user/public/lib/commands/user/update.liquid:21:26 + 'modules/core/commands/hook/fire' does not exist + pos-module-user/modules/user/public/lib/commands/user/update.liquid:33:18 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/lib/commands/user/update/check.liquid:5:18 + 'modules/core/validations/email' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid:2:21 + 'modules/user/commands/user/verify_otp/build' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid:3:21 + 'modules/user/commands/user/verify_otp/check' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid:4:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid:9:18 + 'modules/core/commands/execute' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid:12:18 + 'modules/core/validations/truthy' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid:13:18 + 'modules/core/validations/truthy' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid:9:21 + 'modules/user/commands/user/verify_password/build' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid:10:21 + 'modules/user/commands/user/verify_password/check' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid:4:16 + 'modules/core/validations/email' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid:5:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid:6:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid:9:20 + 'modules/user/user/verify_password' does not exist + pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid:12:18 + 'modules/core/validations/truthy' does not exist + pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/impersonation_started.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/impersonation_started.liquid:12:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/password_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_created.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_deleted.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_logout.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_role_appended.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_role_appended.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_role_removed.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_role_removed.liquid:11:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_roles_set.liquid:10:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_roles_set.liquid:11:16 + 'modules/core/validations/length' does not exist + pos-module-user/modules/user/public/lib/events/user_signed_in.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/events/user_updated.liquid:9:16 + 'modules/core/validations/presence' does not exist + pos-module-user/modules/user/public/lib/helpers/can_do.liquid:25:26 + 'modules/user/queries/role_permissions/permissions' does not exist + pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid:16:18 + 'modules/user/helpers/can_do' does not exist + pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:19:18 + 'modules/user/helpers/can_do' does not exist + pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:24:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/lib/helpers/current_profile.liquid:2:19 + 'modules/user/queries/user/current' does not exist + pos-module-user/modules/user/public/lib/helpers/current_profile.liquid:6:32 + 'modules/user/queries/profiles/find' does not exist + pos-module-user/modules/user/public/lib/helpers/flash.liquid:19:16 + 'modules/core/commands/session/set' does not exist + pos-module-user/modules/user/public/lib/helpers/get_assigned_oauth_providers.liquid:2:29 + 'modules/user/queries/user/current' does not exist + pos-module-user/modules/user/public/lib/helpers/get_assigned_oauth_providers.liquid:3:17 + 'modules/user/oauth/find_by_user_id' does not exist + pos-module-user/modules/user/public/lib/helpers/table_name.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid:6:19 + 'modules/user/queries/user/find' does not exist + pos-module-user/modules/user/public/lib/queries/api_call.liquid:18:15 + 'modules/user/api_call' does not exist + pos-module-user/modules/user/public/lib/queries/profiles/filters_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-user/modules/user/public/lib/queries/profiles/find.liquid:7:20 + 'modules/user/profiles/search' does not exist + pos-module-user/modules/user/public/lib/queries/profiles/find.liquid:11:21 + 'modules/user/helpers/profiles/slugs/build' does not exist + pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-user/modules/user/public/lib/queries/profiles/search.liquid:7:15 + 'modules/user/profiles/search' does not exist + pos-module-user/modules/user/public/lib/queries/profiles/search.liquid:12:21 + 'modules/user/helpers/profiles/slugs/build' does not exist + pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid:2:29 + 'modules/core/queries/variable/get' does not exist + pos-module-user/modules/user/public/lib/queries/roles/all.liquid:1:27 + 'modules/user/queries/role_permissions/permissions' does not exist + pos-module-user/modules/user/public/lib/queries/roles/custom.liquid:2:22 + 'modules/user/queries/roles/all' does not exist + pos-module-user/modules/user/public/lib/queries/user/count.liquid:5:19 + 'modules/user/user/count' does not exist + pos-module-user/modules/user/public/lib/queries/user/current.liquid:6:21 + 'modules/user/queries/user/load' does not exist + pos-module-user/modules/user/public/lib/queries/user/find.liquid:10:16 + 'modules/user/user/find' does not exist + pos-module-user/modules/user/public/lib/queries/user/get_all.liquid:3:15 + 'modules/user/user/list' does not exist + pos-module-user/modules/user/public/lib/queries/user/load.liquid:9:15 + 'modules/user/user/load' does not exist + pos-module-user/modules/user/public/lib/queries/user/otp.liquid:8:15 + 'modules/user/user/otp' does not exist + pos-module-user/modules/user/public/lib/queries/user/search.liquid:5:15 + 'modules/user/user/search' does not exist + pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid:6:21 + 'modules/user/commands/authentication_links/create' does not exist + pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid:8:22 + 'modules/user/commands/emails/auth-link' does not exist + pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid:15:20 + 'modules/user/helpers/flash' does not exist + pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid:20:20 + 'modules/user/helpers/flash' does not exist + pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid:28:18 + 'modules/user/helpers/flash' does not exist + pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid:31:12 + 'modules/user/passwords/reset' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:8:27 + 'modules/user/queries/user/current' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:11:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:15:34 + 'modules/user/helpers/get_available_oauth_providers' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:20:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:26:17 + 'modules/user/oauth/find_by_user_id' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:29:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:39:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:49:15 + 'modules/user/oauth/find_by_sub' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:55:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:65:25 + 'modules/user/commands/oauth/create_user' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:68:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:76:17 + 'modules/user/oauth/create' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:81:18 + 'modules/user/commands/session/create' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:82:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/oauth/callback.liquid:84:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/oauth/start.liquid:12:36 + 'modules/user/helpers/get_available_oauth_providers' does not exist + pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid:6:27 + 'modules/user/queries/user/current' does not exist + pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid:14:15 + 'modules/user/oauth/find_by_user_id' does not exist + pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid:16:17 + 'modules/user/oauth/delete' does not exist + pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid:19:16 + 'modules/user/helpers/flash' does not exist + pos-module-user/modules/user/public/views/pages/passwords/create.liquid:10:21 + 'modules/user/commands/passwords/create' does not exist + pos-module-user/modules/user/public/views/pages/passwords/create.liquid:14:18 + 'modules/user/commands/session/create' does not exist + pos-module-user/modules/user/public/views/pages/passwords/create.liquid:17:12 + 'modules/user/passwords/new' does not exist + pos-module-user/modules/user/public/views/pages/passwords/new.liquid:3:21 + 'modules/user/helpers/user_from_temporary_token' does not exist + pos-module-user/modules/user/public/views/pages/passwords/new.liquid:8:20 + 'modules/user/helpers/flash' does not exist + pos-module-user/modules/user/public/views/pages/passwords/new.liquid:14:10 + 'modules/user/passwords/new' does not exist + pos-module-user/modules/user/public/views/pages/passwords/reset.liquid:1:11 + 'modules/user/passwords/reset' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid:14:23 + 'modules/user/commands/profiles/mark_otp' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid:19:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid:21:25 + 'modules/user/queries/user/otp' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid:22:12 + 'modules/user/2fa/setup' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid:14:23 + 'modules/user/commands/profiles/mark_otp' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid:19:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid:21:12 + 'modules/user/2fa/disable' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/disable.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/disable.liquid:7:10 + 'modules/user/2fa/disable' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/new.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/new.liquid:7:23 + 'modules/user/queries/user/otp' does not exist + pos-module-user/modules/user/public/views/pages/profiles/2fa/new.liquid:9:10 + 'modules/user/2fa/setup' does not exist + pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid:5:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid:7:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid:10:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid:14:20 + 'modules/user/commands/session/create' does not exist + pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid:16:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid:18:14 + 'modules/user/sessions/new' does not exist + pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid:21:12 + 'modules/user/2fa/verify' does not exist + pos-module-user/modules/user/public/views/pages/sessions/create.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/sessions/create.liquid:8:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-user/modules/user/public/views/pages/sessions/create.liquid:9:18 + 'modules/user/commands/session/create' does not exist + pos-module-user/modules/user/public/views/pages/sessions/create.liquid:11:12 + 'modules/user/2fa/verify' does not exist + pos-module-user/modules/user/public/views/pages/sessions/create.liquid:13:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/sessions/create.liquid:15:12 + 'modules/user/sessions/new' does not exist + pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid:8:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid:10:18 + 'modules/user/commands/session/destroy' does not exist + pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid:7:34 + 'modules/user/queries/user/load' does not exist + pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid:17:13 + 'modules/user/helpers/can_do_or_unauthorized' does not exist + pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid:20:33 + 'modules/user/commands/session/impersonation/create' does not exist + pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid:23:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:9:27 + 'modules/user/queries/user/load' does not exist + pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:10:23 + 'modules/user/commands/session/impersonation/destroy' does not exist + pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid:13:15 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/sessions/new.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/sessions/new.liquid:4:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-user/modules/user/public/views/pages/sessions/new.liquid:6:10 + 'modules/user/sessions/new' does not exist + pos-module-user/modules/user/public/views/pages/users/create.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/users/create.liquid:8:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-user/modules/user/public/views/pages/users/create.liquid:10:21 + 'modules/user/commands/user/create' does not exist + pos-module-user/modules/user/public/views/pages/users/create.liquid:12:18 + 'modules/user/commands/session/create' does not exist + pos-module-user/modules/user/public/views/pages/users/create.liquid:13:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/users/create.liquid:15:36 + 'modules/user/queries/registration_fields/load' does not exist + pos-module-user/modules/user/public/views/pages/users/create.liquid:19:12 + 'modules/user/users/new' does not exist + pos-module-user/modules/user/public/views/pages/users/email/edit.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/users/email/edit.liquid:4:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/users/email/edit.liquid:7:10 + 'modules/user/users/email/edit' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:6:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:8:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:12:23 + 'modules/user/commands/user/verify_otp' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:14:14 + 'modules/user/users/email/edit' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:19:21 + 'modules/user/commands/user/email_update' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:23:18 + 'modules/user/commands/profiles/update' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:25:23 + 'modules/core/commands/events/publish' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:28:13 + 'modules/core/helpers/redirect_to' does not exist + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:30:12 + 'modules/user/users/email/edit' does not exist + pos-module-user/modules/user/public/views/pages/users/new.liquid:2:30 + 'modules/user/helpers/current_profile' does not exist + pos-module-user/modules/user/public/views/pages/users/new.liquid:4:11 + 'modules/user/helpers/can_do_or_redirect' does not exist + pos-module-user/modules/user/public/views/pages/users/new.liquid:6:34 + 'modules/user/queries/registration_fields/load' does not exist + pos-module-user/modules/user/public/views/pages/users/new.liquid:9:10 + 'modules/user/users/new' does not exist + pos-module-user/modules/user/public/views/partials/2fa/disable.liquid:13:19 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/2fa/disable.liquid:22:19 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:31:21 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:38:23 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/2fa/verify.liquid:19:15 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/admin_pages/list.liquid:1:21 + 'modules/user/queries/user/get_all' does not exist + pos-module-user/modules/user/public/views/partials/admin_pages/list.liquid:4:22 + 'components/atoms/heading' does not exist + pos-module-user/modules/user/public/views/partials/oauth/listing.liquid:2:36 + 'modules/user/helpers/get_available_oauth_providers' does not exist + pos-module-user/modules/user/public/views/partials/oauth/listing.liquid:3:35 + 'modules/user/helpers/get_assigned_oauth_providers' does not exist + pos-module-user/modules/user/public/views/partials/oauth/providers.liquid:1:35 + 'modules/user/helpers/get_available_oauth_providers' does not exist + pos-module-user/modules/user/public/views/partials/passwords/new.liquid:22:121 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/passwords/new.liquid:23:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/passwords/new.liquid:28:147 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/passwords/new.liquid:29:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:25:154 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:26:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:29:15 + 'modules/common-styling/forms/hcaptcha' does not exist + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:21:133 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:22:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:30:111 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:31:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:42:13 + 'modules/user/oauth/providers' does not exist + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:23:109 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:24:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:29:117 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:30:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:40:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:26:184 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:27:19 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:33:145 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:34:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:39:141 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:40:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:45:133 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:46:17 + 'modules/common-styling/forms/error_list' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:51:111 + 'modules/common-styling/forms/error_input_handler' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:61:15 + 'modules/common-styling/forms/hcaptcha' does not exist + pos-module-user/modules/user/public/views/partials/users/new.liquid:71:13 + 'modules/user/oauth/providers' does not exist + +[ParserBlockingScript] (1 errors) +-------------------------------------------------------------------------------- + pos-module-chat/modules/common-styling/public/views/partials/init.liquid:15:1 + Avoid parser blocking scripts by adding `defer` or `async` on this tag + +[TranslationKeyExists] (197 errors) +-------------------------------------------------------------------------------- + pos-module-chat/modules/chat/public/views/partials/blank.liquid:4:30 + 'modules/chat/blank_title' does not have a matching translation entry + pos-module-chat/modules/chat/public/views/partials/blank.liquid:5:13 + 'modules/chat/blank_message' does not have a matching translation entry + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:37:28 + 'modules/chat/error_connection' does not have a matching translation entry + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:114:17 + 'modules/chat/loading_previous' does not have a matching translation entry + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:132:27 + 'modules/chat/message_input_placeholder' does not have a matching translation entry + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:137:74 + 'modules/chat/send' does not have a matching translation entry + pos-module-chat/modules/chat/public/views/partials/inbox.liquid:142:10 + 'modules/chat/pick_conversation' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/forms/multiselect.liquid:59:45 + 'modules/common-styling/form.clear_selection' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/forms/multiselect.liquid:68:45 + 'modules/common-styling/form.deselect' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/forms/password.liquid:31:37 + 'modules/common-styling/password.toggle_visibility' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/forms/password.liquid:32:34 + 'modules/common-styling/password.toggle_visibility' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/forms/password.liquid:45:68 + 'modules/common-styling/password.weak' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/forms/password.liquid:46:70 + 'modules/common-styling/password.medium' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/forms/password.liquid:47:70 + 'modules/common-styling/password.strong' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/toasts.liquid:18:51 + 'modules/common-styling/toast.close' does not have a matching translation entry + pos-module-chat/modules/common-styling/public/views/partials/toasts.liquid:19:34 + 'modules/common-styling/toast.close' does not have a matching translation entry + pos-module-chat/modules/core/public/lib/validations/each_element_length.liquid:16:24 + 'modules/core/validation.length.minimum' does not have a matching translation entry + pos-module-chat/modules/core/public/lib/validations/each_element_length.liquid:21:24 + 'modules/core/validation.length.maximum' does not have a matching translation entry + pos-module-chat/modules/core/public/lib/validations/each_element_length.liquid:27:24 + 'modules/core/validation.length.is' does not have a matching translation entry + pos-module-chat/modules/core/public/lib/validations/equal.liquid:12:26 + 'modules/core/validation.equal_not_verbose' does not have a matching translation entry + pos-module-chat/modules/core/public/lib/validations/equal.liquid:14:26 + 'modules/core/validation.equal' does not have a matching translation entry + pos-module-chat/modules/core/public/views/partials/lib/validations/each_element_length.liquid:16:24 + 'modules/core/validation.length.minimum' does not have a matching translation entry + pos-module-chat/modules/core/public/views/partials/lib/validations/each_element_length.liquid:21:24 + 'modules/core/validation.length.maximum' does not have a matching translation entry + pos-module-chat/modules/core/public/views/partials/lib/validations/each_element_length.liquid:27:24 + 'modules/core/validation.length.is' does not have a matching translation entry + pos-module-chat/modules/core/public/views/partials/lib/validations/equal.liquid:13:26 + 'modules/core/validation.equal_not_verbose' does not have a matching translation entry + pos-module-chat/modules/core/public/views/partials/lib/validations/equal.liquid:15:26 + 'modules/core/validation.equal' does not have a matching translation entry + pos-module-chat/modules/user/public/lib/commands/emails/auth-link.liquid:12:22 + 'modules/user/emails.from_email' does not have a matching translation entry + pos-module-chat/modules/user/public/lib/commands/emails/auth-link.liquid:13:25 + 'modules/user/emails.passwords.reset.subject' does not have a matching translation entry + pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid:14:24 + 'modules/user/validation.user_exists' does not have a matching translation entry + pos-module-chat/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:21:21 + 'modules/user/authorization.redirect_anonymous_info' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/emails/passwords/reset.liquid:1:22 + 'modules/user/emails.passwords.reset.title' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/emails/passwords/reset.liquid:3:7 + 'modules/user/emails.passwords.reset.content' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/emails/passwords/reset.liquid:4:7 + 'modules/user/emails.passwords.reset.ignore' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/emails/passwords/reset.liquid:10:31 + 'modules/user/emails.passwords.reset.cta' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/emails/passwords/reset.liquid:13:12 + 'modules/user/emails.passwords.reset.cta_button' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/oauth/listing.liquid:11:8 + 'modules/user/oauth.app.no_providers_available' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/oauth/providers.liquid:4:14 + 'modules/user/sessions.new.social_login_separator' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:15:32 + 'modules/user/passwords.edit' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:22:41 + 'modules/user/passwords.new_password' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:28:41 + 'modules/user/passwords.confirm_new_password' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/new.liquid:34:70 + 'modules/user/passwords.password_update' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:15:32 + 'modules/user/passwords.reset_password_title' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:17:9 + 'modules/user/passwords.email_desc' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:24:38 + 'modules/user/passwords.email' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:32:70 + 'modules/user/passwords.reset_password' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:37:38 + 'modules/user/passwords.remembered_password' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/passwords/reset.liquid:37:117 + 'modules/user/sessions.new.log_in' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:13:32 + 'modules/user/sessions.new.log_in' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:20:38 + 'modules/user/passwords.email' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:27:43 + 'modules/user/passwords.password' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:28:39 + 'modules/user/passwords.forgot' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:35:70 + 'modules/user/sessions.new.log_in' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:40:38 + 'modules/user/sessions.new.dont_have_account' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/sessions/new.liquid:40:115 + 'modules/user/sessions.new.request_to_join' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/users/new.liquid:17:32 + 'modules/user/users.new.create_account' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/users/new.liquid:64:70 + 'modules/user/passwords.register' does not have a matching translation entry + pos-module-chat/modules/user/public/views/partials/users/new.liquid:69:38 + 'modules/user/users.new.already_have_account' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/markdown.liquid:39:97 + 'modules/common-styling/form.minimum_length_validation' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/markdown.liquid:40:97 + 'modules/common-styling/form.maximum_length_validation' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid:59:45 + 'modules/common-styling/form.clear_selection' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid:68:45 + 'modules/common-styling/form.deselect' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid:31:37 + 'modules/common-styling/password.toggle_visibility' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid:32:34 + 'modules/common-styling/password.toggle_visibility' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid:45:68 + 'modules/common-styling/password.weak' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid:46:70 + 'modules/common-styling/password.medium' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid:47:70 + 'modules/common-styling/password.strong' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/toasts.liquid:18:51 + 'modules/common-styling/toast.close' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/toasts.liquid:19:34 + 'modules/common-styling/toast.close' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/user/card.liquid:18:10 + 'modules/community/app.at' does not have a matching translation entry + pos-module-common-styling/modules/common-styling/public/views/partials/user/card.liquid:25:72 + 'modules/community/profiles.see_profile' does not have a matching translation entry + pos-module-core/modules/core/public/lib/validations/each_element_length.liquid:16:24 + 'modules/core/validation.length.minimum' does not have a matching translation entry + pos-module-core/modules/core/public/lib/validations/each_element_length.liquid:21:24 + 'modules/core/validation.length.maximum' does not have a matching translation entry + pos-module-core/modules/core/public/lib/validations/each_element_length.liquid:27:24 + 'modules/core/validation.length.is' does not have a matching translation entry + pos-module-core/modules/core/public/lib/validations/equal.liquid:12:26 + 'modules/core/validation.equal_not_verbose' does not have a matching translation entry + pos-module-core/modules/core/public/lib/validations/equal.liquid:14:26 + 'modules/core/validation.equal' does not have a matching translation entry + pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid:16:24 + 'modules/core/validation.length.minimum' does not have a matching translation entry + pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid:21:24 + 'modules/core/validation.length.maximum' does not have a matching translation entry + pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid:27:24 + 'modules/core/validation.length.is' does not have a matching translation entry + pos-module-core/modules/core/public/views/partials/lib/validations/equal.liquid:13:26 + 'modules/core/validation.equal_not_verbose' does not have a matching translation entry + pos-module-core/modules/core/public/views/partials/lib/validations/equal.liquid:15:26 + 'modules/core/validation.equal' does not have a matching translation entry + pos-module-reports/modules/core/public/lib/validations/each_element_length.liquid:16:24 + 'modules/core/validation.length.minimum' does not have a matching translation entry + pos-module-reports/modules/core/public/lib/validations/each_element_length.liquid:21:24 + 'modules/core/validation.length.maximum' does not have a matching translation entry + pos-module-reports/modules/core/public/lib/validations/each_element_length.liquid:27:24 + 'modules/core/validation.length.is' does not have a matching translation entry + pos-module-reports/modules/core/public/lib/validations/equal.liquid:12:26 + 'modules/core/validation.equal_not_verbose' does not have a matching translation entry + pos-module-reports/modules/core/public/lib/validations/equal.liquid:14:26 + 'modules/core/validation.equal' does not have a matching translation entry + pos-module-reports/modules/core/public/views/partials/lib/validations/each_element_length.liquid:16:24 + 'modules/core/validation.length.minimum' does not have a matching translation entry + pos-module-reports/modules/core/public/views/partials/lib/validations/each_element_length.liquid:21:24 + 'modules/core/validation.length.maximum' does not have a matching translation entry + pos-module-reports/modules/core/public/views/partials/lib/validations/each_element_length.liquid:27:24 + 'modules/core/validation.length.is' does not have a matching translation entry + pos-module-reports/modules/core/public/views/partials/lib/validations/equal.liquid:13:26 + 'modules/core/validation.equal_not_verbose' does not have a matching translation entry + pos-module-reports/modules/core/public/views/partials/lib/validations/equal.liquid:15:26 + 'modules/core/validation.equal' does not have a matching translation entry + pos-module-reports/modules/user/public/lib/commands/emails/auth-link.liquid:12:22 + 'modules/user/emails.from_email' does not have a matching translation entry + pos-module-reports/modules/user/public/lib/commands/emails/auth-link.liquid:13:25 + 'modules/user/emails.passwords.reset.subject' does not have a matching translation entry + pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid:13:24 + 'modules/user/validation.user_exists' does not have a matching translation entry + pos-module-reports/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:21:21 + 'modules/user/authorization.redirect_anonymous_info' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid:26:27 + 'modules/user/passwords.login' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid:20:27 + 'modules/user/passwords.password_update' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid:27:20 + 'modules/user/passwords.password' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid:40:20 + 'modules/user/passwords.password_confirmation' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid:27:27 + 'modules/user/passwords.register' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid:19:27 + 'modules/user/passwords.reset_password' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid:26:20 + 'modules/user/passwords.email' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid:27:19 + 'modules/user/passwords.email_desc' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/emails/passwords/reset.liquid:1:22 + 'modules/user/emails.passwords.reset.title' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/emails/passwords/reset.liquid:3:7 + 'modules/user/emails.passwords.reset.content' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/emails/passwords/reset.liquid:4:7 + 'modules/user/emails.passwords.reset.ignore' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/emails/passwords/reset.liquid:10:31 + 'modules/user/emails.passwords.reset.cta' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/emails/passwords/reset.liquid:13:12 + 'modules/user/emails.passwords.reset.cta_button' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/passwords/new.liquid:11:22 + 'modules/user/passwords.edit' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/passwords/reset.liquid:11:22 + 'modules/user/passwords.reset_password_title' does not have a matching translation entry + pos-module-reports/modules/user/public/views/partials/users/new.liquid:14:22 + 'modules/user/users.new.create_account' does not have a matching translation entry + pos-module-tests/modules/tests/public/lib/assertions/equal.liquid:5:18 + 'modules/tests/should.equal' does not have a matching translation entry + pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid:9:24 + 'modules/tests/should.have_key' does not have a matching translation entry + pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid:13:26 + 'modules/tests/should.have_key_with_value' does not have a matching translation entry + pos-module-tests/modules/tests/public/views/layouts/mailer.html.liquid:153:14 + 'app.title' does not have a matching translation entry + pos-module-user/app/views/pages/index.liquid:15:18 + 'modules/user/users.logout' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid:59:45 + 'modules/common-styling/form.clear_selection' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid:68:45 + 'modules/common-styling/form.deselect' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid:31:37 + 'modules/common-styling/password.toggle_visibility' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid:32:34 + 'modules/common-styling/password.toggle_visibility' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid:45:68 + 'modules/common-styling/password.weak' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid:46:70 + 'modules/common-styling/password.medium' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid:47:70 + 'modules/common-styling/password.strong' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/toasts.liquid:18:51 + 'modules/common-styling/toast.close' does not have a matching translation entry + pos-module-user/modules/common-styling/public/views/partials/toasts.liquid:19:34 + 'modules/common-styling/toast.close' does not have a matching translation entry + pos-module-user/modules/core/public/lib/validations/each_element_length.liquid:16:24 + 'modules/core/validation.length.minimum' does not have a matching translation entry + pos-module-user/modules/core/public/lib/validations/each_element_length.liquid:21:24 + 'modules/core/validation.length.maximum' does not have a matching translation entry + pos-module-user/modules/core/public/lib/validations/each_element_length.liquid:27:24 + 'modules/core/validation.length.is' does not have a matching translation entry + pos-module-user/modules/core/public/lib/validations/equal.liquid:12:26 + 'modules/core/validation.equal_not_verbose' does not have a matching translation entry + pos-module-user/modules/core/public/lib/validations/equal.liquid:14:26 + 'modules/core/validation.equal' does not have a matching translation entry + pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid:16:24 + 'modules/core/validation.length.minimum' does not have a matching translation entry + pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid:21:24 + 'modules/core/validation.length.maximum' does not have a matching translation entry + pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid:27:24 + 'modules/core/validation.length.is' does not have a matching translation entry + pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid:13:26 + 'modules/core/validation.equal_not_verbose' does not have a matching translation entry + pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid:15:26 + 'modules/core/validation.equal' does not have a matching translation entry + pos-module-user/modules/tests/public/lib/assertions/equal.liquid:5:18 + 'modules/tests/should.equal' does not have a matching translation entry + pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid:9:24 + 'modules/tests/should.have_key' does not have a matching translation entry + pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid:13:26 + 'modules/tests/should.have_key_with_value' does not have a matching translation entry + pos-module-user/modules/tests/public/views/layouts/mailer.html.liquid:153:14 + 'app.title' does not have a matching translation entry + pos-module-user/modules/user/public/lib/commands/emails/auth-link.liquid:12:22 + 'modules/user/emails.from_email' does not have a matching translation entry + pos-module-user/modules/user/public/lib/commands/emails/auth-link.liquid:13:25 + 'modules/user/emails.passwords.reset.subject' does not have a matching translation entry + pos-module-user/modules/user/public/lib/commands/user/create/check.liquid:14:24 + 'modules/user/validation.user_exists' does not have a matching translation entry + pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid:23:21 + 'modules/user/authorization.redirect_anonymous_info' does not have a matching translation entry + pos-module-user/modules/user/public/lib/queries/user/otp.liquid:7:19 + 'app.title' does not have a matching translation entry + pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid:18:21 + 'modules/user/2fa.create.success' does not have a matching translation entry + pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid:18:21 + 'modules/user/2fa.delete.success' does not have a matching translation entry + pos-module-user/modules/user/public/views/pages/users/email/update.liquid:27:22 + 'modules/user/users.email.change_success' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/disable.liquid:3:8 + 'modules/user/2fa.disable.two_factor_authentication' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/disable.liquid:11:34 + 'modules/user/2fa.new.your_password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/disable.liquid:17:12 + 'modules/user/2fa.new.confirm_otp_code' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/disable.liquid:20:34 + 'modules/user/2fa.new.please_confirm' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/disable.liquid:27:14 + 'modules/user/2fa.new.submit' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:3:8 + 'modules/user/2fa.new.two_factor_authentication' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:11:14 + 'modules/user/2fa.new.2fa_info' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:15:14 + 'modules/user/2fa.new.scan_qr_code' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:23:14 + 'modules/user/2fa.new.if_you_cannot_scan' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:29:36 + 'modules/user/2fa.new.please_confirm' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:35:38 + 'modules/user/2fa.new.enter_password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:36:16 + 'modules/user/2fa.new.your_password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/setup.liquid:43:16 + 'modules/user/2fa.new.submit' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/verify.liquid:3:8 + 'modules/user/2fa.new.two_factor_authentication' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/verify.liquid:12:10 + 'modules/user/2fa.new.confirm_otp_code' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/verify.liquid:15:10 + 'modules/user/2fa.new.please_confirm' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/verify.liquid:23:12 + 'modules/user/2fa.new.submit' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/2fa/verify.liquid:27:66 + 'modules/user/sessions.new.back_to_login' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/emails/passwords/reset.liquid:1:22 + 'modules/user/emails.passwords.reset.title' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/emails/passwords/reset.liquid:3:7 + 'modules/user/emails.passwords.reset.content' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/emails/passwords/reset.liquid:4:7 + 'modules/user/emails.passwords.reset.ignore' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/emails/passwords/reset.liquid:10:31 + 'modules/user/emails.passwords.reset.cta' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/emails/passwords/reset.liquid:13:12 + 'modules/user/emails.passwords.reset.cta_button' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/oauth/listing.liquid:11:8 + 'modules/user/oauth.app.no_providers_available' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/oauth/providers.liquid:4:14 + 'modules/user/sessions.new.social_login_separator' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/new.liquid:15:32 + 'modules/user/passwords.edit' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/new.liquid:21:41 + 'modules/user/passwords.new_password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/new.liquid:27:41 + 'modules/user/passwords.confirm_new_password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/new.liquid:33:70 + 'modules/user/passwords.password_update' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:15:32 + 'modules/user/passwords.reset_password_title' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:17:9 + 'modules/user/passwords.email_desc' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:24:38 + 'modules/user/passwords.email' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:32:70 + 'modules/user/passwords.reset_password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:37:38 + 'modules/user/passwords.remembered_password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/passwords/reset.liquid:37:117 + 'modules/user/sessions.new.log_in' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:13:32 + 'modules/user/sessions.new.log_in' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:20:38 + 'modules/user/passwords.email' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:27:43 + 'modules/user/passwords.password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:28:39 + 'modules/user/passwords.forgot' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:35:70 + 'modules/user/sessions.new.log_in' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:40:38 + 'modules/user/sessions.new.dont_have_account' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/sessions/new.liquid:40:115 + 'modules/user/sessions.new.request_to_join' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:15:32 + 'modules/user/users.email.change_email' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:22:41 + 'modules/user/users.email.new_email' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:28:41 + 'modules/user/users.email.current_password' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:35:10 + 'modules/user/2fa.new.confirm_otp_code' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:38:36 + 'modules/user/2fa.new.please_confirm' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/email/edit.liquid:45:70 + 'modules/user/users.email.email_update' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/new.liquid:17:32 + 'modules/user/users.new.create_account' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/new.liquid:64:70 + 'modules/user/passwords.register' does not have a matching translation entry + pos-module-user/modules/user/public/views/partials/users/new.liquid:69:38 + 'modules/user/users.new.already_have_account' does not have a matching translation entry + +[UnknownFilter] (8 errors) +-------------------------------------------------------------------------------- + pos-module-chat/modules/user/public/lib/commands/profiles/tokenize_names.liquid:2:31 + Unknown filter 'push' used. + pos-module-chat/modules/user/public/lib/commands/profiles/tokenize_names.liquid:2:52 + Unknown filter 'push' used. + pos-module-chat/modules/user/public/lib/commands/profiles/tokenize_names.liquid:2:78 + Unknown filter 'push' used. + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid:4:72 + Unknown filter 'push' used. + pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid:5:72 + Unknown filter 'push' used. + pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid:2:31 + Unknown filter 'push' used. + pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid:2:52 + Unknown filter 'push' used. + pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid:2:78 + Unknown filter 'push' used. diff --git a/pos-module-chat/modules/chat/public/lib/consumers/chat_message_created/notify_of_new_message.liquid b/pos-module-chat/modules/chat/public/lib/consumers/chat_message_created/notify_of_new_message.liquid index 6c653ab..5975f6b 100644 --- a/pos-module-chat/modules/chat/public/lib/consumers/chat_message_created/notify_of_new_message.liquid +++ b/pos-module-chat/modules/chat/public/lib/consumers/chat_message_created/notify_of_new_message.liquid @@ -7,7 +7,7 @@ assign last_message = g.messages.results.first if last_message.id == message.id - assign event_object = null | hash_merge: message_id: message.id, app_host: app_host + assign event_object = {"message_id": message.id, "app_host": app_host} function _ = 'modules/core/commands/events/publish', type: 'message_notification_to_send', object: event_object endif diff --git a/pos-module-chat/modules/chat/public/lib/events/chat_message_created.liquid b/pos-module-chat/modules/chat/public/lib/events/chat_message_created.liquid index ebbac75..8fc8d8b 100644 --- a/pos-module-chat/modules/chat/public/lib/events/chat_message_created.liquid +++ b/pos-module-chat/modules/chat/public/lib/events/chat_message_created.liquid @@ -5,7 +5,7 @@ metadata: app_host --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'message_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'app_host' diff --git a/pos-module-chat/modules/chat/public/lib/events/message_notification_to_send.liquid b/pos-module-chat/modules/chat/public/lib/events/message_notification_to_send.liquid index ebbac75..8fc8d8b 100644 --- a/pos-module-chat/modules/chat/public/lib/events/message_notification_to_send.liquid +++ b/pos-module-chat/modules/chat/public/lib/events/message_notification_to_send.liquid @@ -5,7 +5,7 @@ metadata: app_host --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'message_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'app_host' diff --git a/pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid b/pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid index b8dc19c..75f5756 100644 --- a/pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid +++ b/pos-module-chat/modules/chat/public/views/pages/inbox.html.liquid @@ -11,7 +11,7 @@ slug: inbox if context.params.to_uuid != blank function record = 'modules/chat/lib/queries/records/find_by_uuid', uuid: context.params['to_uuid'] endif - assign object = null | hash_merge: to_id: record.id, conversation_id: context.params['conversation_id'] + assign object = {"to_id": record.id, "conversation_id": context.params['conversation_id']} if record or context.params.conversation_id function current_conversation = 'modules/chat/lib/commands/conversations/find_or_create', object: object, current_profile: current_profile endif diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create.liquid index 0e5ac19..455ce2a 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/commands/messages/create.liquid @@ -5,7 +5,7 @@ if object.valid function object = 'modules/core/commands/execute', mutation_name: 'modules/chat/messages/create' object: object, selection: 'record_create' - assign event_object = null | hash_merge: message_id: object.id, app_host: context.location.host + assign event_object = {"message_id": object.id, "app_host": context.location.host} function _ = 'modules/core/commands/events/publish', type: 'chat_message_created', object: event_object, delay: null, max_attempts: null endif diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid index 0177666..cf1dcf2 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid @@ -12,7 +12,7 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants << profile + assign participants = participants << profile endfor assign conversation.participants = participants diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid index 81fd303..26d5ca8 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid @@ -18,7 +18,7 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants << profile + assign participants = participants << profile endfor assign conversation.participants = participants diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid index c7ecc72..a116e95 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid @@ -13,7 +13,7 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants << profile + assign participants = participants << profile endfor assign conversation.participants = participants diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid index e775b30..c38589a 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid @@ -10,11 +10,11 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants << profile + assign participants = participants << profile endfor assign conversation.participants = participants - assign conversations << conversation + assign conversations = conversations << conversation endfor assign result.results = conversations diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid index 4b54064..47f51e9 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid @@ -16,11 +16,11 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants << profile + assign participants = participants << profile endfor assign conversation.participants = participants - assign conversations << conversation + assign conversations = conversations << conversation endfor assign result.results = conversations diff --git a/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid b/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid index 1bc8167..95a608a 100644 --- a/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid +++ b/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid @@ -1140,7 +1140,7 @@ layout: 'modules/common-styling/style-guide' assign value = 'value' | append: i assign label = 'Label for value ' | append: i assign example_item = { "value": value, "label": label } - assign example_list = example_list | add_to_array: example_item + assign example_list = example_list << example_item assign selected = ["value0", "value5", "value6"] endfor %} @@ -1167,7 +1167,7 @@ layout: 'modules/common-styling/style-guide'

There are two partials that can be helpful when dealing with forms validation. One can be added to the input itself to handle usability code and the other can output the error message.

{% liquid - assign errors = '{ "styleguide-example-error": ["This is a field with two errors", "This is the second error"] }' | parse_json + assign errors = { "styleguide-example-error": ["This is a field with two errors", "This is the second error"] } %}
diff --git a/pos-module-chat/modules/core/generators/command/templates/lib/commands/create/build.liquid b/pos-module-chat/modules/core/generators/command/templates/lib/commands/create/build.liquid index 6a83151..1fc2591 100644 --- a/pos-module-chat/modules/core/generators/command/templates/lib/commands/create/build.liquid +++ b/pos-module-chat/modules/core/generators/command/templates/lib/commands/create/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign data = null | hash_merge: id: object.id, name: object.name + assign data = {"id": object.id, "name": object.name} return data %} diff --git a/pos-module-chat/modules/core/generators/command/templates/lib/commands/create/check.liquid b/pos-module-chat/modules/core/generators/command/templates/lib/commands/create/check.liquid index 8f3da9c..2c53a6c 100644 --- a/pos-module-chat/modules/core/generators/command/templates/lib/commands/create/check.liquid +++ b/pos-module-chat/modules/core/generators/command/templates/lib/commands/create/check.liquid @@ -1,10 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid b/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid index df36e79..caf4d8d 100644 --- a/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid +++ b/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid @@ -1,11 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } <% attributes.forEach((attr, i) => { -%> function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' <% }); -%> - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid b/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid index 4ae7fc6..4fada40 100644 --- a/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid +++ b/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid @@ -1,9 +1,10 @@ {% liquid - assign c = '{ "valid": true, "errors": {} }' | parse_json + assign c = { "valid": true, "errors": {} } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid b/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid index c991577..cffe564 100644 --- a/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid +++ b/pos-module-chat/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid @@ -1,12 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' <% attributes.forEach((attr, i) => { -%> function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' <% }); -%> - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/public/lib/commands/email/send.liquid b/pos-module-chat/modules/core/public/lib/commands/email/send.liquid index bd0a46e..08b61e8 100644 --- a/pos-module-chat/modules/core/public/lib/commands/email/send.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/email/send.liquid @@ -7,8 +7,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif else log object.errors, type: 'payload validation error in core: commands/email' diff --git a/pos-module-chat/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-chat/modules/core/public/lib/commands/email/send/check.liquid index 83f4269..b2d0e28 100644 --- a/pos-module-chat/modules/core/public/lib/commands/email/send/check.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/email/send/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-chat/modules/core/public/lib/commands/events/broadcast.liquid index 5cf9440..6558c07 100644 --- a/pos-module-chat/modules/core/public/lib/commands/events/broadcast.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/events/broadcast.liquid @@ -8,7 +8,7 @@ assign name = 'consumers/' | append: object.type | append: '/' graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" - hash_assign object['consumers'] = consumers + assign object.consumers = consumers for consumer in consumers assign priority = 'default' if priorities contains consumer.metadata.priority diff --git a/pos-module-chat/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-chat/modules/core/public/lib/commands/events/create/build.liquid index 8276ea4..34dd532 100644 --- a/pos-module-chat/modules/core/public/lib/commands/events/create/build.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/events/create/build.liquid @@ -1,6 +1,8 @@ {% liquid assign now = 'now' | to_time - assign data = object | hash_merge: type: type, date: now + assign data = object + assign data.type = type + assign data.date = now return data %} diff --git a/pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid index b4f2878..07d352e 100644 --- a/pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/events/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date' @@ -17,14 +17,16 @@ if event_check_partial function event_result = event_check_partial.path, event: object if event_result.valid != true - hash_assign c['errors']['object'] = event_result.errors - hash_assign c['valid'] = false + assign c.errors.object = event_result.errors + assign c.valid = false endif else assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message endif - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-chat/modules/core/public/lib/commands/events/create/execute.liquid index bff75bf..326537b 100644 --- a/pos-module-chat/modules/core/public/lib/commands/events/create/execute.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/events/create/execute.liquid @@ -2,7 +2,7 @@ graphql r = 'modules/core/events/create', payload: object assign object = r.activity_create.payload - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-chat/modules/core/public/lib/commands/execute.liquid b/pos-module-chat/modules/core/public/lib/commands/execute.liquid index 0c9e1cd..e68f82d 100644 --- a/pos-module-chat/modules/core/public/lib/commands/execute.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/execute.liquid @@ -7,6 +7,6 @@ endif assign object = r[selection] - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid index d2872ca..f374185 100644 --- a/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results | add_to_array: h_result + assign results = results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results | add_to_array: hook_result + assign results = results << hook_result endif endif endfor diff --git a/pos-module-chat/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-chat/modules/core/public/lib/commands/statuses/create/check.liquid index acbcb25..a264652 100644 --- a/pos-module-chat/modules/core/public/lib/commands/statuses/create/check.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/statuses/create/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-chat/modules/core/public/lib/commands/statuses/delete/build.liquid index d26bbdf..a596cdb 100644 --- a/pos-module-chat/modules/core/public/lib/commands/statuses/delete/build.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = null | hash_merge: id: id + assign object = {"id": id} return object %} diff --git a/pos-module-chat/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-chat/modules/core/public/lib/commands/statuses/delete/check.liquid index 51f8988..4fada40 100644 --- a/pos-module-chat/modules/core/public/lib/commands/statuses/delete/check.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -1,10 +1,10 @@ {% liquid - assign c = '{ "valid": true, "errors": {} }' | parse_json + assign c = { "valid": true, "errors": {} } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/public/lib/events/status_created.liquid b/pos-module-chat/modules/core/public/lib/events/status_created.liquid index 6718a16..023c478 100644 --- a/pos-module-chat/modules/core/public/lib/events/status_created.liquid +++ b/pos-module-chat/modules/core/public/lib/events/status_created.liquid @@ -8,7 +8,7 @@ metadata: payload --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id' diff --git a/pos-module-chat/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-chat/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 73e48bb..0ca414e 100644 --- a/pos-module-chat/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-chat/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -2,7 +2,7 @@ assign parameters = '' | split: ',' for pair in payload assign component = pair[0] | append: '={' | append: pair[0] | append: '}' - assign parameters = parameters | add_to_array: component + assign parameters = parameters << component endfor if parameters.size > 0 assign x_form_encoded = parameters | join: '&' | expand_url_template: payload diff --git a/pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid index 3d430eb..7cbd578 100644 --- a/pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid @@ -23,13 +23,12 @@ # platformos-check-enable ConvertIncludeToRender if format == 'json' - assign response_json = null | hash_merge: type: 'redirect', url: url + assign response_json = {"type": 'redirect', "url": url} if object.valid echo response_json else response_status 422 - assign res = '{ "errors": {} }' | parse_json - hash_assign res['errors'] = response_json.errors + assign res = { "errors": response_json.errors } echo res endif diff --git a/pos-module-chat/modules/core/public/lib/helpers/register_error.liquid b/pos-module-chat/modules/core/public/lib/helpers/register_error.liquid index 2f252ef..b64b4ce 100644 --- a/pos-module-chat/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-chat/modules/core/public/lib/helpers/register_error.liquid @@ -18,10 +18,10 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: '[]' | parse_json - assign field_errors = field_errors | add_to_array: msg + assign field_errors = field_errors << msg - hash_assign errors[field_name] = field_errors - hash_assign contract['valid'] = false + assign errors[field_name] = field_errors + assign contract.valid = false return contract %} diff --git a/pos-module-chat/modules/core/public/lib/queries/registry/search.liquid b/pos-module-chat/modules/core/public/lib/queries/registry/search.liquid index 60e1126..79da2f0 100644 --- a/pos-module-chat/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-chat/modules/core/public/lib/queries/registry/search.liquid @@ -8,18 +8,18 @@ case type when 'module' - assign modules = '[]' | parse_json + assign modules = [] for module in registry if module.type == 'module' - assign modules = modules | add_to_array: module + assign modules = modules << module endif endfor return modules when 'theme' - assign themes = '[]' | parse_json + assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes | add_to_array: module + assign themes = themes << module endif endfor return themes diff --git a/pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid index ad4b34d..9ab7d06 100644 --- a/pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid +++ b/pos-module-chat/modules/core/public/lib/validations/password_complexity.liquid @@ -29,7 +29,8 @@ endunless endif - function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: key: 'modules/core/validation.too_short', allow_blank: null + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null return c %} diff --git a/pos-module-chat/modules/core/public/lib/validations/valid_object.liquid b/pos-module-chat/modules/core/public/lib/validations/valid_object.liquid index b29a9b1..41f9359 100644 --- a/pos-module-chat/modules/core/public/lib/validations/valid_object.liquid +++ b/pos-module-chat/modules/core/public/lib/validations/valid_object.liquid @@ -12,7 +12,7 @@ if check_object.valid != true function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' assign errors_key = field_name | append: '_errors' - hash_assign c['errors'][errors_key] = check_object.errors + assign c.errors[errors_key] = check_object.errors endif endif diff --git a/pos-module-chat/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-chat/modules/core/public/views/pages/_events/trigger.liquid index 9ac9edd..c062670 100644 --- a/pos-module-chat/modules/core/public/views/pages/_events/trigger.liquid +++ b/pos-module-chat/modules/core/public/views/pages/_events/trigger.liquid @@ -12,7 +12,7 @@ slug: _events/:uuid/trigger else assign name = 'consumers/' | append: event.type | append: '/' graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" - hash_assign event['consumers'] = consumers + assign event.consumers = consumers endif render 'modules/core/events/show', event: event diff --git a/pos-module-chat/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-chat/modules/core/public/views/partials/lib/commands/email/send.liquid index e6ad1be..1818aa7 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/commands/email/send.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -8,8 +8,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif else log object.errors, type: 'payload validation error in core: lib/commands/email' diff --git a/pos-module-chat/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-chat/modules/core/public/views/partials/lib/commands/email/send/check.liquid index 83f4269..b2d0e28 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/commands/email/send/check.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid index ec71ae5..e21adf6 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results | add_to_array: h_result + assign results = results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results | add_to_array: hook_result + assign results = results << hook_result endif endif endfor diff --git a/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid index a449ea4..ee5c2a2 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -18,10 +18,10 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors | add_to_array: msg + assign field_errors = field_errors << msg - hash_assign errors[field_name] = field_errors - hash_assign contract['valid'] = false + assign errors[field_name] = field_errors + assign contract.valid = false return contract %} diff --git a/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid index 7d9294a..99f2945 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules << module + assign modules = modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes << module + assign themes = themes << module endif endfor return themes diff --git a/pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid index d5848f6..e78516e 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -27,7 +27,8 @@ endunless endif - function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: key: 'modules/core/validation.too_short', allow_blank: null + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null return c %} diff --git a/pos-module-chat/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-chat/modules/core/public/views/partials/lib/validations/valid_object.liquid index 7b1b317..f0adacc 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/validations/valid_object.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -13,7 +13,7 @@ if check_object.valid != true function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' assign errors_key = field_name | append: '_errors' - hash_assign c['errors'][errors_key] = check_object.errors + assign c.errors[errors_key] = check_object.errors endif endif diff --git a/pos-module-chat/modules/user/public/lib/commands/authentication_links/create.liquid b/pos-module-chat/modules/user/public/lib/commands/authentication_links/create.liquid index 3babc6a..4bdb0c9 100644 --- a/pos-module-chat/modules/user/public/lib/commands/authentication_links/create.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/authentication_links/create.liquid @@ -4,7 +4,7 @@ if object.valid function object = 'modules/user/commands/authentication_links/create/execute', object: object - assign event_payload = null | hash_merge: email: email + assign event_payload = {"email": email} function _ = 'modules/core/commands/events/publish', type: 'authentication_link_created', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-chat/modules/user/public/lib/commands/authentication_links/create/check.liquid b/pos-module-chat/modules/user/public/lib/commands/authentication_links/create/check.liquid index cdd52a2..d02f145 100644 --- a/pos-module-chat/modules/user/public/lib/commands/authentication_links/create/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/authentication_links/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'host' @@ -9,8 +9,8 @@ function c = 'modules/core/validations/hcaptcha', c: c, hcaptcha_params: hcaptcha_params endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/authentication_links/create/execute.liquid b/pos-module-chat/modules/user/public/lib/commands/authentication_links/create/execute.liquid index 2b5ea1e..2044a86 100644 --- a/pos-module-chat/modules/user/public/lib/commands/authentication_links/create/execute.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/authentication_links/create/execute.liquid @@ -1,6 +1,6 @@ {% liquid if object.valid - hash_assign object['url'] = 'https://{host}/passwords/new?token={token}&email={email}' | expand_url_template: object + assign object.url = 'https://{host}/passwords/new?token={token}&email={email}' | expand_url_template: object endif return object diff --git a/pos-module-chat/modules/user/public/lib/commands/oauth/create_user.liquid b/pos-module-chat/modules/user/public/lib/commands/oauth/create_user.liquid index 682ec96..593beeb 100644 --- a/pos-module-chat/modules/user/public/lib/commands/oauth/create_user.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/oauth/create_user.liquid @@ -1,8 +1,7 @@ {% liquid assign password = 30 | random_string assign full_name = user_first_name | append: " " | append: user_last_name - assign object = "{}" | parse_json | hash_merge: email: user_email - assign object = object | hash_merge: firstName: user_first_name, lastName: user_last_name, fullName: full_name + assign object = {"email": user_email, "firstName": user_first_name, "lastName": user_last_name, "fullName": full_name} function new_user = "modules/user/commands/user/create", first_name: user_first_name, last_name: user_last_name, email: user_email, password: password, hook_params: object return new_user diff --git a/pos-module-chat/modules/user/public/lib/commands/passwords/create.liquid b/pos-module-chat/modules/user/public/lib/commands/passwords/create.liquid index fb11f56..061474f 100644 --- a/pos-module-chat/modules/user/public/lib/commands/passwords/create.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/passwords/create.liquid @@ -4,7 +4,7 @@ if object.valid function object = 'modules/user/commands/passwords/create/execute', object: object - assign event_payload = null | hash_merge: user_id: object.user_id + assign event_payload = {"user_id": object.user_id} function _ = 'modules/core/commands/events/publish', type: 'password_created', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid b/pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid index 877fbe9..d89abb5 100644 --- a/pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/passwords/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' @@ -7,8 +7,8 @@ function c = 'modules/core/validations/equal', c: c, given: object.password, expected: object.password_confirmation, field_name: 'password_confirmation', key: 'modules/user/validation.password.do_not_match', not_verbose: true, message: null function c = 'modules/core/validations/password_complexity', c: c, object: object, field_name: 'password', key: null - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/passwords/create/execute.liquid b/pos-module-chat/modules/user/public/lib/commands/passwords/create/execute.liquid index 4c0a7fd..d5a365b 100644 --- a/pos-module-chat/modules/user/public/lib/commands/passwords/create/execute.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/passwords/create/execute.liquid @@ -4,8 +4,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif return object diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid index 3c60414..9a121c7 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid @@ -4,11 +4,11 @@ assign uuid = object.uuid | default: uuid_new assign name = object.first_name | append: ' ' | append: object.last_name - assign data = null | hash_merge: first_name: object.first_name, last_name: object.last_name, user_id: object.user_id, email: object.email, uuid: uuid, name: name, c__names: tokenized_names + assign data = {"first_name": object.first_name, "last_name": object.last_name, "user_id": object.user_id, "email": object.email, "uuid": uuid, "name": name, "c__names": tokenized_names} if object.roles == null assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles << context.constants.USER_DEFAULT_ROLE + assign roles = roles << context.constants.USER_DEFAULT_ROLE endif else assign roles_type = object.roles | type_of @@ -21,11 +21,11 @@ assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles << context.constants.USER_DEFAULT_ROLE + assign roles = roles << context.constants.USER_DEFAULT_ROLE endif endif endif - hash_assign data['roles'] = roles + assign data.roles = roles return data %} diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid index 2c9b645..3af8b4b 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'user_id' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'user_id', table: 'modules/user/profile', scope_name: null, exclude_name: null @@ -8,7 +8,9 @@ function c = 'modules/core/validations/length', c: c, object: object, field_name: 'first_name', maximum: 40, allow_blank: null function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/delete/build.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/delete/build.liquid index d10a19e..3536a27 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/delete/build.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/delete/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: id: object.id + assign data = {"id": object.id} return data %} diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/delete/check.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/delete/check.liquid index 67e2c81..de59d59 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/delete/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/delete/check.liquid @@ -1,9 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid index c6052e7..843fbc5 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/append.liquid @@ -3,7 +3,7 @@ function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/append' if object.errors == blank - assign event_payload = null | hash_merge: profile_id: id, role: role + assign event_payload = {"profile_id": id, "role": role} function _ = 'modules/core/commands/events/publish', type: 'user_role_appended', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid index 45ef598..21e2b56 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/remove.liquid @@ -3,7 +3,7 @@ function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/remove' if object.errors == blank - assign event_payload = null | hash_merge: profile_id: id, role: role + assign event_payload = {"profile_id": id, "role": role} function _ = 'modules/core/commands/events/publish', type: 'user_role_removed', object: event_payload, delay: null, max_attempts: null endif return object diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid index b912b18..e557fc4 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/roles/set.liquid @@ -3,7 +3,7 @@ function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/set' if object.errors == blank - assign event_payload = null | hash_merge: profile_id: id, roles: roles + assign event_payload = {"profile_id": id, "roles": roles} function _ = 'modules/core/commands/events/publish', type: 'user_roles_set', object: event_payload, delay: null, max_attempts: null endif return object diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/update/build.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/update/build.liquid index 43f68e6..1095444 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/update/build.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/update/build.liquid @@ -1,7 +1,7 @@ {% liquid function tokenized_names = 'modules/user/commands/profiles/tokenize_names', object: object assign name = object.first_name | append: ' ' | append: object.last_name - assign data = null | hash_merge: id: profile.id, first_name: object.first_name, last_name: object.last_name, name: name, c__names: tokenized_names, email: profile.email + assign data = {"id": profile.id, "first_name": object.first_name, "last_name": object.last_name, "name": name, "c__names": tokenized_names, "email": profile.email} return data %} diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid index 4704506..7820df7 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/update/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'email', table: 'modules/user/profile', scope_name: null, exclude_name: null @@ -8,7 +8,10 @@ function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null - assign object = object | hash_merge: c + assign object.valid = c.valid + + + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/session/create.liquid b/pos-module-chat/modules/user/public/lib/commands/session/create.liquid index 1af717e..2b54c6a 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/create.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/create.liquid @@ -32,11 +32,11 @@ sign_in user_id: user.id assign params = { "user": user, "hook_params": hook_params } function results = 'modules/core/commands/hook/fire', hook: 'user_login', params: params, merge_to_object: true - hash_assign user['hook_results'] = results + assign user.hook_results = results endif - hash_assign object['user'] = user + assign object.user = user - assign event_payload = null | hash_merge: user_id: object.id + assign event_payload = {"user_id": object.id} function _ = 'modules/core/commands/events/publish', type: 'user_signed_in', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-chat/modules/user/public/lib/commands/session/create/check.liquid b/pos-module-chat/modules/user/public/lib/commands/session/create/check.liquid index a8e6310..8b23983 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/create/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/create/check.liquid @@ -1,10 +1,10 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid b/pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid index 3a26f10..55fdfbd 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/destroy.liquid @@ -5,13 +5,13 @@ function current_profile = 'modules/user/helpers/current_profile' graphql destroy = 'modules/user/session/destroy' - hash_assign destroy['user'] = current_profile.user + assign destroy.user = current_profile.user unless destroy.errors assign params = { "destroy": destroy } function results = 'modules/core/commands/hook/fire', hook: 'user_logout', params: params, merge_to_object: null - hash_assign destroy['hook_results'] = results - assign event_payload = null | hash_merge: user_id: current_profile.user.id + assign destroy.hook_results = results + assign event_payload = {"user_id": current_profile.user.id} function _ = 'modules/core/commands/events/publish', type: 'user_logout', object: event_payload, delay: null, max_attempts: null session original_user_id = null session return_to = null diff --git a/pos-module-chat/modules/user/public/lib/commands/session/impersonation/create.liquid b/pos-module-chat/modules/user/public/lib/commands/session/impersonation/create.liquid index 55e3b14..3ac488c 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/impersonation/create.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/impersonation/create.liquid @@ -5,7 +5,7 @@ sign_in user_id: object.id session original_user_id = object.current_user_id - assign event_object = null | hash_merge: actor_id: object.current_user_id, target_id: object.user_id + assign event_object = {"actor_id": object.current_user_id, "target_id": object.user_id} function _ = 'modules/core/commands/events/publish', type: 'impersonation_started', object: event_object, delay: null, max_attempts: null endif diff --git a/pos-module-chat/modules/user/public/lib/commands/session/impersonation/create/check.liquid b/pos-module-chat/modules/user/public/lib/commands/session/impersonation/create/check.liquid index 3298544..6441fe5 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/impersonation/create/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/impersonation/create/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy.liquid b/pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy.liquid index d50546a..d7f58b4 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy.liquid @@ -6,7 +6,7 @@ sign_in user_id: object.id session original_user_id = null - assign event_object = null | hash_merge: actor_id: object.id , impersonated_user_id: object.current_user_id + assign event_object = {"actor_id": object.id, "impersonated_user_id": object.current_user_id} function _ = 'modules/core/commands/events/publish', type: 'impersonation_ended', object: event_object, delay: null, max_attempts: null endif diff --git a/pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid b/pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid index 3298544..6441fe5 100644 --- a/pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/user/create.liquid b/pos-module-chat/modules/user/public/lib/commands/user/create.liquid index 29331b6..c779f20 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/create.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/create.liquid @@ -17,14 +17,14 @@ function object = 'modules/user/commands/user/create/check', object: object if object.valid function user = 'modules/core/commands/execute', mutation_name: 'modules/user/user/create', object: object, selection: 'user' - hash_assign object['user_id'] = user.id + assign object.user_id = user.id function profile = 'modules/user/commands/profiles/create', object: object if profile.valid != true return profile endif - assign event_payload = null | hash_merge: user_id: user.id + assign event_payload = {"user_id": user.id} function _ = 'modules/core/commands/events/publish', type: 'user_created', object: event_payload, delay: null, max_attempts: null return user diff --git a/pos-module-chat/modules/user/public/lib/commands/user/create/build.liquid b/pos-module-chat/modules/user/public/lib/commands/user/create/build.liquid index 361605f..29e474d 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/create/build.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/create/build.liquid @@ -8,6 +8,6 @@ } {% endparse_json %} -{% hash_assign object['roles'] = roles %} +{% assign object.roles = roles %} {% return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid b/pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid index ca33f4e..6ed650f 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'first_name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'last_name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' @@ -16,8 +16,8 @@ endif endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/user/delete.liquid b/pos-module-chat/modules/user/public/lib/commands/user/delete.liquid index c220cfd..4826eb0 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/delete.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/delete.liquid @@ -10,9 +10,9 @@ unless user.errors assign params = { "user": user.user } function results = 'modules/core/commands/hook/fire', hook: 'user_delete', params: params, merge_to_object: null - hash_assign user['hook_results'] = results + assign user.hook_results = results - assign event_payload = null | hash_merge: user_id: id + assign event_payload = {"user_id": id} function _ = 'modules/core/commands/events/publish', type: 'user_deleted', object: event_payload, delay: null, max_attempts: null endunless diff --git a/pos-module-chat/modules/user/public/lib/commands/user/update.liquid b/pos-module-chat/modules/user/public/lib/commands/user/update.liquid index c28a241..eab0c9b 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/update.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/update.liquid @@ -15,7 +15,7 @@ if object.valid graphql user = 'modules/user/user/update', args: object - hash_assign object['update_result'] = user + assign object.update_result = user unless user.errors assign params = { "updated_user": user.user, "hook_params": hook_params } # todo: merge_to_object for hooks with the same name will overwrite the validity of previous results @@ -23,15 +23,15 @@ for result in results # using the errors key for a quick workaround for now if result[1].valid == false or result[1].errors != blank - hash_assign object['valid'] = false - hash_assign object['errors'] = result[1].errors + assign object.valid = false + assign object.errors = result[1].errors break endif endfor - hash_assign object['hook_results'] = results + assign object.hook_results = results endunless - assign event_payload = null | hash_merge: user_id: object.id + assign event_payload = {"user_id": object.id} function _ = 'modules/core/commands/events/publish', type: 'user_updated', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-chat/modules/user/public/lib/commands/user/update/check.liquid b/pos-module-chat/modules/user/public/lib/commands/user/update/check.liquid index 3719f9e..8b83498 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/update/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/update/check.liquid @@ -1,12 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } if object['email'] function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid b/pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid index 19a55b6..390b6df 100644 --- a/pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/user/verify_password/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' @@ -10,11 +10,11 @@ assign user = user.users.results.first function c = 'modules/core/validations/truthy', c: c, field_name: 'password', object: user.authenticate, key: 'modules/user/validation.invalid_email_or_password' - hash_assign object['id'] = user.id + assign object.id = user.id endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-chat/modules/user/public/lib/events/authentication_link_created.liquid b/pos-module-chat/modules/user/public/lib/events/authentication_link_created.liquid index 6a9dfa1..d770000 100644 --- a/pos-module-chat/modules/user/public/lib/events/authentication_link_created.liquid +++ b/pos-module-chat/modules/user/public/lib/events/authentication_link_created.liquid @@ -4,7 +4,7 @@ metadata: email --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'email' diff --git a/pos-module-chat/modules/user/public/lib/events/impersonation_ended.liquid b/pos-module-chat/modules/user/public/lib/events/impersonation_ended.liquid index 0281e88..4fac38b 100644 --- a/pos-module-chat/modules/user/public/lib/events/impersonation_ended.liquid +++ b/pos-module-chat/modules/user/public/lib/events/impersonation_ended.liquid @@ -5,7 +5,7 @@ metadata: impersonation_ended --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'impersonation_ended' diff --git a/pos-module-chat/modules/user/public/lib/events/impersonation_started.liquid b/pos-module-chat/modules/user/public/lib/events/impersonation_started.liquid index 258fb32..ae05962 100644 --- a/pos-module-chat/modules/user/public/lib/events/impersonation_started.liquid +++ b/pos-module-chat/modules/user/public/lib/events/impersonation_started.liquid @@ -6,7 +6,7 @@ metadata: --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'target_id' diff --git a/pos-module-chat/modules/user/public/lib/events/password_created.liquid b/pos-module-chat/modules/user/public/lib/events/password_created.liquid index 427444a..fb629b9 100644 --- a/pos-module-chat/modules/user/public/lib/events/password_created.liquid +++ b/pos-module-chat/modules/user/public/lib/events/password_created.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-chat/modules/user/public/lib/events/user_created.liquid b/pos-module-chat/modules/user/public/lib/events/user_created.liquid index 427444a..fb629b9 100644 --- a/pos-module-chat/modules/user/public/lib/events/user_created.liquid +++ b/pos-module-chat/modules/user/public/lib/events/user_created.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-chat/modules/user/public/lib/events/user_deleted.liquid b/pos-module-chat/modules/user/public/lib/events/user_deleted.liquid index 427444a..fb629b9 100644 --- a/pos-module-chat/modules/user/public/lib/events/user_deleted.liquid +++ b/pos-module-chat/modules/user/public/lib/events/user_deleted.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-chat/modules/user/public/lib/events/user_logout.liquid b/pos-module-chat/modules/user/public/lib/events/user_logout.liquid index 427444a..fb629b9 100644 --- a/pos-module-chat/modules/user/public/lib/events/user_logout.liquid +++ b/pos-module-chat/modules/user/public/lib/events/user_logout.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-chat/modules/user/public/lib/events/user_role_appended.liquid b/pos-module-chat/modules/user/public/lib/events/user_role_appended.liquid index a0936bb..c387738 100644 --- a/pos-module-chat/modules/user/public/lib/events/user_role_appended.liquid +++ b/pos-module-chat/modules/user/public/lib/events/user_role_appended.liquid @@ -5,7 +5,7 @@ metadata: role --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role' diff --git a/pos-module-chat/modules/user/public/lib/events/user_role_removed.liquid b/pos-module-chat/modules/user/public/lib/events/user_role_removed.liquid index a0936bb..c387738 100644 --- a/pos-module-chat/modules/user/public/lib/events/user_role_removed.liquid +++ b/pos-module-chat/modules/user/public/lib/events/user_role_removed.liquid @@ -5,7 +5,7 @@ metadata: role --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role' diff --git a/pos-module-chat/modules/user/public/lib/events/user_roles_set.liquid b/pos-module-chat/modules/user/public/lib/events/user_roles_set.liquid index 65253d7..591cfb4 100644 --- a/pos-module-chat/modules/user/public/lib/events/user_roles_set.liquid +++ b/pos-module-chat/modules/user/public/lib/events/user_roles_set.liquid @@ -5,7 +5,7 @@ metadata: roles --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' function c = 'modules/core/validations/length', c: c, object: event, field_name: 'roles', minimum: 0, allow_blank: false diff --git a/pos-module-chat/modules/user/public/lib/events/user_signed_in.liquid b/pos-module-chat/modules/user/public/lib/events/user_signed_in.liquid index 427444a..fb629b9 100644 --- a/pos-module-chat/modules/user/public/lib/events/user_signed_in.liquid +++ b/pos-module-chat/modules/user/public/lib/events/user_signed_in.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-chat/modules/user/public/lib/events/user_updated.liquid b/pos-module-chat/modules/user/public/lib/events/user_updated.liquid index 427444a..fb629b9 100644 --- a/pos-module-chat/modules/user/public/lib/events/user_updated.liquid +++ b/pos-module-chat/modules/user/public/lib/events/user_updated.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid b/pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid index b56072e..3dc7e45 100644 --- a/pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid +++ b/pos-module-chat/modules/user/public/lib/helpers/current_profile.liquid @@ -4,11 +4,11 @@ assign current_profile = { "user": null, "roles": ["anonymous"] } else function current_profile = 'modules/user/queries/profiles/find', user_id: user.id, id: null, uuid: null, first_name: null, last_name: null - assign current_profile = current_profile | hash_merge: user: user + assign current_profile.user = user if current_profile.roles != null - hash_assign current_profile['roles'] = current_profile.roles << 'authenticated' + assign current_profile.roles << 'authenticated' else - hash_assign current_profile['roles'] = ["authenticated"] + assign current_profile.roles = ["authenticated"] endif endif diff --git a/pos-module-chat/modules/user/public/lib/helpers/flash.liquid b/pos-module-chat/modules/user/public/lib/helpers/flash.liquid index 5087333..7779ad6 100644 --- a/pos-module-chat/modules/user/public/lib/helpers/flash.liquid +++ b/pos-module-chat/modules/user/public/lib/helpers/flash.liquid @@ -14,7 +14,7 @@ assign message = info | t assign severity = 'info' endif - assign flash = null | hash_merge: message: message, severity: severity, from: context.location.pathname, force_clear: force_clear + assign flash = {"message": message, "severity": severity, "from": context.location.pathname, "force_clear": force_clear} function _ = 'modules/core/commands/session/set', key: 'sflash', value: flash diff --git a/pos-module-chat/modules/user/public/lib/helpers/get_available_oauth_providers.liquid b/pos-module-chat/modules/user/public/lib/helpers/get_available_oauth_providers.liquid index 86ceef8..7153b6c 100644 --- a/pos-module-chat/modules/user/public/lib/helpers/get_available_oauth_providers.liquid +++ b/pos-module-chat/modules/user/public/lib/helpers/get_available_oauth_providers.liquid @@ -1,5 +1,5 @@ {% liquid - assign available_providers = "{}" | parse_json + assign available_providers = {} assign keys = context.constants | hash_keys for item in keys assign starts_with = item | start_with: "OAUTH2_" @@ -12,13 +12,9 @@ assign client_id_key = "OAUTH2_" | append: provider_id | append: "_CLIENT_ID" assign secret_value_key = "OAUTH2_" | append: provider_id | append: "_SECRET_VALUE" - assign provider_data = "{}" | parse_json - hash_assign provider_data['key'] = context.constants[provider_key] - hash_assign provider_data['name'] = context.constants[name_key] - hash_assign provider_data['client_id'] = context.constants[client_id_key] - hash_assign provider_data['secret_value'] = context.constants[secret_value_key] + assign provider_data = { "key": context.constants[provider_key], "name": context.constants[name_key], "client_id": context.constants[client_id_key], "secret_value": context.constants[secret_value_key] } - hash_assign available_providers[provider_id] = provider_data + assign available_providers[provider_id] = provider_data endif endfor diff --git a/pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid b/pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid index 85da299..85b367f 100644 --- a/pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid +++ b/pos-module-chat/modules/user/public/lib/queries/profiles/filters.liquid @@ -4,10 +4,10 @@ "first_name_asc": { "properties": { "name": "first_name", "order": "ASC" }} } assign filters = {} - hash_assign filters['page'] = params.page | to_positive_integer: 1 - hash_assign filters['keyword'] = params.keyword | default: '' - hash_assign filters['sort_by'] = params.sort_by | default: 'first_name_desc' - hash_assign filters['sort'] = sort_options[filters.sort_by] + assign filters.page = params.page | to_positive_integer: 1 + assign filters.keyword = params.keyword | default: '' + assign filters.sort_by = params.sort_by | default: 'first_name_desc' + assign filters.sort = sort_options[filters.sort_by] return filters %} diff --git a/pos-module-chat/modules/user/public/lib/queries/profiles/find.liquid b/pos-module-chat/modules/user/public/lib/queries/profiles/find.liquid index 9c64092..aceb24e 100644 --- a/pos-module-chat/modules/user/public/lib/queries/profiles/find.liquid +++ b/pos-module-chat/modules/user/public/lib/queries/profiles/find.liquid @@ -9,7 +9,7 @@ if profile function slug = 'modules/user/helpers/profiles/slugs/build', current_profile: profile - hash_assign profile['slug'] = slug + assign profile.slug = slug endif return profile diff --git a/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid b/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid index dab15bc..63e0379 100644 --- a/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid +++ b/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid @@ -10,12 +10,12 @@ assign profiles = [] for profile in records.results function slug = 'modules/user/helpers/profiles/slugs/build' , current_profile: profile - hash_assign profile['slug'] = slug + assign profile.slug = slug assign p = profile - assign profiles << p + assign profiles = profiles << p endfor - hash_assign records['results'] = profiles + assign records.results = profiles return records %} diff --git a/pos-module-chat/modules/user/public/views/pages/passwords/create.liquid b/pos-module-chat/modules/user/public/views/pages/passwords/create.liquid index d2a7438..4b84587 100644 --- a/pos-module-chat/modules/user/public/views/pages/passwords/create.liquid +++ b/pos-module-chat/modules/user/public/views/pages/passwords/create.liquid @@ -5,7 +5,7 @@ method: post {% liquid assign input = context.params.password assign redirect_url = context.params.redirect_to | default: '/' - hash_assign input['user_id'] = context.session.reset_password_session_user_id + assign input.user_id = context.session.reset_password_session_user_id function object = 'modules/user/commands/passwords/create', object: input if object.valid diff --git a/pos-module-chat/modules/user/public/views/pages/users/create.liquid b/pos-module-chat/modules/user/public/views/pages/users/create.liquid index 35ff4a8..73711c3 100644 --- a/pos-module-chat/modules/user/public/views/pages/users/create.liquid +++ b/pos-module-chat/modules/user/public/views/pages/users/create.liquid @@ -12,11 +12,10 @@ slug: users function _ = 'modules/user/commands/session/create', user_id: object.id, validate_password: false, email: null, password: null, hook_params: null include 'modules/core/helpers/redirect_to' else - assign values = object | default: null | hash_merge: password: '' - function registration_fields = 'modules/user/queries/registration_fields/load' - assign values = params | hash_merge: password: '' + assign values = params + assign values.password = '' render 'modules/user/users/new', context: context, registration_fields: registration_fields, errors: object.errors, values: values endif %} diff --git a/pos-module-chat/modules/user/public/views/pages/users/new.liquid b/pos-module-chat/modules/user/public/views/pages/users/new.liquid index 8affc3d..c2fc4c3 100644 --- a/pos-module-chat/modules/user/public/views/pages/users/new.liquid +++ b/pos-module-chat/modules/user/public/views/pages/users/new.liquid @@ -4,7 +4,7 @@ include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'users.register', redirect_url: "/" function registration_fields = 'modules/user/queries/registration_fields/load' - assign values = null | hash_merge: email: context.params.email + assign values = {"email": context.params.email} render 'modules/user/users/new', context: context, registration_fields: registration_fields, values: values %} diff --git a/pos-module-chat/tests/post_import/app/migrations/20250805174858_create_dummy_users.liquid b/pos-module-chat/tests/post_import/app/migrations/20250805174858_create_dummy_users.liquid index 2129104..6e2b45b 100644 --- a/pos-module-chat/tests/post_import/app/migrations/20250805174858_create_dummy_users.liquid +++ b/pos-module-chat/tests/post_import/app/migrations/20250805174858_create_dummy_users.liquid @@ -10,19 +10,19 @@ assign name = first_name | append: " " | append: last_name assign email = "dummy" | append: i | append: "@example.com" - assign object = null - assign object = object | hash_merge: email: email - assign object = object | hash_merge: password: password - assign object = object | hash_merge: first_name: first_name - assign object = object | hash_merge: last_name: last_name - assign object = object | hash_merge: name: name + assign object = {} + assign object.email = email + assign object.password = password + assign object.first_name = first_name + assign object.last_name = last_name + assign object.name = name function user = 'modules/core/commands/execute', mutation_name: 'modules/user/user/create', object: object, selection: 'user' - hash_assign object['user_id'] = user.id + assign object.user_id = user.id function profile = 'modules/user/commands/profiles/create', object: object - assign event_payload = null | hash_merge: user_id: user.id + assign event_payload = {"user_id": user.id} function _ = 'modules/core/commands/events/publish', type: 'user_created', object: event_payload, delay: null, max_attempts: null endfor %} diff --git a/pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid b/pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid index 2ef5e2f..879fc4d 100644 --- a/pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid +++ b/pos-module-chat/tests/post_import/app/migrations/20250805174905_create_dummy_conversations.liquid @@ -16,9 +16,9 @@ assign participant_ids = "" | append: seeded_participant_id | append: "," | append: migrated_participant_id | split: "," assign participant_read_ids = "" | append: seeded_participant_id - assign object = null - assign object = object | hash_merge: participant_ids: participant_ids - assign object = object | hash_merge: participant_read_ids: participant_read_ids + assign object = {} + assign object.participant_ids = participant_ids + assign object.participant_read_ids = participant_read_ids function conversation = 'modules/core/commands/execute', mutation_name: 'modules/chat/conversations/create' object: object, selection: 'record_create' comment @@ -26,14 +26,14 @@ endcomment assign messageText = "" | append: "This is migrated message from " | append: seeded_participant_email | append: " to " | append: migrated_participant_email - assign object = null - assign object = object | hash_merge: autor_id: seeded_participant_id - assign object = object | hash_merge: conversation_id: conversation.id - assign object = object | hash_merge: message: messageText + assign object = {} + assign object.autor_id = seeded_participant_id + assign object.conversation_id = conversation.id + assign object.message = messageText function message = 'modules/core/commands/execute', mutation_name: 'modules/chat/messages/create' object: object, selection: 'record_create' - assign event_object = null | hash_merge: message_id: object.id, app_host: context.location.host + assign event_object = {"message_id": object.id, "app_host": context.location.host} function _ = 'modules/core/commands/events/publish', type: 'chat_message_created', object: event_object, delay: null, max_attempts: null endfor %} diff --git a/pos-module-common-styling/app/lib/presign_upload.liquid b/pos-module-common-styling/app/lib/presign_upload.liquid index 4947387..456a3de 100644 --- a/pos-module-common-styling/app/lib/presign_upload.liquid +++ b/pos-module-common-styling/app/lib/presign_upload.liquid @@ -1,4 +1,4 @@ {% liquid function presigned_upload = 'queries/uploads/presign', table: 'uploads', property: 'upload' - hash_assign context['presigned_upload'] = presigned_upload + assign context.presigned_upload = presigned_upload %} \ No newline at end of file diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/fonts.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/fonts.liquid index 9cb7579..0bd143e 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/fonts.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/fonts.liquid @@ -22,7 +22,7 @@ ABCDEFGHIJKLMNOPRSTUVWXYZ
abcdefghijklmnoprstuvwxyz
- 1234567890   <>/@&!%?+ + 1234567890   <>/@&!%?+
@@ -53,7 +53,7 @@ ABCDEFGHIJKLMNOPRSTUVWXYZ
abcdefghijklmnoprstuvwxyz
- 1234567890   <>/@&!%?+ + 1234567890   <>/@&!%?+
diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid index d62077b..a49e689 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid @@ -437,9 +437,9 @@ for i in (i..10) assign value = 'value' | append: i assign label = 'Label for value ' | append: i - assign example_item = '{}' | parse_json | hash_merge: value: value, label: label - assign example_list = example_list | add_to_array: example_item - assign selected = '["value0", "value5", "value6"]' | parse_json + assign example_item = {"value": value, "label": label} + assign example_list = example_list << example_item + assign selected = ["value0", "value5", "value6"] endfor %} {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-1', id: 'styleguide-form-multiselect-test-1', list: example_list, showFilter: true, combine_selected: true, selected: selected, required: null, multiline: null, form: null %} @@ -465,7 +465,7 @@

There are two partials that can be helpful when dealing with forms validation. One can be added to the input itself to handle usability code and the other can output the error message.

{% liquid - assign errors = '{ "styleguide-example-error": ["This is a field with two errors", "This is the second error"] }' | parse_json + assign errors = { "styleguide-example-error": ["This is a field with two errors", "This is the second error"] } %}
@@ -479,6 +479,5 @@
{{ code | lstrip | rstrip }}
-
diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/links.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/links.liquid index a9b3031..74916a7 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/links.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/links.liquid @@ -44,4 +44,5 @@ +
diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/text-styles.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/text-styles.liquid index e2cd2c0..9b471a4 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/text-styles.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/text-styles.liquid @@ -44,6 +44,7 @@
{{ code | lstrip | rstrip }}
+ diff --git a/pos-module-core/modules/core/generators/command/templates/lib/commands/create/build.liquid b/pos-module-core/modules/core/generators/command/templates/lib/commands/create/build.liquid index 6a83151..1fc2591 100644 --- a/pos-module-core/modules/core/generators/command/templates/lib/commands/create/build.liquid +++ b/pos-module-core/modules/core/generators/command/templates/lib/commands/create/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign data = null | hash_merge: id: object.id, name: object.name + assign data = {"id": object.id, "name": object.name} return data %} diff --git a/pos-module-core/modules/core/generators/command/templates/lib/commands/create/check.liquid b/pos-module-core/modules/core/generators/command/templates/lib/commands/create/check.liquid index 8f3da9c..2c53a6c 100644 --- a/pos-module-core/modules/core/generators/command/templates/lib/commands/create/check.liquid +++ b/pos-module-core/modules/core/generators/command/templates/lib/commands/create/check.liquid @@ -1,10 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid b/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid index df36e79..caf4d8d 100644 --- a/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid +++ b/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid @@ -1,11 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } <% attributes.forEach((attr, i) => { -%> function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' <% }); -%> - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid b/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid index 4ae7fc6..4fada40 100644 --- a/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid +++ b/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid @@ -1,9 +1,10 @@ {% liquid - assign c = '{ "valid": true, "errors": {} }' | parse_json + assign c = { "valid": true, "errors": {} } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid b/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid index c991577..cffe564 100644 --- a/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid +++ b/pos-module-core/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid @@ -1,12 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' <% attributes.forEach((attr, i) => { -%> function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' <% }); -%> - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-core/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-core/modules/core/public/lib/commands/events/create/build.liquid index 8276ea4..34dd532 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create/build.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create/build.liquid @@ -1,6 +1,8 @@ {% liquid assign now = 'now' | to_time - assign data = object | hash_merge: type: type, date: now + assign data = object + assign data.type = type + assign data.date = now return data %} diff --git a/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid index e931a31..cb6f51f 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid @@ -25,6 +25,8 @@ function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message endif - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid index d2872ca..f374185 100644 --- a/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results | add_to_array: h_result + assign results = results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results | add_to_array: hook_result + assign results = results << hook_result endif endif endfor diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/delete/build.liquid index d26bbdf..a596cdb 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/delete/build.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = null | hash_merge: id: id + assign object = {"id": id} return object %} diff --git a/pos-module-core/modules/core/public/lib/events/status_created.liquid b/pos-module-core/modules/core/public/lib/events/status_created.liquid index 6718a16..023c478 100644 --- a/pos-module-core/modules/core/public/lib/events/status_created.liquid +++ b/pos-module-core/modules/core/public/lib/events/status_created.liquid @@ -8,7 +8,7 @@ metadata: payload --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id' diff --git a/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 73e48bb..0ca414e 100644 --- a/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -2,7 +2,7 @@ assign parameters = '' | split: ',' for pair in payload assign component = pair[0] | append: '={' | append: pair[0] | append: '}' - assign parameters = parameters | add_to_array: component + assign parameters = parameters << component endfor if parameters.size > 0 assign x_form_encoded = parameters | join: '&' | expand_url_template: payload diff --git a/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid index 2a109e0..7cbd578 100644 --- a/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid @@ -23,13 +23,12 @@ # platformos-check-enable ConvertIncludeToRender if format == 'json' - assign response_json = null | hash_merge: type: 'redirect', url: url + assign response_json = {"type": 'redirect', "url": url} if object.valid echo response_json else response_status 422 - assign res = { "errors": {} } - assign res.errors = response_json.errors + assign res = { "errors": response_json.errors } echo res endif diff --git a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid index e04d750..ee5c2a2 100644 --- a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors | add_to_array: msg + assign field_errors = field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-core/modules/core/public/lib/queries/registry/search.liquid b/pos-module-core/modules/core/public/lib/queries/registry/search.liquid index f0564d4..79da2f0 100644 --- a/pos-module-core/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-core/modules/core/public/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules | add_to_array: module + assign modules = modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes | add_to_array: module + assign themes = themes << module endif endfor return themes diff --git a/pos-module-core/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-core/modules/core/public/lib/validations/password_complexity.liquid index ad4b34d..9ab7d06 100644 --- a/pos-module-core/modules/core/public/lib/validations/password_complexity.liquid +++ b/pos-module-core/modules/core/public/lib/validations/password_complexity.liquid @@ -29,7 +29,8 @@ endunless endif - function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: key: 'modules/core/validation.too_short', allow_blank: null + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null return c %} diff --git a/pos-module-core/modules/core/public/views/partials/events/show.liquid b/pos-module-core/modules/core/public/views/partials/events/show.liquid index 2561104..1fed733 100644 --- a/pos-module-core/modules/core/public/views/partials/events/show.liquid +++ b/pos-module-core/modules/core/public/views/partials/events/show.liquid @@ -1,3 +1,3 @@

Event

-<< List +<< List {% render 'modules/core/events/event_card', event: event %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid index ec71ae5..e21adf6 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results | add_to_array: h_result + assign results = results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results | add_to_array: hook_result + assign results = results << hook_result endif endif endfor diff --git a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid index e04d750..ee5c2a2 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors | add_to_array: msg + assign field_errors = field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid index c417f51..99f2945 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules | add_to_array: module + assign modules = modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes | add_to_array: module + assign themes = themes << module endif endfor return themes diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid index d5848f6..e78516e 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -27,7 +27,8 @@ endunless endif - function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: key: 'modules/core/validation.too_short', allow_blank: null + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null return c %} diff --git a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/build.liquid b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/build.liquid index 81e6a33..4d940e9 100644 --- a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/build.liquid +++ b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/build.liquid @@ -1,10 +1,10 @@ {%- liquid assign result = {} if object.records_filter - assign result.records_filter = null | hash_merge: filter: object.records_filter + assign result.records_filter = {"filter": object.records_filter} endif if object.users_filter - assign result.users_filter = null | hash_merge: filter: object.users_filter + assign result.users_filter = {"filter": object.users_filter} endif if object.encryption assign result.encryption = object.encryption diff --git a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/check.liquid b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/check.liquid index b7d1cfd..f53cdf1 100644 --- a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/check.liquid +++ b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/create/check.liquid @@ -1,7 +1,8 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/check.liquid b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/check.liquid index fe45555..8b23983 100644 --- a/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/check.liquid +++ b/pos-module-data-export-api/modules/data_export_api/public/lib/commands/data_exports/delete/check.liquid @@ -1,9 +1,10 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid b/pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid index fcc7cd4..fea8a9f 100644 --- a/pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid +++ b/pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid @@ -1,10 +1,10 @@ {%- liquid function api_key = 'modules/core/queries/variable/find', name: '_data_export_api_key', type: 'string' function whitelisted_ips = 'modules/core/queries/variable/find', name: '_data_export_whitelisted_ips', type: 'array' - assign errors = '[]' | parse_json + assign errors = [] if api_key != context.headers.HTTP_API_KEY - assign errors = errors | array_add: "API_KEY header invalid" + assign errors = errors << "API_KEY header invalid" endif if whitelisted_ips != blank @@ -13,7 +13,7 @@ if whitelisted_ips contains ip else assign message = "IP address not allowed" - assign errors = errors | array_add: message + assign errors = errors << message endif endif -%} diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token.liquid index 5d72c4f..ae8c170 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token.liquid @@ -6,8 +6,7 @@ if object.valid assign query = object | querify - assign headers = "{}" | parse_json - hash_assign headers["Accept"] = "application/json" + assign headers = { "Accept": "application/json" } assign url = "https://graph.facebook.com/v22.0/oauth/access_token?" | append: query graphql r = "modules/oauth_facebook/get_token", body: url, headers: headers diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid index 4a32761..e354770 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid @@ -1,5 +1,5 @@ {% liquid -assign c = '{ "errors": {}, "valid": true }' | parse_json +assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code' @@ -7,8 +7,8 @@ function c = 'modules/core/validations/presence', c: c, object: object, field_na function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'redirect_uri' -hash_assign object['valid'] = c.valid -hash_assign object['errors'] = c.errors +assign object.valid = c.valid +assign object.errors = c.errors return object %} diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid index 9f6147d..7f08c2e 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} \ No newline at end of file diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_redirect_url.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_redirect_url.liquid index d755306..19f4ef0 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_redirect_url.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_redirect_url.liquid @@ -1,11 +1,8 @@ {% liquid -assign data = "{}" | parse_json -hash_assign data['scope'] = "email,public_profile" -hash_assign data['client_id'] = provider.client_id -hash_assign data["state"] = state +assign data = { "scope": "email,public_profile", "client_id": provider.client_id, "state": state } assign location = "https://" | append: context.location.host | append: '/oauth/facebook/callback' log location, type: "LOCATION" -hash_assign data["redirect_uri"] = location +assign data.redirect_uri = location assign querified_data = data | querify assign url = "https://www.facebook.com/v22.0/dialog/oauth?" | append: querified_data diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid index 5e066e0..2b5cf6f 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid @@ -1,32 +1,27 @@ {% liquid # fetch token and get user data -assign get_token_request = "{}" | parse_json -hash_assign get_token_request["client_id"] = provider.client_id -hash_assign get_token_request["client_secret"] = provider.secret_value -hash_assign get_token_request["code"] = context.params.code +assign get_token_request = { "client_id": provider.client_id, "client_secret": provider.secret_value, "code": context.params.code } # get access token function access_token = "modules/oauth_facebook/commands/get_token", data: get_token_request assign access_token = access_token.access_token -assign result = "{}" | parse_json -hash_assign result["valid"] = false +assign result = { "valid": false } if access_token == null return result endif # get user info -assign request_data = "{}" | parse_json -hash_assign request_data["access_token"] = access_token +assign request_data = { "access_token": access_token } function user_info = "modules/oauth_facebook/commands/get_user_info", data: request_data -hash_assign result["first_name"] = user_info.first_name -hash_assign result["last_name"] = user_info.last_name -hash_assign result["sub"] = user_info.id -hash_assign result["email"] = user_info.email +assign result.first_name = user_info.first_name +assign result.last_name = user_info.last_name +assign result.sub = user_info.id +assign result.email = user_info.email if result.sub != null and result["email"] != null - hash_assign result["valid"] = true + assign result.valid = true endif return result diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token.liquid index 2415b9d..b26bf53 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token.liquid @@ -4,8 +4,7 @@ assign query = object | querify if object.valid - assign headers = "{}" | parse_json - hash_assign headers["Accept"] = "application/json" + assign headers = { "Accept": "application/json" } graphql r = "modules/oauth_github/get_token", body: query, headers: headers assign result = r.api_call_send.response.body | parse_json diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid index 10dcb21..a7079b8 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid @@ -1,13 +1,13 @@ {% liquid -assign c = '{ "errors": {}, "valid": true }' | parse_json +assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret' -hash_assign object['valid'] = c.valid -hash_assign object['errors'] = c.errors +assign object.valid = c.valid +assign object.errors = c.errors return object %} diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid index 9f6147d..7f08c2e 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} \ No newline at end of file diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid index 9f6147d..7f08c2e 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} \ No newline at end of file diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid index 0f9c3ab..f2076ee 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid @@ -1,8 +1,5 @@ {% liquid -assign data = "{}" | parse_json -hash_assign data['scope'] = "user:email" -hash_assign data['client_id'] = provider.client_id -hash_assign data["state"] = state +assign data = { "scope": "user:email", "client_id": provider.client_id, "state": state } assign querified_data = data | querify assign url = "https://github.com/login/oauth/authorize?" | append: querified_data diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid index 53d724f..cebd8a7 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid @@ -1,43 +1,38 @@ {% liquid # fetch token and get user data -assign get_token_request = "{}" | parse_json -hash_assign get_token_request["client_id"] = provider.client_id -hash_assign get_token_request["client_secret"] = provider.secret_value -hash_assign get_token_request["code"] = context.params.code +assign get_token_request = { "client_id": provider.client_id, "client_secret": provider.secret_value, "code": context.params.code } # get access token function access_token = "modules/oauth_github/commands/get_token", data: get_token_request assign access_token = access_token.access_token -assign result = "{}" | parse_json -hash_assign result["valid"] = false +assign result = { "valid": false } if access_token == null return result endif # get user info -assign request_data = "{}" | parse_json -hash_assign request_data["access_token"] = access_token +assign request_data = { "access_token": access_token } function user_info = "modules/oauth_github/commands/get_user_info", data: request_data if user_info.email == null function user_emails = "modules/oauth_github/commands/get_user_email", data: request_data for email in user_emails if email.primary == true - hash_assign user_info["email"] = email.email + assign user_info.email = email.email endif endfor endif assign name = user_info.name | split: ' ' -hash_assign result["first_name"] = name[0] | default: user_info.login -hash_assign result["last_name"] = name[1] | default: '' -hash_assign result["sub"] = user_info.id -hash_assign result["email"] = user_info.email +assign result.first_name = name[0] | default: user_info.login +assign result.last_name = name[1] | default: '' +assign result.sub = user_info.id +assign result.email = user_info.email if result.sub != null and result["email"] != null - hash_assign result["valid"] = true + assign result.valid = true endif return result diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token.liquid index d3b4b64..b87f806 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token.liquid @@ -5,8 +5,7 @@ if object.valid assign query = object | querify - assign headers = "{}" | parse_json - hash_assign headers["Accept"] = "application/json" + assign headers = { "Accept": "application/json" } graphql r = "modules/oauth_google/get_token", body: query, headers: headers assign result = r.api_call_send.response.body | parse_json return result diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid index 4a32761..e354770 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid @@ -1,5 +1,5 @@ {% liquid -assign c = '{ "errors": {}, "valid": true }' | parse_json +assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code' @@ -7,8 +7,8 @@ function c = 'modules/core/validations/presence', c: c, object: object, field_na function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'redirect_uri' -hash_assign object['valid'] = c.valid -hash_assign object['errors'] = c.errors +assign object.valid = c.valid +assign object.errors = c.errors return object %} diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid index 9f6147d..7f08c2e 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} \ No newline at end of file diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_redirect_url.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_redirect_url.liquid index 8c27f48..b74da06 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_redirect_url.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_redirect_url.liquid @@ -1,12 +1,9 @@ {% liquid -assign data = "{}" | parse_json -hash_assign data['scope'] = "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile openid" -hash_assign data['client_id'] = provider.client_id -hash_assign data["state"] = state +assign data = { "scope": "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile openid", "client_id": provider.client_id, "state": state } assign location = "https://" | append: context.location.host | append: '/oauth/google/callback' log location, type: "LOCATION" -hash_assign data["redirect_uri"] = location -hash_assign data["response_type"] = "code" +assign data.redirect_uri = location +assign data.response_type = "code" assign querified_data = data | querify assign url = "https://accounts.google.com/o/oauth2/v2/auth?" | append: querified_data diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid index 9827969..d1c6d80 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid @@ -1,32 +1,27 @@ {% liquid # fetch token and get user data -assign get_token_request = "{}" | parse_json -hash_assign get_token_request["client_id"] = provider.client_id -hash_assign get_token_request["client_secret"] = provider.secret_value -hash_assign get_token_request["code"] = context.params.code +assign get_token_request = { "client_id": provider.client_id, "client_secret": provider.secret_value, "code": context.params.code } # get access token function access_token = "modules/oauth_google/commands/get_token", data: get_token_request assign access_token = access_token.access_token -assign result = "{}" | parse_json -hash_assign result["valid"] = false +assign result = { "valid": false } if access_token == null return result endif # get user info -assign request_data = "{}" | parse_json -hash_assign request_data["access_token"] = access_token +assign request_data = { "access_token": access_token } function user_info = "modules/oauth_google/commands/get_user_info", data: request_data -hash_assign result["first_name"] = user_info.given_name -hash_assign result["last_name"] = user_info.family_name -hash_assign result["sub"] = user_info.id -hash_assign result["email"] = user_info.email +assign result.first_name = user_info.given_name +assign result.last_name = user_info.family_name +assign result.sub = user_info.id +assign result.email = user_info.email if result.sub != null and result["email"] != null - hash_assign result["valid"] = true + assign result.valid = true endif return result diff --git a/pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid b/pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid index da146b8..d83ed31 100644 --- a/pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid +++ b/pos-module-openai/app/lib/commands/openai/commands_to_embeddings.liquid @@ -4,10 +4,10 @@ function object = 'modules/openai/queries/embeddings/search' assign existing_embeddings = object.results - assign report = '{ "created": { "slugs": [], "count": 0 }, "updated": { "slugs": [], "count": 0 }, "errors": { "slugs": [], "count": 0 }}' | parse_json + assign report = { "created": { "slugs": [], "count": 0 }, "updated": { "slugs": [], "count": 0 }, "errors": { "slugs": [], "count": 0 }} for page in pages - hash_assign page['html_content'] = page.html_content | html_to_text + assign page.html_content = page.html_content | html_to_text endfor assign pages_chunks = pages | array_in_groups_of: 50 @@ -21,16 +21,12 @@ assign embeddings = response.data for emb in embeddings - assign pos_embedding_input = '{}' | parse_json - assign metadata = '{}' | parse_json + assign pos_embedding_input = {} + assign metadata = { "slug": page_chunk[i].slug, "page": {}, "page_metadata": page_chunk[i].metadata } - hash_assign metadata['slug'] = page_chunk[i].slug - hash_assign metadata['page'] = '{}' | parse_json - hash_assign metadata['page_metadata'] = page_chunk[i].metadata - - hash_assign pos_embedding_input['metadata'] = metadata - hash_assign pos_embedding_input['embedding'] = emb.embedding - hash_assign pos_embedding_input['content'] = page_chunk[i].html_content + assign pos_embedding_input.metadata = metadata + assign pos_embedding_input.embedding = emb.embedding + assign pos_embedding_input.content = page_chunk[i].html_content assign found_embedding = null @@ -42,28 +38,28 @@ endfor if found_embedding - hash_assign pos_embedding_input['id'] = found_embedding.id + assign pos_embedding_input.id = found_embedding.id function pos_embedding = 'modules/openai/commands/embeddings/update', object: pos_embedding_input if pos_embedding.valid - hash_assign report['updated']['slugs'] = report['updated']['slugs'] | add_to_array: pos_embedding_input.metadata.slug - hash_assign report['updated']['count'] = report['updated']['count'] | plus: 1 + assign report.updated.slugs = report.updated.slugs << pos_embedding_input.metadata.slug + assign report.updated.count = report['updated']['count'] | plus: 1 else assign err = "Failed to update Embedding#" | append: pos_embedding_input.id | append: ": " | append: pos_embedding.errors - hash_assign report['errors']['slugs'] = report['errors']['slugs'] | add_to_array: pos_embedding_input.metadata.slug - hash_assign report['errors']['count'] = report['errors']['count'] | plus: 1 + assign report.errors.slugs = report.errors.slugs << pos_embedding_input.metadata.slug + assign report.errors.count = report['errors']['count'] | plus: 1 log err, type: 'ERROR' endif else function pos_embedding = 'modules/openai/commands/embeddings/create', object: pos_embedding_input if pos_embedding.valid - hash_assign report['created']['slugs'] = report['created']['slugs'] | add_to_array: pos_embedding_input.metadata.slug - hash_assign report['created']['count'] = report['created']['count'] | plus: 1 + assign report.created.slugs = report.created.slugs << pos_embedding_input.metadata.slug + assign report.created.count = report['created']['count'] | plus: 1 else assign err = "Failed to create Embedding: " | append: pos_embedding.errors - hash_assign report['errors']['slugs'] = report['errors']['slugs'] | add_to_array: pos_embedding_input.metadata.slug - hash_assign report['errors']['count'] = report['errors']['count'] | plus: 1 + assign report.errors.slugs = report.errors.slugs << pos_embedding_input.metadata.slug + assign report.errors.count = report['errors']['count'] | plus: 1 log err, type: 'ERROR' endif endif diff --git a/pos-module-openai/app/lib/queries/pages/search_for_openai.liquid b/pos-module-openai/app/lib/queries/pages/search_for_openai.liquid index fd96293..c9fb967 100644 --- a/pos-module-openai/app/lib/queries/pages/search_for_openai.liquid +++ b/pos-module-openai/app/lib/queries/pages/search_for_openai.liquid @@ -1,19 +1,19 @@ {% liquid # specify slugs of pages that should not be indexed, like 404 page, static pages etc. - assign ignored_slugs = '["404","debug","contact","disclaimer","license","search","sitemap","try-now"]' | parse_json + assign ignored_slugs = ["404","debug","contact","disclaimer","license","search","sitemap","try-now"] # specify slug prefixes that should be ignored - assign ignored_prefixes = '["release-notes","roadmap","community"]' | parse_json + assign ignored_prefixes = ["release-notes","roadmap","community"] graphql r = 'pages/search_for_openai', not_slugs: ignored_slugs, limit: limit assign all_pages = r.pages.results - assign pages = '[]' | parse_json + assign pages = [] for page in all_pages assign contains_invalid_prefix = page.slug | start_with: ignored_prefixes unless contains_invalid_prefix - assign pages = pages | add_to_array: page + assign pages = pages << page endunless endfor diff --git a/pos-module-openai/app/views/pages/openai_gpt_usage.liquid b/pos-module-openai/app/views/pages/openai_gpt_usage.liquid index 1c91698..bf64a8a 100644 --- a/pos-module-openai/app/views/pages/openai_gpt_usage.liquid +++ b/pos-module-openai/app/views/pages/openai_gpt_usage.liquid @@ -1,6 +1,6 @@ {% comment %} CAPTCHA verification {% endcomment %} {%- liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/hcaptcha', c: c, hcaptcha_params: context.params -%} diff --git a/pos-module-openai/app/views/pages/openai_search.liquid b/pos-module-openai/app/views/pages/openai_search.liquid index 4878be2..e93cad2 100644 --- a/pos-module-openai/app/views/pages/openai_search.liquid +++ b/pos-module-openai/app/views/pages/openai_search.liquid @@ -9,11 +9,11 @@ metadata: {% liquid if context.params.query != blank and context.params.query.size < 1000 - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/hcaptcha', c: c, hcaptcha_params: context.params if c.valid - assign user_input = '[]' | parse_json | add_to_array: context.params.query + assign user_input = [context.params.query] function response = 'modules/openai/commands/openai/fetch_embeddings', object: user_input if response.data.size > 0 diff --git a/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/check.liquid b/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/check.liquid index eb26138..61efb5e 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/check.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/embeddings/create/check.liquid @@ -1,11 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'embedding' function c = 'modules/core/validations/length', c: c, object: object, field_name: 'embedding', is: 1536 function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'content' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/check.liquid b/pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/check.liquid index 67e2c81..de59d59 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/check.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/embeddings/delete/check.liquid @@ -1,9 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/check.liquid b/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/check.liquid index 866cfd6..3c5f176 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/check.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/embeddings/update/check.liquid @@ -1,12 +1,14 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'embedding' function c = 'modules/core/validations/length', c: c, object: object, field_name: 'embedding', is: 1536 function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'content' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/chat/check.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/chat/check.liquid index bec7854..13b0c65 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/chat/check.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/chat/check.liquid @@ -1,9 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object.messages[1].content[0], field_name: 'text' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/check.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/check.liquid index 2a5d10c..e7fbe90 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/check.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/fetch_embeddings/check.liquid @@ -1,9 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object.data.payload, field_name: 'input' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid index e657109..dce1901 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid @@ -89,7 +89,7 @@ See also: https://platform.openai.com/docs/api-reference/responses/create for item in user_images assign img_object = { "type": "input_image", "image_url": item } - assign user_content << img_object + assign user_content = user_content << img_object endfor assign data_frame.input[1].content = user_content diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/check.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/check.liquid index 79fb1db..9d0162c 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/check.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/check.liquid @@ -1,9 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object.input[1].content[0], field_name: 'text' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/transaction_finalize.liquid b/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/transaction_finalize.liquid index 721ce57..207301b 100644 --- a/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/transaction_finalize.liquid +++ b/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/transaction_finalize.liquid @@ -1,6 +1,6 @@ {% liquid # THIS is just a mock - assign object = null | hash_merge: valid: true + assign object = {"valid": true} return object %} diff --git a/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/update_transaction_status/map_response.liquid b/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/update_transaction_status/map_response.liquid index 7e8e8d5..e0ab314 100644 --- a/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/update_transaction_status/map_response.liquid +++ b/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/commands/update_transaction_status/map_response.liquid @@ -1,18 +1,18 @@ {% liquid - assign object = '{}' | parse_json + assign object = {} if gateway_request.request_data assign request_data = gateway_request.request_data | parse_json - hash_assign object['transaction_id'] = request_data['transaction_id'] + assign object.transaction_id = request_data['transaction_id'] if request_data['payment_status'] == 'success' - hash_assign object['payment_status'] = 'succeeded' + assign object.payment_status = 'succeeded' else - hash_assign object['payment_status'] = 'failed' + assign object.payment_status = 'failed' endif - hash_assign object['valid'] = true + assign object.valid = true else - hash_assign object['valid'] = false + assign object.valid = false endif return object diff --git a/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/helpers/pay_object.liquid b/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/helpers/pay_object.liquid index 594c77f..9f06fe4 100644 --- a/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/helpers/pay_object.liquid +++ b/pos-module-payments-example-gateway/modules/payments_example_gateway/public/lib/helpers/pay_object.liquid @@ -3,7 +3,7 @@ assign failed_url = gateway_params.failed_url | default: gateway_params.cancel_url assign url = template | expand_url_template: transaction_id: transaction.id, success_url: gateway_params.success_url, failed_url: failed_url - assign object = null | hash_merge: valid: true, url: url + assign object = {"valid": true, "url": url} return object %} diff --git a/pos-module-payments-example-gateway/modules/payments_example_gateway/public/views/pages/payments/example_gateway/webhook.liquid b/pos-module-payments-example-gateway/modules/payments_example_gateway/public/views/pages/payments/example_gateway/webhook.liquid index 6871a2e..54f585b 100644 --- a/pos-module-payments-example-gateway/modules/payments_example_gateway/public/views/pages/payments/example_gateway/webhook.liquid +++ b/pos-module-payments-example-gateway/modules/payments_example_gateway/public/views/pages/payments/example_gateway/webhook.liquid @@ -3,7 +3,9 @@ method: post --- {% liquid if context.params.payment_status == 'success_delayed' - assign object = context.params | hash_merge: payment_status: 'success', valid: true + assign object = context.params + assign object.payment_status = 'success' + assign object.valid = true background _ = 'modules/payments_example_gateway/commands/update_transaction_status', object: object, delay: 0.25 else function object = 'modules/payments_example_gateway/commands/update_transaction_status', object: context.params diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create/check.liquid index 63350e4..32a176b 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/create/check.liquid @@ -1,11 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'account_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'state' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'account_id', table: 'modules/payments_stripe/connected_account' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid index 3f24851..493812a 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete.liquid @@ -6,7 +6,7 @@ function _connected_account = 'modules/payments_stripe/commands/stripe_connected_accounts/delete', object: updated_object function updated_object = 'modules/core/commands/execute', mutation_name: 'modules/payments_stripe/connected_accounts/delete', object: updated_object - assign event_payload = null | hash_merge: connected_account_id: updated_object.id, reference_id: object.reference_id + assign event_payload = {"connected_account_id": updated_object.id, "reference_id": object.reference_id} function _ = 'modules/core/commands/events/publish', type: 'payments_stripe_connected_account_deleted', object: event_payload else log object, type: "ERROR: modules/payments_stripe/commands/connected_accounts/delete" diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/build.liquid index 5ac3576..9613713 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = null | hash_merge: id: object.id, account_id: object.account_id, reference_id: object.reference_id + assign object = {"id": object.id, "account_id": object.account_id, "reference_id": object.reference_id} return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/check.liquid index d9de936..24e4079 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/delete/check.liquid @@ -1,10 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'account_id' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update.liquid index c75e618..821e69a 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update.liquid @@ -5,7 +5,7 @@ if object.valid function object = 'modules/core/commands/execute', mutation_name: 'modules/payments_stripe/connected_accounts/update', object: object - assign event_payload = null | hash_merge: connected_account_id: object.id, reference_id: object.reference_id, account_state: object.state + assign event_payload = {"connected_account_id": object.id, "reference_id": object.reference_id, "account_state": object.state} function _ = 'modules/core/commands/events/publish', type: 'payments_stripe_connected_account_updated', object: event_payload else log object, type: "ERROR: modules/payments_stripe/commands/connected_accounts/update" diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/build.liquid index 911b7f3..5dc111c 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/build.liquid @@ -1,4 +1,6 @@ {% liquid - assign object = object | hash_merge: data: params, last_errors: params.requirements.disabled_reason, state: params.state + assign object.data = params + assign object.last_errors = params.requirements.disabled_reason + assign object.state = params.state return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/check.liquid index 353ebaf..888f5c0 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/connected_accounts/update/check.liquid @@ -1,11 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'account_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'state' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/build.liquid index 2770495..efd03e1 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = null | hash_merge: customer_id: object.customer_id, reference_id: object.reference_id, email: object.email, name: object.name, stripe_account_name: object.stripe_account_name + assign object = {"customer_id": object.customer_id, "reference_id": object.reference_id, "email": object.email, "name": object.name, "stripe_account_name": object.stripe_account_name} return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/check.liquid index 7026a28..5328bfc 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/customers/create/check.liquid @@ -1,10 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'customer_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'customer_id', table: 'modules/payments_stripe/customer' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid index 1628232..50bef14 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_bank_account/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'payment_method_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'customer_id' @@ -8,7 +8,8 @@ function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'bank_name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'last4' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'payment_method_id', table: 'modules/payments_stripe/payment_method' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid index ed8f2f9..6a09f7f 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payment_methods/create_card/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'payment_method_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'customer_id' @@ -8,7 +8,8 @@ function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'brand' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'last4' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'payment_method_id', table: 'modules/payments_stripe/payment_method' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create/check.liquid index 75bce4c..79e781e 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/create/check.liquid @@ -1,11 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'connected_account_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'state' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'connected_account_id', table: 'modules/payments_stripe/connected_account' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid index 0d9c0cb..1af7513 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook.liquid @@ -6,7 +6,7 @@ function payout = 'modules/payments_stripe/commands/payouts/create', object: object function _gateway_request = 'modules/payments/commands/gateway_requests/receive', object: params.data.object, name: params.type, external_id: payout.id, request_url: request_url, stripe_account_name: payout.stripe_account_name - assign event_payload = null | hash_merge: payout_id: payout.id, connected_account_id: connected_account.id, connected_account_gateway_id: connected_account.account_id, reference_id: connected_account.reference_id + assign event_payload = {"payout_id": payout.id, "connected_account_id": connected_account.id, "connected_account_gateway_id": connected_account.account_id, "reference_id": connected_account.reference_id} assign type = 'payments_stripe_payout_' | append: object.state function _ = 'modules/core/commands/events/publish', type: type, object: event_payload else diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/build.liquid index f5d40ef..da70f51 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/payouts/handle_webhook/build.liquid @@ -2,10 +2,7 @@ assign payout_data = object.data.object assign stripe_payout_date = payout_data.arrival_date | strftime: '%FT%T%z' assign created_at = payout_data.created | strftime: '%FT%T%z' - assign data = null | hash_merge: payout_id: payout_data.id, amount_cents: payout_data.amount - assign data = data | hash_merge: currency: payout_data.currency, gateway_connected_account_id: object.account, connected_account_id: connected_account.id, paid_at: stripe_payout_date, created_at: created_at, state: payout_data.status - assign data = data | hash_merge: reference_id: connected_account.reference_id - assign data = data | hash_merge: stripe_account_name: connected_account.stripe_account_name + assign data = {"payout_id": payout_data.id, "amount_cents": payout_data.amount, "currency": payout_data.currency, "gateway_connected_account_id": object.account, "connected_account_id": connected_account.id, "paid_at": stripe_payout_date, "created_at": created_at, "state": payout_data.status, "reference_id": connected_account.reference_id, "stripe_account_name": connected_account.stripe_account_name} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create/check.liquid index 473812b..4a3a40a 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/create/check.liquid @@ -1,11 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'amount' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'transaction_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'status' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update/check.liquid index f6c3eb9..4123f9d 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/refunds/update/check.liquid @@ -1,10 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'status' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/build.liquid index d9b138d..a4b5dfb 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = null | hash_merge: gateway_id: object.gateway_id, reference_id: object.reference_id, c__status: object.c__status, stripe_account_name: object.stripe_account_name + assign object = {"gateway_id": object.gateway_id, "reference_id": object.reference_id, "c__status": object.c__status, "stripe_account_name": object.stripe_account_name} return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/check.liquid index d3fa75a..f309fa8 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/create/check.liquid @@ -1,10 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'c__status' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'gateway_id', table: 'modules/payments_stripe/setup_intent' - assign object = object | hash_merge: c + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/build.liquid index 69347d8..c14ad55 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: id: object.id, gateway_id: gateway_id + assign data = {"id": object.id, "gateway_id": gateway_id} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/check.liquid index 7773cfe..cf61499 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_gateway_id/check.liquid @@ -1,10 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'gateway_id' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid index 2f14db0..5a51980 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status.liquid @@ -6,7 +6,7 @@ if object.valid and object.c__status != setup_intent.c__status function object = 'modules/core/commands/execute', mutation_name: 'modules/payments_stripe/setup_intents/update' object: object - assign event_payload = null | hash_merge: setup_intent_id: object.id, payment_method_id: payment_method_id + assign event_payload = {"setup_intent_id": object.id, "payment_method_id": payment_method_id} assign type = object.c__status | remove: 'app.statuses.setup_intents.' | prepend: 'payments_stripe_setup_intent_' | replace: '.', '_' function _ = 'modules/core/commands/events/publish', type: type, object: event_payload function _ = 'modules/core/commands/statuses/create', name: object.c__status, reference_id: object.id, requester_id: requester_id, reference_schema: 'modules/payments_stripe/setup_intent', payload: request_payload diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/build.liquid index dfcffa3..38a55a5 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/setup_intents/update_status/build.liquid @@ -12,6 +12,6 @@ assign status = 'app.statuses.setup_intents.failed' endcase - assign data = null | hash_merge: id: setup_intent.id, c__status: status + assign data = {"id": setup_intent.id, "c__status": status} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve/build.liquid index 2cf27ab..79a0b33 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_balance_history/retrieve/build.liquid @@ -3,8 +3,8 @@ https://api.stripe.com/v1/balance/history?payout={{ payout.payout_id }}&limit=10 {% endcapture %} {% liquid assign expand = 'data.source.source_transfer,data.source.source_transfer.source_transaction' | split: ',' - assign payload = null | hash_merge: expand: expand, connected_account_id: payout.gateway_connected_account_id, stripe_account_name: payout.stripe_account_name - assign data = null | hash_merge: payload: payload, request_type: 'GET', to: url + assign payload = {"expand": expand, "connected_account_id": payout.gateway_connected_account_id, "stripe_account_name": payout.stripe_account_name} + assign data = {"payload": payload, "request_type": 'GET', "to": url} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create/build.liquid index 29b9645..93d79f9 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/create/build.liquid @@ -1,6 +1,6 @@ {% liquid assign idempotency_key = object | hash_delete_key: 'idempotency_key' - assign data = null | hash_merge: payload: object, request_type: 'POST', to: 'https://api.stripe.com/v1/charges', idempotency_key: idempotency_key + assign data = {"payload": object, "request_type": 'POST', "to": 'https://api.stripe.com/v1/charges', "idempotency_key": idempotency_key} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook.liquid index 004038f..15639fe 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook.liquid @@ -4,7 +4,7 @@ function _gateway_request = 'modules/payments/commands/gateway_requests/receive', object: params.data.object, name: params.type, external_id: transaction.id, request_url: request_url, stripe_account_name: transaction.stripe_account_name if object.valid - assign input = null | hash_merge: payment_status: object.status, gateway_transaction_id: object.id + assign input = {"payment_status": object.status, "gateway_transaction_id": object.id} function object = 'modules/payments/commands/transactions/update_status', object: input, transaction: object.transaction, requester_id: requester_id else log object, type: "ERROR: modules/payments_stripe/commands/stripe_charge/handle_webhook invalid" diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/build.liquid index caf85cf..2686538 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_charge/handle_webhook/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: transaction: transaction, id: object.id, status: object.status + assign data = {"transaction": transaction, "id": object.id, "status": object.status} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid index 956a5c9..b310d22 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete.liquid @@ -9,7 +9,7 @@ if object.valid function object = 'modules/payments_stripe/commands/stripe_checkout/complete/map_request', object: object function _customer = 'modules/payments_stripe/commands/customers/create', object: object.customer - assign input = null | hash_merge: payment_status: object.status + assign input = {"payment_status": object.status} function object = 'modules/payments/commands/transactions/update_status', object: input, transaction: object.transaction, requester_id: requester_id else log object, type: "ERROR: modules/payments_stripe/commands/stripe_checkout/complete invalid" diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid index 80a7c9c..94538c6 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/build.liquid @@ -1,3 +1,4 @@ {% liquid - return object | default: {} + assign result = object | default: {} + return result %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid index 2de5ec0..47fc007 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/complete/map_request.liquid @@ -8,7 +8,7 @@ assign data.external_id = response.client_reference_id function transaction = 'modules/payments/queries/transactions/find', id: data.external_id assign data.transaction = transaction - assign customer = nil | hash_merge: customer_id: response.customer, email: response.customer_details.email, name: response.customer_details.name, reference_id: transaction.payer_id + assign customer = {"customer_id": response.customer, "email": response.customer_details.email, "name": response.customer_details.name, "reference_id": transaction.payer_id} assign data.customer = customer case object.name diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/build.liquid index 120415c..5e2bd09 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: payload: object, request_type: 'POST', to: 'https://api.stripe.com/v1/checkout/sessions' + assign data = {"payload": object, "request_type": 'POST', "to": 'https://api.stripe.com/v1/checkout/sessions'} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/map_response.liquid index 502f634..4c71e7a 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/create/map_response.liquid @@ -6,7 +6,9 @@ assign data.errors = response.error assign data.valid = false else - assign data = data | hash_merge: id: response.id, url: response.url, payment_intent: response.payment_intent + assign data.id = response.id + assign data.url = response.url + assign data.payment_intent = response.payment_intent assign data.valid = true endif else diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire/build.liquid index ccf0aea..0f055c6 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/expire/build.liquid @@ -2,7 +2,7 @@ assign url = 'https://api.stripe.com/v1/checkout/sessions' assign url = url | append: '/' | append: transaction.gateway_transaction_id | append: '/expire' - assign data = null | hash_merge: request_type: 'POST', to: url + assign data = {"request_type": 'POST', "to": url} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid index e0d28fb..5d631f9 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook.liquid @@ -7,7 +7,7 @@ if object.customer function _customer = 'modules/payments_stripe/commands/customers/create', object: object.customer endif - assign input = null | hash_merge: payment_status: object.status + assign input = {"payment_status": object.status} function object = 'modules/payments/commands/transactions/update_status', object: input, transaction: object.transaction, requester_id: requester_id else log object, type: "ERROR: modules/payments_stripe/commands/stripe_checkout/handle_webhook invalid" diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/build.liquid index 446e562..bb23fdc 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/handle_webhook/build.liquid @@ -1,8 +1,8 @@ {% liquid - assign data = null | hash_merge: transaction: transaction, id: object.id, payment_intent_id: object.payment_intent + assign data = {"transaction": transaction, "id": object.id, "payment_intent_id": object.payment_intent} if object.customer - assign customer = nil | hash_merge: customer_id: object.customer, email: object.customer_details.email, name: object.customer_details.name, reference_id: transaction.payer_id + assign customer = {"customer_id": object.customer, "email": object.customer_details.email, "name": object.customer_details.name, "reference_id": transaction.payer_id} assign data.customer = customer endif assign data.status = object.status diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/build.liquid index 6e2c7d5..1221b88 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/retrieve/build.liquid @@ -5,9 +5,9 @@ assign payload = {} if with_payment_intent assign expand = ["payment_intent"] - assign payload = payload | hash_merge: expand: expand + assign payload.expand = expand endif - assign data = null | hash_merge: payload: payload, request_type: 'GET', to: url + assign data = {"payload": payload, "request_type": 'GET', "to": url} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid index d6a5040..83aa511 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent.liquid @@ -1,5 +1,5 @@ {% liquid - assign params = null | hash_merge: reference_id: reference_id, c__status: "app.statuses.setup_intents.new", stripe_account_name: object.stripe_account_name + assign params = {"reference_id": reference_id, "c__status": "app.statuses.setup_intents.new", "stripe_account_name": object.stripe_account_name} function setup_intent = 'modules/payments_stripe/commands/setup_intents/create', object: params if setup_intent.valid function object = 'modules/payments_stripe/commands/stripe_checkout/setup_intent/build', object: object diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/build.liquid index 120415c..5e2bd09 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: payload: object, request_type: 'POST', to: 'https://api.stripe.com/v1/checkout/sessions' + assign data = {"payload": object, "request_type": 'POST', "to": 'https://api.stripe.com/v1/checkout/sessions'} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/map_response.liquid index 2d0cff5..2003af3 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_checkout/setup_intent/map_response.liquid @@ -6,7 +6,9 @@ assign data.errors = response.error assign data.valid = false else - assign data = data | hash_merge: id: response.id, url: response.url, setup_intent: response.setup_intent + assign data.id = response.id + assign data.url = response.url + assign data.setup_intent = response.setup_intent assign data.valid = true endif else diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/build.liquid index 648214d..c35208f 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/build.liquid @@ -15,5 +15,5 @@ } {%- endparse_json -%} {% liquid - return nil | hash_merge: payload: payload, request_type: 'POST', to: "https://api.stripe.com/v1/accounts" + return {"payload": payload, "request_type": 'POST', "to": "https://api.stripe.com/v1/accounts"} %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/map_response.liquid index 1f2d438..173e1b7 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/create/map_response.liquid @@ -7,7 +7,7 @@ assign data.errors = response.error assign data.valid = false else - assign data = data | hash_merge: id: response.id + assign data.id = response.id assign data.valid = true endif else diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/build.liquid index 840a9f2..5105dfb 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/build.liquid @@ -2,5 +2,5 @@ https://api.stripe.com//v1/accounts/{{ account_id }} {% endcapture %} {% liquid - return nil | hash_merge: payload: null, request_type: 'DELETE', to: url + return {"payload": null, "request_type": 'DELETE', "to": url} %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/map_response.liquid index af2a3fd..1809a9b 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/delete/map_response.liquid @@ -7,7 +7,7 @@ assign data.errors = response.error assign data.valid = false else - assign data = data | hash_merge: id: response.id + assign data.id = response.id assign data.valid = true endif else diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/build.liquid index bf4b203..4537057 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/build.liquid @@ -1,7 +1,7 @@ {% capture url %} https://api.stripe.com//v1/accounts/{{ account_id }}/login_links {% endcapture %} -{% assign payload = null | hash_merge: stripe_account_name: stripe_account_name %} +{% assign payload = {"stripe_account_name": stripe_account_name} %} {% liquid - return nil | hash_merge: payload: payload, request_type: 'POST', to: url + return {"payload": payload, "request_type": 'POST', "to": url} %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/check.liquid index b063ca7..407591f 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_dashboard_link/check.liquid @@ -1,7 +1,9 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/build.liquid index d15e839..1541538 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/build.liquid @@ -8,5 +8,5 @@ } {%- endparse_json -%} {% liquid - return nil | hash_merge: payload: payload, request_type: 'POST', to: "https://api.stripe.com/v1/account_links" + return {"payload": payload, "request_type": 'POST', "to": "https://api.stripe.com/v1/account_links"} %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/check.liquid index 304d11d..14a2eb7 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_connected_accounts/get_onboarding_link/check.liquid @@ -1,11 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object.payload, field_name: 'account' function c = 'modules/core/validations/presence', c: c, object: object.payload, field_name: 'return_url' function c = 'modules/core/validations/presence', c: c, object: object.payload, field_name: 'type' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve/build.liquid index c25bd59..09eb686 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_customer/retrieve/build.liquid @@ -2,8 +2,8 @@ https://api.stripe.com/v1/customers/{{ customer_id }} {% endcapture %} {% liquid - assign payload = null | hash_merge: stripe_account_name: stripe_account_name - assign data = null | hash_merge: payload: payload, request_type: 'GET', to: url + assign payload = {"stripe_account_name": stripe_account_name} + assign data = {"payload": payload, "request_type": 'GET', "to": url} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create/build.liquid index b38b788..4ebad42 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_intent/create/build.liquid @@ -1,6 +1,6 @@ {% liquid assign idempotency_key = object | hash_delete_key: 'idempotency_key' - assign data = null | hash_merge: payload: object, request_type: 'POST', to: 'https://api.stripe.com/v1/payment_intents', idempotency_key: idempotency_key + assign data = {"payload": object, "request_type": 'POST', "to": 'https://api.stripe.com/v1/payment_intents', "idempotency_key": idempotency_key} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/build.liquid index 61ffc2a..8669521 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/build.liquid @@ -2,8 +2,8 @@ https://api.stripe.com/v1/customers/{{ customer_id }}/payment_methods/{{ payment_method_id }} {% endcapture %} {% liquid - assign payload = null | hash_merge: stripe_account_name: stripe_account_name - assign data = null | hash_merge: payload: payload, request_type: 'GET', to: url + assign payload = {"stripe_account_name": stripe_account_name} + assign data = {"payload": payload, "request_type": 'GET', "to": url} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/map_response.liquid index 3d44c2c..673d1fb 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_payment_method/retrieve/map_response.liquid @@ -6,7 +6,10 @@ assign data.errors = response.error assign data.valid = false else - assign payment_method = response[response.type] | hash_merge: payment_method_id: response.id, type: response.type, stripe_account_name: stripe_account_name + assign payment_method = response[response.type] + assign payment_method.payment_method_id = response.id + assign payment_method.type = response.type + assign payment_method.stripe_account_name = stripe_account_name assign data = payment_method assign data.valid = true endif diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/build.liquid index 470bb77..4ed8c72 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/build.liquid @@ -1,6 +1,8 @@ {%- liquid assign payable_ids = transaction.payable_ids | join: ',' - assign object.metadata = object.metadata | hash_merge: transaction_id: transaction.id, payable_ids: payable_ids, payer_id: transaction.payer_id + assign object.metadata.transaction_id = transaction.id + assign object.metadata.payable_ids = payable_ids + assign object.metadata.payer_id = transaction.payer_id -%} {%- parse_json data -%} @@ -20,7 +22,7 @@ } {%- endparse_json -%} {% liquid - assign data = null | hash_merge: payload: data, request_type: 'POST', to: 'https://api.stripe.com/v1/refunds' + assign data = {"payload": data, "request_type": 'POST', "to": 'https://api.stripe.com/v1/refunds'} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid index edf51b3..78c65fd 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object.payload, field_name: 'amount' function c = 'modules/core/validations/not_null', c: c, object: object.payload, field_name: 'refund_application_fee' @@ -17,7 +17,9 @@ function c = 'modules/core/validations/included', c: c, object: object.payload, field_name: 'reason', array: reasons endif - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/map_response.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/map_response.liquid index 4b1ef47..37e5671 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/map_response.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_refund/create/map_response.liquid @@ -7,7 +7,8 @@ assign data.status = 'failed' assign data.valid = false else - assign data = response | hash_merge: refund_id: response.id + assign data = response + assign data.refund_id = response.id assign data.valid = true endif else diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid index dd28ea0..89cc32f 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_setup_intent/handle_webhook/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: setup_intent: setup_intent, id: object.id + assign data = {"setup_intent": setup_intent, "id": object.id} if object.customer function customer = 'modules/payments_stripe/commands/stripe_customer/retrieve', customer_id: object.customer, payer_id: setup_intent.reference_id, stripe_account_name: setup_intent.stripe_account_name assign data.customer = customer diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/create.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/create.liquid index dc93f07..bb70bd1 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/create.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/create.liquid @@ -7,7 +7,7 @@ {% endparse_json %} {% liquid assign idempotency_key = 20 | random_string - assign data = null | hash_merge: to: 'https://api.stripe.com/v1/webhook_endpoints', request_type: 'Post', payload: payload, idempotency_key: idempotency_key, stripe_account_name: stripe_account_name + assign data = {"to": 'https://api.stripe.com/v1/webhook_endpoints', "request_type": 'Post', "payload": payload, "idempotency_key": idempotency_key, "stripe_account_name": stripe_account_name} graphql response = 'modules/payments_stripe/api_call', template: 'modules/payments_stripe/generic', data: data assign response = response | dig: 'api_call', 'response' return response diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/build.liquid index c1dd9a1..87bfe95 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/stripe_webhook/delete/build.liquid @@ -2,6 +2,6 @@ assign idempotency_key = 20 | random_string assign to = 'https://api.stripe.com/v1/webhook_endpoints/' | append: gateway_id - assign object = null | hash_merge: to: to, request_type: 'Delete', idempotency_key: idempotency_key, gateway_id: gateway_id + assign object = {"to": to, "request_type": 'Delete', "idempotency_key": idempotency_key, "gateway_id": gateway_id} return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid index 9ee8440..3f934c7 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize.liquid @@ -5,7 +5,7 @@ if object.valid function stripe_session = 'modules/payments_stripe/commands/stripe_checkout/retrieve', transaction: object.transaction, with_payment_intent: true if stripe_session.valid - assign ach_method_types = '["us_bank_account"]' | parse_json + assign ach_method_types = ["us_bank_account"] if stripe_session.payment_intent.payment_method_types != ach_method_types assign ach_payment = true endif @@ -32,7 +32,7 @@ if payment_status if payment_status != transaction.status.name - assign input = null | hash_merge: payment_status: payment_status + assign input = {"payment_status": payment_status} function object = 'modules/payments/commands/transactions/update_status', object: input, transaction: object.transaction, requester_id: requester_id endif else diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/build.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/build.liquid index 04098d7..f10c611 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/build.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: transaction: object, transaction_status: object.status.name + assign data = {"transaction": object, "transaction_status": object.status.name} return data %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/check.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/check.liquid index c537372..8d5b6d4 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/check.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/transaction_finalize/check.liquid @@ -1,11 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } assign new_statuses = 'new' | split: ',' assign transaction_status_short = object.transaction_status | split: '.' | last function c = 'modules/core/validations/included', c: c, field_name: 'transaction_status', array: new_statuses, value: transaction_status_short - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid index 0aa7884..926b830 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/charge.liquid @@ -1,6 +1,6 @@ {%- liquid assign requester_id = 'stripe_webhook_request' - assign response = null | hash_merge: status: 200 + assign response = {"status": 200} assign gateway_transaction_ids = params.data.object.id | split: '!!' | push: params.data.object.payment_intent | compact if params.data.object.metadata.transaction_id function transaction = 'modules/payments/queries/transactions/find', id: params.data.object.metadata.transaction_id diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid index fd7bc5e..6501222 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/connected_account.liquid @@ -1,5 +1,5 @@ {%- liquid - assign response = null | hash_merge: status: 200 + assign response = {"status": 200} function connected_account = 'modules/payments_stripe/queries/connected_accounts/find_by_account_id', account_id: params.account diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/is_valid.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/is_valid.liquid index 0350b8a..7fe9370 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/is_valid.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/is_valid.liquid @@ -1,6 +1,8 @@ {% liquid assign webhook_listen_url = "https://" | append: context.location.host | append: webhook_path + # platformos-check-disable GraphQLVariablesCheck graphql g = 'modules/payments_stripe/webhook_endpoints/search', livemode: context.exports.payment.livemode, url: webhook_listen_url, stripe_account_name: stripe_account_name + # platformos-check-enable GraphQLVariablesCheck assign last_webhook_config = g.webhook_endpoints.results.last if last_webhook_config.id == blank if context.constants.DEBUG == "true" diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid index 5ee5ddd..ef2678a 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/payout.liquid @@ -1,5 +1,5 @@ {%- liquid - assign response = null | hash_merge: status: 200 + assign response = {"status": 200} function connected_account = 'modules/payments_stripe/queries/connected_accounts/find_by_account_id', account_id: params.account diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid index 79f8494..9f3d880 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/session_expired.liquid @@ -1,6 +1,6 @@ {%- liquid assign requester_id = 'stripe_webhook_request' - assign response = null | hash_merge: status: 200 + assign response = {"status": 200} assign gateway_transaction_ids = params.data.object.id | split: '!!' | push: params.data.object.payment_intent diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid index 272910c..d2ba8d8 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/commands/webhooks/setup_intent.liquid @@ -1,6 +1,6 @@ {%- liquid assign requester_id = 'stripe_webhook_request' - assign response = null | hash_merge: status: 200 + assign response = {"status": 200} function setup_intents = 'modules/payments_stripe/queries/setup_intents/search', gateway_id: params.data.object.id, limit: 1 assign setup_intent = setup_intents.results[0] diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_deleted.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_deleted.liquid index 9bb92ba..242c906 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_deleted.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_deleted.liquid @@ -5,7 +5,7 @@ metadata: reference_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'connected_account_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id' diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_updated.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_updated.liquid index 061557c..45fcfeb 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_updated.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_connected_account_updated.liquid @@ -6,7 +6,7 @@ metadata: account_state --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'connected_account_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id' diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_payout_paid.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_payout_paid.liquid index ea42f3a..e9c967c 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_payout_paid.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_payout_paid.liquid @@ -7,7 +7,7 @@ metadata: reference_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'payout_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'connected_account_id' diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_setup_intent_succeeded.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_setup_intent_succeeded.liquid index 1e8236c..bd68ff5 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_setup_intent_succeeded.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/events/payments_stripe_setup_intent_succeeded.liquid @@ -5,7 +5,7 @@ metadata: payment_method_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'setup_intent_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'payment_method_id' diff --git a/pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid b/pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid index 05cc5c8..1594e46 100644 --- a/pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid +++ b/pos-module-payments-stripe/modules/payments_stripe/public/lib/helpers/pay_object.liquid @@ -30,7 +30,7 @@ Possible payment_mode: function object = 'modules/payments_stripe/commands/stripe_checkout/create', object: gateway_params, transaction: transaction assign gateway_transaction_id = object.payment_intent | default: object.setup_intent endcase - assign transaction_object = null | hash_merge: id: transaction.id, gateway_transaction_id: gateway_transaction_id, c__status: transaction_status + assign transaction_object = {"id": transaction.id, "gateway_transaction_id": gateway_transaction_id, "c__status": transaction_status} function transaction = 'modules/payments/commands/transactions/update_gateway_transaction_id', object: transaction_object unless transaction.valid diff --git a/pos-module-payments/modules/payments/public/lib/commands/execute.liquid b/pos-module-payments/modules/payments/public/lib/commands/execute.liquid index 4a72367..82edf8c 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/execute.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/execute.liquid @@ -4,6 +4,6 @@ graphql r = mutation_name, args: object assign object = r[selection] - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/build.liquid b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/build.liquid index 92662c9..4adb5a2 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/build.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/build.liquid @@ -1,6 +1,6 @@ {% liquid assign request_data = object | json - assign data = null | hash_merge: external_id: external_id, name: name, request_data: request_data, request_url: request_url, gateway_object_id: object.id, stripe_account_name: stripe_account_name + assign data = {"external_id": external_id, "name": name, "request_data": request_data, "request_url": request_url, "gateway_object_id": object.id, "stripe_account_name": stripe_account_name} return data %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/check.liquid b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/check.liquid index 6bc237e..076208f 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/check.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/receive/check.liquid @@ -1,12 +1,14 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'external_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'request_data' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'request_url' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/build.liquid b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/build.liquid index 01ce52d..152abb7 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/build.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/build.liquid @@ -2,10 +2,10 @@ assign request_data = object | json assign url = object.to - assign gateway_request = null | hash_merge: external_id: external_id, name: name, request_url: url, request_data: request_data, api_call_template: template, stripe_account_name: object.payload.stripe_account_name - assign api_call = null | hash_merge: template: template, data: object + assign gateway_request = {"external_id": external_id, "name": name, "request_url": url, "request_data": request_data, "api_call_template": template, "stripe_account_name": object.payload.stripe_account_name} + assign api_call = {"template": template, "data": object} - assign data = null | hash_merge: api_call: api_call, gateway_request: gateway_request + assign data = {"api_call": api_call, "gateway_request": gateway_request} return data %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid index ad6fa37..f899c01 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/send/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object.gateway_request, field_name: 'external_id' function c = 'modules/core/validations/presence', c: c, object: object.gateway_request, field_name: 'request_data' @@ -10,7 +10,9 @@ function c = 'modules/core/validations/presence', c: c, object: object.api_call, field_name: 'template' function c = 'modules/core/validations/presence', c: c, object: object.api_call, field_name: 'data' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update/check.liquid b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update/check.liquid index 51addbe..cb57b0f 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update/check.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/gateway_requests/update/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'response_status' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/create.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/create.liquid index 64d1ebc..465f2b6 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/create.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/create.liquid @@ -5,7 +5,7 @@ if object.valid function object = 'modules/payments/commands/execute', mutation_name: 'modules/payments/transactions/create' object: object - assign input = null | hash_merge: payment_status: 'new' + assign input = {"payment_status": 'new'} function _ = 'modules/payments/commands/transactions/update_status', object: input, transaction: object, requester_id: 'system' else log object, type: "ERROR modules/payments/commands/transactions/create" diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid index 0daba84..707a597 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'payable_ids' function c = 'modules/core/validations/length', c: c, object: object, field_name: 'payable_ids', minimum: 1, message_minimum: 'app.models.transactions.errors.no_payable_object' @@ -8,8 +8,8 @@ function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'gateway' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'c__status' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/build.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/build.liquid index f704bf3..2b04142 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/build.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = null | hash_merge: id: id, c__status: status + assign object = {"id": id, "c__status": status} return object %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/check.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/check.liquid index 322c304..b85303a 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/check.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/set_status_cache/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'c__status' @@ -7,8 +7,8 @@ assign valid_statuses = 'app.statuses.transactions.new,app.statuses.transactions.pending,app.statuses.transactions.succeeded,app.statuses.transactions.expired,app.statuses.transactions.failed' | split: ',' function c = 'modules/core/validations/included', c: c, object: object, field_name: 'c__status', array: valid_statuses - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/build.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/build.liquid index 2a9a621..209cad1 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/build.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/build.liquid @@ -1,8 +1,8 @@ {% liquid - assign data = null | hash_merge: id: object.id, gateway_transaction_id: object.gateway_transaction_id + assign data = {"id": object.id, "gateway_transaction_id": object.gateway_transaction_id} if object.c__status - hash_assign data['c__status'] = object.c__status + assign data.c__status = object.c__status endif return data diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/check.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/check.liquid index 28fdebb..4059151 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/check.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_gateway_transaction_id/check.liquid @@ -1,10 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'gateway_transaction_id' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid index 8b87af6..d597988 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status.liquid @@ -6,7 +6,7 @@ if object.valid and object.c__status != transaction.c__status function object = 'modules/core/commands/execute', mutation_name: 'modules/payments/transactions/update' object: object - assign event_payload = null | hash_merge: transaction_id: object.id + assign event_payload = {"transaction_id": object.id} assign type = object.c__status | remove: 'app.statuses.transactions.' | prepend: 'payments_transaction_' | replace: '.', '_' function _ = 'modules/core/commands/events/publish', type: type, object: event_payload function _ = 'modules/core/commands/statuses/create', name: object.c__status, reference_id: object.id, requester_id: requester_id, reference_schema: 'modules/payments/transaction', payload: request_payload diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/build.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/build.liquid index 8a15d48..407fab1 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/build.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/build.liquid @@ -1,6 +1,6 @@ {% liquid function status = 'modules/payments/commands/transactions/map_status', payment_status: object.payment_status - assign data = null | hash_merge: id: transaction.id, c__status: status, gateway_transaction_id: object.gateway_transaction_id + assign data = {"id": transaction.id, "c__status": status, "gateway_transaction_id": object.gateway_transaction_id} return data %} diff --git a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/check.liquid b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/check.liquid index 63323dc..41b6e85 100644 --- a/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/check.liquid +++ b/pos-module-payments/modules/payments/public/lib/commands/transactions/update_status/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'c__status' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_expired.liquid b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_expired.liquid index 276a5d6..8ee0780 100644 --- a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_expired.liquid +++ b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_expired.liquid @@ -4,7 +4,7 @@ metadata: transaction_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'transaction_id' diff --git a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_failed.liquid b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_failed.liquid index 276a5d6..8ee0780 100644 --- a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_failed.liquid +++ b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_failed.liquid @@ -4,7 +4,7 @@ metadata: transaction_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'transaction_id' diff --git a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_new.liquid b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_new.liquid index 276a5d6..8ee0780 100644 --- a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_new.liquid +++ b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_new.liquid @@ -4,7 +4,7 @@ metadata: transaction_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'transaction_id' diff --git a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_pending.liquid b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_pending.liquid index 276a5d6..8ee0780 100644 --- a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_pending.liquid +++ b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_pending.liquid @@ -4,7 +4,7 @@ metadata: transaction_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'transaction_id' diff --git a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_succeeded.liquid b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_succeeded.liquid index 276a5d6..8ee0780 100644 --- a/pos-module-payments/modules/payments/public/lib/events/payments_transaction_succeeded.liquid +++ b/pos-module-payments/modules/payments/public/lib/events/payments_transaction_succeeded.liquid @@ -4,7 +4,7 @@ metadata: transaction_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'transaction_id' diff --git a/pos-module-payments/modules/payments/public/lib/tests/gateway_requests/receive_test.liquid b/pos-module-payments/modules/payments/public/lib/tests/gateway_requests/receive_test.liquid index 1f21759..c0887e0 100644 --- a/pos-module-payments/modules/payments/public/lib/tests/gateway_requests/receive_test.liquid +++ b/pos-module-payments/modules/payments/public/lib/tests/gateway_requests/receive_test.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = '{ "foo": "bar" }' | parse_json + assign data = { "foo": "bar" } assign url = "https://{{ context.location.host }}/payments/webhook" function object = 'modules/payments/commands/gateway_requests/receive', object: data, name: 'webhook_payment_finished', external_id: "5", request_url: url diff --git a/pos-module-payments/modules/payments/public/lib/tests/transactions/update_gateway_transaction_id_test.liquid b/pos-module-payments/modules/payments/public/lib/tests/transactions/update_gateway_transaction_id_test.liquid index a3f1c11..f137a5a 100644 --- a/pos-module-payments/modules/payments/public/lib/tests/transactions/update_gateway_transaction_id_test.liquid +++ b/pos-module-payments/modules/payments/public/lib/tests/transactions/update_gateway_transaction_id_test.liquid @@ -1,7 +1,7 @@ {% liquid - assign transaction_object = null | hash_merge: gateway: 'example', payable_ids: "1", currency: "USD", amount_cents: 12000 + assign transaction_object = {"gateway": 'example', "payable_ids": "1", "currency": "USD", "amount_cents": 12000} function transaction = 'modules/payments/commands/transactions/create', object: transaction_object - assign object = null | hash_merge: id: transaction.id, gateway_transaction_id: '12345' + assign object = {"id": transaction.id, "gateway_transaction_id": '12345'} function object = 'modules/payments/commands/transactions/update_gateway_transaction_id', object: object diff --git a/pos-module-reports/app/lib/commands/profiles/export_all.liquid b/pos-module-reports/app/lib/commands/profiles/export_all.liquid index f1a7f6d..c68cf24 100644 --- a/pos-module-reports/app/lib/commands/profiles/export_all.liquid +++ b/pos-module-reports/app/lib/commands/profiles/export_all.liquid @@ -1,8 +1,8 @@ -{% assign rows = '[]' | parse_json %} +{% assign rows = [] %} {% assign header_row = "id,created_at,updated_at,user_id,avatar,uuid,name,first_name,last_name,slug,email" | split: ',' %} -{%- assign rows = rows | add_to_array: header_row -%} +{%- assign rows = rows << header_row -%} {%- graphql profiles = 'modules/profile/profiles/search', page: 1, limit: 100 -%} {%- assign total_pages = profiles.records.total_pages -%} @@ -11,19 +11,19 @@ {%- graphql profiles = 'modules/profile/profiles/search', page: i, limit: 100 -%} {%- endif -%} {%- for profile in profiles.records.results -%} - {%- assign row = '[]' | parse_json -%} - {%- assign row = row | add_to_array: profile.id -%} - {%- assign row = row | add_to_array: profile.created_at -%} - {%- assign row = row | add_to_array: profile.updated_at -%} - {%- assign row = row | add_to_array: profile.properties.user_id -%} - {%- assign row = row | add_to_array: profile.avatar.photo.versions -%} - {%- assign row = row | add_to_array: profile.properties.uuid -%} - {%- assign row = row | add_to_array: profile.properties.name -%} - {%- assign row = row | add_to_array: profile.properties.first_name -%} - {%- assign row = row | add_to_array: profile.properties.last_name -%} - {%- assign row = row | add_to_array: profile.properties.slug -%} - {%- assign row = row | add_to_array: profile.properties.email -%} - {%- assign rows = rows | add_to_array: row -%} + {%- assign row = [] -%} + {%- assign row = row < { -%> function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' <% }); -%> - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid b/pos-module-reports/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid index 4ae7fc6..4fada40 100644 --- a/pos-module-reports/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid +++ b/pos-module-reports/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid @@ -1,9 +1,10 @@ {% liquid - assign c = '{ "valid": true, "errors": {} }' | parse_json + assign c = { "valid": true, "errors": {} } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid b/pos-module-reports/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid index c991577..cffe564 100644 --- a/pos-module-reports/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid +++ b/pos-module-reports/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid @@ -1,12 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' <% attributes.forEach((attr, i) => { -%> function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' <% }); -%> - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/core/generators/crud/templates/views/pages/model/new.liquid b/pos-module-reports/modules/core/generators/crud/templates/views/pages/model/new.liquid index cb0e37a..b2593b2 100644 --- a/pos-module-reports/modules/core/generators/crud/templates/views/pages/model/new.liquid +++ b/pos-module-reports/modules/core/generators/crud/templates/views/pages/model/new.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = '{}' | parse_json + assign object = {} render 'theme/simple/<%= modelNamePlural %>/new', object: object %} diff --git a/pos-module-reports/modules/core/public/lib/commands/email/send.liquid b/pos-module-reports/modules/core/public/lib/commands/email/send.liquid index bd0a46e..08b61e8 100644 --- a/pos-module-reports/modules/core/public/lib/commands/email/send.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/email/send.liquid @@ -7,8 +7,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif else log object.errors, type: 'payload validation error in core: commands/email' diff --git a/pos-module-reports/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-reports/modules/core/public/lib/commands/email/send/check.liquid index 83f4269..b2d0e28 100644 --- a/pos-module-reports/modules/core/public/lib/commands/email/send/check.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/email/send/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-reports/modules/core/public/lib/commands/events/broadcast.liquid index 5cf9440..6558c07 100644 --- a/pos-module-reports/modules/core/public/lib/commands/events/broadcast.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/events/broadcast.liquid @@ -8,7 +8,7 @@ assign name = 'consumers/' | append: object.type | append: '/' graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" - hash_assign object['consumers'] = consumers + assign object.consumers = consumers for consumer in consumers assign priority = 'default' if priorities contains consumer.metadata.priority diff --git a/pos-module-reports/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-reports/modules/core/public/lib/commands/events/create/build.liquid index 8276ea4..34dd532 100644 --- a/pos-module-reports/modules/core/public/lib/commands/events/create/build.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/events/create/build.liquid @@ -1,6 +1,8 @@ {% liquid assign now = 'now' | to_time - assign data = object | hash_merge: type: type, date: now + assign data = object + assign data.type = type + assign data.date = now return data %} diff --git a/pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid index b4f2878..07d352e 100644 --- a/pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/events/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date' @@ -17,14 +17,16 @@ if event_check_partial function event_result = event_check_partial.path, event: object if event_result.valid != true - hash_assign c['errors']['object'] = event_result.errors - hash_assign c['valid'] = false + assign c.errors.object = event_result.errors + assign c.valid = false endif else assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message endif - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-reports/modules/core/public/lib/commands/events/create/execute.liquid index bff75bf..326537b 100644 --- a/pos-module-reports/modules/core/public/lib/commands/events/create/execute.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/events/create/execute.liquid @@ -2,7 +2,7 @@ graphql r = 'modules/core/events/create', payload: object assign object = r.activity_create.payload - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-reports/modules/core/public/lib/commands/execute.liquid b/pos-module-reports/modules/core/public/lib/commands/execute.liquid index 0c9e1cd..e68f82d 100644 --- a/pos-module-reports/modules/core/public/lib/commands/execute.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/execute.liquid @@ -7,6 +7,6 @@ endif assign object = r[selection] - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-reports/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-reports/modules/core/public/lib/commands/hook/fire.liquid index c4956c8..f374185 100644 --- a/pos-module-reports/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/hook/fire.liquid @@ -8,9 +8,9 @@ {% endcomment %} {% liquid if merge_to_object - assign results = '{}' | parse_json + assign results = {} else - assign results = '[]' | parse_json + assign results = [] endif assign hook = '/hook_' | append: hook @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results | add_to_array: h_result + assign results = results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results | add_to_array: hook_result + assign results = results << hook_result endif endif endfor diff --git a/pos-module-reports/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-reports/modules/core/public/lib/commands/statuses/create/check.liquid index acbcb25..a264652 100644 --- a/pos-module-reports/modules/core/public/lib/commands/statuses/create/check.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/statuses/create/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-reports/modules/core/public/lib/commands/statuses/delete/build.liquid index d26bbdf..a596cdb 100644 --- a/pos-module-reports/modules/core/public/lib/commands/statuses/delete/build.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = null | hash_merge: id: id + assign object = {"id": id} return object %} diff --git a/pos-module-reports/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-reports/modules/core/public/lib/commands/statuses/delete/check.liquid index 51f8988..4fada40 100644 --- a/pos-module-reports/modules/core/public/lib/commands/statuses/delete/check.liquid +++ b/pos-module-reports/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -1,10 +1,10 @@ {% liquid - assign c = '{ "valid": true, "errors": {} }' | parse_json + assign c = { "valid": true, "errors": {} } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/core/public/lib/events/status_created.liquid b/pos-module-reports/modules/core/public/lib/events/status_created.liquid index 6718a16..023c478 100644 --- a/pos-module-reports/modules/core/public/lib/events/status_created.liquid +++ b/pos-module-reports/modules/core/public/lib/events/status_created.liquid @@ -8,7 +8,7 @@ metadata: payload --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id' diff --git a/pos-module-reports/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-reports/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 73e48bb..0ca414e 100644 --- a/pos-module-reports/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-reports/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -2,7 +2,7 @@ assign parameters = '' | split: ',' for pair in payload assign component = pair[0] | append: '={' | append: pair[0] | append: '}' - assign parameters = parameters | add_to_array: component + assign parameters = parameters << component endfor if parameters.size > 0 assign x_form_encoded = parameters | join: '&' | expand_url_template: payload diff --git a/pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid index 3d430eb..7cbd578 100644 --- a/pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid @@ -23,13 +23,12 @@ # platformos-check-enable ConvertIncludeToRender if format == 'json' - assign response_json = null | hash_merge: type: 'redirect', url: url + assign response_json = {"type": 'redirect', "url": url} if object.valid echo response_json else response_status 422 - assign res = '{ "errors": {} }' | parse_json - hash_assign res['errors'] = response_json.errors + assign res = { "errors": response_json.errors } echo res endif diff --git a/pos-module-reports/modules/core/public/lib/helpers/register_error.liquid b/pos-module-reports/modules/core/public/lib/helpers/register_error.liquid index 2f252ef..b64b4ce 100644 --- a/pos-module-reports/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-reports/modules/core/public/lib/helpers/register_error.liquid @@ -18,10 +18,10 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: '[]' | parse_json - assign field_errors = field_errors | add_to_array: msg + assign field_errors = field_errors << msg - hash_assign errors[field_name] = field_errors - hash_assign contract['valid'] = false + assign errors[field_name] = field_errors + assign contract.valid = false return contract %} diff --git a/pos-module-reports/modules/core/public/lib/queries/registry/search.liquid b/pos-module-reports/modules/core/public/lib/queries/registry/search.liquid index 60e1126..79da2f0 100644 --- a/pos-module-reports/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-reports/modules/core/public/lib/queries/registry/search.liquid @@ -8,18 +8,18 @@ case type when 'module' - assign modules = '[]' | parse_json + assign modules = [] for module in registry if module.type == 'module' - assign modules = modules | add_to_array: module + assign modules = modules << module endif endfor return modules when 'theme' - assign themes = '[]' | parse_json + assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes | add_to_array: module + assign themes = themes << module endif endfor return themes diff --git a/pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid index ad4b34d..9ab7d06 100644 --- a/pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid +++ b/pos-module-reports/modules/core/public/lib/validations/password_complexity.liquid @@ -29,7 +29,8 @@ endunless endif - function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: key: 'modules/core/validation.too_short', allow_blank: null + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null return c %} diff --git a/pos-module-reports/modules/core/public/lib/validations/valid_object.liquid b/pos-module-reports/modules/core/public/lib/validations/valid_object.liquid index b29a9b1..41f9359 100644 --- a/pos-module-reports/modules/core/public/lib/validations/valid_object.liquid +++ b/pos-module-reports/modules/core/public/lib/validations/valid_object.liquid @@ -12,7 +12,7 @@ if check_object.valid != true function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' assign errors_key = field_name | append: '_errors' - hash_assign c['errors'][errors_key] = check_object.errors + assign c.errors[errors_key] = check_object.errors endif endif diff --git a/pos-module-reports/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-reports/modules/core/public/views/pages/_events/trigger.liquid index 9ac9edd..c062670 100644 --- a/pos-module-reports/modules/core/public/views/pages/_events/trigger.liquid +++ b/pos-module-reports/modules/core/public/views/pages/_events/trigger.liquid @@ -12,7 +12,7 @@ slug: _events/:uuid/trigger else assign name = 'consumers/' | append: event.type | append: '/' graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" - hash_assign event['consumers'] = consumers + assign event.consumers = consumers endif render 'modules/core/events/show', event: event diff --git a/pos-module-reports/modules/core/public/views/partials/events/show.liquid b/pos-module-reports/modules/core/public/views/partials/events/show.liquid index 2561104..1fed733 100644 --- a/pos-module-reports/modules/core/public/views/partials/events/show.liquid +++ b/pos-module-reports/modules/core/public/views/partials/events/show.liquid @@ -1,3 +1,3 @@

Event

-<< List +<< List {% render 'modules/core/events/event_card', event: event %} diff --git a/pos-module-reports/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-reports/modules/core/public/views/partials/lib/commands/email/send.liquid index e6ad1be..1818aa7 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/commands/email/send.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -8,8 +8,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif else log object.errors, type: 'payload validation error in core: lib/commands/email' diff --git a/pos-module-reports/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-reports/modules/core/public/views/partials/lib/commands/email/send/check.liquid index 83f4269..b2d0e28 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/commands/email/send/check.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid index 5af969b..e21adf6 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -8,9 +8,9 @@ {% endcomment %} {% liquid if merge_to_object - assign results = '{}' | parse_json + assign results = {} else - assign results = '[]' | parse_json + assign results = [] endif assign hook = '/hook_' | append: hook @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results | add_to_array: h_result + assign results = results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results | add_to_array: hook_result + assign results = results << hook_result endif endif endfor diff --git a/pos-module-reports/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-reports/modules/core/public/views/partials/lib/helpers/register_error.liquid index 2f252ef..b64b4ce 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -18,10 +18,10 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: '[]' | parse_json - assign field_errors = field_errors | add_to_array: msg + assign field_errors = field_errors << msg - hash_assign errors[field_name] = field_errors - hash_assign contract['valid'] = false + assign errors[field_name] = field_errors + assign contract.valid = false return contract %} diff --git a/pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid index 9c2cb22..99f2945 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -8,18 +8,18 @@ case type when 'module' - assign modules = '[]' | parse_json + assign modules = [] for module in registry if module.type == 'module' - assign modules = modules | add_to_array: module + assign modules = modules << module endif endfor return modules when 'theme' - assign themes = '[]' | parse_json + assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes | add_to_array: module + assign themes = themes << module endif endfor return themes diff --git a/pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid index d5848f6..e78516e 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -27,7 +27,8 @@ endunless endif - function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: key: 'modules/core/validation.too_short', allow_blank: null + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null return c %} diff --git a/pos-module-reports/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-reports/modules/core/public/views/partials/lib/validations/valid_object.liquid index 7b1b317..f0adacc 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/validations/valid_object.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -13,7 +13,7 @@ if check_object.valid != true function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' assign errors_key = field_name | append: '_errors' - hash_assign c['errors'][errors_key] = check_object.errors + assign c.errors[errors_key] = check_object.errors endif endif diff --git a/pos-module-reports/modules/profile/public/lib/commands/profiles/create/build.liquid b/pos-module-reports/modules/profile/public/lib/commands/profiles/create/build.liquid index bdb30ef..585b34d 100644 --- a/pos-module-reports/modules/profile/public/lib/commands/profiles/create/build.liquid +++ b/pos-module-reports/modules/profile/public/lib/commands/profiles/create/build.liquid @@ -4,7 +4,7 @@ assign uuid = object.uuid | default: uuid_new assign name = object.first_name | append: ' ' | append: object.last_name - assign data = null | hash_merge: first_name: object.first_name, last_name: object.last_name, user_id: object.user_id, email: object.email, uuid: uuid, name: name, c__names: tokenized_names + assign data = {"first_name": object.first_name, "last_name": object.last_name, "user_id": object.user_id, "email": object.email, "uuid": uuid, "name": name, "c__names": tokenized_names} return data %} diff --git a/pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid b/pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid index 264d314..cecdd2c 100644 --- a/pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid +++ b/pos-module-reports/modules/profile/public/lib/commands/profiles/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'user_id' function table = 'modules/profile/helpers/table_name' @@ -9,7 +9,9 @@ function c = 'modules/core/validations/length', c: c, object: object, field_name: 'first_name', maximum: 40, allow_blank: null function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/profile/public/lib/commands/profiles/delete/build.liquid b/pos-module-reports/modules/profile/public/lib/commands/profiles/delete/build.liquid index d10a19e..3536a27 100644 --- a/pos-module-reports/modules/profile/public/lib/commands/profiles/delete/build.liquid +++ b/pos-module-reports/modules/profile/public/lib/commands/profiles/delete/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: id: object.id + assign data = {"id": object.id} return data %} diff --git a/pos-module-reports/modules/profile/public/lib/commands/profiles/delete/check.liquid b/pos-module-reports/modules/profile/public/lib/commands/profiles/delete/check.liquid index 67e2c81..de59d59 100644 --- a/pos-module-reports/modules/profile/public/lib/commands/profiles/delete/check.liquid +++ b/pos-module-reports/modules/profile/public/lib/commands/profiles/delete/check.liquid @@ -1,9 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/profile/public/lib/commands/profiles/tokenize_names.liquid b/pos-module-reports/modules/profile/public/lib/commands/profiles/tokenize_names.liquid index f4b04c8..344e3d1 100644 --- a/pos-module-reports/modules/profile/public/lib/commands/profiles/tokenize_names.liquid +++ b/pos-module-reports/modules/profile/public/lib/commands/profiles/tokenize_names.liquid @@ -1,4 +1,4 @@ {% liquid - assign tokenized_names = '[]' | parse_json | array_add: object.email | array_add: object.first_name | array_add: object.last_name | compact | uniq | join: ' ' | downcase + assign tokenized_names = [object.email, object.first_name, object.last_name] | compact | uniq | join: ' ' | downcase return tokenized_names %} diff --git a/pos-module-reports/modules/profile/public/lib/commands/profiles/update/build.liquid b/pos-module-reports/modules/profile/public/lib/commands/profiles/update/build.liquid index 5cb50bb..f2f01ac 100644 --- a/pos-module-reports/modules/profile/public/lib/commands/profiles/update/build.liquid +++ b/pos-module-reports/modules/profile/public/lib/commands/profiles/update/build.liquid @@ -2,7 +2,7 @@ function tokenized_names = 'modules/profile/commands/profiles/tokenize_names', object: object assign name = object.first_name | append: ' ' | append: object.last_name - assign data = null | hash_merge: id: profile.id, first_name: object.first_name, last_name: object.last_name, name: name, c__names: tokenized_names, email: object.email + assign data = {"id": profile.id, "first_name": object.first_name, "last_name": object.last_name, "name": name, "c__names": tokenized_names, "email": object.email} return data %} diff --git a/pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid b/pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid index 2c4f66d..e07dba5 100644 --- a/pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid +++ b/pos-module-reports/modules/profile/public/lib/commands/profiles/update/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'email', table: 'modules/profile/profile', scope_name: null, exclude_name: null @@ -8,7 +8,10 @@ function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null - assign object = object | hash_merge: c + assign object.valid = c.valid + + + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/profile/public/lib/helpers/current_profile.liquid b/pos-module-reports/modules/profile/public/lib/helpers/current_profile.liquid index 7ef1730..4d69163 100644 --- a/pos-module-reports/modules/profile/public/lib/helpers/current_profile.liquid +++ b/pos-module-reports/modules/profile/public/lib/helpers/current_profile.liquid @@ -2,9 +2,13 @@ function user = 'modules/user/queries/user/current' if user.id function current_profile = 'modules/profile/queries/profiles/find', user_id: user.id, id: null, uuid: null, first_name: null, last_name: null + else + assign current_profile = {} endif - assign current_profile = current_profile | hash_merge: roles: user.roles, permissions: user.permissions, user: user + assign current_profile.roles = user.roles + assign current_profile.permissions = user.permissions + assign current_profile.user = user export current_profile return current_profile diff --git a/pos-module-reports/modules/profile/public/lib/queries/profiles/filters.liquid b/pos-module-reports/modules/profile/public/lib/queries/profiles/filters.liquid index 0e490b4..9aba9fc 100644 --- a/pos-module-reports/modules/profile/public/lib/queries/profiles/filters.liquid +++ b/pos-module-reports/modules/profile/public/lib/queries/profiles/filters.liquid @@ -5,11 +5,7 @@ } {% endparse_json %} {% liquid - assign filters = '{}' | parse_json - hash_assign filters['page'] = params.page | to_positive_integer: 1 - hash_assign filters['keyword'] = params.keyword | default: '' - hash_assign filters['sort_by'] = params.sort_by | default: 'first_name_desc' - hash_assign filters['sort'] = sort_options[filters.sort_by] - + assign filters = { "page": params.page | to_positive_integer: 1, "keyword": params.keyword | default: '', "sort_by": params.sort_by | default: 'first_name_desc', "sort": sort_options[filters.sort_by] } + return filters %} diff --git a/pos-module-reports/modules/profile/public/lib/queries/profiles/find.liquid b/pos-module-reports/modules/profile/public/lib/queries/profiles/find.liquid index d1b78e0..eb951e6 100644 --- a/pos-module-reports/modules/profile/public/lib/queries/profiles/find.liquid +++ b/pos-module-reports/modules/profile/public/lib/queries/profiles/find.liquid @@ -9,7 +9,7 @@ if profile function slug = 'modules/profile/helpers/profiles/slugs/build' , current_profile: profile - hash_assign profile['properties']['slug'] = slug + assign profile.properties.slug = slug assign profile = profile | hash_merge: profile.properties endif diff --git a/pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid b/pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid index 7b959d6..c4843d7 100644 --- a/pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid +++ b/pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid @@ -7,15 +7,15 @@ graphql r = 'modules/profile/profiles/search', limit: limit, uuid: uuid, id: id, ids: ids, first_name: first_name , last_name: last_name , user_id: user_id, not_ids: not_ids, query: query, emails: emails, sort: sort, page: page assign records = r.records - assign profiles = '[]' | parse_json + assign profiles = [] for profile in records.results function slug = 'modules/profile/helpers/profiles/slugs/build' , current_profile: profile - hash_assign profile['properties']['slug'] = slug + assign profile.properties.slug = slug assign p = profile | hash_merge: profile.properties - assign profiles = profiles | array_add: p + assign profiles = profiles << p endfor - hash_assign records['results'] = profiles + assign records.results = profiles return records %} diff --git a/pos-module-reports/modules/reports/public/lib/commands/reports/create/build.liquid b/pos-module-reports/modules/reports/public/lib/commands/reports/create/build.liquid index 279015a..b631498 100644 --- a/pos-module-reports/modules/reports/public/lib/commands/reports/create/build.liquid +++ b/pos-module-reports/modules/reports/public/lib/commands/reports/create/build.liquid @@ -1,5 +1,5 @@ {% liquid assign created_at = 'now' | to_time: 'UTC' | strftime: "%Y-%m-%dT%H:%M:%S%Z" - assign data = null | hash_merge: uuid: object.uuid, creator_id: object.creator_id, user_id: object.user_id, operation_type: object.operation_type, operation_model: object.operation_model, options: object.options, created_at: created_at, retrieve_all_command: object.retrieve_all_command + assign data = {"uuid": object.uuid, "creator_id": object.creator_id, "user_id": object.user_id, "operation_type": object.operation_type, "operation_model": object.operation_model, "options": object.options, "created_at": created_at, "retrieve_all_command": object.retrieve_all_command} return data %} diff --git a/pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid b/pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid index 8585a88..7710985 100644 --- a/pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid +++ b/pos-module-reports/modules/reports/public/lib/commands/reports/create/check.liquid @@ -17,7 +17,9 @@ endtry endif - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/reports/public/lib/events/report_completed.liquid b/pos-module-reports/modules/reports/public/lib/events/report_completed.liquid index b35cde6..881045e 100644 --- a/pos-module-reports/modules/reports/public/lib/events/report_completed.liquid +++ b/pos-module-reports/modules/reports/public/lib/events/report_completed.liquid @@ -7,7 +7,7 @@ metadata: app_host --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'creator_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-reports/modules/reports/public/lib/events/report_requested.liquid b/pos-module-reports/modules/reports/public/lib/events/report_requested.liquid index 87c4319..c8103a9 100644 --- a/pos-module-reports/modules/reports/public/lib/events/report_requested.liquid +++ b/pos-module-reports/modules/reports/public/lib/events/report_requested.liquid @@ -6,7 +6,7 @@ metadata: app_host --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'object_id' diff --git a/pos-module-reports/modules/user/public/lib/commands/authentication_links/create.liquid b/pos-module-reports/modules/user/public/lib/commands/authentication_links/create.liquid index 3babc6a..4bdb0c9 100644 --- a/pos-module-reports/modules/user/public/lib/commands/authentication_links/create.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/authentication_links/create.liquid @@ -4,7 +4,7 @@ if object.valid function object = 'modules/user/commands/authentication_links/create/execute', object: object - assign event_payload = null | hash_merge: email: email + assign event_payload = {"email": email} function _ = 'modules/core/commands/events/publish', type: 'authentication_link_created', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-reports/modules/user/public/lib/commands/authentication_links/create/check.liquid b/pos-module-reports/modules/user/public/lib/commands/authentication_links/create/check.liquid index cdd52a2..d02f145 100644 --- a/pos-module-reports/modules/user/public/lib/commands/authentication_links/create/check.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/authentication_links/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'host' @@ -9,8 +9,8 @@ function c = 'modules/core/validations/hcaptcha', c: c, hcaptcha_params: hcaptcha_params endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/user/public/lib/commands/authentication_links/create/execute.liquid b/pos-module-reports/modules/user/public/lib/commands/authentication_links/create/execute.liquid index 2b5ea1e..2044a86 100644 --- a/pos-module-reports/modules/user/public/lib/commands/authentication_links/create/execute.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/authentication_links/create/execute.liquid @@ -1,6 +1,6 @@ {% liquid if object.valid - hash_assign object['url'] = 'https://{host}/passwords/new?token={token}&email={email}' | expand_url_template: object + assign object.url = 'https://{host}/passwords/new?token={token}&email={email}' | expand_url_template: object endif return object diff --git a/pos-module-reports/modules/user/public/lib/commands/passwords/create.liquid b/pos-module-reports/modules/user/public/lib/commands/passwords/create.liquid index fb11f56..061474f 100644 --- a/pos-module-reports/modules/user/public/lib/commands/passwords/create.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/passwords/create.liquid @@ -4,7 +4,7 @@ if object.valid function object = 'modules/user/commands/passwords/create/execute', object: object - assign event_payload = null | hash_merge: user_id: object.user_id + assign event_payload = {"user_id": object.user_id} function _ = 'modules/core/commands/events/publish', type: 'password_created', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid b/pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid index 877fbe9..d89abb5 100644 --- a/pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/passwords/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' @@ -7,8 +7,8 @@ function c = 'modules/core/validations/equal', c: c, given: object.password, expected: object.password_confirmation, field_name: 'password_confirmation', key: 'modules/user/validation.password.do_not_match', not_verbose: true, message: null function c = 'modules/core/validations/password_complexity', c: c, object: object, field_name: 'password', key: null - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/user/public/lib/commands/passwords/create/execute.liquid b/pos-module-reports/modules/user/public/lib/commands/passwords/create/execute.liquid index 4c0a7fd..d5a365b 100644 --- a/pos-module-reports/modules/user/public/lib/commands/passwords/create/execute.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/passwords/create/execute.liquid @@ -4,8 +4,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif return object diff --git a/pos-module-reports/modules/user/public/lib/commands/session/create.liquid b/pos-module-reports/modules/user/public/lib/commands/session/create.liquid index 5cffc62..c9665da 100644 --- a/pos-module-reports/modules/user/public/lib/commands/session/create.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/session/create.liquid @@ -30,13 +30,13 @@ function user = 'modules/user/queries/user/load', id: object.id if user.id sign_in user_id: user.id - assign params = '{}' | parse_json | hash_merge: user: user, hook_params: hook_params + assign params = {"user": user, "hook_params": hook_params} function results = 'modules/core/commands/hook/fire', hook: 'user_login', params: params, merge_to_object: true - hash_assign user['hook_results'] = results + assign user.hook_results = results endif - hash_assign object['user'] = user + assign object.user = user - assign event_payload = null | hash_merge: user_id: object.id + assign event_payload = {"user_id": object.id} function _ = 'modules/core/commands/events/publish', type: 'user_signed_in', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-reports/modules/user/public/lib/commands/session/create/check.liquid b/pos-module-reports/modules/user/public/lib/commands/session/create/check.liquid index a8e6310..8b23983 100644 --- a/pos-module-reports/modules/user/public/lib/commands/session/create/check.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/session/create/check.liquid @@ -1,10 +1,10 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/user/public/lib/commands/session/destroy.liquid b/pos-module-reports/modules/user/public/lib/commands/session/destroy.liquid index 1362414..0626ffe 100644 --- a/pos-module-reports/modules/user/public/lib/commands/session/destroy.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/session/destroy.liquid @@ -4,13 +4,13 @@ {% liquid function user = 'modules/user/queries/user/current' graphql destroy = 'modules/user/session/destroy' - hash_assign destroy['user'] = user + assign destroy.user = user unless destroy.errors - assign params = '{}' | parse_json | hash_merge: destroy: destroy + assign params = {"destroy": destroy} function results = 'modules/core/commands/hook/fire', hook: 'user_logout', params: params, merge_to_object: null - hash_assign destroy['hook_results'] = results - assign event_payload = null | hash_merge: user_id: user.id + assign destroy.hook_results = results + assign event_payload = {"user_id": user.id} function _ = 'modules/core/commands/events/publish', type: 'user_logout', object: event_payload, delay: null, max_attempts: null session original_user_id = null session return_to = null diff --git a/pos-module-reports/modules/user/public/lib/commands/session/impersonation/create.liquid b/pos-module-reports/modules/user/public/lib/commands/session/impersonation/create.liquid index 55e3b14..3ac488c 100644 --- a/pos-module-reports/modules/user/public/lib/commands/session/impersonation/create.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/session/impersonation/create.liquid @@ -5,7 +5,7 @@ sign_in user_id: object.id session original_user_id = object.current_user_id - assign event_object = null | hash_merge: actor_id: object.current_user_id, target_id: object.user_id + assign event_object = {"actor_id": object.current_user_id, "target_id": object.user_id} function _ = 'modules/core/commands/events/publish', type: 'impersonation_started', object: event_object, delay: null, max_attempts: null endif diff --git a/pos-module-reports/modules/user/public/lib/commands/session/impersonation/create/check.liquid b/pos-module-reports/modules/user/public/lib/commands/session/impersonation/create/check.liquid index 3298544..6441fe5 100644 --- a/pos-module-reports/modules/user/public/lib/commands/session/impersonation/create/check.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/session/impersonation/create/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy.liquid b/pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy.liquid index d50546a..d7f58b4 100644 --- a/pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy.liquid @@ -6,7 +6,7 @@ sign_in user_id: object.id session original_user_id = null - assign event_object = null | hash_merge: actor_id: object.id , impersonated_user_id: object.current_user_id + assign event_object = {"actor_id": object.id, "impersonated_user_id": object.current_user_id} function _ = 'modules/core/commands/events/publish', type: 'impersonation_ended', object: event_object, delay: null, max_attempts: null endif diff --git a/pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid b/pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid index 3298544..6441fe5 100644 --- a/pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/user/public/lib/commands/user/create.liquid b/pos-module-reports/modules/user/public/lib/commands/user/create.liquid index 07c2235..ff7562e 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/create.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/create.liquid @@ -13,7 +13,7 @@ function object = 'modules/user/commands/user/create/check', object: object if object.valid function object = 'modules/core/commands/execute', mutation_name: 'modules/user/user/create', object: object, selection: 'user' - assign event_payload = null | hash_merge: user_id: object.id + assign event_payload = {"user_id": object.id} function _ = 'modules/core/commands/events/publish', type: 'user_created', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-reports/modules/user/public/lib/commands/user/create/build.liquid b/pos-module-reports/modules/user/public/lib/commands/user/create/build.liquid index 0c6d328..97ab8d4 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/create/build.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/create/build.liquid @@ -1,8 +1,8 @@ {% liquid if roles == null - assign roles = '[]' | parse_json + assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles | array_add: context.constants.USER_DEFAULT_ROLE + assign roles = roles << context.constants.USER_DEFAULT_ROLE endif else assign roles_type = roles | type_of @@ -25,6 +25,6 @@ } {% endparse_json %} -{% hash_assign object['roles'] = roles %} +{% assign object.roles = roles %} {% return object %} diff --git a/pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid b/pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid index c7da643..ee02e68 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' function c = 'modules/core/validations/password_complexity', c: c, object: object, field_name: 'password', key: null @@ -15,8 +15,8 @@ endif endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/user/public/lib/commands/user/delete.liquid b/pos-module-reports/modules/user/public/lib/commands/user/delete.liquid index 31ba099..59a139a 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/delete.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/delete.liquid @@ -8,11 +8,11 @@ graphql user = 'modules/user/user/delete', id: id unless user.errors - assign params = '{}' | parse_json | hash_merge: user: user.user + assign params = {"user": user.user} function results = 'modules/core/commands/hook/fire', hook: 'user_delete', params: params, merge_to_object: null - hash_assign user['hook_results'] = results + assign user.hook_results = results - assign event_payload = null | hash_merge: user_id: id + assign event_payload = {"user_id": id} function _ = 'modules/core/commands/events/publish', type: 'user_deleted', object: event_payload, delay: null, max_attempts: null endunless diff --git a/pos-module-reports/modules/user/public/lib/commands/user/roles/append.liquid b/pos-module-reports/modules/user/public/lib/commands/user/roles/append.liquid index c9cb499..d062589 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/roles/append.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/roles/append.liquid @@ -1,10 +1,10 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, role : role + assign object = {"valid": true, "id": id, "role": role} function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/user/roles/append', selection: 'user' if object.errors == blank - assign event_payload = null | hash_merge: user_id: id, role: role + assign event_payload = {"user_id": id, "role": role} function _ = 'modules/core/commands/events/publish', type: 'user_role_appended', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-reports/modules/user/public/lib/commands/user/roles/remove.liquid b/pos-module-reports/modules/user/public/lib/commands/user/roles/remove.liquid index e83891f..945945e 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/roles/remove.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/roles/remove.liquid @@ -1,9 +1,9 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, role : role + assign object = {"valid": true, "id": id, "role": role} function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/user/roles/remove', selection: 'user' if object.errors == blank - assign event_payload = null | hash_merge: user_id: id, role: role + assign event_payload = {"user_id": id, "role": role} function _ = 'modules/core/commands/events/publish', type: 'user_role_removed', object: event_payload, delay: null, max_attempts: null endif return object diff --git a/pos-module-reports/modules/user/public/lib/commands/user/roles/set.liquid b/pos-module-reports/modules/user/public/lib/commands/user/roles/set.liquid index 0662c3c..dd46bf4 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/roles/set.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/roles/set.liquid @@ -1,9 +1,9 @@ {% liquid - assign object = '{}' | parse_json | hash_merge: valid: true, id: id, roles: roles + assign object = {"valid": true, "id": id, "roles": roles} function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/user/roles/set', selection: 'user' if object.errors == blank - assign event_payload = null | hash_merge: user_id: id, roles: roles + assign event_payload = {"user_id": id, "roles": roles} function _ = 'modules/core/commands/events/publish', type: 'user_roles_set', object: event_payload, delay: null, max_attempts: null endif return object diff --git a/pos-module-reports/modules/user/public/lib/commands/user/update.liquid b/pos-module-reports/modules/user/public/lib/commands/user/update.liquid index d2502fa..70c8b98 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/update.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/update.liquid @@ -15,23 +15,23 @@ if object.valid graphql user = 'modules/user/user/update', args: object - hash_assign object['update_result'] = user + assign object.update_result = user unless user.errors - assign params = '{}' | parse_json | hash_merge: updated_user: user.user, hook_params: hook_params + assign params = {"updated_user": user.user, "hook_params": hook_params} # todo: merge_to_object for hooks with the same name will overwrite the validity of previous results function results = 'modules/core/commands/hook/fire', hook: 'user_update', params: params, merge_to_object: true for result in results # using the errors key for a quick workaround for now if result[1].valid == false or result[1].errors != blank - hash_assign object['valid'] = false - hash_assign object['errors'] = result[1].errors + assign object.valid = false + assign object.errors = result[1].errors break endif endfor - hash_assign object['hook_results'] = results + assign object.hook_results = results endunless - assign event_payload = null | hash_merge: user_id: object.id + assign event_payload = {"user_id": object.id} function _ = 'modules/core/commands/events/publish', type: 'user_updated', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-reports/modules/user/public/lib/commands/user/update/check.liquid b/pos-module-reports/modules/user/public/lib/commands/user/update/check.liquid index 3719f9e..8b83498 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/update/check.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/update/check.liquid @@ -1,12 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } if object['email'] function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid b/pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid index 19a55b6..390b6df 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/verify_password/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' @@ -10,11 +10,11 @@ assign user = user.users.results.first function c = 'modules/core/validations/truthy', c: c, field_name: 'password', object: user.authenticate, key: 'modules/user/validation.invalid_email_or_password' - hash_assign object['id'] = user.id + assign object.id = user.id endif - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-reports/modules/user/public/lib/events/authentication_link_created.liquid b/pos-module-reports/modules/user/public/lib/events/authentication_link_created.liquid index 6a9dfa1..d770000 100644 --- a/pos-module-reports/modules/user/public/lib/events/authentication_link_created.liquid +++ b/pos-module-reports/modules/user/public/lib/events/authentication_link_created.liquid @@ -4,7 +4,7 @@ metadata: email --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'email' diff --git a/pos-module-reports/modules/user/public/lib/events/impersonation_ended.liquid b/pos-module-reports/modules/user/public/lib/events/impersonation_ended.liquid index 0281e88..4fac38b 100644 --- a/pos-module-reports/modules/user/public/lib/events/impersonation_ended.liquid +++ b/pos-module-reports/modules/user/public/lib/events/impersonation_ended.liquid @@ -5,7 +5,7 @@ metadata: impersonation_ended --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'impersonation_ended' diff --git a/pos-module-reports/modules/user/public/lib/events/impersonation_started.liquid b/pos-module-reports/modules/user/public/lib/events/impersonation_started.liquid index 258fb32..ae05962 100644 --- a/pos-module-reports/modules/user/public/lib/events/impersonation_started.liquid +++ b/pos-module-reports/modules/user/public/lib/events/impersonation_started.liquid @@ -6,7 +6,7 @@ metadata: --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'target_id' diff --git a/pos-module-reports/modules/user/public/lib/events/password_created.liquid b/pos-module-reports/modules/user/public/lib/events/password_created.liquid index 427444a..fb629b9 100644 --- a/pos-module-reports/modules/user/public/lib/events/password_created.liquid +++ b/pos-module-reports/modules/user/public/lib/events/password_created.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-reports/modules/user/public/lib/events/user_created.liquid b/pos-module-reports/modules/user/public/lib/events/user_created.liquid index 427444a..fb629b9 100644 --- a/pos-module-reports/modules/user/public/lib/events/user_created.liquid +++ b/pos-module-reports/modules/user/public/lib/events/user_created.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-reports/modules/user/public/lib/events/user_deleted.liquid b/pos-module-reports/modules/user/public/lib/events/user_deleted.liquid index 427444a..fb629b9 100644 --- a/pos-module-reports/modules/user/public/lib/events/user_deleted.liquid +++ b/pos-module-reports/modules/user/public/lib/events/user_deleted.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-reports/modules/user/public/lib/events/user_logout.liquid b/pos-module-reports/modules/user/public/lib/events/user_logout.liquid index 427444a..fb629b9 100644 --- a/pos-module-reports/modules/user/public/lib/events/user_logout.liquid +++ b/pos-module-reports/modules/user/public/lib/events/user_logout.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-reports/modules/user/public/lib/events/user_role_appended.liquid b/pos-module-reports/modules/user/public/lib/events/user_role_appended.liquid index 69fbfdc..9e49cc6 100644 --- a/pos-module-reports/modules/user/public/lib/events/user_role_appended.liquid +++ b/pos-module-reports/modules/user/public/lib/events/user_role_appended.liquid @@ -5,7 +5,7 @@ metadata: role --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role' diff --git a/pos-module-reports/modules/user/public/lib/events/user_role_removed.liquid b/pos-module-reports/modules/user/public/lib/events/user_role_removed.liquid index 69fbfdc..9e49cc6 100644 --- a/pos-module-reports/modules/user/public/lib/events/user_role_removed.liquid +++ b/pos-module-reports/modules/user/public/lib/events/user_role_removed.liquid @@ -5,7 +5,7 @@ metadata: role --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role' diff --git a/pos-module-reports/modules/user/public/lib/events/user_roles_set.liquid b/pos-module-reports/modules/user/public/lib/events/user_roles_set.liquid index 2e82e37..5af0639 100644 --- a/pos-module-reports/modules/user/public/lib/events/user_roles_set.liquid +++ b/pos-module-reports/modules/user/public/lib/events/user_roles_set.liquid @@ -5,7 +5,7 @@ metadata: roles --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' function c = 'modules/core/validations/length', c: c, object: event, field_name: 'roles', minimum: 0, allow_blank: false diff --git a/pos-module-reports/modules/user/public/lib/events/user_signed_in.liquid b/pos-module-reports/modules/user/public/lib/events/user_signed_in.liquid index 427444a..fb629b9 100644 --- a/pos-module-reports/modules/user/public/lib/events/user_signed_in.liquid +++ b/pos-module-reports/modules/user/public/lib/events/user_signed_in.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-reports/modules/user/public/lib/events/user_updated.liquid b/pos-module-reports/modules/user/public/lib/events/user_updated.liquid index 427444a..fb629b9 100644 --- a/pos-module-reports/modules/user/public/lib/events/user_updated.liquid +++ b/pos-module-reports/modules/user/public/lib/events/user_updated.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-reports/modules/user/public/lib/helpers/flash.liquid b/pos-module-reports/modules/user/public/lib/helpers/flash.liquid index 5087333..7779ad6 100644 --- a/pos-module-reports/modules/user/public/lib/helpers/flash.liquid +++ b/pos-module-reports/modules/user/public/lib/helpers/flash.liquid @@ -14,7 +14,7 @@ assign message = info | t assign severity = 'info' endif - assign flash = null | hash_merge: message: message, severity: severity, from: context.location.pathname, force_clear: force_clear + assign flash = {"message": message, "severity": severity, "from": context.location.pathname, "force_clear": force_clear} function _ = 'modules/core/commands/session/set', key: 'sflash', value: flash diff --git a/pos-module-reports/modules/user/public/lib/queries/user/current.liquid b/pos-module-reports/modules/user/public/lib/queries/user/current.liquid index 0003a8e..d5f2425 100644 --- a/pos-module-reports/modules/user/public/lib/queries/user/current.liquid +++ b/pos-module-reports/modules/user/public/lib/queries/user/current.liquid @@ -4,9 +4,9 @@ {% liquid if context.current_user function user = 'modules/user/queries/user/load', id: context.current_user.id - hash_assign user['roles'] = user['roles'] | array_add: 'authenticated' + assign user.roles = user.roles << 'authenticated' else - assign user = '{ "roles": ["anonymous"] }' | parse_json + assign user = { "roles": ["anonymous"] } endif return user %} diff --git a/pos-module-reports/modules/user/public/views/pages/passwords/create.liquid b/pos-module-reports/modules/user/public/views/pages/passwords/create.liquid index 97d2e78..5b98dcf 100644 --- a/pos-module-reports/modules/user/public/views/pages/passwords/create.liquid +++ b/pos-module-reports/modules/user/public/views/pages/passwords/create.liquid @@ -5,7 +5,7 @@ method: post {% liquid assign input = context.params.password assign redirect_url = context.params.redirect_to | default: '/' - hash_assign input['user_id'] = context.session.reset_password_session_user_id + assign input.user_id = context.session.reset_password_session_user_id function object = 'modules/user/commands/passwords/create', object: input if object.valid diff --git a/pos-module-reports/modules/user/public/views/pages/users/create.liquid b/pos-module-reports/modules/user/public/views/pages/users/create.liquid index a1b9adf..62ae8a1 100644 --- a/pos-module-reports/modules/user/public/views/pages/users/create.liquid +++ b/pos-module-reports/modules/user/public/views/pages/users/create.liquid @@ -14,11 +14,10 @@ slug: users function _ = 'modules/user/commands/session/create', user_id: object.id, validate_password: false, email: null, password: null, hook_params: null include 'modules/core/helpers/redirect_to' else - assign values = object | default: null | hash_merge: password: '' - function registration_fields = 'modules/user/queries/registration_fields/load' - assign values = params | hash_merge: password: '' + assign values = params + assign values.password = '' theme_render_rc 'users/new', context: context, registration_fields: registration_fields, errors: object.errors, values: values endif %} diff --git a/pos-module-reports/modules/user/public/views/pages/users/new.liquid b/pos-module-reports/modules/user/public/views/pages/users/new.liquid index 1bf8d09..f3e9b63 100644 --- a/pos-module-reports/modules/user/public/views/pages/users/new.liquid +++ b/pos-module-reports/modules/user/public/views/pages/users/new.liquid @@ -5,7 +5,7 @@ # platformos-check-enable UnreachableCode function registration_fields = 'modules/user/queries/registration_fields/load' - assign values = null | hash_merge: email: context.params.email + assign values = {"email": context.params.email} theme_render_rc 'users/new', context: context, registration_fields: registration_fields, values: values %} diff --git a/pos-module-reports/modules/user/public/views/partials/components/atoms/input.liquid b/pos-module-reports/modules/user/public/views/partials/components/atoms/input.liquid index 3ca3100..5b90c50 100644 --- a/pos-module-reports/modules/user/public/views/partials/components/atoms/input.liquid +++ b/pos-module-reports/modules/user/public/views/partials/components/atoms/input.liquid @@ -62,10 +62,20 @@ metadata: {% if type == 'textarea' %} {% else %} {%- if type == 'textarea' -%}{{ value | strip }} + > {% endif %} {% endif %} diff --git a/pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid b/pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid index 75e4b2f..69cac24 100644 --- a/pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid +++ b/pos-module-reports/modules/user/public/views/partials/components/molecules/formfield.liquid @@ -59,16 +59,16 @@ metadata: assign classes = classes | default: params.classes assign validation = validation | default: params.validation assign input_params = input_params | default: params.input_params - assign attributes = '{}' | parse_json + assign attributes = {} assign input_attributes = input_params.attributes | default: attributes assign id = input_attributes.id | default: input_params.name - hash_assign input_attributes['aria-describedby'] = '' | append: input_params.name | append: '-desc' + assign input_attributes["aria-describedby"] = '' | append: input_params.name | append: '-desc' - assign input_params = input_params | hash_merge: attributes: input_attributes + assign input_params.attributes = input_attributes if validation.passed == false - hash_assign input_params['variant'] = 'error' + assign input_params.variant = 'error' endif assign description_params = description_params | default: params.description_params @@ -97,14 +97,14 @@ metadata:
{% if validation.passed == true %} - {% assign icon_params = '{}' | parse_json | hash_merge: name: 'checkBadge' %} + {% assign icon_params = {"name": 'checkBadge'} %} {% theme_render_rc 'components/atoms/icon', params: icon_params %} {% endif %} {% if validation.passed == false %} - {% assign icon_params = '{}' | parse_json | hash_merge: name: 'warningCloud' %} + {% assign icon_params = {"name": 'warningCloud'} %} {% theme_render_rc 'components/atoms/icon', params: icon_params %} @@ -122,7 +122,7 @@ metadata:
    {% for message in validation.messages %}
  • - {% assign description_params = '{}' | parse_json | hash_merge: content: message, classes: '!text-important' %} + {% assign description_params = {"content": message, "classes": '!text-important'} %} {% theme_render_rc 'components/atoms/sidenote', params: description_params %}
  • {% endfor %} diff --git a/pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid b/pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid index 9d09132..7940772 100644 --- a/pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid +++ b/pos-module-reports/modules/user/public/views/partials/components/organisms/login.liquid @@ -29,36 +29,36 @@ metadata:
    {% liquid - assign input_params = '{}' | parse_json | hash_merge: name: 'email', required: true, type: 'email', value: params.values.email, classes: "w-full", placeholder: email_placeholder - assign label_params = '{}' | parse_json | hash_merge: content: 'Email' - assign validation = '{}' | parse_json + assign input_params = {"name": 'email', "required": true, "type": 'email', "value": params.values.email, "classes": "w-full", "placeholder": email_placeholder} + assign label_params = {"content": 'Email'} + assign validation = {} if errors['email'] - hash_assign validation['passed'] = false - hash_assign validation['messages'] = errors['email'] + assign validation.passed = false + assign validation.messages = errors['email'] endif - assign fieldset_params = '{}' | parse_json | hash_merge: label_params: label_params, input_params: input_params, validation: validation, classes: "mb-6" + assign fieldset_params = {"label_params": label_params, "input_params": input_params, "validation": validation, "classes": "mb-6"} theme_render_rc 'components/molecules/formfield', params: fieldset_params %} {% liquid - assign input_params = '{}' | parse_json | hash_merge: name: 'password', type: 'password', required: true, classes: "w-full" - assign label_params = '{}' | parse_json | hash_merge: content: 'Password' - assign validation = '{}' | parse_json + assign input_params = {"name": 'password', "type": 'password', "required": true, "classes": "w-full"} + assign label_params = {"content": 'Password'} + assign validation = {} if errors['password'] - hash_assign validation['passed'] = false - hash_assign validation['messages'] = errors['password'] + assign validation.passed = false + assign validation.messages = errors['password'] endif - assign fieldset_params = '{}' | parse_json | hash_merge: label_params: label_params, input_params: input_params, validation: validation, classes: "mb-6" + assign fieldset_params = {"label_params": label_params, "input_params": input_params, "validation": validation, "classes": "mb-6"} theme_render_rc 'components/molecules/formfield', params: fieldset_params %} {% liquid - assign input_params = '{}' | parse_json | hash_merge: name: 'authenticity_token', type: 'hidden', value: context.authenticity_token + assign input_params = {"name": 'authenticity_token', "type": 'hidden', "value": context.authenticity_token} theme_render_rc 'components/atoms/input', params: input_params %} {% liquid - assign input_params = '{}' | parse_json | hash_merge: name: 'redirect_to', type: 'hidden', value: redirect_to + assign input_params = {"name": 'redirect_to', "type": 'hidden', "value": redirect_to} theme_render_rc 'components/atoms/input', params: input_params %} diff --git a/pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid b/pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid index f6c1ad2..209effd 100644 --- a/pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid +++ b/pos-module-reports/modules/user/public/views/partials/components/organisms/new-password.liquid @@ -23,38 +23,38 @@ metadata: {% liquid - assign input_params = '{}' | parse_json | hash_merge: name: 'password[password]', required: true, type: 'password', classes: "w-full" + assign input_params = {"name": 'password[password]', "required": true, "type": 'password', "classes": "w-full"} assign label = 'modules/user/passwords.password' | t - assign label_params = '{}' | parse_json | hash_merge: content: label - assign validation = '{}' | parse_json + assign label_params = {"content": label} + assign validation = {} if errors['password'] - hash_assign validation['passed'] = false - hash_assign validation['messages'] = errors['password'] + assign validation.passed = false + assign validation.messages = errors['password'] endif - assign fieldset_params = '{}' | parse_json | hash_merge: label_params: label_params, input_params: input_params, description_params: description_params, validation: validation, classes: "mb-6" + assign fieldset_params = {"label_params": label_params, "input_params": input_params, "description_params": description_params, "validation": validation, "classes": "mb-6"} theme_render_rc 'components/molecules/formfield', params: fieldset_params %} {% liquid - assign input_params = '{}' | parse_json | hash_merge: name: 'password[password_confirmation]', required: true, type: 'password', classes: "w-full" + assign input_params = {"name": 'password[password_confirmation]', "required": true, "type": 'password', "classes": "w-full"} assign label = 'modules/user/passwords.password_confirmation' | t - assign label_params = '{}' | parse_json | hash_merge: content: label - assign validation = '{}' | parse_json + assign label_params = {"content": label} + assign validation = {} if errors['password_confirmation'] - hash_assign validation['passed'] = false - hash_assign validation['messages'] = errors['password_confirmation'] + assign validation.passed = false + assign validation.messages = errors['password_confirmation'] endif - assign fieldset_params = '{}' | parse_json | hash_merge: label_params: label_params, input_params: input_params, description_params: description_params, validation: validation, classes: "mb-6" + assign fieldset_params = {"label_params": label_params, "input_params": input_params, "description_params": description_params, "validation": validation, "classes": "mb-6"} theme_render_rc 'components/molecules/formfield', params: fieldset_params %} {% liquid - assign input_params = '{}' | parse_json | hash_merge: name: 'authenticity_token', type: 'hidden', value: context.authenticity_token + assign input_params = {"name": 'authenticity_token', "type": 'hidden', "value": context.authenticity_token} theme_render_rc 'components/atoms/input', params: input_params %} {% liquid - assign input_params = '{}' | parse_json | hash_merge: name: 'redirect_to', type: 'hidden', value: redirect_to + assign input_params = {"name": 'redirect_to', "type": 'hidden', "value": redirect_to} theme_render_rc 'components/atoms/input', params: input_params %} diff --git a/pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid b/pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid index ec44cf6..24a30be 100644 --- a/pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid +++ b/pos-module-reports/modules/user/public/views/partials/components/organisms/register.liquid @@ -34,16 +34,18 @@ metadata: {% for field in registration_fields %} {% liquid assign default_value = values[field.name] | raw_escape_string - assign error_messages = '[]' | parse_json + assign error_messages = [] assign has_error = errors[field.name] - assign validation = null | hash_merge: messages: error_messages + assign validation = {"messages": error_messages} if has_error - hash_assign validation['passed'] = false - hash_assign validation['messages'] = errors[field.name] + assign validation.passed = false + assign validation.messages = errors[field.name] endif - assign input_params = field | hash_merge: value: default_value, classes: 'w-full' - assign label_params = null | hash_merge: content: field.label - assign field_params = null | hash_merge: validation: validation, input_params: input_params, label_params: label_params, classes: 'mb-6' + assign input_params = field + assign input_params.value = default_value + assign input_params.classes = 'w-full' + assign label_params = {"content": field.label} + assign field_params = {"validation": validation, "input_params": input_params, "label_params": label_params, "classes": 'mb-6'} theme_render_rc 'components/molecules/formfield', params: field_params %} diff --git a/pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid b/pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid index cbb3257..eb7c5f6 100644 --- a/pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid +++ b/pos-module-reports/modules/user/public/views/partials/components/organisms/reset-password.liquid @@ -21,16 +21,16 @@ metadata: %} {% liquid - assign input_params = null | hash_merge: name: 'authentication_link[email]', required: true, type: 'email', value: params.values.email, classes: "w-full" + assign input_params = {"name": 'authentication_link[email]', "required": true, "type": 'email', "value": params.values.email, "classes": "w-full"} assign email = 'modules/user/passwords.email' | t assign desc = 'modules/user/passwords.email_desc' | t - assign label_params = null | hash_merge: content: email - assign description_params = null | hash_merge: content: desc - assign validation = '{}' | parse_json + assign label_params = {"content": email} + assign description_params = {"content": desc} + assign validation = {} if errors['email'] - hash_assign validation['passed'] = false - hash_assign validation['messages'] = errors['email'] + assign validation.passed = false + assign validation.messages = errors['email'] endif theme_render_rc 'components/molecules/formfield', label_params: label_params, input_params: input_params, description_params: description_params, validation: validation, classes: "mb-6" %} @@ -41,16 +41,16 @@ metadata: {% liquid if context.constants.VERIFY_HCAPTCHA == "true" - assign validation = '{}' | parse_json + assign validation = {} if errors['hcaptcha'] - hash_assign validation['passed'] = false - hash_assign validation['messages'] = errors['hcaptcha'] + assign validation.passed = false + assign validation.messages = errors['hcaptcha'] endif - assign input_attributes = '{}' | parse_json - hash_assign input_attributes['data-sitekey'] = context.hcaptcha_site_key - assign input_params = null | hash_merge: type: 'hcaptcha', value: params.values.email, attributes: input_attributes, classes: 'h-captcha' + assign input_attributes = {} + assign input_attributes["data-sitekey"] = context.hcaptcha_site_key + assign input_params = {"type": 'hcaptcha', "value": params.values.email, "attributes": input_attributes, "classes": 'h-captcha'} - assign fieldset_params = null | hash_merge: input_params: input_params, validation: validation, classes: "mb-6" + assign fieldset_params = {"input_params": input_params, "validation": validation, "classes": "mb-6"} theme_render_rc 'components/molecules/formfield', params: fieldset_params elsif context.environment == 'staging' print "" diff --git a/pos-module-tests/app/lib/test/array_test.liquid b/pos-module-tests/app/lib/test/array_test.liquid index cd12486..2d19cda 100644 --- a/pos-module-tests/app/lib/test/array_test.liquid +++ b/pos-module-tests/app/lib/test/array_test.liquid @@ -2,7 +2,7 @@ # Test array-related assertions # Test array size using equal - assign items = '["a", "b", "c"]' | parse_json + assign items = ["a", "b", "c"] function contract = 'modules/tests/assertions/equal', contract: contract, given: items.size, expected: 3, field_name: 'array has 3 items' # Test first element diff --git a/pos-module-tests/app/lib/test/example_test.liquid b/pos-module-tests/app/lib/test/example_test.liquid index 81c6e0e..38b9689 100644 --- a/pos-module-tests/app/lib/test/example_test.liquid +++ b/pos-module-tests/app/lib/test/example_test.liquid @@ -15,8 +15,7 @@ function contract = 'modules/tests/assertions/blank', contract: contract, given: empty_string, field_name: 'empty string is blank' # Test presence assertion - expects object with field_name key - assign obj_with_value = '{}' | parse_json - hash_assign obj_with_value['my_field'] = 'some value' + assign obj_with_value = { "my_field": 'some value' } function contract = 'modules/tests/assertions/presence', contract: contract, object: obj_with_value, field_name: 'my_field' # Test true assertion - expects value parameter diff --git a/pos-module-tests/app/lib/test/examples/assertions_test.liquid b/pos-module-tests/app/lib/test/examples/assertions_test.liquid index f4065ce..7f58397 100644 --- a/pos-module-tests/app/lib/test/examples/assertions_test.liquid +++ b/pos-module-tests/app/lib/test/examples/assertions_test.liquid @@ -7,14 +7,14 @@ function contract = 'modules/tests/assertions/equal', contract: contract, given: actual_value, expected: expected_value, field_name: 'equal_strings' # Test presence assertion - assign user = '{ "id": "123", "name": "John" }' | parse_json + assign user = { "id": "123", "name": "John" } function contract = 'modules/tests/assertions/presence', contract: contract, object: user, field_name: 'id' # Test blank assertion - assign result = '{ "error": null }' | parse_json + assign result = { "error": null } function contract = 'modules/tests/assertions/blank', contract: contract, object: result, field_name: 'error' # Test true assertion - assign flags = '{ "active": true }' | parse_json + assign flags = { "active": true } function contract = 'modules/tests/assertions/true', contract: contract, object: flags, field_name: 'active' %} diff --git a/pos-module-tests/app/lib/test/object_test.liquid b/pos-module-tests/app/lib/test/object_test.liquid index 2966a9c..489dcda 100644 --- a/pos-module-tests/app/lib/test/object_test.liquid +++ b/pos-module-tests/app/lib/test/object_test.liquid @@ -2,15 +2,15 @@ # Test object validation assertions # Create a valid object - assign valid_obj = '{"valid": true, "name": "test"}' | parse_json + assign valid_obj = {"valid": true, "name": "test"} function contract = 'modules/tests/assertions/valid_object', contract: contract, object: valid_obj, field_name: 'object is valid' # Create an invalid object - assign invalid_obj = '{"valid": false, "errors": {"name": "is required"}}' | parse_json + assign invalid_obj = {"valid": false, "errors": {"name": "is required"}} function contract = 'modules/tests/assertions/invalid_object', contract: contract, object: invalid_obj, field_name: 'object is invalid' # Test object contains object - assign container = '{"foo": "bar", "nested": {"a": 1, "b": 2}}' | parse_json - assign subset = '{"foo": "bar"}' | parse_json + assign container = {"foo": "bar", "nested": {"a": 1, "b": 2}} + assign subset = {"foo": "bar"} function contract = 'modules/tests/assertions/object_contains_object', contract: contract, object: container, subset: subset, field_name: 'container has subset' %} diff --git a/pos-module-tests/modules/tests/public/lib/assertions/blank.liquid b/pos-module-tests/modules/tests/public/lib/assertions/blank.liquid index 3a83aff..6920e76 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/blank.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/blank.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 unless object[field_name] == blank function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.be_blank', message: null endunless diff --git a/pos-module-tests/modules/tests/public/lib/assertions/equal.liquid b/pos-module-tests/modules/tests/public/lib/assertions/equal.liquid index 33a4401..00ed31b 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/equal.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/equal.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if given != expected assign msg = 'modules/tests/should.equal' | t: given: given, expected: expected diff --git a/pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid b/pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid index ed73da9..0473897 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object.valid function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: object.errors endif diff --git a/pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid b/pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid index f9806eb..3804424 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object[field_name] != blank function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank' endif diff --git a/pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid b/pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid index 61b055a..6eb5514 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 assign value = value | default: object[field_name] if value diff --git a/pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid b/pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid index 5268eb4..5a99069 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object.valid == true function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_valid' endif diff --git a/pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid b/pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid index 15eec11..9b1d223 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 for property in object_contains assign key = property[0] diff --git a/pos-module-tests/modules/tests/public/lib/assertions/presence.liquid b/pos-module-tests/modules/tests/public/lib/assertions/presence.liquid index 10f1ab7..6d21996 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/presence.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/presence.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object[field_name] == blank function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank' endif diff --git a/pos-module-tests/modules/tests/public/lib/assertions/true.liquid b/pos-module-tests/modules/tests/public/lib/assertions/true.liquid index daac6d3..0159f94 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/true.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/true.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 assign value = value | default: object[field_name] unless value diff --git a/pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid b/pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid index a4c44f2..33b405f 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object.valid != true assign message = 'should be valid: ' | append: object.errors function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: message diff --git a/pos-module-tests/modules/tests/public/lib/commands/run.liquid b/pos-module-tests/modules/tests/public/lib/commands/run.liquid index 7789099..8978fab 100644 --- a/pos-module-tests/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-tests/modules/tests/public/lib/commands/run.liquid @@ -1,10 +1,11 @@ {% liquid assign ctx = context - hash_assign ctx['tests'] = true + assign ctx.tests = true log 'Starting unit tests', type: test_name assign __start = "now" | to_time assign per_page = 100 - graphql total_pages = 'modules/tests/test_files/count', per_page: per_page, path: context.params.name | dig: "admin_liquid_partials" | dig: "total_pages" + graphql count_result = 'modules/tests/test_files/count', per_page: per_page, path: context.params.name + assign total_pages = count_result | dig: "admin_liquid_partials" | dig: "total_pages" if tests.size == 0 unless format == 'js' @@ -15,16 +16,17 @@ assign contracts = '' | split: ',' for page in (1..total_pages) - graphql tests = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page | dig: "admin_liquid_partials" | dig: "results" + graphql search_result = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page + assign tests = search_result | dig: "admin_liquid_partials" | dig: "results" for test in tests log test, type: test_name - assign contract = '{ "errors": {}, "success": true, "total": 0 }' | parse_json + assign contract = { "errors": {}, "success": true, "total": 0 } # platformos-check-disable ConvertIncludeToRender include test.path, registry: test.path, contract: contract # platformos-check-enable ConvertIncludeToRender - hash_assign contract['test_path'] = test.path - assign contracts = contracts | add_to_array: contract + assign contract.test_path = test.path + assign contracts = contracts << contract assign total_errors = total_errors | plus: contract.errors.size endfor endfor diff --git a/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid b/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid index 11dfa1d..6732cc0 100644 --- a/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid +++ b/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid @@ -18,10 +18,10 @@ assign errors = contract.errors assign field_erorrs = errors[field_name] | default: '[]' | parse_json - assign field_erorrs = field_erorrs | array_add: msg + assign field_erorrs = field_erorrs << msg - hash_assign errors[field_name] = field_erorrs - hash_assign contract['success'] = false + assign errors[field_name] = field_erorrs + assign contract.success = false return contract %} diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid index 46be7ea..8e7f1e4 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid @@ -15,7 +15,7 @@ layout: '' assign test_name = test.path | remove_first: 'lib/test/' | remove_first: '_test' assign test_url = '/_tests/run.js?test_name=' | append: test_name assign test_object = { "name": test_name, "url": test_url } - assign result << test_object + assign result = result << test_object endfor endfor diff --git a/pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid b/pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid index 1ecf01a..40be588 100644 --- a/pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid @@ -26,7 +26,7 @@ class="p-4 text-interaction hover:text-interaction-hover" > - < + < {% endif %} diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/index.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/index.liquid index 424cd72..9434541 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/index.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/index.liquid @@ -15,4 +15,5 @@
  • Run
{% endfor %} +
diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid index 76eb411..543db44 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid @@ -8,19 +8,19 @@ assign test_result = { "name": contract.test_path, "success": contract.success, "assertions": contract.total, "errors": contract.errors } - assign tests_array << test_result + assign tests_array = tests_array << test_result endfor if total_errors > 0 - hash_assign result['success'] = false + assign result.success = false else - hash_assign result['success'] = true + assign result.success = true endif - hash_assign result['total_tests'] = contracts.size - hash_assign result['total_assertions'] = total_assertions - hash_assign result['total_errors'] = total_errors - hash_assign result['duration_ms'] = total_duration - hash_assign result['tests'] = tests_array + assign result.total_tests = contracts.size + assign result.total_assertions = total_assertions + assign result.total_errors = total_errors + assign result.duration_ms = total_duration + assign result.tests = tests_array %} {{ result | json }} diff --git a/pos-module-user/modules/common-styling/public/views/pages/style-guide.liquid b/pos-module-user/modules/common-styling/public/views/pages/style-guide.liquid index 1bd950b..2b04b7b 100644 --- a/pos-module-user/modules/common-styling/public/views/pages/style-guide.liquid +++ b/pos-module-user/modules/common-styling/public/views/pages/style-guide.liquid @@ -476,7 +476,7 @@ layout: 'modules/common-styling/style-guide' ABCDEFGHIJKLMNOPRSTUVWXYZ
abcdefghijklmnoprstuvwxyz
- 1234567890   <>/@&!%?+ + 1234567890   <>/@&!%?+
@@ -505,7 +505,7 @@ layout: 'modules/common-styling/style-guide' ABCDEFGHIJKLMNOPRSTUVWXYZ
abcdefghijklmnoprstuvwxyz
- 1234567890   <>/@&!%?+ + 1234567890   <>/@&!%?+
@@ -666,6 +666,7 @@ layout: 'modules/common-styling/style-guide'
{{ code | lstrip | rstrip }}
+ @@ -715,6 +716,7 @@ layout: 'modules/common-styling/style-guide' + @@ -1139,9 +1141,9 @@ layout: 'modules/common-styling/style-guide' for i in (i..10) assign value = 'value' | append: i assign label = 'Label for value ' | append: i - assign example_item = '{}' | parse_json | hash_merge: value: value, label: label - assign example_list = example_list | add_to_array: example_item - assign selected = '["value0", "value5", "value6"]' | parse_json + assign example_item = {"value": value, "label": label} + assign example_list = example_list << example_item + assign selected = ["value0", "value5", "value6"] endfor %} {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-1', id: 'styleguide-form-multiselect-test-1', list: example_list, showFilter: true, combine_selected: true, selected: selected, required: null, multiline: null, form: null %} @@ -1167,7 +1169,7 @@ layout: 'modules/common-styling/style-guide'

There are two partials that can be helpful when dealing with forms validation. One can be added to the input itself to handle usability code and the other can output the error message.

{% liquid - assign errors = '{ "styleguide-example-error": ["This is a field with two errors", "This is the second error"] }' | parse_json + assign errors = { "styleguide-example-error": ["This is a field with two errors", "This is the second error"] } %}
@@ -1181,6 +1183,7 @@ layout: 'modules/common-styling/style-guide'
{{ code | lstrip | rstrip }}
+
diff --git a/pos-module-user/modules/core/generators/command/templates/lib/commands/create/build.liquid b/pos-module-user/modules/core/generators/command/templates/lib/commands/create/build.liquid index 6a83151..1fc2591 100644 --- a/pos-module-user/modules/core/generators/command/templates/lib/commands/create/build.liquid +++ b/pos-module-user/modules/core/generators/command/templates/lib/commands/create/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign data = null | hash_merge: id: object.id, name: object.name + assign data = {"id": object.id, "name": object.name} return data %} diff --git a/pos-module-user/modules/core/generators/command/templates/lib/commands/create/check.liquid b/pos-module-user/modules/core/generators/command/templates/lib/commands/create/check.liquid index 8f3da9c..2c53a6c 100644 --- a/pos-module-user/modules/core/generators/command/templates/lib/commands/create/check.liquid +++ b/pos-module-user/modules/core/generators/command/templates/lib/commands/create/check.liquid @@ -1,10 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid b/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid index df36e79..caf4d8d 100644 --- a/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid +++ b/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid @@ -1,11 +1,12 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } <% attributes.forEach((attr, i) => { -%> function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' <% }); -%> - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid b/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid index 4ae7fc6..4fada40 100644 --- a/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid +++ b/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid @@ -1,9 +1,10 @@ {% liquid - assign c = '{ "valid": true, "errors": {} }' | parse_json + assign c = { "valid": true, "errors": {} } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid b/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid index c991577..cffe564 100644 --- a/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid +++ b/pos-module-user/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid @@ -1,12 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' <% attributes.forEach((attr, i) => { -%> function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' <% }); -%> - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/generators/crud/templates/views/pages/model/new.liquid b/pos-module-user/modules/core/generators/crud/templates/views/pages/model/new.liquid index cb0e37a..b2593b2 100644 --- a/pos-module-user/modules/core/generators/crud/templates/views/pages/model/new.liquid +++ b/pos-module-user/modules/core/generators/crud/templates/views/pages/model/new.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = '{}' | parse_json + assign object = {} render 'theme/simple/<%= modelNamePlural %>/new', object: object %} diff --git a/pos-module-user/modules/core/public/lib/commands/email/send.liquid b/pos-module-user/modules/core/public/lib/commands/email/send.liquid index bd0a46e..08b61e8 100644 --- a/pos-module-user/modules/core/public/lib/commands/email/send.liquid +++ b/pos-module-user/modules/core/public/lib/commands/email/send.liquid @@ -7,8 +7,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif else log object.errors, type: 'payload validation error in core: commands/email' diff --git a/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid index 83f4269..b2d0e28 100644 --- a/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid index 5cf9440..6558c07 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid @@ -8,7 +8,7 @@ assign name = 'consumers/' | append: object.type | append: '/' graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" - hash_assign object['consumers'] = consumers + assign object.consumers = consumers for consumer in consumers assign priority = 'default' if priorities contains consumer.metadata.priority diff --git a/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid index 8276ea4..34dd532 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid @@ -1,6 +1,8 @@ {% liquid assign now = 'now' | to_time - assign data = object | hash_merge: type: type, date: now + assign data = object + assign data.type = type + assign data.date = now return data %} diff --git a/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid index b4f2878..07d352e 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date' @@ -17,14 +17,16 @@ if event_check_partial function event_result = event_check_partial.path, event: object if event_result.valid != true - hash_assign c['errors']['object'] = event_result.errors - hash_assign c['valid'] = false + assign c.errors.object = event_result.errors + assign c.valid = false endif else assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message endif - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid index bff75bf..326537b 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid @@ -2,7 +2,7 @@ graphql r = 'modules/core/events/create', payload: object assign object = r.activity_create.payload - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-user/modules/core/public/lib/commands/execute.liquid b/pos-module-user/modules/core/public/lib/commands/execute.liquid index 0c9e1cd..e68f82d 100644 --- a/pos-module-user/modules/core/public/lib/commands/execute.liquid +++ b/pos-module-user/modules/core/public/lib/commands/execute.liquid @@ -7,6 +7,6 @@ endif assign object = r[selection] - hash_assign object['valid'] = true + assign object.valid = true return object %} diff --git a/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid index d2872ca..f374185 100644 --- a/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results | add_to_array: h_result + assign results = results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results | add_to_array: hook_result + assign results = results << hook_result endif endif endfor diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid index acbcb25..a264652 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid index d26bbdf..a596cdb 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -1,4 +1,4 @@ {% liquid - assign object = null | hash_merge: id: id + assign object = {"id": id} return object %} diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid index 51f8988..4fada40 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -1,10 +1,10 @@ {% liquid - assign c = '{ "valid": true, "errors": {} }' | parse_json + assign c = { "valid": true, "errors": {} } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/public/lib/events/status_created.liquid b/pos-module-user/modules/core/public/lib/events/status_created.liquid index 6718a16..023c478 100644 --- a/pos-module-user/modules/core/public/lib/events/status_created.liquid +++ b/pos-module-user/modules/core/public/lib/events/status_created.liquid @@ -8,7 +8,7 @@ metadata: payload --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id' diff --git a/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 73e48bb..0ca414e 100644 --- a/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -2,7 +2,7 @@ assign parameters = '' | split: ',' for pair in payload assign component = pair[0] | append: '={' | append: pair[0] | append: '}' - assign parameters = parameters | add_to_array: component + assign parameters = parameters << component endfor if parameters.size > 0 assign x_form_encoded = parameters | join: '&' | expand_url_template: payload diff --git a/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid index 3d430eb..7cbd578 100644 --- a/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid @@ -23,13 +23,12 @@ # platformos-check-enable ConvertIncludeToRender if format == 'json' - assign response_json = null | hash_merge: type: 'redirect', url: url + assign response_json = {"type": 'redirect', "url": url} if object.valid echo response_json else response_status 422 - assign res = '{ "errors": {} }' | parse_json - hash_assign res['errors'] = response_json.errors + assign res = { "errors": response_json.errors } echo res endif diff --git a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid index a449ea4..ee5c2a2 100644 --- a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid @@ -18,10 +18,10 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors | add_to_array: msg + assign field_errors = field_errors << msg - hash_assign errors[field_name] = field_errors - hash_assign contract['valid'] = false + assign errors[field_name] = field_errors + assign contract.valid = false return contract %} diff --git a/pos-module-user/modules/core/public/lib/queries/registry/search.liquid b/pos-module-user/modules/core/public/lib/queries/registry/search.liquid index 60e1126..79da2f0 100644 --- a/pos-module-user/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-user/modules/core/public/lib/queries/registry/search.liquid @@ -8,18 +8,18 @@ case type when 'module' - assign modules = '[]' | parse_json + assign modules = [] for module in registry if module.type == 'module' - assign modules = modules | add_to_array: module + assign modules = modules << module endif endfor return modules when 'theme' - assign themes = '[]' | parse_json + assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes | add_to_array: module + assign themes = themes << module endif endfor return themes diff --git a/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid index ad4b34d..9ab7d06 100644 --- a/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid +++ b/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid @@ -29,7 +29,8 @@ endunless endif - function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: key: 'modules/core/validation.too_short', allow_blank: null + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/valid_object.liquid b/pos-module-user/modules/core/public/lib/validations/valid_object.liquid index b29a9b1..41f9359 100644 --- a/pos-module-user/modules/core/public/lib/validations/valid_object.liquid +++ b/pos-module-user/modules/core/public/lib/validations/valid_object.liquid @@ -12,7 +12,7 @@ if check_object.valid != true function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' assign errors_key = field_name | append: '_errors' - hash_assign c['errors'][errors_key] = check_object.errors + assign c.errors[errors_key] = check_object.errors endif endif diff --git a/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid index 9ac9edd..c062670 100644 --- a/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid +++ b/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid @@ -12,7 +12,7 @@ slug: _events/:uuid/trigger else assign name = 'consumers/' | append: event.type | append: '/' graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" - hash_assign event['consumers'] = consumers + assign event.consumers = consumers endif render 'modules/core/events/show', event: event diff --git a/pos-module-user/modules/core/public/views/partials/events/show.liquid b/pos-module-user/modules/core/public/views/partials/events/show.liquid index 2561104..1fed733 100644 --- a/pos-module-user/modules/core/public/views/partials/events/show.liquid +++ b/pos-module-user/modules/core/public/views/partials/events/show.liquid @@ -1,3 +1,3 @@

Event

-<< List +<< List {% render 'modules/core/events/event_card', event: event %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid index e6ad1be..1818aa7 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -8,8 +8,8 @@ if r.errors log r.errors, type: 'errors.graphql.invalid' - hash_assign object['valid'] = false - hash_assign object['errors'] = r.errors + assign object.valid = false + assign object.errors = r.errors endif else log object.errors, type: 'payload validation error in core: lib/commands/email' diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid index 83f4269..b2d0e28 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -1,13 +1,13 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid index ec71ae5..e21adf6 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results | add_to_array: h_result + assign results = results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results | add_to_array: hook_result + assign results = results << hook_result endif endif endfor diff --git a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid index 2f252ef..b64b4ce 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -18,10 +18,10 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: '[]' | parse_json - assign field_errors = field_errors | add_to_array: msg + assign field_errors = field_errors << msg - hash_assign errors[field_name] = field_errors - hash_assign contract['valid'] = false + assign errors[field_name] = field_errors + assign contract.valid = false return contract %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid index 9c2cb22..99f2945 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -8,18 +8,18 @@ case type when 'module' - assign modules = '[]' | parse_json + assign modules = [] for module in registry if module.type == 'module' - assign modules = modules | add_to_array: module + assign modules = modules << module endif endfor return modules when 'theme' - assign themes = '[]' | parse_json + assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes | add_to_array: module + assign themes = themes << module endif endfor return themes diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid index d5848f6..e78516e 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -27,7 +27,8 @@ endunless endif - function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: key: 'modules/core/validation.too_short', allow_blank: null + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid index 7b1b317..f0adacc 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -13,7 +13,7 @@ if check_object.valid != true function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' assign errors_key = field_name | append: '_errors' - hash_assign c['errors'][errors_key] = check_object.errors + assign c.errors[errors_key] = check_object.errors endif endif diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid index 2415b9d..b26bf53 100644 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid +++ b/pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid @@ -4,8 +4,7 @@ assign query = object | querify if object.valid - assign headers = "{}" | parse_json - hash_assign headers["Accept"] = "application/json" + assign headers = { "Accept": "application/json" } graphql r = "modules/oauth_github/get_token", body: query, headers: headers assign result = r.api_call_send.response.body | parse_json diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid index 10dcb21..a7079b8 100644 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid +++ b/pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid @@ -1,13 +1,13 @@ {% liquid -assign c = '{ "errors": {}, "valid": true }' | parse_json +assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret' -hash_assign object['valid'] = c.valid -hash_assign object['errors'] = c.errors +assign object.valid = c.valid +assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid index 9f6147d..7f08c2e 100644 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid +++ b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid index 9f6147d..7f08c2e 100644 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid +++ b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid @@ -1,11 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' - hash_assign object['valid'] = c.valid - hash_assign object['errors'] = c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid b/pos-module-user/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid index 0f9c3ab..f2076ee 100644 --- a/pos-module-user/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid +++ b/pos-module-user/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid @@ -1,8 +1,5 @@ {% liquid -assign data = "{}" | parse_json -hash_assign data['scope'] = "user:email" -hash_assign data['client_id'] = provider.client_id -hash_assign data["state"] = state +assign data = { "scope": "user:email", "client_id": provider.client_id, "state": state } assign querified_data = data | querify assign url = "https://github.com/login/oauth/authorize?" | append: querified_data diff --git a/pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid b/pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid index 53d724f..cebd8a7 100644 --- a/pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid +++ b/pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid @@ -1,43 +1,38 @@ {% liquid # fetch token and get user data -assign get_token_request = "{}" | parse_json -hash_assign get_token_request["client_id"] = provider.client_id -hash_assign get_token_request["client_secret"] = provider.secret_value -hash_assign get_token_request["code"] = context.params.code +assign get_token_request = { "client_id": provider.client_id, "client_secret": provider.secret_value, "code": context.params.code } # get access token function access_token = "modules/oauth_github/commands/get_token", data: get_token_request assign access_token = access_token.access_token -assign result = "{}" | parse_json -hash_assign result["valid"] = false +assign result = { "valid": false } if access_token == null return result endif # get user info -assign request_data = "{}" | parse_json -hash_assign request_data["access_token"] = access_token +assign request_data = { "access_token": access_token } function user_info = "modules/oauth_github/commands/get_user_info", data: request_data if user_info.email == null function user_emails = "modules/oauth_github/commands/get_user_email", data: request_data for email in user_emails if email.primary == true - hash_assign user_info["email"] = email.email + assign user_info.email = email.email endif endfor endif assign name = user_info.name | split: ' ' -hash_assign result["first_name"] = name[0] | default: user_info.login -hash_assign result["last_name"] = name[1] | default: '' -hash_assign result["sub"] = user_info.id -hash_assign result["email"] = user_info.email +assign result.first_name = name[0] | default: user_info.login +assign result.last_name = name[1] | default: '' +assign result.sub = user_info.id +assign result.email = user_info.email if result.sub != null and result["email"] != null - hash_assign result["valid"] = true + assign result.valid = true endif return result diff --git a/pos-module-user/modules/tests/public/lib/assertions/blank.liquid b/pos-module-user/modules/tests/public/lib/assertions/blank.liquid index 3a83aff..6920e76 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/blank.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/blank.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 unless object[field_name] == blank function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.be_blank', message: null endunless diff --git a/pos-module-user/modules/tests/public/lib/assertions/equal.liquid b/pos-module-user/modules/tests/public/lib/assertions/equal.liquid index 33a4401..00ed31b 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/equal.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/equal.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if given != expected assign msg = 'modules/tests/should.equal' | t: given: given, expected: expected diff --git a/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid b/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid index ed73da9..0473897 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object.valid function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: object.errors endif diff --git a/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid b/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid index f9806eb..3804424 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object[field_name] != blank function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank' endif diff --git a/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid b/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid index cccabf0..a07bf8d 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 assign value = value | default: object[field_name] if value diff --git a/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid b/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid index 5268eb4..5a99069 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object.valid == true function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_valid' endif diff --git a/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid b/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid index 15eec11..9b1d223 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 for property in object_contains assign key = property[0] diff --git a/pos-module-user/modules/tests/public/lib/assertions/presence.liquid b/pos-module-user/modules/tests/public/lib/assertions/presence.liquid index 10f1ab7..6d21996 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/presence.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/presence.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object[field_name] == blank function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank' endif diff --git a/pos-module-user/modules/tests/public/lib/assertions/true.liquid b/pos-module-user/modules/tests/public/lib/assertions/true.liquid index 43f28ff..0b0bb7a 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/true.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/true.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 assign value = value | default: object[field_name] unless value diff --git a/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid b/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid index a4c44f2..33b405f 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid @@ -1,5 +1,5 @@ {% liquid - hash_assign contract['total'] = contract['total'] | plus: 1 + assign contract.total = contract['total'] | plus: 1 if object.valid != true assign message = 'should be valid: ' | append: object.errors function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: message diff --git a/pos-module-user/modules/tests/public/lib/commands/run.liquid b/pos-module-user/modules/tests/public/lib/commands/run.liquid index 859632d..234cebb 100644 --- a/pos-module-user/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-user/modules/tests/public/lib/commands/run.liquid @@ -1,9 +1,10 @@ {% liquid assign ctx = context - hash_assign ctx['tests'] = true + assign ctx.tests = true log 'Starting unit tests' assign __start = "now" | to_time - graphql tests = 'modules/tests/test_files/search', path: context.params.name | dig: "admin_liquid_partials" | dig: "results" + graphql result = 'modules/tests/test_files/search', path: context.params.name + assign tests = result | dig: "admin_liquid_partials" | dig: "results" if tests.size == 0 echo 'no tests found' @@ -13,22 +14,19 @@ for test in tests log test, type: "test:" - assign contract = '{ "errors": {}, "success": true, "total": 0 }' | parse_json + assign contract = { "errors": {}, "success": true, "total": 0 } # platformos-check-disable ConvertIncludeToRender include test.path, registry: test.path, contract: contract # platformos-check-enable ConvertIncludeToRender - hash_assign contract['test_path'] = test.path - assign contracts = contracts | add_to_array: contract + assign contract.test_path = test.path + assign contracts = contracts << contract assign total_errors = total_errors | plus: contract.errors.size endfor assign __stop = "now" | to_time assign total_duration = __start | time_diff: __stop, 'ms' | round - assign data = '{}' | parse_json - hash_assign data['contracts'] = contracts - hash_assign data['total_errors'] = total_errors - hash_assign data['total_duration'] = total_duration + assign data = { "contracts": contracts, "total_errors": total_errors, "total_duration": total_duration } assign test_formatter = format | default: 'html' | prepend: 'modules/tests/tests/show_' # platformos-check-disable ConvertIncludeToRender diff --git a/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid b/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid index 11dfa1d..6732cc0 100644 --- a/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid @@ -18,10 +18,10 @@ assign errors = contract.errors assign field_erorrs = errors[field_name] | default: '[]' | parse_json - assign field_erorrs = field_erorrs | array_add: msg + assign field_erorrs = field_erorrs << msg - hash_assign errors[field_name] = field_erorrs - hash_assign contract['success'] = false + assign errors[field_name] = field_erorrs + assign contract.success = false return contract %} diff --git a/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid b/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid index 1ecf01a..40be588 100644 --- a/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid +++ b/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid @@ -26,7 +26,7 @@ class="p-4 text-interaction hover:text-interaction-hover" > - < + < {% endif %} diff --git a/pos-module-user/modules/tests/public/views/partials/tests/index.liquid b/pos-module-user/modules/tests/public/views/partials/tests/index.liquid index 424cd72..9434541 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/index.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/index.liquid @@ -15,4 +15,5 @@
  • Run
  • {% endfor %} + diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid index 9ec660f..9abe2cc 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid @@ -2,5 +2,6 @@ {% render 'modules/tests/tests/show_text', contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name %} {% endcapture %} {% liquid - log result, type: '######## liquid test #########' + assign log_type = test_name | append: ' SUMMARY' + log result, type: log_type %} diff --git a/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid b/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid index 3babc6a..4bdb0c9 100644 --- a/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid @@ -4,7 +4,7 @@ if object.valid function object = 'modules/user/commands/authentication_links/create/execute', object: object - assign event_payload = null | hash_merge: email: email + assign event_payload = {"email": email} function _ = 'modules/core/commands/events/publish', type: 'authentication_link_created', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid b/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid index 3f49ab1..caf4c89 100644 --- a/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid +++ b/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid @@ -1,8 +1,7 @@ {% liquid assign password = 30 | random_string assign full_name = user_first_name | append: " " | append: user_last_name - assign object = "{}" | parse_json | hash_merge: email: user_email - assign object = object | hash_merge: firstName: user_first_name, lastName: user_last_name, fullName: full_name + assign object = {"email": user_email, "firstName": user_first_name, "lastName": user_last_name, "fullName": full_name} function new_user = "modules/user/commands/user/create", first_name: user_first_name, last_name: user_last_name, email: user_email, password: password, hook_params: object, roles: null return new_user diff --git a/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid b/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid index fb11f56..061474f 100644 --- a/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid @@ -4,7 +4,7 @@ if object.valid function object = 'modules/user/commands/passwords/create/execute', object: object - assign event_payload = null | hash_merge: user_id: object.user_id + assign event_payload = {"user_id": object.user_id} function _ = 'modules/core/commands/events/publish', type: 'password_created', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid index 11e00d2..1a1312d 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid @@ -4,11 +4,11 @@ assign uuid = object.uuid | default: uuid_new assign name = object.first_name | append: ' ' | append: object.last_name - assign data = null | hash_merge: first_name: object.first_name, last_name: object.last_name, user_id: object.user_id, email: object.email, uuid: uuid, name: name, c__names: tokenized_names + assign data = {"first_name": object.first_name, "last_name": object.last_name, "user_id": object.user_id, "email": object.email, "uuid": uuid, "name": name, "c__names": tokenized_names} if object.roles == null assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles << context.constants.USER_DEFAULT_ROLE + assign roles = roles << context.constants.USER_DEFAULT_ROLE endif else assign roles_type = object.roles | type_of @@ -21,7 +21,7 @@ assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles << context.constants.USER_DEFAULT_ROLE + assign roles = roles << context.constants.USER_DEFAULT_ROLE endif endif endif diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid index 2c9b645..3af8b4b 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'user_id' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'user_id', table: 'modules/user/profile', scope_name: null, exclude_name: null @@ -8,7 +8,9 @@ function c = 'modules/core/validations/length', c: c, object: object, field_name: 'first_name', maximum: 40, allow_blank: null function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid index d10a19e..3536a27 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign data = null | hash_merge: id: object.id + assign data = {"id": object.id} return data %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid index 67e2c81..de59d59 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid @@ -1,9 +1,11 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - assign object = object | hash_merge: c + assign object.valid = c.valid + + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid index c6052e7..843fbc5 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid @@ -3,7 +3,7 @@ function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/append' if object.errors == blank - assign event_payload = null | hash_merge: profile_id: id, role: role + assign event_payload = {"profile_id": id, "role": role} function _ = 'modules/core/commands/events/publish', type: 'user_role_appended', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid index 45ef598..21e2b56 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid @@ -3,7 +3,7 @@ function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/remove' if object.errors == blank - assign event_payload = null | hash_merge: profile_id: id, role: role + assign event_payload = {"profile_id": id, "role": role} function _ = 'modules/core/commands/events/publish', type: 'user_role_removed', object: event_payload, delay: null, max_attempts: null endif return object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid index b912b18..e557fc4 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid @@ -3,7 +3,7 @@ function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/set' if object.errors == blank - assign event_payload = null | hash_merge: profile_id: id, roles: roles + assign event_payload = {"profile_id": id, "roles": roles} function _ = 'modules/core/commands/events/publish', type: 'user_roles_set', object: event_payload, delay: null, max_attempts: null endif return object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid index 43f68e6..1095444 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid @@ -1,7 +1,7 @@ {% liquid function tokenized_names = 'modules/user/commands/profiles/tokenize_names', object: object assign name = object.first_name | append: ' ' | append: object.last_name - assign data = null | hash_merge: id: profile.id, first_name: object.first_name, last_name: object.last_name, name: name, c__names: tokenized_names, email: profile.email + assign data = {"id": profile.id, "first_name": object.first_name, "last_name": object.last_name, "name": name, "c__names": tokenized_names, "email": profile.email} return data %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid index 4704506..7820df7 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'email', table: 'modules/user/profile', scope_name: null, exclude_name: null @@ -8,7 +8,10 @@ function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null - assign object = object | hash_merge: c + assign object.valid = c.valid + + + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/user/public/lib/commands/session/create.liquid b/pos-module-user/modules/user/public/lib/commands/session/create.liquid index 0e93581..dd7089e 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/create.liquid @@ -46,7 +46,7 @@ endif assign object.user = user - assign event_payload = null | hash_merge: user_id: object.id + assign event_payload = {"user_id": object.id} function _ = 'modules/core/commands/events/publish', type: 'user_signed_in', object: event_payload, delay: null, max_attempts: null endif endif diff --git a/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid b/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid index a997205..55fdfbd 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid @@ -11,7 +11,7 @@ assign params = { "destroy": destroy } function results = 'modules/core/commands/hook/fire', hook: 'user_logout', params: params, merge_to_object: null assign destroy.hook_results = results - assign event_payload = null | hash_merge: user_id: current_profile.user.id + assign event_payload = {"user_id": current_profile.user.id} function _ = 'modules/core/commands/events/publish', type: 'user_logout', object: event_payload, delay: null, max_attempts: null session original_user_id = null session return_to = null diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid index 55e3b14..3ac488c 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid @@ -5,7 +5,7 @@ sign_in user_id: object.id session original_user_id = object.current_user_id - assign event_object = null | hash_merge: actor_id: object.current_user_id, target_id: object.user_id + assign event_object = {"actor_id": object.current_user_id, "target_id": object.user_id} function _ = 'modules/core/commands/events/publish', type: 'impersonation_started', object: event_object, delay: null, max_attempts: null endif diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid index d50546a..d7f58b4 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid @@ -6,7 +6,7 @@ sign_in user_id: object.id session original_user_id = null - assign event_object = null | hash_merge: actor_id: object.id , impersonated_user_id: object.current_user_id + assign event_object = {"actor_id": object.id, "impersonated_user_id": object.current_user_id} function _ = 'modules/core/commands/events/publish', type: 'impersonation_ended', object: event_object, delay: null, max_attempts: null endif diff --git a/pos-module-user/modules/user/public/lib/commands/user/create.liquid b/pos-module-user/modules/user/public/lib/commands/user/create.liquid index 8a2207b..c779f20 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/create.liquid @@ -24,7 +24,7 @@ return profile endif - assign event_payload = null | hash_merge: user_id: user.id + assign event_payload = {"user_id": user.id} function _ = 'modules/core/commands/events/publish', type: 'user_created', object: event_payload, delay: null, max_attempts: null return user diff --git a/pos-module-user/modules/user/public/lib/commands/user/delete.liquid b/pos-module-user/modules/user/public/lib/commands/user/delete.liquid index 0ed2286..4826eb0 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/delete.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/delete.liquid @@ -12,7 +12,7 @@ function results = 'modules/core/commands/hook/fire', hook: 'user_delete', params: params, merge_to_object: null assign user.hook_results = results - assign event_payload = null | hash_merge: user_id: id + assign event_payload = {"user_id": id} function _ = 'modules/core/commands/events/publish', type: 'user_deleted', object: event_payload, delay: null, max_attempts: null endunless diff --git a/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid b/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid index c557228..803f280 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid @@ -1,5 +1,5 @@ {% liquid - assign object = null | hash_merge: id: current_user.id, email: object.email, password: object.password + assign object = {"id": current_user.id, "email": object.email, "password": object.password} return object %} diff --git a/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid index ce68ee9..fb560fe 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid @@ -1,5 +1,5 @@ {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' if object.email != blank and object.email != current_user.email @@ -17,7 +17,8 @@ function c = 'modules/core/validations/truthy', c: c, field_name: 'password', object: user.authenticate, key: 'app.errors.invalid_password' endif - assign object = object | hash_merge: valid: c.valid, errors: c.errors + assign object.valid = c.valid + assign object.errors = c.errors return object %} diff --git a/pos-module-user/modules/user/public/lib/commands/user/update.liquid b/pos-module-user/modules/user/public/lib/commands/user/update.liquid index 0812589..03ec43f 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/update.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/update.liquid @@ -29,7 +29,7 @@ assign object.hook_results = results endunless - assign event_payload = null | hash_merge: user_id: object.id + assign event_payload = {"user_id": object.id} function _ = 'modules/core/commands/events/publish', type: 'user_updated', object: event_payload, delay: null, max_attempts: null endif diff --git a/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid b/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid index 6a9dfa1..d770000 100644 --- a/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid @@ -4,7 +4,7 @@ metadata: email --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'email' diff --git a/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid b/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid index 0281e88..4fac38b 100644 --- a/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid +++ b/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid @@ -5,7 +5,7 @@ metadata: impersonation_ended --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'impersonation_ended' diff --git a/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid b/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid index 258fb32..ae05962 100644 --- a/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid +++ b/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid @@ -6,7 +6,7 @@ metadata: --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'target_id' diff --git a/pos-module-user/modules/user/public/lib/events/password_created.liquid b/pos-module-user/modules/user/public/lib/events/password_created.liquid index 427444a..fb629b9 100644 --- a/pos-module-user/modules/user/public/lib/events/password_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/password_created.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-user/modules/user/public/lib/events/user_created.liquid b/pos-module-user/modules/user/public/lib/events/user_created.liquid index 427444a..fb629b9 100644 --- a/pos-module-user/modules/user/public/lib/events/user_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_created.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-user/modules/user/public/lib/events/user_deleted.liquid b/pos-module-user/modules/user/public/lib/events/user_deleted.liquid index 427444a..fb629b9 100644 --- a/pos-module-user/modules/user/public/lib/events/user_deleted.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_deleted.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-user/modules/user/public/lib/events/user_logout.liquid b/pos-module-user/modules/user/public/lib/events/user_logout.liquid index 427444a..fb629b9 100644 --- a/pos-module-user/modules/user/public/lib/events/user_logout.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_logout.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid b/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid index a0936bb..c387738 100644 --- a/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid @@ -5,7 +5,7 @@ metadata: role --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role' diff --git a/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid b/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid index a0936bb..c387738 100644 --- a/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid @@ -5,7 +5,7 @@ metadata: role --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role' diff --git a/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid b/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid index 65253d7..591cfb4 100644 --- a/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid @@ -5,7 +5,7 @@ metadata: roles --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' function c = 'modules/core/validations/length', c: c, object: event, field_name: 'roles', minimum: 0, allow_blank: false diff --git a/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid b/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid index 427444a..fb629b9 100644 --- a/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-user/modules/user/public/lib/events/user_updated.liquid b/pos-module-user/modules/user/public/lib/events/user_updated.liquid index 427444a..fb629b9 100644 --- a/pos-module-user/modules/user/public/lib/events/user_updated.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_updated.liquid @@ -4,7 +4,7 @@ metadata: user_id --- {% liquid - assign c = '{ "errors": {}, "valid": true }' | parse_json + assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' diff --git a/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid b/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid index 3cd6a6f..dc7eae8 100644 --- a/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid @@ -4,7 +4,7 @@ assign current_profile = { "user": null, "roles": ["anonymous"] } else function current_profile = 'modules/user/queries/profiles/find', user_id: user.id, id: null, uuid: null, first_name: null, last_name: null - assign current_profile = current_profile | hash_merge: user: user + assign current_profile.user = user if current_profile.roles != null assign current_profile.roles = current_profile.roles << 'authenticated' else diff --git a/pos-module-user/modules/user/public/lib/helpers/flash.liquid b/pos-module-user/modules/user/public/lib/helpers/flash.liquid index 5087333..7779ad6 100644 --- a/pos-module-user/modules/user/public/lib/helpers/flash.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/flash.liquid @@ -14,7 +14,7 @@ assign message = info | t assign severity = 'info' endif - assign flash = null | hash_merge: message: message, severity: severity, from: context.location.pathname, force_clear: force_clear + assign flash = {"message": message, "severity": severity, "from": context.location.pathname, "force_clear": force_clear} function _ = 'modules/core/commands/session/set', key: 'sflash', value: flash diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid index 85b367f..3f58d78 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid @@ -1,8 +1,5 @@ {% liquid - assign sort_options = { - "first_name_desc": { "properties": { "name": "first_name", "order": "DESC" }}, - "first_name_asc": { "properties": { "name": "first_name", "order": "ASC" }} - } + assign sort_options = {"first_name_desc": {"properties": {"name": "first_name", "order": "DESC"}}, "first_name_asc": {"properties": {"name": "first_name", "order": "ASC"}}} assign filters = {} assign filters.page = params.page | to_positive_integer: 1 assign filters.keyword = params.keyword | default: '' diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid index ee683d8..9ccc37b 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid @@ -13,7 +13,7 @@ assign profile.slug = slug assign p = profile - assign profiles << p + assign profiles = profiles << p endfor assign records.results = profiles diff --git a/pos-module-user/modules/user/public/lib/queries/user/otp.liquid b/pos-module-user/modules/user/public/lib/queries/user/otp.liquid index fef9947..f348d58 100644 --- a/pos-module-user/modules/user/public/lib/queries/user/otp.liquid +++ b/pos-module-user/modules/user/public/lib/queries/user/otp.liquid @@ -4,7 +4,7 @@ return null endif - assign issuer = 'app.title' | t + assign issuer = 'app.title' | t: default: 'App' graphql r = 'modules/user/user/otp', email: email, issuer: issuer if r.errors diff --git a/pos-module-user/modules/user/public/views/pages/passwords/new.liquid b/pos-module-user/modules/user/public/views/pages/passwords/new.liquid index 062e6b7..5d0a247 100644 --- a/pos-module-user/modules/user/public/views/pages/passwords/new.liquid +++ b/pos-module-user/modules/user/public/views/pages/passwords/new.liquid @@ -11,5 +11,5 @@ endif endif - render 'modules/user/passwords/new', context: context + render 'modules/user/passwords/new', context: context, errors: null %} diff --git a/pos-module-user/modules/user/public/views/pages/passwords/reset.liquid b/pos-module-user/modules/user/public/views/pages/passwords/reset.liquid index 14aae84..ac95321 100644 --- a/pos-module-user/modules/user/public/views/pages/passwords/reset.liquid +++ b/pos-module-user/modules/user/public/views/pages/passwords/reset.liquid @@ -1 +1 @@ -{% render 'modules/user/passwords/reset', context: context, values: null %} +{% render 'modules/user/passwords/reset', context: context, values: null, errors: null %} diff --git a/pos-module-user/modules/user/public/views/pages/sessions/new.liquid b/pos-module-user/modules/user/public/views/pages/sessions/new.liquid index d706a22..a9fe54f 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/new.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/new.liquid @@ -3,5 +3,5 @@ include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.create', return_url: '/' - render 'modules/user/sessions/new', context: context, values: null + render 'modules/user/sessions/new', context: context, values: null, errors: null %} diff --git a/pos-module-user/modules/user/public/views/pages/users/create.liquid b/pos-module-user/modules/user/public/views/pages/users/create.liquid index 96f750a..9191ae1 100644 --- a/pos-module-user/modules/user/public/views/pages/users/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/create.liquid @@ -12,11 +12,10 @@ slug: users function _ = 'modules/user/commands/session/create', user_id: object.id, validate_password: false, email: null, password: null, hook_params: null, skip_otp: null include 'modules/core/helpers/redirect_to' else - assign values = object | default: null | hash_merge: password: '' - function registration_fields = 'modules/user/queries/registration_fields/load' - assign values = context.params | hash_merge: password: '' + assign values = context.params + assign values.password = '' render 'modules/user/users/new', context: context, registration_fields: registration_fields, errors: object.errors, values: values endif %} diff --git a/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid b/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid index 577aee9..c8f5bc4 100644 --- a/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid @@ -4,5 +4,5 @@ include 'modules/core/helpers/redirect_to' endif - render 'modules/user/users/email/edit', otp_enabled: current_profile.otp_configured + render 'modules/user/users/email/edit', context: context, otp_enabled: current_profile.otp_configured, errors: null %} diff --git a/pos-module-user/modules/user/public/views/pages/users/email/update.liquid b/pos-module-user/modules/user/public/views/pages/users/email/update.liquid index 2afe6b9..34857e0 100644 --- a/pos-module-user/modules/user/public/views/pages/users/email/update.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/email/update.liquid @@ -11,7 +11,7 @@ method: put if current_profile.otp_configured function object = 'modules/user/commands/user/verify_otp', object: context.params.user, email: current_profile.user.email if object.valid == false - render 'modules/user/users/email/edit', otp_enabled: current_profile.otp_configured, errors: object.errors + render 'modules/user/users/email/edit', context: null, otp_enabled: current_profile.otp_configured, errors: object.errors break endif endif @@ -21,12 +21,12 @@ method: put if object.valid assign current_profile.email = context.params.user.email function _ = 'modules/user/commands/profiles/update', object: current_profile, profile: current_profile - assign event_payload = null | hash_merge: actor_id: object.id, object: object, actor: object, target: null, object_id: null, target_id: null + assign event_payload = {"actor_id": object.id, "object": object, "actor": object, "target": null, "object_id": null, "target_id": null} function _event = 'modules/core/commands/events/publish', type: 'email_updated', object: event_payload, delay: null, max_attempts: null assign notice = 'modules/user/users.email.change_success' | t include 'modules/core/helpers/redirect_to', url: '/', notice: notice else - render 'modules/user/users/email/edit', context: context, otp_enabled: null + render 'modules/user/users/email/edit', context: context, otp_enabled: null, errors: null endif %} diff --git a/pos-module-user/modules/user/public/views/pages/users/new.liquid b/pos-module-user/modules/user/public/views/pages/users/new.liquid index 8affc3d..29a163c 100644 --- a/pos-module-user/modules/user/public/views/pages/users/new.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/new.liquid @@ -4,7 +4,7 @@ include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'users.register', redirect_url: "/" function registration_fields = 'modules/user/queries/registration_fields/load' - assign values = null | hash_merge: email: context.params.email + assign values = {"email": context.params.email} - render 'modules/user/users/new', context: context, registration_fields: registration_fields, values: values + render 'modules/user/users/new', context: context, registration_fields: registration_fields, values: values, errors: null %} diff --git a/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid b/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid index f5f77c3..aa812c5 100644 --- a/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid +++ b/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid @@ -4,6 +4,7 @@ metadata: params: context: {} errors: [] + values: {} --- {% liquid assign context = context | default: params.context diff --git a/pos-module-user/modules/user/public/views/partials/sessions/new.liquid b/pos-module-user/modules/user/public/views/partials/sessions/new.liquid index 27176d1..1d9f327 100644 --- a/pos-module-user/modules/user/public/views/partials/sessions/new.liquid +++ b/pos-module-user/modules/user/public/views/partials/sessions/new.liquid @@ -2,7 +2,9 @@ metadata: name: Login params: + context: {} errors: [] + values: {} --- {% liquid assign errors = errors | default: params.errors diff --git a/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid b/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid index e42d00e..83c6a79 100644 --- a/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid +++ b/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid @@ -4,6 +4,7 @@ metadata: params: context: {} errors: {} + otp_enabled: null --- {% liquid assign context = context | default: params.context diff --git a/pos-module-user/modules/user/public/views/partials/users/new.liquid b/pos-module-user/modules/user/public/views/partials/users/new.liquid index b650700..018a212 100644 --- a/pos-module-user/modules/user/public/views/partials/users/new.liquid +++ b/pos-module-user/modules/user/public/views/partials/users/new.liquid @@ -2,6 +2,7 @@ metadata: name: Register params: + context: {} values: {} errors: [] registration_fields: [] diff --git a/pos-module-user/tests/post_import/app/migrations/20241202183257_set_superadmin_role.liquid b/pos-module-user/tests/post_import/app/migrations/20241202183257_set_superadmin_role.liquid index 64dbd84..8ff7c42 100644 --- a/pos-module-user/tests/post_import/app/migrations/20241202183257_set_superadmin_role.liquid +++ b/pos-module-user/tests/post_import/app/migrations/20241202183257_set_superadmin_role.liquid @@ -1,4 +1,4 @@ -{% assign roles = '["member", "superadmin"]' | parse_json %} +{% assign roles = ["member", "superadmin"] %} {% if context.environment == "staging" %} {% graphql r, userId: 1, roles: roles %} From 4c3e761d85ac3b6d57d831abeb660b7eed65ee48 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 20:32:47 +0100 Subject: [PATCH 03/44] Refactor lint workflow to use pos-cli check command Replace Docker-based platformOS LSP and platformos-check containers with the new pos-cli check command for Liquid linting. Changes: - Install pos-cli via npm instead of using Docker containers - Run linter with: pos-cli check run -f json - Remove platformos-lsp startup step (no longer needed) - Remove Docker workspace volume mappings - Simplify environment variables (remove PLATFORMOS_CHECK_DEBUG) - Remove platformos-lsp.log from artifact uploads --- .github/workflows/lint.yml | 36 +++++++++++++----------------------- 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 31930f9..9c5eb14 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -74,7 +74,7 @@ jobs: echo "matrix=$modules" >> $GITHUB_OUTPUT echo "Changed modules for linting: $modules" - lint-platformos-check: + run-linter: needs: detect-changes if: needs.detect-changes.outputs.changed-modules != '[]' runs-on: ubuntu-latest @@ -84,40 +84,31 @@ jobs: fail-fast: false env: CI: true - PLATFORMOS_CHECK_DEBUG: true - DOCKER_WORKSPACE: ${{ github.workspace }}/pos-module-${{ matrix.module }} LOGS_DIR: ${{ github.workspace }}/pos-module-${{ matrix.module }}/logs steps: - name: Checkout code uses: actions/checkout@v4 + - name: Set up Node.js + uses: actions/setup-node@v3 + with: + node-version: '22' + + - name: Install pos-cli + id: install_pos_cli + run: npm install -g @platformos/pos-cli@latest + - name: Set up logs directory run: | mkdir -p ${{ env.LOGS_DIR }} chmod -R 777 ${{ env.LOGS_DIR }} - - name: Start PlatformOS LSP - id: start_lsp - run: | - docker run -i \ - -v ${{ env.DOCKER_WORKSPACE }}:${{ env.DOCKER_WORKSPACE }} \ - -w ${{ env.DOCKER_WORKSPACE }} \ - -e PLATFORMOS_CHECK_DEBUG=${{ env.PLATFORMOS_CHECK_DEBUG }} \ - -e PLATFORMOS_CHECK_DEBUG_LOG_FILE=${{ env.LOGS_DIR }}/platformos-lsp.log \ - platformos/platformos-lsp:latest - - - name: Run platformos-check - if: steps.start_lsp.outcome == 'success' + - name: Run pos-cli check + if: steps.install_pos_cli.outcome == 'success' id: run_check run: | set +e # Disable exit on error - docker run -i \ - -v ${{ env.DOCKER_WORKSPACE }}:${{ env.DOCKER_WORKSPACE }} \ - -w ${{ env.DOCKER_WORKSPACE }} \ - -e PLATFORMOS_CHECK_DEBUG=${{ env.PLATFORMOS_CHECK_DEBUG }} \ - -e PLATFORMOS_CHECK_DEBUG_LOG_FILE=${{ env.LOGS_DIR }}/platformos-check.log \ - platformos/platformos-check:latest -o json > ${{ env.LOGS_DIR }}/platformos-check-raw.json - docker_exit_code=$? + pos-cli check run ${{ matrix.module }} -f json > ${{ env.LOGS_DIR }}/platformos-check-raw.json set -e # Re-enable exit on error jq . ${{ env.LOGS_DIR }}/platformos-check-raw.json | tee ${{ env.LOGS_DIR }}/platformos-check.json @@ -130,7 +121,6 @@ jobs: with: name: platformos_check_logs_${{ matrix.module }}_${{ github.run_id }} path: | - ${{ env.LOGS_DIR }}/platformos-lsp.log ${{ env.LOGS_DIR }}/platformos-check.json ${{ env.LOGS_DIR }}/platformos-check-raw.json From c6f1acee599a673f5bd9fb9ff460f3b7a706aee3 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 20:40:32 +0100 Subject: [PATCH 04/44] Configure lint workflow for manual testing with single module Temporarily disable automatic triggers and change detection to enable manual workflow_dispatch testing of the new pos-cli check command. Changes: - Comment out pull_request and push triggers (keep workflow_dispatch) - Comment out detect-changes job (dynamic module detection) - Hardcode matrix to common-styling module for testing - Remove job dependencies to allow independent execution This allows manual testing of the pos-cli check integration before re-enabling automatic triggers for all modules. --- .github/workflows/lint.yml | 121 +++++++++++++++++++------------------ 1 file changed, 61 insertions(+), 60 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9c5eb14..a240fdf 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,13 +1,13 @@ name: Lint modules on: - pull_request: - branches: [ master ] - paths-ignore: - - "**/README.md" - push: - paths-ignore: - - "**/README.md" + # pull_request: + # branches: [ master ] + # paths-ignore: + # - "**/README.md" + # push: + # paths-ignore: + # - "**/README.md" workflow_dispatch: jobs: @@ -23,64 +23,65 @@ jobs: paths_ignore: '["**/README.md"]' do_not_skip: '["push"]' - detect-changes: - needs: pre_job - if: ${{ needs.pre_job.outputs.should_skip != 'true' }} - runs-on: ubuntu-latest - outputs: - changed-modules: ${{ steps.set-matrix.outputs.matrix }} - steps: - - uses: actions/checkout@v4 - - - uses: dorny/paths-filter@v3 - id: filter - with: - filters: | - payments: - - 'pos-module-payments/**' - user: - - 'pos-module-user/**' - chat: - - 'pos-module-chat/**' - common-styling: - - 'pos-module-common-styling/**' - tests: - - 'pos-module-tests/**' - core: - - 'pos-module-core/**' - oauth-facebook: - - 'pos-module-oauth-facebook/**' - oauth-github: - - 'pos-module-oauth-github/**' - oauth-google: - - 'pos-module-oauth-google/**' - openai: - - 'pos-module-openai/**' - reports: - - 'pos-module-reports/**' - data-export-api: - - 'pos-module-data-export-api/**' - payments-stripe: - - 'pos-module-payments-stripe/**' - payments-example-gateway: - - 'pos-module-payments-example-gateway/**' - - - name: Set matrix for changed modules - id: set-matrix - run: | - # Extract module names where filter output is "true" - modules=$(echo '${{ toJSON(steps.filter.outputs) }}' | jq -c '[to_entries[] | select(.value == "true") | .key]') - - echo "matrix=$modules" >> $GITHUB_OUTPUT - echo "Changed modules for linting: $modules" + # detect-changes: + # needs: pre_job + # if: ${{ needs.pre_job.outputs.should_skip != 'true' }} + # runs-on: ubuntu-latest + # outputs: + # changed-modules: ${{ steps.set-matrix.outputs.matrix }} + # steps: + # - uses: actions/checkout@v4 + # + # - uses: dorny/paths-filter@v3 + # id: filter + # with: + # filters: | + # payments: + # - 'pos-module-payments/**' + # user: + # - 'pos-module-user/**' + # chat: + # - 'pos-module-chat/**' + # common-styling: + # - 'pos-module-common-styling/**' + # tests: + # - 'pos-module-tests/**' + # core: + # - 'pos-module-core/**' + # oauth-facebook: + # - 'pos-module-oauth-facebook/**' + # oauth-github: + # - 'pos-module-oauth-github/**' + # oauth-google: + # - 'pos-module-oauth-google/**' + # openai: + # - 'pos-module-openai/**' + # reports: + # - 'pos-module-reports/**' + # data-export-api: + # - 'pos-module-data-export-api/**' + # payments-stripe: + # - 'pos-module-payments-stripe/**' + # payments-example-gateway: + # - 'pos-module-payments-example-gateway/**' + # + # - name: Set matrix for changed modules + # id: set-matrix + # run: | + # # Extract module names where filter output is "true" + # modules=$(echo '${{ toJSON(steps.filter.outputs) }}' | jq -c '[to_entries[] | select(.value == "true") | .key]') + # + # echo "matrix=$modules" >> $GITHUB_OUTPUT + # echo "Changed modules for linting: $modules" run-linter: - needs: detect-changes - if: needs.detect-changes.outputs.changed-modules != '[]' + # needs: detect-changes + # if: needs.detect-changes.outputs.changed-modules != '[]' runs-on: ubuntu-latest strategy: matrix: - module: ${{ fromJSON(needs.detect-changes.outputs.changed-modules) }} + # module: ${{ fromJSON(needs.detect-changes.outputs.changed-modules) }} + module: common-styling fail-fast: false env: CI: true From 4639952a283c644aa34563f542c978265e869cbd Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 20:44:30 +0100 Subject: [PATCH 05/44] Wrap matrix module value in array brackets for valid YAML syntax --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a240fdf..96ace0a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -81,7 +81,7 @@ jobs: strategy: matrix: # module: ${{ fromJSON(needs.detect-changes.outputs.changed-modules) }} - module: common-styling + module: [common-styling] fail-fast: false env: CI: true From ba8946c04f7d9e0c93087c90559cbd8b32fd77ab Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 20:49:16 +0100 Subject: [PATCH 06/44] fix: add pos-module- prefix to check command module path --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 96ace0a..a897ff8 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -109,7 +109,7 @@ jobs: id: run_check run: | set +e # Disable exit on error - pos-cli check run ${{ matrix.module }} -f json > ${{ env.LOGS_DIR }}/platformos-check-raw.json + pos-cli check run pos-module-${{ matrix.module }} -f json > ${{ env.LOGS_DIR }}/platformos-check-raw.json set -e # Re-enable exit on error jq . ${{ env.LOGS_DIR }}/platformos-check-raw.json | tee ${{ env.LOGS_DIR }}/platformos-check.json From 6f240ef883fec74ea109d1117738f5a92fdc51c2 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 20:56:06 +0100 Subject: [PATCH 07/44] Update summary generation for new pos-cli check JSON format Add summary statistics table and update jq path from .[] to .files[] to match the new nested JSON structure with offense counts. --- .github/workflows/lint.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a897ff8..c12882c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -133,12 +133,19 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY if [ -f "${{ env.LOGS_DIR }}/platformos-check.json" ]; then + # Extract and display summary statistics + echo "## Summary" >> $GITHUB_STEP_SUMMARY + echo "| Metric | Count |" >> $GITHUB_STEP_SUMMARY + echo "|--------|-------|" >> $GITHUB_STEP_SUMMARY + jq -r '"| Total Offenses | \(.offenseCount) |", "| Files with Issues | \(.fileCount) |", "| Errors | \(.errorCount) |", "| Warnings | \(.warningCount) |", "| Info | \(.infoCount) |"' ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "## Issues Found" >> $GITHUB_STEP_SUMMARY echo "| File | Line | Column | Severity | Check | Message |" >> $GITHUB_STEP_SUMMARY echo "|------|------|--------|----------|-------|---------|" >> $GITHUB_STEP_SUMMARY # Try to parse and add issues - if jq -r '.[] | .path as $file | .offenses[] | "| \($file) | \(.start_row) | \(.start_column) | \(.severity) | \(.check) | \(.message) |"' ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY 2>&1; then + if jq -r '.files[] | .path as $file | .offenses[] | "| \($file) | \(.start_row) | \(.start_column) | \(.severity) | \(.check) | \(.message) |"' ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY 2>&1; then echo "Issues table generated successfully" else echo "| N/A | N/A | N/A | N/A | N/A | Failed to parse JSON - see logs for details |" >> $GITHUB_STEP_SUMMARY From adb488ae6af83bc0efa9b35584cfe7c313138136 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 21:33:58 +0100 Subject: [PATCH 08/44] fix: capture and use pos-cli check exit code to properly fail workflow on errors Replace undefined $docker_exit_code with $check_exit_code to ensure the workflow step fails when linting errors are found. --- .github/workflows/lint.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index c12882c..bc26c4d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -110,11 +110,12 @@ jobs: run: | set +e # Disable exit on error pos-cli check run pos-module-${{ matrix.module }} -f json > ${{ env.LOGS_DIR }}/platformos-check-raw.json + check_exit_code=$? # Capture the exit code set -e # Re-enable exit on error jq . ${{ env.LOGS_DIR }}/platformos-check-raw.json | tee ${{ env.LOGS_DIR }}/platformos-check.json - exit $docker_exit_code + exit $check_exit_code - name: Upload logs if: always() && steps.run_check.outcome != 'skipped' From e4033ed5203dd408f2d4f149a90688b6bbeafd35 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 21:46:18 +0100 Subject: [PATCH 09/44] Re-enable automatic triggers and dynamic module detection in lint workflow Restore pull_request/push triggers, detect-changes job, and dynamic matrix to run linting automatically on changed modules. --- .github/workflows/lint.yml | 121 ++++++++++++++++++------------------- 1 file changed, 60 insertions(+), 61 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index bc26c4d..fbd545c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,13 +1,13 @@ name: Lint modules on: - # pull_request: - # branches: [ master ] - # paths-ignore: - # - "**/README.md" - # push: - # paths-ignore: - # - "**/README.md" + pull_request: + branches: [ master ] + paths-ignore: + - "**/README.md" + push: + paths-ignore: + - "**/README.md" workflow_dispatch: jobs: @@ -23,65 +23,64 @@ jobs: paths_ignore: '["**/README.md"]' do_not_skip: '["push"]' - # detect-changes: - # needs: pre_job - # if: ${{ needs.pre_job.outputs.should_skip != 'true' }} - # runs-on: ubuntu-latest - # outputs: - # changed-modules: ${{ steps.set-matrix.outputs.matrix }} - # steps: - # - uses: actions/checkout@v4 - # - # - uses: dorny/paths-filter@v3 - # id: filter - # with: - # filters: | - # payments: - # - 'pos-module-payments/**' - # user: - # - 'pos-module-user/**' - # chat: - # - 'pos-module-chat/**' - # common-styling: - # - 'pos-module-common-styling/**' - # tests: - # - 'pos-module-tests/**' - # core: - # - 'pos-module-core/**' - # oauth-facebook: - # - 'pos-module-oauth-facebook/**' - # oauth-github: - # - 'pos-module-oauth-github/**' - # oauth-google: - # - 'pos-module-oauth-google/**' - # openai: - # - 'pos-module-openai/**' - # reports: - # - 'pos-module-reports/**' - # data-export-api: - # - 'pos-module-data-export-api/**' - # payments-stripe: - # - 'pos-module-payments-stripe/**' - # payments-example-gateway: - # - 'pos-module-payments-example-gateway/**' - # - # - name: Set matrix for changed modules - # id: set-matrix - # run: | - # # Extract module names where filter output is "true" - # modules=$(echo '${{ toJSON(steps.filter.outputs) }}' | jq -c '[to_entries[] | select(.value == "true") | .key]') - # - # echo "matrix=$modules" >> $GITHUB_OUTPUT - # echo "Changed modules for linting: $modules" + detect-changes: + needs: pre_job + if: ${{ needs.pre_job.outputs.should_skip != 'true' }} + runs-on: ubuntu-latest + outputs: + changed-modules: ${{ steps.set-matrix.outputs.matrix }} + steps: + - uses: actions/checkout@v4 + + - uses: dorny/paths-filter@v3 + id: filter + with: + filters: | + payments: + - 'pos-module-payments/**' + user: + - 'pos-module-user/**' + chat: + - 'pos-module-chat/**' + common-styling: + - 'pos-module-common-styling/**' + tests: + - 'pos-module-tests/**' + core: + - 'pos-module-core/**' + oauth-facebook: + - 'pos-module-oauth-facebook/**' + oauth-github: + - 'pos-module-oauth-github/**' + oauth-google: + - 'pos-module-oauth-google/**' + openai: + - 'pos-module-openai/**' + reports: + - 'pos-module-reports/**' + data-export-api: + - 'pos-module-data-export-api/**' + payments-stripe: + - 'pos-module-payments-stripe/**' + payments-example-gateway: + - 'pos-module-payments-example-gateway/**' + + - name: Set matrix for changed modules + id: set-matrix + run: | + # Extract module names where filter output is "true" + modules=$(echo '${{ toJSON(steps.filter.outputs) }}' | jq -c '[to_entries[] | select(.value == "true") | .key]') + + echo "matrix=$modules" >> $GITHUB_OUTPUT + echo "Changed modules for linting: $modules" run-linter: - # needs: detect-changes - # if: needs.detect-changes.outputs.changed-modules != '[]' + needs: detect-changes + if: needs.detect-changes.outputs.changed-modules != '[]' runs-on: ubuntu-latest strategy: matrix: - # module: ${{ fromJSON(needs.detect-changes.outputs.changed-modules) }} - module: [common-styling] + module: ${{ fromJSON(needs.detect-changes.outputs.changed-modules) }} fail-fast: false env: CI: true From 0916376b8eada5bdac6431e0d49fb13932f8fea0 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 21:53:10 +0100 Subject: [PATCH 10/44] Add manual module selection for lint workflow Enable manual workflow triggering with dropdown module selection instead of relying on change detection for workflow_dispatch events. Changes: - Add workflow_dispatch inputs with alphabetically ordered module choices - Skip detect-changes job when manually triggered - Use conditional matrix: manual input for workflow_dispatch, detected changes for PR/push - Update run-linter conditions to handle both trigger types with always() Benefits: - Manual triggers can lint any module on demand - Automatic triggers still use efficient change detection - Clear separation between manual and automatic execution paths --- .github/workflows/lint.yml | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index fbd545c..a34650b 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -9,6 +9,26 @@ on: paths-ignore: - "**/README.md" workflow_dispatch: + inputs: + module: + description: 'Module to lint (e.g., common-styling, user, chat)' + required: true + type: choice + options: + - chat + - common-styling + - core + - data-export-api + - oauth-facebook + - oauth-github + - oauth-google + - openai + - payments + - payments-example-gateway + - payments-stripe + - reports + - tests + - user jobs: pre_job: @@ -25,7 +45,7 @@ jobs: detect-changes: needs: pre_job - if: ${{ needs.pre_job.outputs.should_skip != 'true' }} + if: ${{ github.event_name != 'workflow_dispatch' && needs.pre_job.outputs.should_skip != 'true' }} runs-on: ubuntu-latest outputs: changed-modules: ${{ steps.set-matrix.outputs.matrix }} @@ -75,12 +95,15 @@ jobs: echo "Changed modules for linting: $modules" run-linter: - needs: detect-changes - if: needs.detect-changes.outputs.changed-modules != '[]' + needs: [detect-changes] + if: | + always() && + (github.event_name == 'workflow_dispatch' || + needs.detect-changes.outputs.changed-modules != '[]') runs-on: ubuntu-latest strategy: matrix: - module: ${{ fromJSON(needs.detect-changes.outputs.changed-modules) }} + module: ${{ github.event_name == 'workflow_dispatch' && fromJSON(format('["{0}"]', inputs.module)) || fromJSON(needs.detect-changes.outputs.changed-modules) }} fail-fast: false env: CI: true From 7b2df9ec1712487d9e7b02d765658c3a84c90c99 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 22:00:56 +0100 Subject: [PATCH 11/44] Add custom run names to lint workflow for better identification Display contextual information in workflow run titles based on trigger type. Run name format: - Manual trigger: "Lint: {module}" - Pull request: "Lint PR #{number}" - Push: "Lint: {branch}" Makes it easier to identify and track workflow runs in the Actions UI. --- .github/workflows/lint.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index a34650b..e0c56bf 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,4 +1,5 @@ name: Lint modules +run-name: ${{ github.event_name == 'workflow_dispatch' && format('Lint: {0}', inputs.module) || github.event_name == 'pull_request' && format('Lint PR #{0}', github.event.pull_request.number) || format('Lint: {0}', github.ref_name) }} on: pull_request: From 56ccf7b47d836f14bbc7294e7f8ca06dd1b50376 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 22:02:35 +0100 Subject: [PATCH 12/44] fix: add parentheses to run-name expression for proper precedence Wrap conditional expressions in parentheses to fix YAML syntax error caused by ambiguous operator precedence in chained && and || operators. --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e0c56bf..78fba82 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,5 +1,5 @@ name: Lint modules -run-name: ${{ github.event_name == 'workflow_dispatch' && format('Lint: {0}', inputs.module) || github.event_name == 'pull_request' && format('Lint PR #{0}', github.event.pull_request.number) || format('Lint: {0}', github.ref_name) }} +run-name: ${{ (github.event_name == 'workflow_dispatch' && format('Lint: {0}', inputs.module)) || (github.event_name == 'pull_request' && format('Lint PR #{0}', github.event.pull_request.number)) || format('Lint: {0}', github.ref_name) }} on: pull_request: From 4cb35ca301d977c1fe063c726985f41292dfcf21 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 22:10:34 +0100 Subject: [PATCH 13/44] fix: remove # character from run-name expression to fix YAML syntax error Change 'Lint PR #{0}' to 'Lint PR {0}' and remove explicit parentheses to resolve YAML parsing issue with special characters in expressions. --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 78fba82..98440e0 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,5 +1,5 @@ name: Lint modules -run-name: ${{ (github.event_name == 'workflow_dispatch' && format('Lint: {0}', inputs.module)) || (github.event_name == 'pull_request' && format('Lint PR #{0}', github.event.pull_request.number)) || format('Lint: {0}', github.ref_name) }} +run-name: ${{ github.event_name == 'workflow_dispatch' && format('Lint: {0}', inputs.module) || github.event_name == 'pull_request' && format('Lint PR {0}', github.event.pull_request.number) || format('Lint: {0}', github.ref_name) }} on: pull_request: From 84f3dbb61e5be043095b41ebbcb31aa9031d3540 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 22:18:42 +0100 Subject: [PATCH 14/44] fix: simplify run-name expression to resolve YAML syntax error Replace complex conditional logic with simple inline expression using fallback operator. Shows module name for manual triggers, branch name for automatic triggers. --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 98440e0..c9b24ea 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,5 +1,5 @@ name: Lint modules -run-name: ${{ github.event_name == 'workflow_dispatch' && format('Lint: {0}', inputs.module) || github.event_name == 'pull_request' && format('Lint PR {0}', github.event.pull_request.number) || format('Lint: {0}', github.ref_name) }} +run-name: Lint ${{ inputs.module || github.ref_name }} on: pull_request: From c9080be2e2db642cc7c7a6bcc874c70e1ebfe6d9 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 22:44:57 +0100 Subject: [PATCH 15/44] Replace flat offense table with structured format grouped by file. Changes: - Group issues by file with markdown headers and file-level stats - Sort files by error count (most critical first) - Sort offenses within files by severity (errors before warnings) - Remove redundant file column (shown in header instead) - Add emoji indicators and improved formatting - Display error/warning/info counts per file Result: Summary is now scannable and easy to navigate instead of a jumbled flat list of 100+ rows with repeated file paths. --- .github/workflows/lint.yml | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index c9b24ea..9fef847 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -164,20 +164,26 @@ jobs: jq -r '"| Total Offenses | \(.offenseCount) |", "| Files with Issues | \(.fileCount) |", "| Errors | \(.errorCount) |", "| Warnings | \(.warningCount) |", "| Info | \(.infoCount) |"' ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - echo "## Issues Found" >> $GITHUB_STEP_SUMMARY - echo "| File | Line | Column | Severity | Check | Message |" >> $GITHUB_STEP_SUMMARY - echo "|------|------|--------|----------|-------|---------|" >> $GITHUB_STEP_SUMMARY - - # Try to parse and add issues - if jq -r '.files[] | .path as $file | .offenses[] | "| \($file) | \(.start_row) | \(.start_column) | \(.severity) | \(.check) | \(.message) |"' ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY 2>&1; then - echo "Issues table generated successfully" - else - echo "| N/A | N/A | N/A | N/A | N/A | Failed to parse JSON - see logs for details |" >> $GITHUB_STEP_SUMMARY - echo "JSON parse error. File contents:" >> $GITHUB_STEP_SUMMARY - echo '```json' >> $GITHUB_STEP_SUMMARY - cat ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY - echo '```' >> $GITHUB_STEP_SUMMARY - fi + echo "## Issues by File" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Sort files: errors first, then by error count descending + jq -r ' + .files + | sort_by(-.errorCount, -.warningCount) + | .[] + | "### 📄 `\(.path)`", + "", + "**Errors:** \(.errorCount) | **Warnings:** \(.warningCount) | **Info:** \(.infoCount)", + "", + "| Line | Col | Severity | Check | Message |", + "|------|-----|----------|-------|---------|", + (.offenses | sort_by( + (if .severity == "error" then 0 elif .severity == "warning" then 1 else 2 end), + .start_row + ) | .[] | "| \(.start_row) | \(.start_column) | \(.severity) | `\(.check)` | \(.message) |"), + "" + ' ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY else echo "## No output file found" >> $GITHUB_STEP_SUMMARY echo "Expected location: ${{ env.LOGS_DIR }}/platformos-check.json" >> $GITHUB_STEP_SUMMARY From 99f4016904023e7e0fab6876c7536e6a50bc18e7 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Mon, 9 Mar 2026 22:59:33 +0100 Subject: [PATCH 16/44] Show commit message for automatic lint triggers, module name for manual Use fallback chain in run-name to display contextual information: - Manual trigger: "Lint {module}" - Push: commit message - Pull request: PR title - Fallback: "Lint modules" Avoids redundant branch names while preserving useful commit/PR context that was lost with the previous static "Lint modules" approach. --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 9fef847..e298f36 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,5 +1,5 @@ name: Lint modules -run-name: Lint ${{ inputs.module || github.ref_name }} +run-name: ${{ inputs.module && format('Lint {0}', inputs.module) || github.event.head_commit.message || github.event.pull_request.title || 'Lint modules' }} on: pull_request: From d0889b1b85d08fc862fae331674938e5c8531a00 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Tue, 10 Mar 2026 00:16:58 +0100 Subject: [PATCH 17/44] fix: respect should_skip in run-linter to prevent empty JSON parse error Add pre_job to run-linter needs and check should_skip status before running. Prevents fromJSON error when detect-changes is skipped due to duplicate action detection. Error occurred when: - pre_job sets should_skip=true - detect-changes skips (no output) - run-linter runs anyway (always()) - fromJSON('') fails with "empty input" Now run-linter properly skips when should_skip is true. --- .github/workflows/lint.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e298f36..3988912 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -96,9 +96,10 @@ jobs: echo "Changed modules for linting: $modules" run-linter: - needs: [detect-changes] + needs: [pre_job, detect-changes] if: | always() && + needs.pre_job.outputs.should_skip != 'true' && (github.event_name == 'workflow_dispatch' || needs.detect-changes.outputs.changed-modules != '[]') runs-on: ubuntu-latest From 4340a6b873f6c61626f01eaf7aff5ab63ef4a598 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Tue, 10 Mar 2026 00:21:24 +0100 Subject: [PATCH 18/44] fix: prevent duplicate workflow runs on PR push events Change do_not_skip from ["push"] to ["workflow_dispatch"] to allow skip-duplicate-actions to properly deduplicate push and pull_request events triggered by the same commit. Before: Push to PR branch triggered both push and pull_request events After: Only pull_request event runs, push is skipped as duplicate Manual triggers (workflow_dispatch) still always run as expected. --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3988912..d84227d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -42,7 +42,7 @@ jobs: with: github_token: ${{ github.token }} paths_ignore: '["**/README.md"]' - do_not_skip: '["push"]' + do_not_skip: '["workflow_dispatch"]' detect-changes: needs: pre_job From c383dc38f46772267c7cc5ef9c9d069f507b4a8c Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Tue, 10 Mar 2026 00:30:21 +0100 Subject: [PATCH 19/44] Revert "fix: prevent duplicate workflow runs on PR push events" This reverts the do_not_skip change from ["workflow_dispatch"] back to ["push"]. The duplicate run issue on PR branches is expected GitHub Actions behavior and cannot be avoided. Keeping ["push"] ensures that direct pushes to master always trigger linting, which is more important than attempting to fix unavoidable PR branch duplicates. --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index d84227d..3988912 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -42,7 +42,7 @@ jobs: with: github_token: ${{ github.token }} paths_ignore: '["**/README.md"]' - do_not_skip: '["workflow_dispatch"]' + do_not_skip: '["push"]' detect-changes: needs: pre_job From cf0ad3a8f375c6134d409dd0f6a3c36e69dcbc97 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Tue, 10 Mar 2026 00:39:03 +0100 Subject: [PATCH 20/44] Use whitespace fallback for default run-name on automatic triggers Replace full commit message in run-name with whitespace fallback to let GitHub use its default event-specific display (truncated commit subject for push, PR title for pull_request). Manual triggers still show "Lint {module}" as expected. --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 3988912..d1d707d 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -1,5 +1,5 @@ name: Lint modules -run-name: ${{ inputs.module && format('Lint {0}', inputs.module) || github.event.head_commit.message || github.event.pull_request.title || 'Lint modules' }} +run-name: ${{ inputs.module && format('Lint {0}', inputs.module) || ' ' }} on: pull_request: From 41770f9f4b75db7d14e74c79a204952f37eab2a6 Mon Sep 17 00:00:00 2001 From: Maciej Krajowski-Kukiel Date: Tue, 10 Mar 2026 12:31:34 +0100 Subject: [PATCH 21/44] update fetch to dig --- .../modules/core/public/lib/commands/events/broadcast.liquid | 2 +- .../modules/core/public/lib/commands/events/create/check.liquid | 2 +- .../modules/core/public/views/pages/_events/trigger.liquid | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid index 6558c07..9bfb72e 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid @@ -6,7 +6,7 @@ assign priorities = 'low,default,high' | split: ',' assign name = 'consumers/' | append: object.type | append: '/' - graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" assign object.consumers = consumers for consumer in consumers diff --git a/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid index cb6f51f..8c33700 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid @@ -5,7 +5,7 @@ function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date' assign name = 'events/' | append: object.type - graphql event_check_partials = 'modules/core/events/events_checks', name: name | fetch: "admin_liquid_partials" | fetch: "results" + graphql event_check_partials = 'modules/core/events/events_checks', name: name | dig: "admin_liquid_partials", "results" for partial in event_check_partials assign is_event_definition = partial.path | matches: '^(modules/[^/]+/events/[^/]++|events/[^/]+)$' if is_event_definition diff --git a/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid index c062670..42d8413 100644 --- a/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid +++ b/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid @@ -11,7 +11,7 @@ slug: _events/:uuid/trigger echo 'BROADCASTED' else assign name = 'consumers/' | append: event.type | append: '/' - graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" assign event.consumers = consumers endif From 9f331fceb09a89d98392f993c89a6a03b36663fa Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Tue, 10 Mar 2026 12:34:25 +0000 Subject: [PATCH 22/44] Bug fixes --- .../user/public/views/partials/admin_pages/list.liquid | 2 +- .../common-styling/public/views/partials/user/card.liquid | 4 ++-- .../modules/tests/public/views/layouts/mailer.html.liquid | 1 - .../modules/tests/public/views/layouts/mailer.html.liquid | 1 - 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/pos-module-chat/modules/user/public/views/partials/admin_pages/list.liquid b/pos-module-chat/modules/user/public/views/partials/admin_pages/list.liquid index 61021c0..dcffe61 100644 --- a/pos-module-chat/modules/user/public/views/partials/admin_pages/list.liquid +++ b/pos-module-chat/modules/user/public/views/partials/admin_pages/list.liquid @@ -1,7 +1,7 @@ {% function users = 'modules/user/queries/user/get_all' %}
    - {% theme_render_rc 'components/atoms/heading', content: 'Users', level: 2, classes: 'pb-8' %} +

    Users

    diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/user/card.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/user/card.liquid index 3dcaea6..34d9056 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/user/card.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/user/card.liquid @@ -15,14 +15,14 @@ {{ job_title }} {% endif %} {% if employer != blank %} - {{ 'modules/community/app.at' | t }} {{ employer }}{% if location != blank %}, {{ location }} {% endif %} + {{ 'modules/community/app.at' | t: default: 'at' }} {{ employer }}{% if location != blank %}, {{ location }} {% endif %} {% endif %} "+t+""),"
    \n\n"+e+"\n"+t+"
    \n"},n.tablerow=function(e){return"\n"+e+"\n"},n.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},n.strong=function(e){return""+e+""},n.em=function(e){return""+e+""},n.codespan=function(e){return""+e+""},n.br=function(){return this.options.xhtml?"
    ":"
    "},n.del=function(e){return""+e+""},n.link=function(e,t,n){if(null===(e=x(this.options.sanitize,this.options.baseUrl,e)))return n;var i='"},n.image=function(e,t,n){if(null===(e=x(this.options.sanitize,this.options.baseUrl,e)))return n;var i=''+n+'":">"},n.text=function(e){return e},t}(),H=function(){function e(){}var t=e.prototype;return t.strong=function(e){return e},t.em=function(e){return e},t.codespan=function(e){return e},t.del=function(e){return e},t.html=function(e){return e},t.text=function(e){return e},t.link=function(e,t,n){return""+n},t.image=function(e,t,n){return""+n},t.br=function(){return""},e}(),R=function(){function e(){this.seen={}}var t=e.prototype;return t.serialize=function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},t.getNextSafeSlug=function(e,t){var n=e,i=0;if(this.seen.hasOwnProperty(n)){i=this.seen[e];do{n=e+"-"+ ++i}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=i,this.seen[n]=0),n},t.slug=function(e,t){void 0===t&&(t={});var n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)},e}(),P=function(){function t(t){this.options=t||e.defaults,this.options.renderer=this.options.renderer||new z,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new H,this.slugger=new R}t.parse=function(e,n){return new t(n).parse(e)},t.parseInline=function(e,n){return new t(n).parseInline(e)};var n=t.prototype;return n.parse=function(e,t){void 0===t&&(t=!0);var n,i,r,o,a,l,s,u,c,d,h,p,m,g,v,x,y,b,D,C="",w=e.length;for(n=0;n0&&"paragraph"===v.tokens[0].type?(v.tokens[0].text=b+" "+v.tokens[0].text,v.tokens[0].tokens&&v.tokens[0].tokens.length>0&&"text"===v.tokens[0].tokens[0].type&&(v.tokens[0].tokens[0].text=b+" "+v.tokens[0].tokens[0].text)):v.tokens.unshift({type:"text",text:b}):g+=b),g+=this.parse(v.tokens,m),c+=this.renderer.listitem(g,y,x);C+=this.renderer.list(c,h,p);continue;case"html":C+=this.renderer.html(d.text);continue;case"paragraph":C+=this.renderer.paragraph(this.parseInline(d.tokens));continue;case"text":for(c=d.tokens?this.parseInline(d.tokens):d.text;n+1An error occurred:

    "+d(e.message+"",!0)+"
    ";throw e}try{var s=I.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(_.walkTokens(s,t.walkTokens)).then((function(){return P.parse(s,t)})).catch(l);_.walkTokens(s,t.walkTokens)}return P.parse(s,t)}catch(e){l(e)}}_.options=_.setOptions=function(t){var n;return k(_.defaults,t),n=_.defaults,e.defaults=n,_},_.getDefaults=r,_.defaults=e.defaults,_.use=function(){for(var e=arguments.length,t=new Array(e),n=0;nAn error occurred:

    "+d(e.message+"",!0)+"
    ";throw e}},_.Parser=P,_.parser=P.parse,_.Renderer=z,_.TextRenderer=H,_.Lexer=I,_.lexer=I.lex,_.Tokenizer=T,_.Slugger=R,_.parse=_;var W=_.options,j=_.setOptions,q=_.use,U=_.walkTokens,$=_.parseInline,G=_,V=P.parse,X=I.lex;e.Lexer=I,e.Parser=P,e.Renderer=z,e.Slugger=R,e.TextRenderer=H,e.Tokenizer=T,e.getDefaults=r,e.lexer=X,e.marked=_,e.options=W,e.parse=G,e.parseInline=$,e.parser=V,e.setOptions=j,e.use=q,e.walkTokens=U,Object.defineProperty(e,"__esModule",{value:!0})}))},{}],16:[function(e,t,n){(function(n){(function(){var i;!function(){"use strict";(i=function(e,t,i,r){r=r||{},this.dictionary=null,this.rules={},this.dictionaryTable={},this.compoundRules=[],this.compoundRuleCodes={},this.replacementTable=[],this.flags=r.flags||{},this.memoized={},this.loaded=!1;var o,a,l,s,u,c=this;function d(e,t){var n=c._readFile(e,null,r.asyncLoad);r.asyncLoad?n.then((function(e){t(e)})):t(n)}function h(e){t=e,i&&p()}function f(e){i=e,t&&p()}function p(){for(c.rules=c._parseAFF(t),c.compoundRuleCodes={},a=0,s=c.compoundRules.length;a0&&(b.continuationClasses=x),"."!==y&&(b.match="SFX"===d?new RegExp(y+"$"):new RegExp("^"+y)),"0"!=m&&(b.remove="SFX"===d?new RegExp(m+"$"):m),p.push(b)}s[h]={type:d,combineable:"Y"==f,entries:p},r+=n}else if("COMPOUNDRULE"===d){for(o=r+1,l=r+1+(n=parseInt(c[1],10));o0&&(null===n[e]&&(n[e]=[]),n[e].push(t))}for(var r=1,o=t.length;r1){var u=this.parseRuleCodes(l[1]);"NEEDAFFIX"in this.flags&&-1!=u.indexOf(this.flags.NEEDAFFIX)||i(s,u);for(var c=0,d=u.length;c=this.flags.COMPOUNDMIN)for(t=0,n=this.compoundRules.length;t1&&c[1][1]!==c[1][0]&&(o=c[0]+c[1][1]+c[1][0]+c[1].substring(2),t&&!l.check(o)||(o in a?a[o]+=1:a[o]=1)),c[1]){var d=c[1].substring(0,1).toUpperCase()===c[1].substring(0,1)?"uppercase":"lowercase";for(i=0;ii?1:t[0].localeCompare(e[0])})).reverse();var u=[],c="lowercase";e.toUpperCase()===e?c="uppercase":e.substr(0,1).toUpperCase()+e.substr(1).toLowerCase()===e&&(c="capitalized");var d=t;for(n=0;n)+?/g),s={toggleBold:x,toggleItalic:y,drawLink:O,toggleHeadingSmaller:w,toggleHeadingBigger:k,drawImage:I,toggleBlockquote:C,toggleOrderedList:B,toggleUnorderedList:M,toggleCodeBlock:D,togglePreview:U,toggleStrikethrough:b,toggleHeading1:S,toggleHeading2:F,toggleHeading3:A,toggleHeading4:E,toggleHeading5:L,toggleHeading6:T,cleanBlock:N,drawTable:P,drawHorizontalRule:_,undo:W,redo:j,toggleSideBySide:q,toggleFullScreen:v},u={toggleBold:"Cmd-B",toggleItalic:"Cmd-I",drawLink:"Cmd-K",toggleHeadingSmaller:"Cmd-H",toggleHeadingBigger:"Shift-Cmd-H",toggleHeading1:"Ctrl+Alt+1",toggleHeading2:"Ctrl+Alt+2",toggleHeading3:"Ctrl+Alt+3",toggleHeading4:"Ctrl+Alt+4",toggleHeading5:"Ctrl+Alt+5",toggleHeading6:"Ctrl+Alt+6",cleanBlock:"Cmd-E",drawImage:"Cmd-Alt-I",toggleBlockquote:"Cmd-'",toggleOrderedList:"Cmd-Alt-L",toggleUnorderedList:"Cmd-L",toggleCodeBlock:"Cmd-Alt-C",togglePreview:"Cmd-P",toggleSideBySide:"F9",toggleFullScreen:"F11"},c=function(){var e,t=!1;return e=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(e)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(e.substr(0,4)))&&(t=!0),t};function d(e){return e=a?e.replace("Ctrl","Cmd"):e.replace("Cmd","Ctrl")}function h(e,t,n,i){var r=f(e,!1,t,n,"button",i);r.classList.add("easymde-dropdown"),r.onclick=function(){r.focus()};var o=document.createElement("div");o.className="easymde-dropdown-content";for(var a=0;a0){for(var g=document.createElement("i"),v=0;v=0&&!n(h=s.getLineHandle(o));o--);var g,v,x,y,b=i(s.getTokenAt({line:o,ch:1})).fencedChars;n(s.getLineHandle(u.line))?(g="",v=u.line):n(s.getLineHandle(u.line-1))?(g="",v=u.line-1):(g=b+"\n",v=u.line),n(s.getLineHandle(c.line))?(x="",y=c.line,0===c.ch&&(y+=1)):0!==c.ch&&n(s.getLineHandle(c.line+1))?(x="",y=c.line+1):(x=b+"\n",y=c.line+1),0===c.ch&&(y-=1),s.operation((function(){s.replaceRange(x,{line:y,ch:0},{line:y+(x?0:1),ch:0}),s.replaceRange(g,{line:v,ch:0},{line:v+(g?0:1),ch:0})})),s.setSelection({line:v+(g?1:0),ch:0},{line:y+(g?1:-1),ch:0}),s.focus()}else{var D=u.line;if(n(s.getLineHandle(u.line))&&("fenced"===r(s,u.line+1)?(o=u.line,D=u.line+1):(a=u.line,D=u.line-1)),void 0===o)for(o=D;o>=0&&!n(h=s.getLineHandle(o));o--);if(void 0===a)for(l=s.lineCount(),a=D;a=0;o--)if(!(h=s.getLineHandle(o)).text.match(/^\s*$/)&&"indented"!==r(s,o,h)){o+=1;break}for(l=s.lineCount(),a=u.line;a ]+|[0-9]+(.|\)))[ ]*/,""),e.replaceRange(t,{line:r,ch:0},{line:r,ch:99999999999999})}(e.codemirror)}function O(e){var t=e.options,n="https://";if(t.promptURLs){var i=prompt(t.promptTexts.link,n);if(!i)return!1;n=z(i)}X(e,"link",t.insertTexts.link,n)}function I(e){var t=e.options,n="https://";if(t.promptURLs){var i=prompt(t.promptTexts.image,n);if(!i)return!1;n=z(i)}X(e,"image",t.insertTexts.image,n)}function z(e){return encodeURI(e).replace(/([\\()])/g,"\\$1")}function H(e){e.openBrowseFileWindow()}function R(e,t){var n=e.codemirror,i=m(n),r=e.options,o=t.substr(t.lastIndexOf("/")+1),a=o.substring(o.lastIndexOf(".")+1).replace(/\?.*$/,"").toLowerCase();if(["png","jpg","jpeg","gif","svg","apng","avif","webp"].includes(a))$(n,i.image,r.insertTexts.uploadedImage,t);else{var l=r.insertTexts.link;l[0]="["+o,$(n,i.link,l,t)}e.updateStatusBar("upload-image",e.options.imageTexts.sbOnUploaded.replace("#image_name#",o)),setTimeout((function(){e.updateStatusBar("upload-image",e.options.imageTexts.sbInit)}),1e3)}function P(e){var t=e.codemirror,n=m(t),i=e.options;$(t,n.table,i.insertTexts.table)}function _(e){var t=e.codemirror,n=m(t),i=e.options;$(t,n.image,i.insertTexts.horizontalRule)}function W(e){var t=e.codemirror;t.undo(),t.focus()}function j(e){var t=e.codemirror;t.redo(),t.focus()}function q(e){var t=e.codemirror,n=t.getWrapperElement(),i=n.nextSibling,r=e.toolbarElements&&e.toolbarElements["side-by-side"],o=!1,a=n.parentNode;i.classList.contains("editor-preview-active-side")?(!1===e.options.sideBySideFullscreen&&a.classList.remove("sided--no-fullscreen"),i.classList.remove("editor-preview-active-side"),r&&r.classList.remove("active"),n.classList.remove("CodeMirror-sided")):(setTimeout((function(){t.getOption("fullScreen")||(!1===e.options.sideBySideFullscreen?a.classList.add("sided--no-fullscreen"):v(e)),i.classList.add("editor-preview-active-side")}),1),r&&r.classList.add("active"),n.classList.add("CodeMirror-sided"),o=!0);var l=n.lastChild;if(l.classList.contains("editor-preview-active")){l.classList.remove("editor-preview-active");var s=e.toolbarElements.preview,u=e.toolbar_div;s.classList.remove("active"),u.classList.remove("disabled-for-preview")}if(t.sideBySideRenderingFunction||(t.sideBySideRenderingFunction=function(){var t=e.options.previewRender(e.value(),i);null!=t&&(i.innerHTML=t)}),o){var c=e.options.previewRender(e.value(),i);null!=c&&(i.innerHTML=c),t.on("update",t.sideBySideRenderingFunction)}else t.off("update",t.sideBySideRenderingFunction);t.refresh()}function U(e){var t=e.codemirror,n=t.getWrapperElement(),i=e.toolbar_div,r=!!e.options.toolbar&&e.toolbarElements.preview,o=n.lastChild;if(t.getWrapperElement().nextSibling.classList.contains("editor-preview-active-side")&&q(e),!o||!o.classList.contains("editor-preview-full")){if((o=document.createElement("div")).className="editor-preview-full",e.options.previewClass)if(Array.isArray(e.options.previewClass))for(var a=0;a\s+/,"unordered-list":i,"ordered-list":i},u=function(e,t,o){var a=i.exec(t),l=function(e,t){return{quote:">","unordered-list":n,"ordered-list":"%%i."}[e].replace("%%i",t)}(e,c);return null!==a?(function(e,t){var i=new RegExp({quote:">","unordered-list":"\\"+n,"ordered-list":"\\d+."}[e]);return t&&i.test(t)}(e,a[2])&&(l=""),t=a[1]+l+a[3]+t.replace(r,"").replace(s[e],"$1")):0==o&&(t=l+" "+t),t},c=1,d=a.line;d<=l.line;d++)!function(n){var i=e.getLine(n);o[t]?i=i.replace(s[t],"$1"):("unordered-list"==t&&(i=u("ordered-list",i,!0)),i=u(t,i,!1),c+=1),e.replaceRange(i,{line:n,ch:0},{line:n,ch:99999999999999})}(d);e.focus()}}function X(e,t,n,i){if(e.codemirror&&!e.isPreviewActive()){var r=e.codemirror,o=m(r)[t];if(o){var a=r.getCursor("start"),l=r.getCursor("end"),s=r.getLine(a.line),u=s.slice(0,a.ch),c=s.slice(a.ch);"link"==t?u=u.replace(/(.*)[^!]\[/,"$1"):"image"==t&&(u=u.replace(/(.*)!\[$/,"$1")),c=c.replace(/]\(.*?\)/,""),r.replaceRange(u+c,{line:a.line,ch:0},{line:a.line,ch:99999999999999}),a.ch-=n[0].length,a!==l&&(l.ch-=n[0].length),r.setSelection(a,l),r.focus()}else $(r,o,n,i)}}function K(e,t,n,i){if(e.codemirror&&!e.isPreviewActive()){i=void 0===i?n:i;var r,o=e.codemirror,a=m(o),l=n,s=i,u=o.getCursor("start"),c=o.getCursor("end");a[t]?(l=(r=o.getLine(u.line)).slice(0,u.ch),s=r.slice(u.ch),"bold"==t?(l=l.replace(/(\*\*|__)(?![\s\S]*(\*\*|__))/,""),s=s.replace(/(\*\*|__)/,"")):"italic"==t?(l=l.replace(/(\*|_)(?![\s\S]*(\*|_))/,""),s=s.replace(/(\*|_)/,"")):"strikethrough"==t&&(l=l.replace(/(\*\*|~~)(?![\s\S]*(\*\*|~~))/,""),s=s.replace(/(\*\*|~~)/,"")),o.replaceRange(l+s,{line:u.line,ch:0},{line:u.line,ch:99999999999999}),"bold"==t||"strikethrough"==t?(u.ch-=2,u!==c&&(c.ch-=2)):"italic"==t&&(u.ch-=1,u!==c&&(c.ch-=1))):(r=o.getSelection(),"bold"==t?r=(r=r.split("**").join("")).split("__").join(""):"italic"==t?r=(r=r.split("*").join("")).split("_").join(""):"strikethrough"==t&&(r=r.split("~~").join("")),o.replaceSelection(l+r+s),u.ch+=n.length,c.ch=u.ch+r.length),o.setSelection(u,c),o.focus()}}function Z(e,t){if(Math.abs(e)<1024)return""+e+t[0];var n=0;do{e/=1024,++n}while(Math.abs(e)>=1024&&n=19968?n+=t[i].length:n+=1;return n}var ee={bold:"fa fa-bold",italic:"fa fa-italic",strikethrough:"fa fa-strikethrough",heading:"fa fa-header fa-heading","heading-smaller":"fa fa-header fa-heading header-smaller","heading-bigger":"fa fa-header fa-heading header-bigger","heading-1":"fa fa-header fa-heading header-1","heading-2":"fa fa-header fa-heading header-2","heading-3":"fa fa-header fa-heading header-3",code:"fa fa-code",quote:"fa fa-quote-left","ordered-list":"fa fa-list-ol","unordered-list":"fa fa-list-ul","clean-block":"fa fa-eraser",link:"fa fa-link",image:"fa fa-image","upload-image":"fa fa-image",table:"fa fa-table","horizontal-rule":"fa fa-minus",preview:"fa fa-eye","side-by-side":"fa fa-columns",fullscreen:"fa fa-arrows-alt",guide:"fa fa-question-circle",undo:"fa fa-undo",redo:"fa fa-repeat fa-redo"},te={bold:{name:"bold",action:x,className:ee.bold,title:"Bold",default:!0},italic:{name:"italic",action:y,className:ee.italic,title:"Italic",default:!0},strikethrough:{name:"strikethrough",action:b,className:ee.strikethrough,title:"Strikethrough"},heading:{name:"heading",action:w,className:ee.heading,title:"Heading",default:!0},"heading-smaller":{name:"heading-smaller",action:w,className:ee["heading-smaller"],title:"Smaller Heading"},"heading-bigger":{name:"heading-bigger",action:k,className:ee["heading-bigger"],title:"Bigger Heading"},"heading-1":{name:"heading-1",action:S,className:ee["heading-1"],title:"Big Heading"},"heading-2":{name:"heading-2",action:F,className:ee["heading-2"],title:"Medium Heading"},"heading-3":{name:"heading-3",action:A,className:ee["heading-3"],title:"Small Heading"},"separator-1":{name:"separator-1"},code:{name:"code",action:D,className:ee.code,title:"Code"},quote:{name:"quote",action:C,className:ee.quote,title:"Quote",default:!0},"unordered-list":{name:"unordered-list",action:M,className:ee["unordered-list"],title:"Generic List",default:!0},"ordered-list":{name:"ordered-list",action:B,className:ee["ordered-list"],title:"Numbered List",default:!0},"clean-block":{name:"clean-block",action:N,className:ee["clean-block"],title:"Clean block"},"separator-2":{name:"separator-2"},link:{name:"link",action:O,className:ee.link,title:"Create Link",default:!0},image:{name:"image",action:I,className:ee.image,title:"Insert Image",default:!0},"upload-image":{name:"upload-image",action:H,className:ee["upload-image"],title:"Import an image"},table:{name:"table",action:P,className:ee.table,title:"Insert Table"},"horizontal-rule":{name:"horizontal-rule",action:_,className:ee["horizontal-rule"],title:"Insert Horizontal Line"},"separator-3":{name:"separator-3"},preview:{name:"preview",action:U,className:ee.preview,noDisable:!0,title:"Toggle Preview",default:!0},"side-by-side":{name:"side-by-side",action:q,className:ee["side-by-side"],noDisable:!0,noMobile:!0,title:"Toggle Side by Side",default:!0},fullscreen:{name:"fullscreen",action:v,className:ee.fullscreen,noDisable:!0,noMobile:!0,title:"Toggle Fullscreen",default:!0},"separator-4":{name:"separator-4"},guide:{name:"guide",action:"https://www.markdownguide.org/basic-syntax/",className:ee.guide,noDisable:!0,title:"Markdown Guide",default:!0},"separator-5":{name:"separator-5"},undo:{name:"undo",action:W,className:ee.undo,noDisable:!0,title:"Undo"},redo:{name:"redo",action:j,className:ee.redo,noDisable:!0,title:"Redo"}},ne={link:["[","](#url#)"],image:["![","](#url#)"],uploadedImage:["![](#url#)",""],table:["","\n\n| Column 1 | Column 2 | Column 3 |\n| -------- | -------- | -------- |\n| Text | Text | Text |\n\n"],horizontalRule:["","\n\n-----\n\n"]},ie={link:"URL for the link:",image:"URL of the image:"},re={locale:"en-US",format:{hour:"2-digit",minute:"2-digit"}},oe={bold:"**",code:"```",italic:"*"},ae={sbInit:"Attach files by drag and dropping or pasting from clipboard.",sbOnDragEnter:"Drop image to upload it.",sbOnDrop:"Uploading image #images_names#...",sbProgress:"Uploading #file_name#: #progress#%",sbOnUploaded:"Uploaded #image_name#",sizeUnits:" B, KB, MB"},le={noFileGiven:"You must select a file.",typeNotAllowed:"This image type is not allowed.",fileTooLarge:"Image #image_name# is too big (#image_size#).\nMaximum file size is #image_max_size#.",importError:"Something went wrong when uploading the image #image_name#."};function se(e){(e=e||{}).parent=this;var t=!0;if(!1===e.autoDownloadFontAwesome&&(t=!1),!0!==e.autoDownloadFontAwesome)for(var n=document.styleSheets,i=0;i-1&&(t=!1);if(t){var r=document.createElement("link");r.rel="stylesheet",r.href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css",document.getElementsByTagName("head")[0].appendChild(r)}if(e.element)this.element=e.element;else if(null===e.element)return void console.log("EasyMDE: Error. No element was found.");if(void 0===e.toolbar)for(var o in e.toolbar=[],te)Object.prototype.hasOwnProperty.call(te,o)&&(-1!=o.indexOf("separator-")&&e.toolbar.push("|"),(!0===te[o].default||e.showIcons&&e.showIcons.constructor===Array&&-1!=e.showIcons.indexOf(o))&&e.toolbar.push(o));if(Object.prototype.hasOwnProperty.call(e,"previewClass")||(e.previewClass="editor-preview"),Object.prototype.hasOwnProperty.call(e,"status")||(e.status=["autosave","lines","words","cursor"],e.uploadImage&&e.status.unshift("upload-image")),e.previewRender||(e.previewRender=function(e){return this.parent.markdown(e)}),e.parsingConfig=Q({highlightFormatting:!0},e.parsingConfig||{}),e.insertTexts=Q({},ne,e.insertTexts||{}),e.promptTexts=Q({},ie,e.promptTexts||{}),e.blockStyles=Q({},oe,e.blockStyles||{}),null!=e.autosave&&(e.autosave.timeFormat=Q({},re,e.autosave.timeFormat||{})),e.iconClassMap=Q({},ee,e.iconClassMap||{}),e.shortcuts=Q({},u,e.shortcuts||{}),e.maxHeight=e.maxHeight||void 0,e.direction=e.direction||"ltr",void 0!==e.maxHeight?e.minHeight=e.maxHeight:e.minHeight=e.minHeight||"300px",e.errorCallback=e.errorCallback||function(e){alert(e)},e.uploadImage=e.uploadImage||!1,e.imageMaxSize=e.imageMaxSize||2097152,e.imageAccept=e.imageAccept||"image/png, image/jpeg, image/gif, image/avif",e.imageTexts=Q({},ae,e.imageTexts||{}),e.errorMessages=Q({},le,e.errorMessages||{}),e.imagePathAbsolute=e.imagePathAbsolute||!1,e.imageCSRFName=e.imageCSRFName||"csrfmiddlewaretoken",e.imageCSRFHeader=e.imageCSRFHeader||!1,e.imageInputName=e.imageInputName||"image",null!=e.autosave&&null!=e.autosave.unique_id&&""!=e.autosave.unique_id&&(e.autosave.uniqueId=e.autosave.unique_id),e.overlayMode&&void 0===e.overlayMode.combine&&(e.overlayMode.combine=!0),this.options=e,this.render(),!e.initialValue||this.options.autosave&&!0===this.options.autosave.foundSavedValue||this.value(e.initialValue),e.uploadImage){var a=this;this.codemirror.on("dragenter",(function(e,t){a.updateStatusBar("upload-image",a.options.imageTexts.sbOnDragEnter),t.stopPropagation(),t.preventDefault()})),this.codemirror.on("dragend",(function(e,t){a.updateStatusBar("upload-image",a.options.imageTexts.sbInit),t.stopPropagation(),t.preventDefault()})),this.codemirror.on("dragleave",(function(e,t){a.updateStatusBar("upload-image",a.options.imageTexts.sbInit),t.stopPropagation(),t.preventDefault()})),this.codemirror.on("dragover",(function(e,t){a.updateStatusBar("upload-image",a.options.imageTexts.sbOnDragEnter),t.stopPropagation(),t.preventDefault()})),this.codemirror.on("drop",(function(t,n){n.stopPropagation(),n.preventDefault(),e.imageUploadFunction?a.uploadImagesUsingCustomFunction(e.imageUploadFunction,n.dataTransfer.files):a.uploadImages(n.dataTransfer.files)})),this.codemirror.on("paste",(function(t,n){e.imageUploadFunction?a.uploadImagesUsingCustomFunction(e.imageUploadFunction,n.clipboardData.files):a.uploadImages(n.clipboardData.files)}))}}function ue(){if("object"!=typeof localStorage)return!1;try{localStorage.setItem("smde_localStorage",1),localStorage.removeItem("smde_localStorage")}catch(e){return!1}return!0}se.prototype.uploadImages=function(e,t,n){if(0!==e.length){for(var i=[],r=0;r$/,' target="_blank">');e=e.replace(n,i)}}return e}(i))}},se.prototype.render=function(e){if(e||(e=this.element||document.getElementsByTagName("textarea")[0]),!this._rendered||this._rendered!==e){this.element=e;var t,n,o=this.options,a=this,l={};for(var u in o.shortcuts)null!==o.shortcuts[u]&&null!==s[u]&&function(e){l[d(o.shortcuts[e])]=function(){var t=s[e];"function"==typeof t?t(a):"string"==typeof t&&window.open(t,"_blank")}}(u);if(l.Enter="newlineAndIndentContinueMarkdownList",l.Tab="tabAndIndentMarkdownList",l["Shift-Tab"]="shiftTabAndUnindentMarkdownList",l.Esc=function(e){e.getOption("fullScreen")&&v(a)},this.documentOnKeyDown=function(e){27==(e=e||window.event).keyCode&&a.codemirror.getOption("fullScreen")&&v(a)},document.addEventListener("keydown",this.documentOnKeyDown,!1),o.overlayMode?(i.defineMode("overlay-mode",(function(e){return i.overlayMode(i.getMode(e,!1!==o.spellChecker?"spell-checker":"gfm"),o.overlayMode.mode,o.overlayMode.combine)})),t="overlay-mode",(n=o.parsingConfig).gitHubSpice=!1):((t=o.parsingConfig).name="gfm",t.gitHubSpice=!1),!1!==o.spellChecker&&(t="spell-checker",(n=o.parsingConfig).name="gfm",n.gitHubSpice=!1,"function"==typeof o.spellChecker?o.spellChecker({codeMirrorInstance:i}):r({codeMirrorInstance:i})),this.codemirror=i.fromTextArea(e,{mode:t,backdrop:n,theme:null!=o.theme?o.theme:"easymde",tabSize:null!=o.tabSize?o.tabSize:2,indentUnit:null!=o.tabSize?o.tabSize:2,indentWithTabs:!1!==o.indentWithTabs,lineNumbers:!0===o.lineNumbers,autofocus:!0===o.autofocus,extraKeys:l,direction:o.direction,lineWrapping:!1!==o.lineWrapping,allowDropFileTypes:["text/plain"],placeholder:o.placeholder||e.getAttribute("placeholder")||"",styleSelectedText:null!=o.styleSelectedText?o.styleSelectedText:!c(),scrollbarStyle:null!=o.scrollbarStyle?o.scrollbarStyle:"native",configureMouse:function(e,t,n){return{addNew:!1}},inputStyle:null!=o.inputStyle?o.inputStyle:c()?"contenteditable":"textarea",spellcheck:null==o.nativeSpellcheck||o.nativeSpellcheck,autoRefresh:null!=o.autoRefresh&&o.autoRefresh}),this.codemirror.getScrollerElement().style.minHeight=o.minHeight,void 0!==o.maxHeight&&(this.codemirror.getScrollerElement().style.height=o.maxHeight),!0===o.forceSync){var h=this.codemirror;h.on("change",(function(){h.save()}))}this.gui={};var f=document.createElement("div");f.classList.add("EasyMDEContainer"),f.setAttribute("role","application");var p=this.codemirror.getWrapperElement();p.parentNode.insertBefore(f,p),f.appendChild(p),!1!==o.toolbar&&(this.gui.toolbar=this.createToolbar()),!1!==o.status&&(this.gui.statusbar=this.createStatusbar()),null!=o.autosave&&!0===o.autosave.enabled&&(this.autosave(),this.codemirror.on("change",(function(){clearTimeout(a._autosave_timeout),a._autosave_timeout=setTimeout((function(){a.autosave()}),a.options.autosave.submit_delay||a.options.autosave.delay||1e3)})));var m=this;this.codemirror.on("update",(function(){o.previewImagesInEditor&&f.querySelectorAll(".cm-image-marker").forEach((function(e){var t=e.parentElement;if(t.innerText.match(/^!\[.*?\]\(.*\)/g)&&!t.hasAttribute("data-img-src")){var n=t.innerText.match(/!\[.*?\]\((.*?)\)/);if(window.EMDEimagesCache||(window.EMDEimagesCache={}),n&&n.length>=2){var i=n[1];if(o.imagesPreviewHandler){var r=o.imagesPreviewHandler(n[1]);"string"==typeof r&&(i=r)}if(window.EMDEimagesCache[i])x(t,window.EMDEimagesCache[i]);else{window.EMDEimagesCache[i]={};var a=document.createElement("img");a.onload=function(){window.EMDEimagesCache[i]={naturalWidth:a.naturalWidth,naturalHeight:a.naturalHeight,url:i},x(t,window.EMDEimagesCache[i])},a.src=i}}}}))})),this.gui.sideBySide=this.createSideBySide(),this._rendered=this.element,(!0===o.autofocus||e.autofocus)&&this.codemirror.focus();var g=this.codemirror;setTimeout(function(){g.refresh()}.bind(g),0)}function x(e,t){var n,i,r=new URL(t.url,document.baseURI).href;e.setAttribute("data-img-src",r),e.setAttribute("style","--bg-image:url("+r+");--width:"+t.naturalWidth+"px;--height:"+(n=t.naturalWidth,i=t.naturalHeight,nthis.options.imageMaxSize)r(o(this.options.errorMessages.fileTooLarge));else{var a=new FormData;a.append("image",e),i.options.imageCSRFToken&&!i.options.imageCSRFHeader&&a.append(i.options.imageCSRFName,i.options.imageCSRFToken);var l=new XMLHttpRequest;l.upload.onprogress=function(t){if(t.lengthComputable){var n=""+Math.round(100*t.loaded/t.total);i.updateStatusBar("upload-image",i.options.imageTexts.sbProgress.replace("#file_name#",e.name).replace("#progress#",n))}},l.open("POST",this.options.imageUploadEndpoint),i.options.imageCSRFToken&&i.options.imageCSRFHeader&&l.setRequestHeader(i.options.imageCSRFName,i.options.imageCSRFToken),l.onload=function(){try{var e=JSON.parse(this.responseText)}catch(e){return console.error("EasyMDE: The server did not return a valid json."),void r(o(i.options.errorMessages.importError))}200===this.status&&e&&!e.error&&e.data&&e.data.filePath?t((i.options.imagePathAbsolute?"":window.location.origin+"/")+e.data.filePath):e.error&&e.error in i.options.errorMessages?r(o(i.options.errorMessages[e.error])):e.error?r(o(e.error)):(console.error("EasyMDE: Received an unexpected response after uploading the image."+this.status+" ("+this.statusText+")"),r(o(i.options.errorMessages.importError)))},l.onerror=function(e){console.error("EasyMDE: An unexpected error occurred when trying to upload the image."+e.target.status+" ("+e.target.statusText+")"),r(i.options.errorMessages.importError)},l.send(a)}},se.prototype.uploadImageUsingCustomFunction=function(e,t){var n=this;e.apply(this,[t,function(e){R(n,e)},function(e){var i=function(e){var i=n.options.imageTexts.sizeUnits.split(",");return e.replace("#image_name#",t.name).replace("#image_size#",Z(t.size,i)).replace("#image_max_size#",Z(n.options.imageMaxSize,i))}(e);n.updateStatusBar("upload-image",i),setTimeout((function(){n.updateStatusBar("upload-image",n.options.imageTexts.sbInit)}),1e4),n.options.errorCallback(i)}])},se.prototype.setPreviewMaxHeight=function(){var e=this.codemirror.getWrapperElement(),t=e.nextSibling,n=parseInt(window.getComputedStyle(e).paddingTop),i=parseInt(window.getComputedStyle(e).borderTopWidth),r=(parseInt(this.options.maxHeight)+2*n+2*i).toString()+"px";t.style.height=r},se.prototype.createSideBySide=function(){var e=this.codemirror,t=e.getWrapperElement(),n=t.nextSibling;if(!n||!n.classList.contains("editor-preview-side")){if((n=document.createElement("div")).className="editor-preview-side",this.options.previewClass)if(Array.isArray(this.options.previewClass))for(var i=0;i and other contributors + License: BSD-3-Clause + */ +var hljs=function(){"use strict";function e(t){ +return t instanceof Map?t.clear=t.delete=t.set=()=>{ +throw Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=()=>{ +throw Error("set is read-only") +}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach((n=>{ +const i=t[n],s=typeof i;"object"!==s&&"function"!==s||Object.isFrozen(i)||e(i) +})),t}class t{constructor(e){ +void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1} +ignoreMatch(){this.isMatchIgnored=!0}}function n(e){ +return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'") +}function i(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t] +;return t.forEach((e=>{for(const t in e)n[t]=e[t]})),n}const s=e=>!!e.scope +;class r{constructor(e,t){ +this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){ +this.buffer+=n(e)}openNode(e){if(!s(e))return;const t=((e,{prefix:t})=>{ +if(e.startsWith("language:"))return e.replace("language:","language-") +;if(e.includes(".")){const n=e.split(".") +;return[`${t}${n.shift()}`,...n.map(((e,t)=>`${e}${"_".repeat(t+1)}`))].join(" ") +}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)} +closeNode(e){s(e)&&(this.buffer+="")}value(){return this.buffer}span(e){ +this.buffer+=``}}const o=(e={})=>{const t={children:[]} +;return Object.assign(t,e),t};class a{constructor(){ +this.rootNode=o(),this.stack=[this.rootNode]}get top(){ +return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){ +this.top.children.push(e)}openNode(e){const t=o({scope:e}) +;this.add(t),this.stack.push(t)}closeNode(){ +if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){ +for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)} +walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){ +return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t), +t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){ +"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{ +a._collapse(e)})))}}class c extends a{constructor(e){super(),this.options=e} +addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){ +this.closeNode()}__addSublanguage(e,t){const n=e.root +;t&&(n.scope="language:"+t),this.add(n)}toHTML(){ +return new r(this,this.options).value()}finalize(){ +return this.closeAllNodes(),!0}}function l(e){ +return e?"string"==typeof e?e:e.source:null}function g(e){return h("(?=",e,")")} +function u(e){return h("(?:",e,")*")}function d(e){return h("(?:",e,")?")} +function h(...e){return e.map((e=>l(e))).join("")}function f(...e){const t=(e=>{ +const t=e[e.length-1] +;return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{} +})(e);return"("+(t.capture?"":"?:")+e.map((e=>l(e))).join("|")+")"} +function p(e){return RegExp(e.toString()+"|").exec("").length-1} +const b=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./ +;function m(e,{joinWith:t}){let n=0;return e.map((e=>{n+=1;const t=n +;let i=l(e),s="";for(;i.length>0;){const e=b.exec(i);if(!e){s+=i;break} +s+=i.substring(0,e.index), +i=i.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?s+="\\"+(Number(e[1])+t):(s+=e[0], +"("===e[0]&&n++)}return s})).map((e=>`(${e})`)).join(t)} +const E="[a-zA-Z]\\w*",x="[a-zA-Z_]\\w*",y="\\b\\d+(\\.\\d+)?",_="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",w="\\b(0b[01]+)",O={ +begin:"\\\\[\\s\\S]",relevance:0},v={scope:"string",begin:"'",end:"'", +illegal:"\\n",contains:[O]},k={scope:"string",begin:'"',end:'"',illegal:"\\n", +contains:[O]},N=(e,t,n={})=>{const s=i({scope:"comment",begin:e,end:t, +contains:[]},n);s.contains.push({scope:"doctag", +begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)", +end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0}) +;const r=f("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/) +;return s.contains.push({begin:h(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),s +},S=N("//","$"),M=N("/\\*","\\*/"),R=N("#","$");var j=Object.freeze({ +__proto__:null,APOS_STRING_MODE:v,BACKSLASH_ESCAPE:O,BINARY_NUMBER_MODE:{ +scope:"number",begin:w,relevance:0},BINARY_NUMBER_RE:w,COMMENT:N, +C_BLOCK_COMMENT_MODE:M,C_LINE_COMMENT_MODE:S,C_NUMBER_MODE:{scope:"number", +begin:_,relevance:0},C_NUMBER_RE:_,END_SAME_AS_BEGIN:e=>Object.assign(e,{ +"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{ +t.data._beginMatch!==e[1]&&t.ignoreMatch()}}),HASH_COMMENT_MODE:R,IDENT_RE:E, +MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:{begin:"\\.\\s*"+x,relevance:0}, +NUMBER_MODE:{scope:"number",begin:y,relevance:0},NUMBER_RE:y, +PHRASAL_WORDS_MODE:{ +begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/ +},QUOTE_STRING_MODE:k,REGEXP_MODE:{scope:"regexp",begin:/\/(?=[^/\n]*\/)/, +end:/\/[gimuy]*/,contains:[O,{begin:/\[/,end:/\]/,relevance:0,contains:[O]}]}, +RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~", +SHEBANG:(e={})=>{const t=/^#![ ]*\// +;return e.binary&&(e.begin=h(t,/.*\b/,e.binary,/\b.*/)),i({scope:"meta",begin:t, +end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)}, +TITLE_MODE:{scope:"title",begin:E,relevance:0},UNDERSCORE_IDENT_RE:x, +UNDERSCORE_TITLE_MODE:{scope:"title",begin:x,relevance:0}});function A(e,t){ +"."===e.input[e.index-1]&&t.ignoreMatch()}function I(e,t){ +void 0!==e.className&&(e.scope=e.className,delete e.className)}function T(e,t){ +t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)", +e.__beforeBegin=A,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords, +void 0===e.relevance&&(e.relevance=0))}function L(e,t){ +Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function B(e,t){ +if(e.match){ +if(e.begin||e.end)throw Error("begin & end are not supported with match") +;e.begin=e.match,delete e.match}}function P(e,t){ +void 0===e.relevance&&(e.relevance=1)}const D=(e,t)=>{if(!e.beforeMatch)return +;if(e.starts)throw Error("beforeMatch cannot be used with starts") +;const n=Object.assign({},e);Object.keys(e).forEach((t=>{delete e[t] +})),e.keywords=n.keywords,e.begin=h(n.beforeMatch,g(n.begin)),e.starts={ +relevance:0,contains:[Object.assign(n,{endsParent:!0})] +},e.relevance=0,delete n.beforeMatch +},H=["of","and","for","in","not","or","if","then","parent","list","value"] +;function C(e,t,n="keyword"){const i=Object.create(null) +;return"string"==typeof e?s(n,e.split(" ")):Array.isArray(e)?s(n,e):Object.keys(e).forEach((n=>{ +Object.assign(i,C(e[n],t,n))})),i;function s(e,n){ +t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((t=>{const n=t.split("|") +;i[n[0]]=[e,$(n[0],n[1])]}))}}function $(e,t){ +return t?Number(t):(e=>H.includes(e.toLowerCase()))(e)?0:1}const U={},z=e=>{ +console.error(e)},W=(e,...t)=>{console.log("WARN: "+e,...t)},X=(e,t)=>{ +U[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),U[`${e}/${t}`]=!0) +},G=Error();function K(e,t,{key:n}){let i=0;const s=e[n],r={},o={} +;for(let e=1;e<=t.length;e++)o[e+i]=s[e],r[e+i]=!0,i+=p(t[e-1]) +;e[n]=o,e[n]._emit=r,e[n]._multi=!0}function F(e){(e=>{ +e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope, +delete e.scope)})(e),"string"==typeof e.beginScope&&(e.beginScope={ +_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope +}),(e=>{if(Array.isArray(e.begin)){ +if(e.skip||e.excludeBegin||e.returnBegin)throw z("skip, excludeBegin, returnBegin not compatible with beginScope: {}"), +G +;if("object"!=typeof e.beginScope||null===e.beginScope)throw z("beginScope must be object"), +G;K(e,e.begin,{key:"beginScope"}),e.begin=m(e.begin,{joinWith:""})}})(e),(e=>{ +if(Array.isArray(e.end)){ +if(e.skip||e.excludeEnd||e.returnEnd)throw z("skip, excludeEnd, returnEnd not compatible with endScope: {}"), +G +;if("object"!=typeof e.endScope||null===e.endScope)throw z("endScope must be object"), +G;K(e,e.end,{key:"endScope"}),e.end=m(e.end,{joinWith:""})}})(e)}function Z(e){ +function t(t,n){ +return RegExp(l(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(n?"g":"")) +}class n{constructor(){ +this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0} +addRule(e,t){ +t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]), +this.matchAt+=p(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null) +;const e=this.regexes.map((e=>e[1]));this.matcherRe=t(m(e,{joinWith:"|" +}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex +;const t=this.matcherRe.exec(e);if(!t)return null +;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),i=this.matchIndexes[n] +;return t.splice(0,n),Object.assign(t,i)}}class s{constructor(){ +this.rules=[],this.multiRegexes=[], +this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){ +if(this.multiRegexes[e])return this.multiRegexes[e];const t=new n +;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))), +t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){ +return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){ +this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){ +const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex +;let n=t.exec(e) +;if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{ +const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)} +return n&&(this.regexIndex+=n.position+1, +this.regexIndex===this.count&&this.considerAll()),n}} +if(e.compilerExtensions||(e.compilerExtensions=[]), +e.contains&&e.contains.includes("self"))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.") +;return e.classNameAliases=i(e.classNameAliases||{}),function n(r,o){const a=r +;if(r.isCompiled)return a +;[I,B,F,D].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))), +r.__beforeBegin=null,[T,L,P].forEach((e=>e(r,o))),r.isCompiled=!0;let c=null +;return"object"==typeof r.keywords&&r.keywords.$pattern&&(r.keywords=Object.assign({},r.keywords), +c=r.keywords.$pattern, +delete r.keywords.$pattern),c=c||/\w+/,r.keywords&&(r.keywords=C(r.keywords,e.case_insensitive)), +a.keywordPatternRe=t(c,!0), +o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=t(a.begin),r.end||r.endsWithParent||(r.end=/\B|\b/), +r.end&&(a.endRe=t(a.end)), +a.terminatorEnd=l(a.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)), +r.illegal&&(a.illegalRe=t(r.illegal)), +r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((e=>(e=>(e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((t=>i(e,{ +variants:null},t)))),e.cachedVariants?e.cachedVariants:V(e)?i(e,{ +starts:e.starts?i(e.starts):null +}):Object.isFrozen(e)?i(e):e))("self"===e?r:e)))),r.contains.forEach((e=>{n(e,a) +})),r.starts&&n(r.starts,o),a.matcher=(e=>{const t=new s +;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin" +}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end" +}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t})(a),a}(e)}function V(e){ +return!!e&&(e.endsWithParent||V(e.starts))}class q extends Error{ +constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}} +const J=n,Y=i,Q=Symbol("nomatch"),ee=n=>{ +const i=Object.create(null),s=Object.create(null),r=[];let o=!0 +;const a="Could not find the language '{}', did you forget to load/include a language module?",l={ +disableAutodetect:!0,name:"Plain text",contains:[]};let p={ +ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i, +languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-", +cssSelector:"pre code",languages:null,__emitter:c};function b(e){ +return p.noHighlightRe.test(e)}function m(e,t,n){let i="",s="" +;"object"==typeof t?(i=e, +n=t.ignoreIllegals,s=t.language):(X("10.7.0","highlight(lang, code, ...args) has been deprecated."), +X("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"), +s=e,i=t),void 0===n&&(n=!0);const r={code:i,language:s};N("before:highlight",r) +;const o=r.result?r.result:E(r.language,r.code,n) +;return o.code=r.code,N("after:highlight",o),o}function E(e,n,s,r){ +const c=Object.create(null);function l(){if(!N.keywords)return void M.addText(R) +;let e=0;N.keywordPatternRe.lastIndex=0;let t=N.keywordPatternRe.exec(R),n="" +;for(;t;){n+=R.substring(e,t.index) +;const s=w.case_insensitive?t[0].toLowerCase():t[0],r=(i=s,N.keywords[i]);if(r){ +const[e,i]=r +;if(M.addText(n),n="",c[s]=(c[s]||0)+1,c[s]<=7&&(j+=i),e.startsWith("_"))n+=t[0];else{ +const n=w.classNameAliases[e]||e;u(t[0],n)}}else n+=t[0] +;e=N.keywordPatternRe.lastIndex,t=N.keywordPatternRe.exec(R)}var i +;n+=R.substring(e),M.addText(n)}function g(){null!=N.subLanguage?(()=>{ +if(""===R)return;let e=null;if("string"==typeof N.subLanguage){ +if(!i[N.subLanguage])return void M.addText(R) +;e=E(N.subLanguage,R,!0,S[N.subLanguage]),S[N.subLanguage]=e._top +}else e=x(R,N.subLanguage.length?N.subLanguage:null) +;N.relevance>0&&(j+=e.relevance),M.__addSublanguage(e._emitter,e.language) +})():l(),R=""}function u(e,t){ +""!==e&&(M.startScope(t),M.addText(e),M.endScope())}function d(e,t){let n=1 +;const i=t.length-1;for(;n<=i;){if(!e._emit[n]){n++;continue} +const i=w.classNameAliases[e[n]]||e[n],s=t[n];i?u(s,i):(R=s,l(),R=""),n++}} +function h(e,t){ +return e.scope&&"string"==typeof e.scope&&M.openNode(w.classNameAliases[e.scope]||e.scope), +e.beginScope&&(e.beginScope._wrap?(u(R,w.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap), +R=""):e.beginScope._multi&&(d(e.beginScope,t),R="")),N=Object.create(e,{parent:{ +value:N}}),N}function f(e,n,i){let s=((e,t)=>{const n=e&&e.exec(t) +;return n&&0===n.index})(e.endRe,i);if(s){if(e["on:end"]){const i=new t(e) +;e["on:end"](n,i),i.isMatchIgnored&&(s=!1)}if(s){ +for(;e.endsParent&&e.parent;)e=e.parent;return e}} +if(e.endsWithParent)return f(e.parent,n,i)}function b(e){ +return 0===N.matcher.regexIndex?(R+=e[0],1):(T=!0,0)}function m(e){ +const t=e[0],i=n.substring(e.index),s=f(N,e,i);if(!s)return Q;const r=N +;N.endScope&&N.endScope._wrap?(g(), +u(t,N.endScope._wrap)):N.endScope&&N.endScope._multi?(g(), +d(N.endScope,e)):r.skip?R+=t:(r.returnEnd||r.excludeEnd||(R+=t), +g(),r.excludeEnd&&(R=t));do{ +N.scope&&M.closeNode(),N.skip||N.subLanguage||(j+=N.relevance),N=N.parent +}while(N!==s.parent);return s.starts&&h(s.starts,e),r.returnEnd?0:t.length} +let y={};function _(i,r){const a=r&&r[0];if(R+=i,null==a)return g(),0 +;if("begin"===y.type&&"end"===r.type&&y.index===r.index&&""===a){ +if(R+=n.slice(r.index,r.index+1),!o){const t=Error(`0 width match regex (${e})`) +;throw t.languageName=e,t.badRule=y.rule,t}return 1} +if(y=r,"begin"===r.type)return(e=>{ +const n=e[0],i=e.rule,s=new t(i),r=[i.__beforeBegin,i["on:begin"]] +;for(const t of r)if(t&&(t(e,s),s.isMatchIgnored))return b(n) +;return i.skip?R+=n:(i.excludeBegin&&(R+=n), +g(),i.returnBegin||i.excludeBegin||(R=n)),h(i,e),i.returnBegin?0:n.length})(r) +;if("illegal"===r.type&&!s){ +const e=Error('Illegal lexeme "'+a+'" for mode "'+(N.scope||"")+'"') +;throw e.mode=N,e}if("end"===r.type){const e=m(r);if(e!==Q)return e} +if("illegal"===r.type&&""===a)return R+="\n",1 +;if(I>1e5&&I>3*r.index)throw Error("potential infinite loop, way more iterations than matches") +;return R+=a,a.length}const w=O(e) +;if(!w)throw z(a.replace("{}",e)),Error('Unknown language: "'+e+'"') +;const v=Z(w);let k="",N=r||v;const S={},M=new p.__emitter(p);(()=>{const e=[] +;for(let t=N;t!==w;t=t.parent)t.scope&&e.unshift(t.scope) +;e.forEach((e=>M.openNode(e)))})();let R="",j=0,A=0,I=0,T=!1;try{ +if(w.__emitTokens)w.__emitTokens(n,M);else{for(N.matcher.considerAll();;){ +I++,T?T=!1:N.matcher.considerAll(),N.matcher.lastIndex=A +;const e=N.matcher.exec(n);if(!e)break;const t=_(n.substring(A,e.index),e) +;A=e.index+t}_(n.substring(A))}return M.finalize(),k=M.toHTML(),{language:e, +value:k,relevance:j,illegal:!1,_emitter:M,_top:N}}catch(t){ +if(t.message&&t.message.includes("Illegal"))return{language:e,value:J(n), +illegal:!0,relevance:0,_illegalBy:{message:t.message,index:A, +context:n.slice(A-100,A+100),mode:t.mode,resultSoFar:k},_emitter:M};if(o)return{ +language:e,value:J(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:N} +;throw t}}function x(e,t){t=t||p.languages||Object.keys(i);const n=(e=>{ +const t={value:J(e),illegal:!1,relevance:0,_top:l,_emitter:new p.__emitter(p)} +;return t._emitter.addText(e),t})(e),s=t.filter(O).filter(k).map((t=>E(t,e,!1))) +;s.unshift(n);const r=s.sort(((e,t)=>{ +if(e.relevance!==t.relevance)return t.relevance-e.relevance +;if(e.language&&t.language){if(O(e.language).supersetOf===t.language)return 1 +;if(O(t.language).supersetOf===e.language)return-1}return 0})),[o,a]=r,c=o +;return c.secondBest=a,c}function y(e){let t=null;const n=(e=>{ +let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"" +;const n=p.languageDetectRe.exec(t);if(n){const t=O(n[1]) +;return t||(W(a.replace("{}",n[1])), +W("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"} +return t.split(/\s+/).find((e=>b(e)||O(e)))})(e);if(b(n))return +;if(N("before:highlightElement",{el:e,language:n +}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e) +;if(e.children.length>0&&(p.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."), +console.warn("https://github.com/highlightjs/highlight.js/wiki/security"), +console.warn("The element with unescaped HTML:"), +console.warn(e)),p.throwUnescapedHTML))throw new q("One of your code blocks includes unescaped HTML.",e.innerHTML) +;t=e;const i=t.textContent,r=n?m(i,{language:n,ignoreIllegals:!0}):x(i) +;e.innerHTML=r.value,e.dataset.highlighted="yes",((e,t,n)=>{const i=t&&s[t]||n +;e.classList.add("hljs"),e.classList.add("language-"+i) +})(e,n,r.language),e.result={language:r.language,re:r.relevance, +relevance:r.relevance},r.secondBest&&(e.secondBest={ +language:r.secondBest.language,relevance:r.secondBest.relevance +}),N("after:highlightElement",{el:e,result:r,text:i})}let _=!1;function w(){ +if("loading"===document.readyState)return _||window.addEventListener("DOMContentLoaded",(()=>{ +w()}),!1),void(_=!0);document.querySelectorAll(p.cssSelector).forEach(y)} +function O(e){return e=(e||"").toLowerCase(),i[e]||i[s[e]]} +function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{ +s[e.toLowerCase()]=t}))}function k(e){const t=O(e) +;return t&&!t.disableAutodetect}function N(e,t){const n=e;r.forEach((e=>{ +e[n]&&e[n](t)}))}Object.assign(n,{highlight:m,highlightAuto:x,highlightAll:w, +highlightElement:y, +highlightBlock:e=>(X("10.7.0","highlightBlock will be removed entirely in v12.0"), +X("10.7.0","Please use highlightElement now."),y(e)),configure:e=>{p=Y(p,e)}, +initHighlighting:()=>{ +w(),X("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")}, +initHighlightingOnLoad:()=>{ +w(),X("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.") +},registerLanguage:(e,t)=>{let s=null;try{s=t(n)}catch(t){ +if(z("Language definition for '{}' could not be registered.".replace("{}",e)), +!o)throw t;z(t),s=l} +s.name||(s.name=e),i[e]=s,s.rawDefinition=t.bind(null,n),s.aliases&&v(s.aliases,{ +languageName:e})},unregisterLanguage:e=>{delete i[e] +;for(const t of Object.keys(s))s[t]===e&&delete s[t]}, +listLanguages:()=>Object.keys(i),getLanguage:O,registerAliases:v, +autoDetection:k,inherit:Y,addPlugin:e=>{(e=>{ +e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{ +e["before:highlightBlock"](Object.assign({block:t.el},t)) +}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{ +e["after:highlightBlock"](Object.assign({block:t.el},t))})})(e),r.push(e)}, +removePlugin:e=>{const t=r.indexOf(e);-1!==t&&r.splice(t,1)}}),n.debugMode=()=>{ +o=!1},n.safeMode=()=>{o=!0},n.versionString="11.11.1",n.regex={concat:h, +lookahead:g,either:f,optional:d,anyNumberOfTimes:u} +;for(const t in j)"object"==typeof j[t]&&e(j[t]);return Object.assign(n,j),n +},te=ee({});return te.newInstance=()=>ee({}),te}() +;"object"==typeof exports&&"undefined"!=typeof module&&(module.exports=hljs);/*! `bash` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{const s=e.regex,t={},n={begin:/\$\{/, +end:/\}/,contains:["self",{begin:/:-/,contains:[t]}]};Object.assign(t,{ +className:"variable",variants:[{ +begin:s.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const a={ +className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE] +},i=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={ +begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/, +end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/, +contains:[e.BACKSLASH_ESCAPE,t,a]};a.contains.push(o);const r={begin:/\$?\(\(/, +end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,t] +},l=e.SHEBANG({binary:"(fish|bash|zsh|sh|csh|ksh|tcsh|dash|scsh)",relevance:10 +}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0, +contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{ +name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/, +keyword:["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"], +literal:["true","false"], +built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"] +},contains:[l,e.SHEBANG(),m,r,i,c,{match:/(\/[a-z._-]+)+/},o,{match:/\\"/},{ +className:"string",begin:/'/,end:/'/},{match:/\\'/},t]}}})() +;hljs.registerLanguage("bash",e)})();/*! `css` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict" +;const e=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],i=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),t=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),o=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),r=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse() +;return n=>{const a=n.regex,l=(e=>({IMPORTANT:{scope:"meta",begin:"!important"}, +BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number", +begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{ +className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{ +scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$", +contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{ +scope:"number", +begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?", +relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/} +}))(n),s=[n.APOS_STRING_MODE,n.QUOTE_STRING_MODE];return{name:"CSS", +case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"}, +classNameAliases:{keyframePosition:"selector-tag"},contains:[l.BLOCK_COMMENT,{ +begin:/-(webkit|moz|ms|o)-(?=[a-z])/},l.CSS_NUMBER_MODE,{ +className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{ +className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0 +},l.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{ +begin:":("+t.join("|")+")"},{begin:":(:)?("+o.join("|")+")"}]},l.CSS_VARIABLE,{ +className:"attribute",begin:"\\b("+r.join("|")+")\\b"},{begin:/:/,end:/[;}{]/, +contains:[l.BLOCK_COMMENT,l.HEXCOLOR,l.IMPORTANT,l.CSS_NUMBER_MODE,...s,{ +begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri" +},contains:[...s,{className:"string",begin:/[^)]/,endsWithParent:!0, +excludeEnd:!0}]},l.FUNCTION_DISPATCH]},{begin:a.lookahead(/@/),end:"[{;]", +relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/ +},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{ +$pattern:/[a-z-]+/,keyword:"and or not only",attribute:i.join(" ")},contains:[{ +begin:/[a-z-]+(?=:)/,className:"attribute"},...s,l.CSS_NUMBER_MODE]}]},{ +className:"selector-tag",begin:"\\b("+e.join("|")+")\\b"}]}}})() +;hljs.registerLanguage("css",e)})();/*! `diff` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=e.regex;return{name:"Diff", +aliases:["patch"],contains:[{className:"meta",relevance:10, +match:a.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/) +},{className:"comment",variants:[{ +begin:a.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/), +end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{ +className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/, +end:/$/}]}}})();hljs.registerLanguage("diff",e)})();/*! `graphql` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=e.regex;return{name:"GraphQL", +aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{ +keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"], +literal:["true","false","null"]}, +contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{ +scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation", +begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/, +end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{ +scope:"symbol",begin:a.concat(/[_A-Za-z][_0-9A-Za-z]*/,a.lookahead(/\s*:/)), +relevance:0}],illegal:[/[;<']/,/BEGIN/]}}})();hljs.registerLanguage("graphql",e) +})();/*! `javascript` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],a=["true","false","null","undefined","NaN","Infinity"],t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],r=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],c=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],i=[].concat(r,t,s) +;return o=>{const l=o.regex,d=e,b={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const a=e[0].length+e.index,t=e.input[a] +;if("<"===t||","===t)return void n.ignoreMatch();let s +;">"===t&&(((e,{after:n})=>{const a="e+"\\s*\\(")), +l.concat("(?!",T.join("|"),")")),d,l.lookahead(/\s*\(/)), +className:"title.function",relevance:0};var T;const C={ +begin:l.concat(/\./,l.lookahead(l.concat(d,/(?![0-9A-Za-z$_(])/))),end:d, +excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={ +match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"}, +contains:[{begin:/\(\)/},R] +},B="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",$={ +match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(B)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]} +;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{ +PARAMS_CONTAINS:w,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/, +contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,h,_,N,f,p,{match:/\$\d+/},A,k,{ +scope:"attr",match:d+l.lookahead(":"),relevance:0},$,{ +begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[p,o.REGEXP_MODE,{ +className:"function",begin:B,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, +excludeBegin:!0,excludeEnd:!0,keywords:g,contains:w}]}]},{begin:/,/,relevance:0 +},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:b.begin, +"on:begin":b.isTrulyOpeningTag,end:b.end}],subLanguage:"xml",contains:[{ +begin:b.begin,end:b.end,skip:!0,contains:["self"]}]}]},I,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[R,o.inherit(o.TITLE_MODE,{begin:d, +className:"title.function"})]},{match:/\.\.\./,relevance:0},C,{match:"\\$"+d, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[R]},x,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},O,M,{match:/\$[(.]/}]}}})() +;hljs.registerLanguage("javascript",e)})();/*! `json` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{const a=["true","false","null"],s={ +scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",aliases:["jsonc"], +keywords:{literal:a},contains:[{className:"attr", +begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/, +className:"punctuation",relevance:0 +},e.QUOTE_STRING_MODE,s,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE], +illegal:"\\S"}}})();hljs.registerLanguage("json",e)})();/*! `markdown` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{const n={begin:/<\/?[A-Za-z_]/, +end:">",subLanguage:"xml",relevance:0},a={variants:[{begin:/\[.+?\]\[.*?\]/, +relevance:0},{ +begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/, +relevance:2},{ +begin:e.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/), +relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{ +begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/ +},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0, +returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)", +excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[", +end:"\\]",excludeBegin:!0,excludeEnd:!0}]},i={className:"strong",contains:[], +variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}] +},s={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{ +begin:/_(?![_\s])/,end:/_/,relevance:0}]},c=e.inherit(i,{contains:[] +}),t=e.inherit(s,{contains:[]});i.contains.push(t),s.contains.push(c) +;let g=[n,a];return[i,s,c,t].forEach((e=>{e.contains=e.contains.concat(g) +})),g=g.concat(i,s),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{ +className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:g},{ +begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n", +contains:g}]}]},n,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)", +end:"\\s+",excludeEnd:!0},i,s,{className:"quote",begin:"^>\\s+",contains:g, +end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{ +begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{ +begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))", +contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{ +begin:"^[-\\*]{3,}",end:"$"},a,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{ +className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{ +className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},{scope:"literal", +match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}})() +;hljs.registerLanguage("markdown",e)})();/*! `plaintext` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var t=(()=>{"use strict";return t=>({name:"Plain text", +aliases:["text","txt"],disableAutodetect:!0})})() +;hljs.registerLanguage("plaintext",t)})();/*! `ruby` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n=e.regex,a="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",s=n.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=n.concat(s,/(::\w+)*/),t={ +"variable.constant":["__FILE__","__LINE__","__ENCODING__"], +"variable.language":["self","super"], +keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"], +built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"], +literal:["true","false","nil"]},c={className:"doctag",begin:"@[A-Za-z]+"},r={ +begin:"#<",end:">"},b=[e.COMMENT("#","$",{contains:[c] +}),e.COMMENT("^=begin","^=end",{contains:[c],relevance:10 +}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],l={className:"subst",begin:/#\{/, +end:/\}/,keywords:t},d={className:"string",contains:[e.BACKSLASH_ESCAPE,l], +variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{ +begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{ +begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//, +end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{ +begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{ +begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{ +begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{ +begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{ +begin:n.concat(/<<[-~]?'?/,n.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)), +contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/, +contains:[e.BACKSLASH_ESCAPE,l]})]}]},o="[0-9](_?[0-9])*",g={className:"number", +relevance:0,variants:[{ +begin:`\\b([1-9](_?[0-9])*|0)(\\.(${o}))?([eE][+-]?(${o})|r)?i?\\b`},{ +begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b" +},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{ +begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{ +begin:"\\b0(_?[0-7])+r?i?\\b"}]},_={variants:[{match:/\(\)/},{ +className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0, +keywords:t}]},u=[d,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{ +match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class", +4:"title.class.inherited"},keywords:t},{match:[/(include|extend)\s+/,i],scope:{ +2:"title.class"},keywords:t},{relevance:0,match:[i,/\.new[. (]/],scope:{ +1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},{relevance:0,match:s,scope:"title.class"},{ +match:[/def/,/\s+/,a],scope:{1:"keyword",3:"title.function"},contains:[_]},{ +begin:e.IDENT_RE+"::"},{className:"symbol", +begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol", +begin:":(?!\\s)",contains:[d,{begin:a}],relevance:0},g,{className:"variable", +begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{ +className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0, +relevance:0,keywords:t},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*", +keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,l], +illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{ +begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[", +end:"\\][a-z]*"}]}].concat(r,b),relevance:0}].concat(r,b) +;l.contains=u,_.contains=u;const m=[{begin:/^\s*=>/,starts:{end:"$",contains:u} +},{className:"meta.prompt", +begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])", +starts:{end:"$",keywords:t,contains:u}}];return b.unshift(r),{name:"Ruby", +aliases:["rb","gemspec","podspec","thor","irb"],keywords:t,illegal:/\/\*/, +contains:[e.SHEBANG({binary:"ruby"})].concat(m).concat(b).concat(u)}}})() +;hljs.registerLanguage("ruby",e)})();/*! `shell` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var s=(()=>{"use strict";return s=>({name:"Shell Session", +aliases:["console","shellsession"],contains:[{className:"meta.prompt", +begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/, +subLanguage:"bash"}}]})})();hljs.registerLanguage("shell",s)})();/*! `sql` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const r=e.regex,t=e.COMMENT("--","$"),a=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],n=a,s=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((e=>!a.includes(e))),i={ +match:r.concat(/\b/,r.either(...n),/\s*\(/),relevance:0,keywords:{built_in:n}} +;function o(e){ +return r.concat(/\b/,r.either(...e.map((e=>e.replace(/\s+/,"\\s+")))),/\b/)} +const c={scope:"keyword", +match:o(["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"]), +relevance:0};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{ +$pattern:/\b[\w\.]+/,keyword:((e,{exceptions:r,when:t}={})=>{const a=t +;return r=r||[],e.map((e=>e.match(/\|\d+$/)||r.includes(e)?e:a(e)?e+"|0":e)) +})(s,{when:e=>e.length<3}),literal:["true","false","unknown"], +type:["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"], +built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"] +},contains:[{scope:"type", +match:o(["double precision","large object","with timezone","without timezone"]) +},c,i,{scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},{scope:"string",variants:[{ +begin:/'/,end:/'/,contains:[{match:/''/}]}]},{begin:/"/,end:/"/,contains:[{ +match:/""/}]},e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,t,{scope:"operator", +match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}}})() +;hljs.registerLanguage("sql",e)})();/*! `typescript` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict" +;const e="[A-Za-z$_][0-9A-Za-z$_]*",n=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],a=["true","false","null","undefined","NaN","Infinity"],t=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],s=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],c=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],r=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],i=[].concat(c,t,s) +;function o(o){const l=o.regex,d=e,b={begin:/<[A-Za-z0-9\\._:-]+/, +end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,n)=>{ +const a=e[0].length+e.index,t=e.input[a] +;if("<"===t||","===t)return void n.ignoreMatch();let s +;">"===t&&(((e,{after:n})=>{const a="e+"\\s*\\(")), +l.concat("(?!",C.join("|"),")")),d,l.lookahead(/\s*\(/)), +className:"title.function",relevance:0};var C;const T={ +begin:l.concat(/\./,l.lookahead(l.concat(d,/(?![0-9A-Za-z$_(])/))),end:d, +excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},M={ +match:[/get|set/,/\s+/,d,/(?=\()/],className:{1:"keyword",3:"title.function"}, +contains:[{begin:/\(\)/},R] +},B="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",$={ +match:[/const|var|let/,/\s+/,d,/\s*/,/=\s*/,/(async\s*)?/,l.lookahead(B)], +keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]} +;return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:g,exports:{ +PARAMS_CONTAINS:w,CLASS_REFERENCE:x},illegal:/#(?![$_A-z])/, +contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),{ +label:"use_strict",className:"meta",relevance:10, +begin:/^\s*['"]use (strict|asm)['"]/ +},o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,p,N,f,_,h,{match:/\$\d+/},A,x,{ +scope:"attr",match:d+l.lookahead(":"),relevance:0},$,{ +begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*", +keywords:"return throw case",relevance:0,contains:[h,o.REGEXP_MODE,{ +className:"function",begin:B,returnBegin:!0,end:"\\s*=>",contains:[{ +className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{ +className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/, +excludeBegin:!0,excludeEnd:!0,keywords:g,contains:w}]}]},{begin:/,/,relevance:0 +},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{ +match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:b.begin, +"on:begin":b.isTrulyOpeningTag,end:b.end}],subLanguage:"xml",contains:[{ +begin:b.begin,end:b.end,skip:!0,contains:["self"]}]}]},O,{ +beginKeywords:"while if switch catch for"},{ +begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{", +returnBegin:!0,label:"func.def",contains:[R,o.inherit(o.TITLE_MODE,{begin:d, +className:"title.function"})]},{match:/\.\.\./,relevance:0},T,{match:"\\$"+d, +relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"}, +contains:[R]},I,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/, +className:"variable.constant"},k,M,{match:/\$[(.]/}]}}return t=>{ +const s=t.regex,c=o(t),l=e,d=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],b={ +begin:[/namespace/,/\s+/,t.IDENT_RE],beginScope:{1:"keyword",3:"title.class"} +},g={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{ +keyword:"interface extends",built_in:d},contains:[c.exports.CLASS_REFERENCE] +},u={$pattern:e, +keyword:n.concat(["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"]), +literal:a,built_in:i.concat(d),"variable.language":r},m={className:"meta", +begin:"@"+l},E=(e,n,a)=>{const t=e.contains.findIndex((e=>e.label===n)) +;if(-1===t)throw Error("can not find mode to replace");e.contains.splice(t,1,a)} +;Object.assign(c.keywords,u),c.exports.PARAMS_CONTAINS.push(m) +;const A=c.contains.find((e=>"attr"===e.scope)),y=Object.assign({},A,{ +match:s.concat(l,s.lookahead(/\s*\?:/))}) +;return c.exports.PARAMS_CONTAINS.push([c.exports.CLASS_REFERENCE,A,y]), +c.contains=c.contains.concat([m,b,g,y]), +E(c,"shebang",t.SHEBANG()),E(c,"use_strict",{className:"meta",relevance:10, +begin:/^\s*['"]use strict['"]/ +}),c.contains.find((e=>"func.def"===e.label)).relevance=0,Object.assign(c,{ +name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),c}})() +;hljs.registerLanguage("typescript",e)})();/*! `xml` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const a=e.regex,n=a.concat(/[\p{L}_]/u,a.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),s={ +className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},t={begin:/\s/, +contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}] +},i=e.inherit(t,{begin:/\(/,end:/\)/}),c=e.inherit(e.APOS_STRING_MODE,{ +className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),r={ +endsWithParent:!0,illegal:/`]+/}]}]}]};return{ +name:"HTML, XML", +aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"], +case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[t,l,c,i,{begin:/\[/,end:/\]/,contains:[{ +className:"meta",begin://,contains:[t,i,l,c]}]}] +},e.COMMENT(//,{relevance:10}),{begin://, +relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/, +relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{ +end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag", +begin:/)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{ +end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{ +className:"tag",begin:/<>|<\/>/},{className:"tag", +begin:a.concat(//,/>/,/\s/)))), +end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:r}]},{ +className:"tag",begin:a.concat(/<\//,a.lookahead(a.concat(n,/>/))),contains:[{ +className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}} +})();hljs.registerLanguage("xml",e)})();/*! `yaml` grammar compiled for Highlight.js 11.11.1 */ +(()=>{var e=(()=>{"use strict";return e=>{ +const n="true false yes no null",a="[\\w#;/?:@&=+$,.~*'()[\\]]+",s={ +className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}], +contains:[e.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{ +begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=e.inherit(s,{variants:[{ +begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{ +begin:/[^\s,{}[\]]+/}]}),l={end:",",endsWithParent:!0,excludeEnd:!0,keywords:n, +relevance:0},t={begin:/\{/,end:/\}/,contains:[l],illegal:"\\n",relevance:0},c={ +begin:"\\[",end:"\\]",contains:[l],illegal:"\\n",relevance:0},r=[{ +className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{ +begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{ +begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},{className:"meta", +begin:"^---\\s*$",relevance:10},{className:"string", +begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{ +begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0, +relevance:0},{className:"type",begin:"!\\w+!"+a},{className:"type", +begin:"!<"+a+">"},{className:"type",begin:"!"+a},{className:"type",begin:"!!"+a +},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta", +begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)", +relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:n,keywords:{literal:n}},{ +className:"number", +begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b" +},{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},t,c,{ +className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/, +scope:"char.escape",relevance:0}]},s],g=[...r] +;return g.pop(),g.push(i),l.contains=g,{name:"YAML",case_insensitive:!0, +aliases:["yml"],contains:r}}})();hljs.registerLanguage("yaml",e)})(); + +/*! `liquid` grammar compiled for Highlight.js 11.10.0 */ +(()=>{var e=(()=>{"use strict" +;const e=["as","assign","break","capture","case","color","comment","continue","cycle","decrement","echo","else","elsif","endcapture","endcase","endcomment","endfor","endform","endif","endjavascript","endraw","endschema","endsection","endstylesheet","endtablerow","endunless","font","for","for-render","form","if","ifchanged","include","increment","javascript","layout","liquid","paginate","raw","react","render","schema","section","sections","style","style-tag","stylesheet","tablerow","unless","when","with"],t=["additional_checkout_buttons","address","all_country_option_tags","all_products","app","app_settings","article","articles","block","block_order","blocks","blog","blogs","canonical_url","cart","checkout","collection","collections","color_scheme","comment","content_for_additional_checkout_buttons","content_for_header","content_for_index","content_for_layout","country_option_tags","currency","current_page","current_tags","customer","customer_address","discount_allocation","discount_application","external_video","font","forloop","form","fulfillment","gift_card","global_block","handle","i","image","images","index","item","letters","line_item","link","linklist","linklists","location","localization","media","metafield","model","model_source","numbers","order","page","page_description","page_image","page_title","pages","paginate","part","policy","powered_by_link","predictive_search","predictive_search_autocomplete","product","product_option","product_variant","products","recommendations","request","routes","script","scripts","search","section","section_blocks","selling_plan","selling_plan_allocation","selling_plan_group","settings","shipping_method","shipping_rates","shop","shop_locale","store_availability","tablerow","tax_line","template","theme","transaction","unit_price_measurement","value","variant","video","video_source"],a=["abs","append","at_least","at_most","capitalize","ceil","color_brightness","color_darken","color_desaturate","color_extract","color_lighten","color_modify","color_saturate","color_to_rgb","compact","concat","date","default","divided_by","downcase","escape","escape_once","first","floor","font_face","font_modify","highlight","highlight_active","join","last","lstrip","map","minus","modulo","newline_to_br","payment_type_img_url","plus","prepend","remove","remove_first","replace","replace_first","reverse","round","rstrip","size","slice","sort","sort_natural","split","strip","strip_html","strip_newlines","time_tag","times","truncate","truncatewords","uniq","upcase","url_decode","url_encode","where"],s=["==","=","\\:","\\.","\\|","!=","<>",">","<",">=","<=","contains","and","or","\\[","\\]"] +;return o=>({name:"Liquid",aliases:["shopify"],case_insensitive:!0, +contains:[o.COMMENT("{%-?\\s*comment\\s*-?%}","{%-?\\s*endcomment\\s*-?%}"),o.COMMENT("{%-?\\s*raw\\s*-?%}","{%-?\\s*endraw\\s*-?%}"),{ +className:"template-tag",begin:"{%-?\\s*",end:"\\s*-?%}",keywords:e.join(" "), +contains:[{className:"comment",begin:"#.*?(?=%})",relevance:10},{ +beginKeywords:e.join(" "),relevance:10},o.QUOTE_STRING_MODE,o.C_NUMBER_MODE,{ +className:"literal",begin:"\\b(true|false|nil)\\b"},{className:"operator", +begin:"("+s.join("|")+")"},{className:"built_in",begin:"\\b("+t.join("|")+")\\b" +},{className:"function", +begin:"\\|\\s*("+a.join("|")+")\\b(?:\\s*:[^:\\s,|}]+(?:\\s*:[^:\\s,|}]+)*)?", +keywords:a.join(" ")}]},{className:"template-variable",begin:"{{-?\\s*", +end:"\\s*-?}}",contains:[o.QUOTE_STRING_MODE,o.C_NUMBER_MODE,{ +className:"literal",begin:"\\b(true|false|nil)\\b"},{className:"operator", +begin:"("+s.join("|")+")"},{className:"built_in",begin:"\\b("+t.join("|")+")\\b" +},{className:"function", +begin:"\\|\\s*("+a.join("|")+")\\b(?:\\s*:[^:\\s,|}]+(?:\\s*:[^:\\s,|}]+)*)?", +keywords:a.join(" ")}]},{className:"property", +begin:"\\b[a-zA-Z0-9_]+\\.([a-zA-Z0-9_]+)\\b"}]})})() +;hljs.registerLanguage("liquid",e)})(); \ No newline at end of file diff --git a/pos-module-user/modules/common-styling/public/assets/js/dependency-proseMirror.js b/pos-module-user/modules/common-styling/public/assets/js/dependency-proseMirror.js new file mode 100644 index 0000000..b5cf592 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/assets/js/dependency-proseMirror.js @@ -0,0 +1,31 @@ +// import { EditorState } from 'prosemirror-state'; +// import { EditorView } from 'prosemirror-view'; +// import { Schema, DOMParser } from 'prosemirror-model'; +// import { exampleSetup } from 'prosemirror-example-setup'; +// import { schema, defaultMarkdownParser, defaultMarkdownSerializer } from 'prosemirror-markdown'; +// import { addMentionNodes, addTagNodes, getMentionsPlugin } from 'prosemirror-mentions' +// import { getSingletonHighlighter } from 'shiki'; +// import { createHighlightPlugin } from 'prosemirror-highlight' +// import { createParser } from 'prosemirror-highlight/shiki' + +// import 'prosemirror-view/style/prosemirror.css' +// import 'prosemirror-menu/style/menu.css' +// import 'prosemirror-example-setup/style/style.css' + + +// // const proseMirrorSchema = new Schema({ +// // nodes: addListNodes(schema.spec.nodes, 'paragraph block*', 'block'), +// // marks: schema.spec.marks +// // }); + + +// const highlighter = await getSingletonHighlighter({ +// themes: ['github-light'], +// langs: ['javascript', 'typescript', 'python'], +// }); + +// const parser = createParser(highlighter); + +// const shikiPlugin = createHighlightPlugin({ parser }); + +// export { EditorView, EditorState, DOMParser, schema, exampleSetup, addMentionNodes, addTagNodes, getMentionsPlugin, defaultMarkdownParser, defaultMarkdownSerializer, shikiPlugin } diff --git a/pos-module-user/modules/common-styling/public/assets/js/dependency-uppy.js b/pos-module-user/modules/common-styling/public/assets/js/dependency-uppy.js new file mode 100644 index 0000000..5b75b41 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/assets/js/dependency-uppy.js @@ -0,0 +1,26 @@ +function e(e,t){return Object.hasOwn(e,t)}const{AbortController:t}=globalThis,{AbortSignal:i}=globalThis,s=(t="Aborted",i)=>{const s=new DOMException(t,"AbortError");return null!=i&&e(i,"cause")&&Object.defineProperty(s,"cause",{__proto__:null,configurable:!0,writable:!0,value:i.cause}),s};const n=/^data:([^/]+\/[^,;]+(?:[^,]*?))(;base64)?,([\s\S]*)$/;function r(e,t,i){const s=n.exec(e),r=t.mimeType??s?.[1]??"plain/text";let a;if(null!=s?.[2]){const e=atob(decodeURIComponent(s[3])),t=new Uint8Array(e.length);for(let i=0;i(t+=`-${function(e){return e.charCodeAt(0).toString(32)}(e)}`,"/"))+t}function g(e,t){if(function(e){return!(!e.isRemote||!e.remote)&&new Set(["box","dropbox","drive","facebook","unsplash"]).has(e.remote.provider)}(e))return e.id;const i=m(e);return function(e,t){let i=t||"uppy";return"string"==typeof e.name&&(i+=`-${f(e.name.toLowerCase())}`),void 0!==e.type&&(i+=`-${e.type}`),e.meta&&"string"==typeof e.meta.relativePath&&(i+=`-${f(e.meta.relativePath.toLowerCase())}`),void 0!==e.data?.size&&(i+=`-${e.data.size}`),void 0!==e.data.lastModified&&(i+=`-${e.data.lastModified}`),i}({...e,type:i},t)}function y(e,t){return!0===e?Object.keys(t):Array.isArray(e)?e:[]}var v=Array.from;function b(e,t,i,{onSuccess:s}){e.readEntries(n=>{const r=[...t,...n];n.length?queueMicrotask(()=>{b(e,r,i,{onSuccess:s})}):s(r)},e=>{i(e),s(t)})}function w(e,t){return null==e?e:{kind:e.isFile?"file":e.isDirectory?"directory":void 0,name:e.name,getFile:()=>new Promise((t,i)=>e.file(t,i)),async*values(){const i=e.createReader(),s=await new Promise(e=>{b(i,[],t,{onSuccess:i=>e(i.map(e=>w(e,t)))})});yield*s},isSameEntry:void 0}}async function*_(e,t,i=void 0){const s=()=>`${t}/${e.name}`;if("file"===e.kind){const n=await e.getFile();null!=n?(n.relativePath=t?s():null,yield n):null!=i&&(yield i)}else if("directory"===e.kind)for await(const i of e.values())yield*_(i,t?s():e.name);else null!=i&&(yield i)}async function S(e,t){const i=t?.logDropError??Function.prototype;try{const t=[];for await(const s of async function*(e,t){const i=await Promise.all(Array.from(e.items,async e=>{let i;return i??=w("function"==typeof e.getAsEntry?e.getAsEntry():e.webkitGetAsEntry(),t),{fileSystemHandle:i,lastResortFile:e.getAsFile()}}));for(const{lastResortFile:e,fileSystemHandle:s}of i)if(null!=s)try{yield*_(s,"",e)}catch(i){null!=e?yield e:t(i)}else null!=e&&(yield e)}(e,i))t.push(s);return t}catch{return function(e){const t=v(e.files);return Promise.resolve(t)}(e)}}const C={__proto__:null,"audio/mp3":"mp3","audio/mp4":"mp4","audio/ogg":"ogg","audio/webm":"webm","image/gif":"gif","image/heic":"heic","image/heif":"heif","image/jpeg":"jpg","image/webp":"webp","image/png":"png","image/svg+xml":"svg","video/mp4":"mp4","video/ogg":"ogv","video/quicktime":"mov","video/webm":"webm","video/x-matroska":"mkv","video/x-msvideo":"avi"};function F(e){return[e]=e.split(";",1),C[e]||null}function k(e){return e<10?`0${e}`:e.toString()}function P(){const e=new Date;return`${k(e.getHours())}:${k(e.getMinutes())}:${k(e.getSeconds())}`}function T(){if("undefined"==typeof window)return!1;const e=document.body;return null!=e&&null!=window&&("draggable"in e&&"ondragstart"in e&&"ondrop"in e&&("FormData"in window&&"FileReader"in window))}function x(e){return e.startsWith("blob:")}function E(e){return!!e&&/^[^/]+\/(jpe?g|gif|png|svg|svg\+xml|bmp|webp|avif)$/.test(e)}function M(e){const t=(i=e,{hours:Math.floor(i/3600)%24,minutes:Math.floor(i/60)%60,seconds:Math.floor(i%60)});var i;return`${0===t.hours?"":`${t.hours}h`}${0===t.minutes?"":`${0===t.hours?t.minutes:` ${t.minutes.toString(10).padStart(2,"0")}`}m`}${0!==t.hours?"":`${0===t.minutes?t.seconds:` ${t.seconds.toString(10).padStart(2,"0")}`}s`}`}function U(e){if(null!=e){const t=()=>this.abort(e.reason);e.addEventListener("abort",t,{once:!0});const i=()=>{e.removeEventListener("abort",t)};this.then?.(i,i)}return this}class A{#e=0;#t=[];#i=!1;#s;#n=1;#r;#a;limit;constructor(e){this.limit="number"!=typeof e||0===e?1/0:e}#o(e){this.#e+=1;let t,i=!1;try{t=e()}catch(e){throw this.#e-=1,e}return{abort:e=>{i||(i=!0,this.#e-=1,t?.(e),this.#l())},done:()=>{i||(i=!0,this.#e-=1,this.#l())}}}#l(){queueMicrotask(()=>this.#h())}#h(){if(this.#i||this.#e>=this.limit)return;if(0===this.#t.length)return;const e=this.#t.shift();if(null==e)throw new Error("Invariant violation: next is null");const t=this.#o(e.fn);e.abort=t.abort,e.done=t.done}#d(e,t){const i={fn:e,priority:t?.priority||0,abort:()=>{this.#p(i)},done:()=>{throw new Error("Cannot mark a queued request as done: this indicates a bug")}},s=this.#t.findIndex(e=>i.priority>e.priority);return-1===s?this.#t.push(i):this.#t.splice(s,0,i),i}#p(e){const t=this.#t.indexOf(e);-1!==t&&this.#t.splice(t,1)}run(e,t){return!this.#i&&this.#e{const s=this.run(()=>(e(...i),queueMicrotask(()=>s.done()),()=>{}),t);return{abortOn:U,abort(){s.abort()}}}}wrapPromiseFunction(e,t){return(...i)=>{let s;const n=new Promise((n,r)=>{s=this.run(()=>{let t,a;try{a=Promise.resolve(e(...i))}catch(e){a=Promise.reject(e)}return a.then(e=>{t?r(t):(s.done(),n(e))},e=>{t?r(t):(s.done(),r(e))}),e=>{t=function(e){return new Error("Cancelled",{cause:e})}(e)}},t)});return n.abort=e=>{s.abort(e)},n.abortOn=U,n}}resume(){this.#i=!1,clearTimeout(this.#s);for(let e=0;ethis.resume();pause(e=null){this.#i=!0,clearTimeout(this.#s),null!=e&&(this.#s=setTimeout(this.#u,e))}rateLimit(e){clearTimeout(this.#a),this.pause(e),this.limit>1&&Number.isFinite(this.limit)&&(this.#r=this.limit-1,this.limit=this.#n,this.#a=setTimeout(this.#c,e))}#c=()=>{if(this.#i)this.#a=setTimeout(this.#c,0);else{this.#n=this.limit,this.limit=Math.ceil((this.#r+this.#n)/2);for(let e=this.#n;e<=this.limit;e++)this.#l();this.#r-this.#n>3?this.#a=setTimeout(this.#c,2e3):this.#n=Math.floor(this.#n/2)}};get isPaused(){return this.#i}}Symbol("__queue");function D(e,t,i){const s=[];return e.forEach(e=>"string"!=typeof e?s.push(e):t[Symbol.split](e).forEach((e,t,n)=>{""!==e&&s.push(e),t{throw new Error(`missing string: ${e}`)};class N{locale;constructor(e,{onMissingKey:t=O}={}){this.locale={strings:{},pluralize:e=>1===e?0:1},Array.isArray(e)?e.forEach(this.#m,this):this.#m(e),this.#f=t}#f;#m(e){if(!e?.strings)return;const t=this.locale;Object.assign(this.locale,{strings:{...t.strings,...e.strings},pluralize:e.pluralize||t.pluralize})}translate(e,t){return this.translateArray(e,t).join("")}translateArray(e,t){let i=this.locale.strings[e];null==i&&(this.#f(e),i=e);if("object"==typeof i){if(t&&void 0!==t.smart_count){return R(i[this.locale.pluralize(t.smart_count)],t)}throw new Error("Attempted to use a string with plural forms, but no value was given for %{smart_count}")}if("string"!=typeof i)throw new Error("string was not a string");return R(i,t)}}const I="...";function B(e,t){if(0===t)return"";if(e.length<=t)return e;if(t<=4)return`${e.slice(0,t-1)}…`;const i=t-3,s=Math.ceil(i/2),n=Math.floor(i/2);return e.slice(0,s)+I+e.slice(-n)}class L extends Error{name="UserFacingApiError"}var z,H,q,$,j,W,V,X,G,Y,K,Q={},Z=[],J=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,ee=Array.isArray;function te(e,t){for(var i in t)e[i]=t[i];return e}function ie(e){e&&e.parentNode&&e.parentNode.removeChild(e)}function se(e,t,i){var s,n,r,a={};for(r in t)"key"==r?s=t[r]:"ref"==r?n=t[r]:a[r]=t[r];if(arguments.length>2&&(a.children=arguments.length>3?z.call(arguments,2):i),"function"==typeof e&&null!=e.defaultProps)for(r in e.defaultProps)void 0===a[r]&&(a[r]=e.defaultProps[r]);return ne(e,a,s,n,null)}function ne(e,t,i,s,n){var r={type:e,props:t,key:i,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==n?++q:n,__i:-1,__u:0};return null==n&&null!=H.vnode&&H.vnode(r),r}function re(e){return e.children}function ae(e,t){this.props=e,this.context=t}function oe(e,t){if(null==t)return e.__?oe(e.__,e.__i+1):null;for(var i;to&&$.sort(V),e=$.shift(),o=$.length,e.__d&&(i=void 0,s=void 0,n=(s=(t=e).__v).__e,r=[],a=[],t.__P&&((i=te({},s)).__v=s.__v+1,H.vnode&&H.vnode(i),ve(t.__P,i,s,t.__n,t.__P.namespaceURI,32&s.__u?[n]:null,r,null==n?oe(s):n,!!(32&s.__u),a),i.__v=s.__v,i.__.__k[i.__i]=i,we(r,i,a),s.__e=s.__=null,i.__e!=n&&le(i)));de.__r=0}function pe(e,t,i,s,n,r,a,o,l,h,d){var p,u,c,m,f,g,y,v=s&&s.__k||Z,b=t.length;for(l=function(e,t,i,s,n){var r,a,o,l,h,d=i.length,p=d,u=0;for(e.__k=new Array(n),r=0;r0?a=e.__k[r]=ne(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):e.__k[r]=a,l=r+u,a.__=e,a.__b=e.__b+1,-1!=(h=a.__i=me(a,i,l,p))&&(p--,(o=i[h])&&(o.__u|=2)),null==o||null==o.__v?(-1==h&&(n>d?u--:nl?u--:u++,a.__u|=4))):e.__k[r]=null;if(p)for(r=0;r(d?1:0))for(n=i-1,r=i+1;n>=0||r=0?n--:r++])&&!(2&h.__u)&&o==h.key&&l==h.type)return a;return-1}function fe(e,t,i){"-"==t[0]?e.setProperty(t,null==i?"":i):e[t]=null==i?"":"number"!=typeof i||J.test(t)?i:i+"px"}function ge(e,t,i,s,n){var r,a;e:if("style"==t)if("string"==typeof i)e.style.cssText=i;else{if("string"==typeof s&&(e.style.cssText=s=""),s)for(t in s)i&&t in i||fe(e.style,t,"");if(i)for(t in i)s&&i[t]==s[t]||fe(e.style,t,i[t])}else if("o"==t[0]&&"n"==t[1])r=t!=(t=t.replace(X,"$1")),a=t.toLowerCase(),t=a in e||"onFocusOut"==t||"onFocusIn"==t?a.slice(2):t.slice(2),e.l||(e.l={}),e.l[t+r]=i,i?s?i.u=s.u:(i.u=G,e.addEventListener(t,r?K:Y,r)):e.removeEventListener(t,r?K:Y,r);else{if("http://www.w3.org/2000/svg"==n)t=t.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=t&&"height"!=t&&"href"!=t&&"list"!=t&&"form"!=t&&"tabIndex"!=t&&"download"!=t&&"rowSpan"!=t&&"colSpan"!=t&&"role"!=t&&"popover"!=t&&t in e)try{e[t]=null==i?"":i;break e}catch(e){}"function"==typeof i||(null==i||!1===i&&"-"!=t[4]?e.removeAttribute(t):e.setAttribute(t,"popover"==t&&1==i?"":i))}}function ye(e){return function(t){if(this.l){var i=this.l[t.type+e];if(null==t.t)t.t=G++;else if(t.t0?e:ee(e)?e.map(_e):te({},e)}function Se(e,t,i){try{if("function"==typeof e){var s="function"==typeof e.__u;s&&e.__u(),s&&null==t||(e.__u=e(t))}else e.current=t}catch(e){H.__e(e,i)}}function Ce(e,t,i){var s,n;if(H.unmount&&H.unmount(e),(s=e.ref)&&(s.current&&s.current!=e.__e||Se(s,null,t)),null!=(s=e.__c)){if(s.componentWillUnmount)try{s.componentWillUnmount()}catch(e){H.__e(e,t)}s.base=s.__P=null}if(s=e.__k)for(n=0;n2&&(o.children=arguments.length>3?z.call(arguments,2):i),ne(e.type,o,s||e.key,n||e.ref,null)}z=Z.slice,H={__e:function(e,t,i,s){for(var n,r,a;t=t.__;)if((n=t.__c)&&!n.__)try{if((r=n.constructor)&&null!=r.getDerivedStateFromError&&(n.setState(r.getDerivedStateFromError(e)),a=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e,s||{}),a=n.__d),a)return n.__E=n}catch(t){e=t}throw e}},q=0,ae.prototype.setState=function(e,t){var i;i=null!=this.__s&&this.__s!=this.state?this.__s:this.__s=te({},this.state),"function"==typeof e&&(e=e(te({},i),this.props)),e&&te(i,e),null!=e&&this.__v&&(t&&this._sb.push(t),he(this))},ae.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),he(this))},ae.prototype.render=re,$=[],W="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,V=function(e,t){return e.__v.__b-t.__v.__b},de.__r=0,X=/(PointerCapture)$|Capture$/i,G=0,Y=ye(!1),K=ye(!0);var Te=0;Array.isArray;function xe(e,t,i,s,n,r){t||(t={});var a,o,l=t;if("ref"in l)for(o in l={},t)"ref"==o?a=t[o]:l[o]=t[o];var h={type:e,props:l,key:i,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Te,__i:-1,__u:0,__source:n,__self:r};if("function"==typeof e&&(a=e.defaultProps))for(o in a)void 0===l[o]&&(l[o]=a[o]);return H.vnode&&H.vnode(h),h}var Ee,Me,Ue,Ae,De=0,Re=[],Oe=H,Ne=Oe.__b,Ie=Oe.__r,Be=Oe.diffed,Le=Oe.__c,ze=Oe.unmount,He=Oe.__;function qe(e,t){Oe.__h&&Oe.__h(Me,e,De||t),De=0;var i=Me.__H||(Me.__H={__:[],__h:[]});return e>=i.__.length&&i.__.push({}),i.__[e]}function $e(e){return De=1,function(e,t,i){var s=qe(Ee++,2);if(s.t=e,!s.__c&&(s.__=[i?i(t):et(void 0,t),function(e){var t=s.__N?s.__N[0]:s.__[0],i=s.t(t,e);t!==i&&(s.__N=[i,s.__[1]],s.__c.setState({}))}],s.__c=Me,!Me.__f)){var n=function(e,t,i){if(!s.__c.__H)return!0;var n=s.__c.__H.__.filter(function(e){return!!e.__c});if(n.every(function(e){return!e.__N}))return!r||r.call(this,e,t,i);var a=s.__c.props!==e;return n.forEach(function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(a=!0)}}),r&&r.call(this,e,t,i)||a};Me.__f=!0;var r=Me.shouldComponentUpdate,a=Me.componentWillUpdate;Me.componentWillUpdate=function(e,t,i){if(this.__e){var s=r;r=void 0,n(e,t,i),r=s}a&&a.call(this,e,t,i)},Me.shouldComponentUpdate=n}return s.__N||s.__}(et,e)}function je(e,t){var i=qe(Ee++,3);!Oe.__s&&Je(i.__H,t)&&(i.__=e,i.u=t,Me.__H.__h.push(i))}function We(e){return De=5,Ve(function(){return{current:e}},[])}function Ve(e,t){var i=qe(Ee++,7);return Je(i.__H,t)&&(i.__=e(),i.__H=t,i.__h=e),i.__}function Xe(e,t){return De=8,Ve(function(){return e},t)}function Ge(){for(var e;e=Re.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(Qe),e.__H.__h.forEach(Ze),e.__H.__h=[]}catch(t){e.__H.__h=[],Oe.__e(t,e.__v)}}Oe.__b=function(e){Me=null,Ne&&Ne(e)},Oe.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),He&&He(e,t)},Oe.__r=function(e){Ie&&Ie(e),Ee=0;var t=(Me=e.__c).__H;t&&(Ue===Me?(t.__h=[],Me.__h=[],t.__.forEach(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})):(t.__h.forEach(Qe),t.__h.forEach(Ze),t.__h=[],Ee=0)),Ue=Me},Oe.diffed=function(e){Be&&Be(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==Re.push(t)&&Ae===Oe.requestAnimationFrame||((Ae=Oe.requestAnimationFrame)||Ke)(Ge)),t.__H.__.forEach(function(e){e.u&&(e.__H=e.u),e.u=void 0})),Ue=Me=null},Oe.__c=function(e,t){t.some(function(e){try{e.__h.forEach(Qe),e.__h=e.__h.filter(function(e){return!e.__||Ze(e)})}catch(i){t.some(function(e){e.__h&&(e.__h=[])}),t=[],Oe.__e(i,e.__v)}}),Le&&Le(e,t)},Oe.unmount=function(e){ze&&ze(e);var t,i=e.__c;i&&i.__H&&(i.__H.__.forEach(function(e){try{Qe(e)}catch(e){t=e}}),i.__H=void 0,t&&Oe.__e(t,i.__v))};var Ye="function"==typeof requestAnimationFrame;function Ke(e){var t,i=function(){clearTimeout(s),Ye&&cancelAnimationFrame(t),setTimeout(e)},s=setTimeout(i,35);Ye&&(t=requestAnimationFrame(i))}function Qe(e){var t=Me,i=e.__c;"function"==typeof i&&(e.__c=void 0,i()),Me=t}function Ze(e){var t=Me;e.__c=e.__(),Me=t}function Je(e,t){return!e||e.length!==t.length||t.some(function(t,i){return t!==e[i]})}function et(e,t){return"function"==typeof t?t(e):t}const tt={position:"relative",width:"100%",minHeight:"100%"},it={position:"absolute",top:0,left:0,width:"100%",overflow:"visible"};function st({data:e,rowHeight:t,renderRow:i,overscanCount:s=10,padding:n=4,...r}){const a=We(null),[o,l]=$e(0),[h,d]=$e(0);je(()=>{function e(){null!=a.current&&h!==a.current.offsetHeight&&d(a.current.offsetHeight)}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}},[h]);const p=Xe(()=>{a.current&&l(a.current.scrollTop)},[]);let u=Math.floor(o/t),c=Math.floor(h/t);s&&(u=Math.max(0,u-u%s),c+=s);const m=u+c+n,f=e.slice(u,m),g={...tt,height:e.length*t},y={...it,top:u*t};return xe("div",{onScroll:p,ref:a,...r,children:xe("div",{role:"presentation",style:g,children:xe("div",{role:"presentation",style:y,children:f.map(i)})})})}class nt{uppy;opts;id;defaultLocale;i18n;i18nArray;type;VERSION;constructor(e,t){this.uppy=e,this.opts=t??{}}getPluginState(){const{plugins:e}=this.uppy.getState();return e?.[this.id]||{}}setPluginState(e){const{plugins:t}=this.uppy.getState();this.uppy.setState({plugins:{...t,[this.id]:{...t[this.id],...e}}})}setOptions(e){this.opts={...this.opts,...e},this.setPluginState(void 0),this.i18nInit()}i18nInit(){const e=new N([this.defaultLocale,this.uppy.locale,this.opts.locale]);this.i18n=e.translate.bind(e),this.i18nArray=e.translateArray.bind(e),this.setPluginState(void 0)}addTarget(e){throw new Error("Extend the addTarget method to add your plugin to another plugin's target")}install(){}uninstall(){}update(e){}afterUpdate(){}}class rt{#g;#y=[];constructor(e){this.#g=e}on(e,t){return this.#y.push([e,t]),this.#g.on(e,t)}remove(){for(const[e,t]of this.#y.splice(0))this.#g.off(e,t)}onFilePause(e,t){this.on("upload-pause",(i,s)=>{e===i?.id&&t(s)})}onFileRemove(e,t){this.on("file-removed",i=>{e===i.id&&t(i.id)})}onPause(e,t){this.on("upload-pause",(i,s)=>{e===i?.id&&t(s)})}onRetry(e,t){this.on("upload-retry",i=>{e===i?.id&&t()})}onRetryAll(e,t){this.on("retry-all",()=>{this.#g.getFile(e)&&t()})}onPauseAll(e,t){this.on("pause-all",()=>{this.#g.getFile(e)&&t()})}onCancelAll(e,t){this.on("cancel-all",(...i)=>{this.#g.getFile(e)&&t(...i)})}onResumeAll(e,t){this.on("resume-all",()=>{this.#g.getFile(e)&&t()})}}const at={debug:()=>{},warn:()=>{},error:(...e)=>console.error(`[Uppy] [${P()}]`,...e)},ot={debug:(...e)=>console.debug(`[Uppy] [${P()}]`,...e),warn:(...e)=>console.warn(`[Uppy] [${P()}]`,...e),error:(...e)=>console.error(`[Uppy] [${P()}]`,...e)};var lt,ht,dt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function pt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ut,ct,mt,ft,gt=pt(ht?lt:(ht=1,lt=function(e){if("number"!=typeof e||Number.isNaN(e))throw new TypeError("Expected a number, got "+typeof e);const t=e<0;let i=Math.abs(e);if(t&&(i=-i),0===i)return"0 B";const s=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],n=Math.min(Math.floor(Math.log(i)/Math.log(1024)),s.length-1),r=Number(i/1024**n),a=s[n];return`${r>=10||r%1==0?Math.round(r):r.toFixed(1)} ${a}`}));function yt(){if(ct)return ut;function e(e,t){this.text=e=e||"",this.hasWild=~e.indexOf("*"),this.separator=t,this.parts=e.split(t)}return ct=1,e.prototype.match=function(e){var t,i,s=!0,n=this.parts,r=n.length;if("string"==typeof e||e instanceof String)if(this.hasWild||this.text==e){for(i=(e||"").split(this.separator),t=0;s&&t=2}return s?n(s.split(";")[0]):n}}(),bt=pt(vt);const wt={maxFileSize:null,minFileSize:null,maxTotalFileSize:null,maxNumberOfFiles:null,minNumberOfFiles:null,allowedFileTypes:null,requiredMetaFields:[]};class _t extends Error{isUserFacing;file;constructor(e,t){super(e),this.isUserFacing=t?.isUserFacing??!0,t?.file&&(this.file=t.file)}isRestriction=!0}class St{getI18n;getOpts;constructor(e,t){this.getI18n=t,this.getOpts=()=>{const t=e();if(null!=t.restrictions?.allowedFileTypes&&!Array.isArray(t.restrictions.allowedFileTypes))throw new TypeError("`restrictions.allowedFileTypes` must be an array");return t}}validateAggregateRestrictions(e,t){const{maxTotalFileSize:i,maxNumberOfFiles:s}=this.getOpts().restrictions;if(s){const i=e.filter(e=>!e.isGhost);if(i.length+t.length>s)throw new _t(`${this.getI18n()("youCanOnlyUploadX",{smart_count:s})}`)}if(i){const s=[...e,...t].reduce((e,t)=>e+(t.size??0),0);if(s>i)throw new _t(this.getI18n()("aggregateExceedsSize",{sizeAllowed:gt(i),size:gt(s)}))}}validateSingleFile(e){const{maxFileSize:t,minFileSize:i,allowedFileTypes:s}=this.getOpts().restrictions;if(s){const t=s.some(t=>t.includes("/")?!!e.type&&bt(e.type.replace(/;.*?$/,""),t):!("."!==t[0]||!e.extension)&&e.extension.toLowerCase()===t.slice(1).toLowerCase());if(!t){const t=s.join(", ");throw new _t(this.getI18n()("youCanOnlyUploadFileTypes",{types:t}),{file:e})}}if(t&&null!=e.size&&e.size>t)throw new _t(this.getI18n()("exceedsSize",{size:gt(t),file:e.name??this.getI18n()("unnamed")}),{file:e});if(i&&null!=e.size&&e.size{this.validateSingleFile(e)}),this.validateAggregateRestrictions(e,t)}validateMinNumberOfFiles(e){const{minNumberOfFiles:t}=this.getOpts().restrictions;if(t&&Object.keys(e).length{e instanceof i&&(t=e)})}return t}mount(e,t){const i=t.id,s=function(e,t=document){return"string"==typeof e?t.querySelector(e):d(e)?e:null}(e);if(s){this.isTargetDOMEl=!0;const t=document.createElement("div");return t.classList.add("uppy-Root"),this.#v=function(e){let t,i=null;return(...s)=>(t=s,i||(i=Promise.resolve().then(()=>(i=null,e(...t)))),i)}(e=>{this.uppy.getPlugin(this.id)&&(ke(this.render(e,t),t),this.afterUpdate())}),this.uppy.log(`Installing ${i} to a DOM element '${e}'`),this.opts.replaceTargetContent&&(s.innerHTML=""),ke(this.render(this.uppy.getState(),t),t),this.el=t,s.appendChild(t),t.dir=this.opts.direction||function(e){for(;e&&!e.dir;)e=e.parentNode;return e?.dir}(t)||"ltr",this.onMount(),this.el}const n=this.getTargetPlugin(e);if(n)return this.uppy.log(`Installing ${i} to ${n.id}`),this.parent=n,this.el=n.addTarget(t),this.onMount(),this.el;this.uppy.log(`Not installing ${i}`);let r=`Invalid target option given to ${i}.`;throw r+="function"==typeof e?" The given target is not a Plugin class. Please check that you're not specifying a React Component instead of a plugin. If you are using @uppy/* packages directly, make sure you have only 1 version of @uppy/core installed: run `npm ls @uppy/core` on the command line and verify that all the versions match and are deduped correctly.":"If you meant to target an HTML element, please make sure that the element exists. Check that the + + + + + + + + + - + + + \ No newline at end of file diff --git a/pos-module-user/modules/common-styling/public/views/partials/navigation/collapsible.liquid b/pos-module-user/modules/common-styling/public/views/partials/navigation/collapsible.liquid new file mode 100644 index 0000000..987eab0 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/navigation/collapsible.liquid @@ -0,0 +1,56 @@ +{% liquid + assign inert = inert | default: false + assign active = active | default: false +%} + + +{% capture output %} + + + + {% for item in items %} + + + {% if item.url %}
    {% endif %} + {{ item.label }} + {% if item.url %}{% endif %} + + {% if item.children.size > 0 %} + + {% endif %} + + {% if item.children.size > 0 %} + {% liquid + assign active_child = item.children | array_detect: url: active + + unless active_child + for child in item.children + assign active_child = child.children | array_detect: url: active + if active_child + break + endif + endfor + endunless + %} + +
    + {% liquid + function render_submenu = 'modules/common-styling/navigation/collapsible', items: item.children, inert: true, active: active + print render_submenu + %} +
    + {% endif %} + + + {% endfor %} + + + +{% endcapture %} + + +{{ output | html_safe }} +{% return output %} \ No newline at end of file diff --git a/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid b/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid new file mode 100644 index 0000000..c39331b --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid @@ -0,0 +1,61 @@ +{% comment %} + + numbered pagination with arrows if the number of pages is large + + total pages - (int) how many total pages available + +{% endcomment %} + + +{% liquid + assign current = context.location.search.page | to_positive_integer: 1 + + assign url = '?' + if context.location.search + assign query_string = context.location.search + assign removed = query_string | hash_delete_key: 'page' + + if query_string.size > 0 + assign query_string = query_string | querify + assign url = url | append: query_string | append: '&page=' + else + assign url = url | append: 'page=' + endif + endif +%} + +{% if total_pages > 1 %} + + + +{% endif %} diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/boxes.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/boxes.liquid new file mode 100644 index 0000000..f12976a --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/boxes.liquid @@ -0,0 +1,58 @@ +
    +

    Boxes

    + +
    +
    +
    +
    The quick brown fox jumps over the lazy dog
    +
    +{% capture code %}{% raw %} +
    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    class
    pos-card
    +
    props
    --pos-padding-card, --pos-radius-card, --pos-color-content-background
    +
    +
    +
    +
    +
    The quick brown fox jumps over the lazy dog
    +
    +{% capture code %}{% raw %} +
    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    class
    pos-card pos-card-highlighted
    +
    props
    --pos-padding-card, --pos-radius-card, --pos-color-highlight-background
    +
    +
    +
    + +

    Content card

    +
    +
    + {% render 'modules/common-styling/content/card', url: '/', image: 'https://picsum.photos/1000/400', title: 'Lorem ipsum dolor sit amet', content: 'Quisque vel velit mi. Proin malesuada iaculis viverra. Vestibulum tristique sollicitudin rhoncus. Vivamus sollicitudin nisi in lorem gravida aliquam.', footer: '
    • Item
    • Item
    Aside item', highlighted: null %} +{% capture code %}{% raw %} +{% render 'modules/common-styling/content/card', url: '/', image: 'https://picsum.photos/1000/400', title: 'Title', content: 'Content', footer: '
    • Item
    • Item
    Aside item' %} +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + {% render 'modules/common-styling/content/card', url: '/', image: 'https://picsum.photos/1000/400?random=2', title: 'Lorem ipsum dolor sit amet', content: 'Quisque vel velit mi. Proin malesuada iaculis viverra. Vestibulum tristique sollicitudin rhoncus. Vivamus sollicitudin nisi in lorem gravida aliquam.', footer: 'Cras lacinia lorem', highlighted: true %} +{% capture code %}{% raw %} +{% render 'modules/common-styling/content/card', url: '/', image: 'https://picsum.photos/1000/400', title: 'Title', content: 'Content', footer: 'Footer', highlighted: true %} +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/buttons.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/buttons.liquid new file mode 100644 index 0000000..8be3dab --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/buttons.liquid @@ -0,0 +1,158 @@ +
    + +

    Buttons

    + +
    +
    +
    +

    Default

    + + + +
    +
    Class
    pos-button
    +
    +
    +{% capture code %}{% raw %} + +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +

    Primary

    + + + +
    +
    Class
    pos-button pos-button-primary
    +
    +
    +{% capture code %}{% raw %} + +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    + +
    +
    +

    Default small

    + + + +
    +
    Class
    pos-button pos-button-small
    +
    +
    +{% capture code %}{% raw %} + +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +

    Primary small

    + + + +
    +
    Class
    pos-button pos-button-small pos-button-small
    +
    +
    +{% capture code %}{% raw %} + +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + + {% render 'modules/common-styling/tip', content: 'When overwriting the <button> classes, please remember to also overwrite the debug classes used in the style guide: pos-debug-button-hover, pos-debug-button-active, pos-debug-button-focus-visible.' %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    DefaultPrimaryDefault smallPrimary small
    Enabled
    Hover
    Active
    Focused
    Disabled
    Icon + + + + + + + +
    LinkLinkLinkLinkLink
    + +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/colors.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/colors.liquid new file mode 100644 index 0000000..46819fe --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/colors.liquid @@ -0,0 +1,382 @@ +
    +

    Colors

    + +

    General content

    +
      +
    • +

      Page background

      +
      +
      +
      + --pos-color-page-background +
      + # +
      +
      +
    • +
    • +

      Content background

      +
      +
      +
      + --pos-color-content-background +
      + # +
      +
      +
    • +
    • +

      Content text & icons

      +
      +
      +
      --pos-color-content-text
      + # +
      +
      +
      --pos-color-content-icon
      + # +
      +
      +
      --pos-color-content-text-supplementary
      + # +
      +
      +
      --pos-color-content-text-prominent
      + # +
      +
      +
    • +
    • +

      Borders & separators

      +
      +
      +
      --pos-color-frame
      + # +
      +
      +
    • +
    • +

      Highlighted elements

      +
      +
      +
      --pos-color-highlight-background
      + # +
      +
      +
      --pos-color-highlight-text
      + # +
      +
      +
    • +
    • +

      Standout sections, call to actions

      +
      +
      +
      --pos-color-standout-background
      + # +
      +
      +
      --pos-color-standout-background-hover
      + # +
      +
      +
      --pos-color-standout-text
      + # +
      +
      +
    • +
    + +

    Interactive elements

    +
      +
    • +

      Links

      +
      +
      +
      --pos-color-interactive
      + # +
      +
      +
      --pos-color-interactive-hover
      + # +
      +
      +
      --pos-color-interactive-active
      + # +
      +
      +
      --pos-color-interactive-disabled
      + # +
      +
      +
    • + +
    • +

      Primary buttons

      +
      +
      +
      --pos-color-button-primary-background
      + # +
      +
      +
      --pos-color-button-primary-frame
      + # +
      +
      +
      --pos-color-button-primary-text
      + # +
      +
      +
      +
      +
      --pos-color-button-primary-hover-background
      + # +
      +
      +
      --pos-color-button-primary-hover-frame
      + # +
      +
      +
      --pos-color-button-primary-hover-text
      + # +
      +
      +
      +
      +
      --pos-color-button-primary-active-background
      + # +
      +
      +
      --pos-color-button-primary-active-frame
      + # +
      +
      +
      --pos-color-button-primary-active-text
      + # +
      +
      +
      +
      +
      --pos-color-button-primary-disabled-background
      + # +
      +
      +
      --pos-color-button-primary-disabled-frame
      + # +
      +
      +
      --pos-color-button-primary-disabled-text
      + # +
      +
      +
    • + +
    • +

      Secondary buttons

      +
      +
      +
      --pos-color-button-secondary-background
      + # +
      +
      +
      --pos-color-button-secondary-frame
      + # +
      +
      +
      --pos-color-button-secondary-text
      + # +
      +
      +
      +
      +
      --pos-color-button-secondary-hover-background
      + # +
      +
      +
      --pos-color-button-secondary-hover-frame
      + # +
      +
      +
      --pos-color-button-secondary-hover-text
      + # +
      +
      +
      +
      +
      --pos-color-button-secondary-active-background
      + # +
      +
      +
      --pos-color-button-secondary-active-frame
      + # +
      +
      +
      --pos-color-button-secondary-active-text
      + # +
      +
      +
      +
      +
      --pos-color-button-secondary-disabled-background
      + # +
      +
      +
      --pos-color-button-secondary-disabled-frame
      + # +
      +
      +
      --pos-color-button-secondary-disabled-text
      + # +
      +
      +
    • +
    + +

    Browser UI

    +
      +
    • +

      Focused elements highlight

      +
      +
      +
      --pos-color-focused
      + # +
      +
      +
    • +
    • +

      Text selection highlight

      +
      +
      +
      --pos-color-selection-background
      + # +
      +
      +
      --pos-color-selection-text
      + # +
      +
      +
    • +
    + +

    Forms

    +
      +
    • +

      Placeholder text

      +
      +
      +
      --pos-color-input-placeholder
      + # +
      +
      +
    • +
    • +

      Input field

      +
      +
      +
      --pos-color-input-background
      + # +
      +
      +
      --pos-color-input-frame
      + # +
      +
      +
      --pos-color-input-text
      + # +
      +
      +
      +
      +
      --pos-color-input-hover-background
      + # +
      +
      +
      --pos-color-input-hover-frame
      + # +
      +
      +
      --pos-color-input-hover-text
      + # +
      +
      +
      +
      +
      --pos-color-input-active-background
      + # +
      +
      +
      --pos-color-input-active-frame
      + # +
      +
      +
      --pos-color-input-active-text
      + # +
      +
      +
      +
      +
      --pos-color-input-disabled-background
      + # +
      +
      +
      --pos-color-input-disabled-frame
      + # +
      +
      +
      --pos-color-input-disabled-text
      + # +
      +
      +
    • +
    + +

    Utility

    +
      +
    • +

      Statuses

      +
      +
      +
      --pos-color-important
      + # +
      +
      +
      --pos-color-important-hover
      + # +
      +
      +
      --pos-color-important-disabled
      + # +
      +
      +
      +
      +
      --pos-color-warning
      + # +
      +
      +
      --pos-color-warning-hover
      + # +
      +
      +
      --pos-color-warning-disabled
      + # +
      +
      +
      +
      +
      --pos-color-confirmation
      + # +
      +
      +
      --pos-color-confirmation-hover
      + # +
      +
      +
      --pos-color-confirmation-disabled
      + # +
      +
      +
    • +
    + +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/fonts.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/fonts.liquid new file mode 100644 index 0000000..0bd143e --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/fonts.liquid @@ -0,0 +1,68 @@ +
    +

    Fonts

    + +
    +
    +
    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. In euismod aliquet nisi euismod eleifend. Phasellus justo tellus, aliquet ac aliquam ut, dictum eu augue.

    +

    Nullam vitae ex sed ligula convallis suscipit. Maecenas et neque facilisis.

    +
    + + + Aa +
      +
    • Light
    • +
    • Regular
    • +
    • Medium
    • +
    • Semi Bold
    • +
    • Bold
    • +
    + +
    +
    +
    Property
    --pos-font-default
    +
    Font family
    +
    Default font size
    +
    +
    + +
    +
    +

    Lorem ipsum dolor sit amet, consectetur adipiscing elit. In euismod aliquet nisi euismod eleifend. Phasellus justo tellus, aliquet ac aliquam ut, dictum eu augue.

    +

    Nullam vitae ex sed ligula convallis suscipit. Maecenas et neque facilisis.

    +
    + + + Aa +
      +
    • Light
    • +
    • Regular
    • +
    • Medium
    • +
    • Semi Bold
    • +
    • Bold
    • +
    + +
    +
    +
    Property
    --pos-font-heading
    +
    Font family
    +
    Default font size
    +
    +
    +
    + +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid new file mode 100644 index 0000000..a49e689 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid @@ -0,0 +1,483 @@ +
    +

    Forms

    +

    There are two ways for styling form controlls. You can add a pos-form class to a container and make all the child inputs styled automatically or you can add one of the following classes to any single input to style it separately.

    + +

    Basic example

    + +
    + + +
    +
    + + +
    +
    + + +
    +
    + + +
    + +{% capture code %}{% raw %} +
    +
    + + + {% render 'modules/common-styling/forms/error_list', name: 'styleguide-example-error', errors: errors['styleguide-form-example-a'] %} +
    +
    + + + {% render 'modules/common-styling/forms/error_list', name: 'styleguide-example-error', errors: errors['styleguide-form-example-b'] %} +
    +
    + + + {% render 'modules/common-styling/forms/error_list', name: 'styleguide-example-error', errors: errors['styleguide-form-example-c'] %} +
    +
    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    + + +

    Containers

    + +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    Class
    pos-form
    +
    +

    Used for complex forms that needs more manual customized styling. No automatic labels styling, no automatic spacing between elements.

    +
    + +
    +
    +
    +
    +
    +
    +
    +
    Class
    pos-form pos-form-simple
    +
    +

    Used for simple forms that can be styled automatically. Styles the labels and spacing between items as well. You can just throw this class onto the container and forget about styling each separate control.

    +
    + +
    + +

    Rows

    + +
    +
    +
    +
    Class
    pos-form-fieldset
    +
    Properties
    --pos-gap-text-text
    +
    +{% capture code %}{% raw %} +
    + +
    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    Class
    pos-form-fieldset-combined
    +
    +{% capture code %}{% raw %} +
    + +
    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +

    Form actions

    +
    +
    +
    +
    +
    +
    +{% capture code %}{% raw %} +
    + +
    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    + + +

    Labels

    + +
    + {% render 'modules/common-styling/tip', content: 'Labels that are placed in a fieldset that has a reqired input will automatically be marked with an asterisk.' %} +
    +
    +
    +
    + + +
    +
    +
    + {% capture code %}{% raw %} + + {% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + +
    + +
    +

    Radio

    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    +

    Checkbox

    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + + +

    Text inputs

    + +
    + +
    +
    + +
    +
    Class
    pos-form-input
    +
    +
    +{% capture code %}{% raw %} + +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    + + {% render 'modules/common-styling/tip', content: 'When overwriting the <input> classes, please remember to also overwrite the debug classes used in the style guide: pos-debug-form-input-hover, pos-debug-form-input-focus-visible.' %} +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PlaceholderFilled
    Default
    Hover
    Focused
    Disabled
    Error
    +
    + +
    + +
    + +
    +
    + +
    +
    Class
    pos-form-input
    +
    +
    + {% capture code %}{% raw %} + + {% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    + + {% render 'modules/common-styling/tip', content: 'When overwriting the <input> classes, please remember to also overwrite the debug classes used in the style guide: pos-debug-form-input-hover, pos-debug-form-input-focus-visible.' %} +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    PlaceholderFilled
    Default
    Hover
    Focused
    Disabled
    Error
    +
    +
    + + +

    Markdown editor

    + {% render 'modules/common-styling/forms/markdown', id: 'styleguide-markdown-editor', name: 'styleguide-markdown-editor' %} + +{% capture code %}{% raw %} +{% render 'modules/common-styling/forms/markdown', + id: 'styleguide-markdown-editor', + name: 'styleguide-markdown-editor', + presigned_upload: presigned_upload +%} +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    + + +

    Password input

    + +
    +
    +
    +
    name
    Input name attribute string
    +
    id
    Input id attribute string
    +
    value
    Current input value string
    +
    class
    Class list added to input container string
    +
    meter
    If you want to show the password strength meter bool
    +
    + {% render 'modules/common-styling/tip', content: 'Strong passwords consists of small and capitalized letters, numbers, special signs and are at least 6 characters long. Remember to provide clear instructios for your users.' %} +
    +
    +
    + {% render 'modules/common-styling/forms/password', name: 'styleguide-form-password-test', id: 'styleguide-form-password-test', value: '123456', meter: true, class: null %} +
    +{% capture code %}{% raw %} +{% render 'modules/common-styling/forms/password', + name: 'styleguide-form-password-test', + value: '123', + id: 'styleguide-form-password-test', + meter: true +%} +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + + +

    Select

    + +
    +
    +
    +
    class
    pos-form-select
    +
    +
    +
    + + + +
    +
    + + +

    Multiselect

    + +
    +
    +
    +
    id
    Unique ID for the input string
    +
    list
    +
    + an array of objects with items to show, must include 'value' and 'label' array
    + [ { value: 'item1value', label: 'Item 1 label' }, { value: 'item2value', label: 'Item 2 label' } ] +
    +
    selected
    +
    + array with selected values (the same as in the 'list') array
    + [ 'item2value' ] +
    +
    form
    the <form> element that the multiselect corresponds to string
    +
    name
    the name="" property for the multiselect checkboxes string
    +
    required
    at least one option is required bool
    +
    combine_selected
    if you want to combine selected items into a single element ('2 selected' instead of displaying names) bool
    +
    multiline
    if you want the list to extend vertically if there are more items than fit the single line bool
    +
    showFilter
    allow to filter the list of options with a text input bool
    +
    placeholder
    translation key for the main select input placeholder string
    +
    placeholder_filter
    translation key for the filter input placeholder string
    +
    placeholder_empty
    translation key shown when the filter brings no results string
    +
    +
    +
    +
    + {% liquid + assign example_list = '' | split: '' + + for i in (i..10) + assign value = 'value' | append: i + assign label = 'Label for value ' | append: i + assign example_item = {"value": value, "label": label} + assign example_list = example_list << example_item + assign selected = ["value0", "value5", "value6"] + endfor + %} + {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-1', id: 'styleguide-form-multiselect-test-1', list: example_list, showFilter: true, combine_selected: true, selected: selected, required: null, multiline: null, form: null %} + {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-2', id: 'styleguide-form-multiselect-test-2', list: example_list, showFilter: true, selected: selected, required: null, multiline: null, combine_selected: null, form: null %} + {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-3', id: 'styleguide-form-multiselect-test-3', list: example_list, showFilter: false, multiline: true, selected: selected, required: null, combine_selected: null, form: null %} + {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-4', id: 'styleguide-form-multiselect-test-4', list: example_list, selected: selected, showFilter: true, combine_selected: true, required: null, multiline: null, form: null %} +
    +{% capture code %}{% raw %} +{% render 'modules/common-styling/forms/multiselect', + name: 'styleguide-form-multiselect-test', + id: 'styleguide-form-multiselect-test' +%} +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + + +

    Error handling

    + +

    There are two partials that can be helpful when dealing with forms validation. One can be added to the input itself to handle usability code and the other can output the error message.

    + + {% liquid + assign errors = { "styleguide-example-error": ["This is a field with two errors", "This is the second error"] } + %} +
    + + {% render 'modules/common-styling/forms/error_list', name: 'styleguide-example-error', errors: errors['styleguide-example-error'] %} +{% capture code %}{% raw %} + + +{% render 'modules/common-styling/forms/error_list', name: 'styleguide-example-error', errors: errors['styleguide-example-error'] %} +{% endraw %}{% endcapture %} +
    +
    +
    {{ code | lstrip | rstrip }}
    +
    + +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/gradients.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/gradients.liquid new file mode 100644 index 0000000..f677fe1 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/gradients.liquid @@ -0,0 +1,14 @@ +
    +

    Gradients and shadows

    + +

    Increasing text legibility over images

    +

    When placing text on top of an image, you may need to improve legibility and ensure the contrast stays high. You can achieve this with the eased gradient available through the CSS custom property --pos-gradient-legibility or by using the pre-defined class pos-increaseLegibility. Use the class with caution, as it relies on relative positioning and may affect your layout in some cases.

    +
    +
    Class
    pos-increaseLegibility
    +
    Properties
    --pos-gradient-legibility
    +
    + + +

    The quick brown fox

    +
    +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/headings.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/headings.liquid new file mode 100644 index 0000000..6cea2d5 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/headings.liquid @@ -0,0 +1,96 @@ +
    +

    Headings

    + +

    Heading 1

    +
    +
    +
    Class
    pos-heading-1
    +
    Font family
    +
    Color
    +
    Size
    +
    Weight
    +
    Line height
    +
    +
    + + The quick brown fox jumps over the lazy dog + +{% capture code %}{% raw %} +

    The quick brown fox jumps over the lazy dog

    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + +

    Heading 2

    +
    +
    +
    Class
    pos-heading-2
    +
    Font family
    +
    Color
    +
    Size
    +
    Weight
    +
    Line height
    +
    +
    + + The quick brown fox jumps over the lazy dog + +{% capture code %}{% raw %} +

    The quick brown fox jumps over the lazy dog

    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + +

    Heading 3

    +
    +
    +
    Class
    pos-heading-3
    +
    Font family
    +
    Color
    +
    Size
    +
    Weight
    +
    Line height
    +
    +
    + + The quick brown fox jumps over the lazy dog + +{% capture code %}{% raw %} +

    The quick brown fox jumps over the lazy dog

    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + +

    Heading 4

    +
    +
    +
    Class
    pos-heading-4
    +
    Font family
    +
    Color
    +
    Size
    +
    Weight
    +
    Line height
    +
    +
    + + The quick brown fox jumps over the lazy dog + +{% capture code %}{% raw %} +

    The quick brown fox jumps over the lazy dog

    +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/icons.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/icons.liquid new file mode 100644 index 0000000..cb3f910 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/icons.liquid @@ -0,0 +1,12 @@ +
    +

    Icons

    +{% capture code %}{% raw %} +{% render 'modules/common-styling/icon', icon: 'dashDown' %} +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
      + {% render 'modules/common-styling/icon', icon: 'all' %} +
    +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/initialization.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/initialization.liquid new file mode 100644 index 0000000..15c7b4c --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/initialization.liquid @@ -0,0 +1,32 @@ +
    +

    Initialization

    +
    +
    +

    All of the following CSS (except CSS custom properties) are scoped to container that uses pos-app class. You can apply this class to the root html tag to style your entire app, or add it to a specific container to limit the scope.

    +{% capture code %}{% raw %} + +… +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    + +

    Dark mode

    +

    To enable dark mode, add the pos-theme-darkEnabled class to the same container. This will switch the theme automatically based on the user’s system settings. If you want to force dark mode manually, use the pos-theme-dark class instead.

    +{% capture code %}{% raw %} + +… +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    +
    +
    Initialize common styling class
    pos-app
    +
    Enable automatic dark mode class
    pos-theme-darkEnabled
    +
    Manually turn on dark theme class
    pos-theme-dark
    +
    +
    +
    +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/links.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/links.liquid new file mode 100644 index 0000000..74916a7 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/links.liquid @@ -0,0 +1,48 @@ + diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/navigation.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/navigation.liquid new file mode 100644 index 0000000..1360c16 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/navigation.liquid @@ -0,0 +1,219 @@ + diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/spacings.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/spacings.liquid new file mode 100644 index 0000000..df6bda0 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/spacings.liquid @@ -0,0 +1,31 @@ +
    + +

    Spacings

    + +
    + +
    +
    +
    +
    +
    +
    +
    Class
    pos-gap-section-section, pos-mt-section-section
    +
    Properties
    --pos-gap-section-section
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    Class
    pos-gap-text-text, pos-mt-text-text
    +
    Properties
    --pos-gap-text-text
    +
    +
    + +
    + +
    \ No newline at end of file diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/tables.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/tables.liquid new file mode 100644 index 0000000..d6d9468 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/tables.liquid @@ -0,0 +1,159 @@ +
    +

    Tables

    + +
    + {% capture code %}{% raw %} +
    +
    +
    Column 1
    +
    Column 2
    +
    Column 3
    +
    +
    +
      +
    • + Column 1 + Content 1 +
    • +
    • + Column 1 + Content 2 +
    • +
    • + Column 3 + 321 +
    • +
    +
    +
    + {% endraw %}{% endcapture %} +
    +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    +
    +
    +
    +
    Column 1
    +
    Column 2
    +
    Column 3
    +
    +
    +
      +
    • + Column 1 + Content 1 +
    • +
    • + Column 1 + Content 2 +
    • +
    • + Column 3 + 321 +
    • +
    +
      +
    • + Column 1 + Content 2 +
    • +
    • + Column 2 + Content 2 +
    • +
    • + Column 3 + 123 +
    • +
    +
    +
    +
    +
    +
    class
    pos-table
    +
    props
    --pos-padding-cell
    +
    +
    +
    + +
    + {% capture code %}{% raw %} +
    +
    +
    Column 1
    +
    Column 2
    +
    Column 3
    +
    +
    +
      +
    • + Column 1 + Content 1 +
    • +
    • + Column 1 + Content 2 +
    • +
    • + Column 3 + 321 +
    • +
    +
    +
    + {% endraw %}{% endcapture %} +
    +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    +
    +
    +
    +
    Column 1
    +
    Column 2
    +
    Column 3
    +
    +
    +
      +
    • + Column 1 + Content 1 +
    • +
    • + Column 1 + Content 2 +
    • +
    • + Column 3 + 321 +
    • +
    +
      +
    • + Column 1 + Content 2 +
    • +
    • + Column 2 + Content 2 +
    • +
    • + Column 3 + 123 +
    • +
    +
    +
    +
    +
    +
    class
    pos-table
    +
    props
    --pos-padding-cell
    +
    +
    +
    +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/tags.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/tags.liquid new file mode 100644 index 0000000..cd2bf7d --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/tags.liquid @@ -0,0 +1,58 @@ +
    + +

    Tags and badges

    + +
    + +
    +
    Class
    pos-tag
    +
    Modifiers
    pos-tag-confirmation, pos-tag-warning, pos-tag-important, pos-tag-interactive
    +
    Properties
    --pos-radius-tag
    +
    + +
    +
    +
      +
    • Default
    • +
    • Confirmation
    • +
    • Warning
    • +
    • Important
    • +
    • Interactive
    • +
    +
    + {% capture code %}{% raw %} + Confirmation + {% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    + +
    + +

    Tags list

    + +
    + +
    +
    Class
    pos-tags-list
    +
    Properties
    --pos-gap-tag-tag
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    \ No newline at end of file diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/text-styles.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/text-styles.liquid new file mode 100644 index 0000000..9b471a4 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/text-styles.liquid @@ -0,0 +1,78 @@ +
    +

    Text styles

    +

    Sidenote

    +
    +
    +
    Class
    pos-supplementary
    +
    Font family
    +
    Color
    +
    Size
    +
    Weight
    +
    Line height
    +
    +
    + + The quick brown fox jumps over the lazy dog + +{% capture code %}{% raw %} +The quick brown fox jumps over the lazy dog +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + +

    Tip

    +
    +
    +
    Class
    pos-tip
    +
    Font family
    +
    Color
    +
    Size
    +
    Weight
    +
    Line height
    +
    +
    + + {% render 'modules/common-styling/tip', content: 'The quick brown fox jumps over the lazy dog' %} + + {% capture code %}{% raw %} + {% render 'modules/common-styling/tip', content: 'The quick brown fox jumps over the lazy dog' %} + {% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    +
    + + +
    + +

    Long text

    + +
    +
    Class
    +
    pos-prose
    +
    + +
    +

    Lorem ipsum dolor

    +

    Phasellus ultricies porta dui ac dapibus. Donec ipsum mi, interdum id turpis vel, aliquam ullamcorper orci.

    +

    Donec accumsan dignissim ligula, vitae imperdiet velit varius a. Phasellus quis elementum nibh. Suspendisse suscipit nisl sit amet quam tincidunt, in fermentum est mattis. Vivamus volutpat sagittis mattis. Praesent eu dapibus enim, in dignissim eros.

    + +
    Donec laoreet vitae
    +

    Cras consequat, ipsum id consectetur elementum, nisl nulla blandit neque, ut commodo neque nisl non sapien. Integer rhoncus nisl semper nulla iaculis fringilla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

    +

    Morbi venenatis condimentum dolor, sit amet consequat est blandit eu. Nam dapibus mollis cursus.

    +
      +
    1. Maecenas elementum nisi dolor, id viverra orci pretium placerat. Duis a elit quis purus pharetra vehicula. Vestibulum eu venenatis nisi.
    2. +
    3. Ut ante ex, ultrices non commodo ut, dictum at nibh.
    4. +
    +
      +
    • Fusce non est in mi dignissim dictum sit amet a urna.
    • +
    • Nunc in turpis sit amet purus hendrerit tincidunt nec eu quam.
    • +
    +
    + +
    \ No newline at end of file diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/toasts.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/toasts.liquid new file mode 100644 index 0000000..bc76b94 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/toasts.liquid @@ -0,0 +1,66 @@ +
    +

    Toasts

    + +
    +
    +

    A standard platformOS way of showing toast notifications would be to store and get the messages in the session.

    +

    Adding the following code to your application `layout` file will initialize the module:

    + + {% capture code %}{% raw %} +{% liquid + function flash = 'modules/core/commands/session/get', key: 'sflash' + if context.location.pathname != flash.from or flash.force_clear + function _ = 'modules/core/commands/session/clear', key: 'sflash' + endif + render 'modules/common-styling/toasts', params: flash +%} + {% endraw %}{% endcapture %} + +
    +
    {{ code | lstrip | rstrip }}
    +
    + +

    Then, you can use the following JavaScript to show a message on page:

    + {% capture code %}{% raw %} + new pos.modules.toast('[severity]', '[message]'); + {% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    + +
    +
    severity
    how important the message is - error, success, info string
    +
    message
    user-readable message for the toast notification string
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/upload.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/upload.liquid new file mode 100644 index 0000000..c2b79de --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/upload.liquid @@ -0,0 +1,90 @@ +
    +

    File upload

    + +
    +
    +
    + {% render 'modules/common-styling/forms/upload', + id: 'styleguide-upload-1', + presigned_upload: context.presigned_upload, + name: 'styleguide-upload-1' + %} +
    +{% capture code %}{% raw %} +{% render 'modules/common-styling/forms/upload', + id: 'styleguide-upload-1', + presigned_upload: presigned_upload, + name: 'styleguide-upload-1' +%} +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    + +
    +
    + {% parse_json files %} + [ + { + "id": "1", + "file": { + "url": "https://cdn.staging.oregon.platform-os.com/instances/12434/property_uploads/uploads/upload/ba62e7f2-1217-4d5c-b599-531632062cd7/nowy.png" + } + }, + { + "id": "2", + "file": { + "url": "https://cdn.staging.oregon.platform-os.com/instances/12434/property_uploads/uploads/upload/1dcf38fb-ae99-48a7-a587-5487e9494b41/test.txt" + } + } + ] + {% endparse_json %} + {% render 'modules/common-styling/forms/upload', + id: 'styleguide-upload-2', + presigned_upload: context.presigned_upload, + name: 'styleguide-upload-2', + files: files + %} +
    +{% capture code %}{% raw %} +{% parse_json files %} + [ + { + "id": "1", + "file": { + "url": "https://cdn.staging.oregon.platform-os.com/instances/12434/property_uploads/uploads/upload/ba62e7f2-1217-4d5c-b599-531632062cd7/nowy.png" + } + }, + { + "id": "2", + "file": { + "url": "https://cdn.staging.oregon.platform-os.com/instances/12434/property_uploads/uploads/upload/1dcf38fb-ae99-48a7-a587-5487e9494b41/test.txt" + } + } + ] +{% endparse_json %} + +{% render 'modules/common-styling/forms/upload', + id: 'styleguide-upload-2', + presigned_upload: presigned_upload, + name: 'styleguide-upload-2', + files: files +%} +{% endraw %}{% endcapture %} +
    +
    {{ code | lstrip | rstrip }}
    +
    +
    +
    + +
    +
    name
    string, required name for the <input> with the URLs of uploaded images
    +
    presigned_upload
    object, required presigned upload data (upload url and payload) returned from a property_upload_presigned_url query
    +
    files
    array of objects files that were uploaded before and you want them to be shown as already uploaded, should be a result of querying property_upload
    +
    image_editor_enabled
    bool if you want to allow editing of images inside the upload dashboard
    +
    allowed_file_types
    array of strings allowed file types, e.g. ['image/*', '.jpg', '.jpeg', '.png', '.gif']
    +
    max_number_of_files
    int total number of files that can be selected
    +
    aspect_ratio
    float aspect ratio for the image editor cropping tool, e.g. 1 for square, 1.78 for widescreen
    +
    +
    \ No newline at end of file diff --git a/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid b/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid new file mode 100644 index 0000000..34d9056 --- /dev/null +++ b/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid @@ -0,0 +1,38 @@ +{% liquid + assign name = first_name | append: ' ' | append: last_name +%} + + +
    + + + {% render 'modules/common-styling/user/avatar', size: 'xxl', name: name, imageSrc: imageSrc %} + {{ name }} + + +
    + {% if job_title != blank %} + {{ job_title }} + {% endif %} + {% if employer != blank %} + {{ 'modules/community/app.at' | t: default: 'at' }} {{ employer }}{% if location != blank %}, {{ location }} {% endif %} + {% endif %} +
    + + + +
    diff --git a/pos-module-user/modules/common-styling/template-values.json b/pos-module-user/modules/common-styling/template-values.json index 358ee2c..f34e909 100644 --- a/pos-module-user/modules/common-styling/template-values.json +++ b/pos-module-user/modules/common-styling/template-values.json @@ -2,6 +2,6 @@ "name": "platformOS common styling", "machine_name": "common-styling", "type": "module", - "version": "1.11.0", + "version": "1.37.6", "dependencies": {} } \ No newline at end of file diff --git a/pos-module-user/modules/core/generators/command/index.js b/pos-module-user/modules/core/generators/command/index.js index 329fd3f..29fb67e 100644 --- a/pos-module-user/modules/core/generators/command/index.js +++ b/pos-module-user/modules/core/generators/command/index.js @@ -1,9 +1,9 @@ -const Generator = require('yeoman-generator'); -const path = require('path'); -const pluralize = require('pluralize'); -const fs = require('fs'); +import Generator from 'yeoman-generator'; +import path from 'path'; +import pluralize from 'pluralize'; +import fs from 'fs'; -module.exports = class extends Generator { +export default class extends Generator { constructor(args, opts) { super(args, opts); diff --git a/pos-module-user/modules/core/generators/crud/index.js b/pos-module-user/modules/core/generators/crud/index.js index a97a592..af396c0 100644 --- a/pos-module-user/modules/core/generators/crud/index.js +++ b/pos-module-user/modules/core/generators/crud/index.js @@ -1,8 +1,8 @@ -const Generator = require('yeoman-generator'); -const pluralize = require('pluralize'); -const startCase = require('lodash.startcase'); +import Generator from 'yeoman-generator'; +import pluralize from 'pluralize'; +import startCase from 'lodash.startcase'; -module.exports = class extends Generator { +export default class extends Generator { constructor(args, opts) { super(args, opts); diff --git a/pos-module-user/modules/core/generators/crud/templates/views/pages/model/new.liquid b/pos-module-user/modules/core/generators/crud/templates/views/pages/model/new.liquid index b2593b2..43c1b24 100644 --- a/pos-module-user/modules/core/generators/crud/templates/views/pages/model/new.liquid +++ b/pos-module-user/modules/core/generators/crud/templates/views/pages/model/new.liquid @@ -1,4 +1,4 @@ {% liquid assign object = {} render 'theme/simple/<%= modelNamePlural %>/new', object: object -%} + %} diff --git a/pos-module-user/modules/core/package-lock.json b/pos-module-user/modules/core/package-lock.json index 23048d8..655962c 100644 --- a/pos-module-user/modules/core/package-lock.json +++ b/pos-module-user/modules/core/package-lock.json @@ -11,192 +11,55 @@ "devDependencies": { "auto-changelog": "^2.4.0", "lodash.startcase": "^4.4.0", - "pluralize": "^8.0.0", - "yeoman-generator": "^5.9.0" + "pluralize": "^8.0.0" + }, + "peerDependencies": { + "yeoman-generator": "^7.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" + "debug": "^4.1.1" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "license": "MIT" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -209,7 +72,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -218,7 +81,7 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -227,513 +90,356 @@ "node": ">= 8" } }, - "node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, + "node_modules/@octokit/auth-token": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 18" } }, - "node_modules/@npmcli/git": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", - "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", - "dev": true, + "node_modules/@octokit/core": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", + "license": "MIT", + "peer": true, "dependencies": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" + "node": ">= 18" } }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, + "node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 18" } }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", - "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", - "dev": true, + "node_modules/@octokit/graphql": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "license": "MIT", "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "lib/index.js" + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 18" } }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" }, - "node_modules/@npmcli/promise-spawn": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", - "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", - "dev": true, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", + "license": "MIT", "dependencies": { - "which": "^3.0.0" + "@octokit/types": "^13.10.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" } }, - "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "@octokit/openapi-types": "^24.2.0" } }, - "node_modules/@npmcli/run-script": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", - "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", - "dev": true, - "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" - }, + "node_modules/@octokit/plugin-request-log": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" } }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==", + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/which.js" + "@octokit/types": "^13.10.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.0.3" - } - }, - "node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "dev": true, - "dependencies": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", - "dev": true, - "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", - "dev": true - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.21.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", - "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", - "dev": true, - "dependencies": { - "@octokit/types": "^6.40.0" + "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=2" + "@octokit/core": ">=6" } }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true, - "peerDependencies": { - "@octokit/core": ">=3" - } + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "license": "MIT" }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", - "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", - "dev": true, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" - }, - "peerDependencies": { - "@octokit/core": ">=3" + "@octokit/openapi-types": "^24.2.0" } }, "node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", - "dev": true, + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", + "license": "MIT", "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", - "dev": true, + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/rest": { - "version": "18.12.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", - "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", - "dev": true, + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", + "license": "MIT", "dependencies": { - "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.16.8", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" + }, + "engines": { + "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", - "dev": true, + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/openapi-types": "^25.1.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", "engines": { - "node": ">=14" + "node": ">=12.22.0" } }, - "node_modules/@sigstore/bundle": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz", - "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==", - "dev": true, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", "dependencies": { - "@sigstore/protobuf-specs": "^0.2.0" + "graceful-fs": "4.2.10" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", - "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12.22.0" } }, - "node_modules/@sigstore/sign": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz", - "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==", - "dev": true, + "node_modules/@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "license": "MIT", "dependencies": { - "@sigstore/bundle": "^1.1.0", - "@sigstore/protobuf-specs": "^0.2.0", - "make-fetch-happen": "^11.0.1" + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/@sigstore/tuf": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz", - "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==", - "dev": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.2.0", - "tuf-js": "^1.1.7" - }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" + "node_modules/@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", + "license": "MIT" + }, + "node_modules/@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" } }, - "node_modules/@tufjs/canonical-json": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", - "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node_modules/@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~7.16.0" } }, - "node_modules/@tufjs/models": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", - "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", - "dev": true, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "license": "MIT" + }, + "node_modules/@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "license": "MIT", "dependencies": { - "@tufjs/canonical-json": "1.0.0", - "minimatch": "^9.0.0" - }, + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "node_modules/@yeoman/namespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.1.tgz", + "integrity": "sha512-XGdYL0HCoPvrzW7T8bxD6RbCY/B8uvR2jpOzJc/yEwTueKHwoVhjSLjVXkokQAO0LNl8nQFLVZ1aKfr2eFWZeA==", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.13.0 || >=18.12.0" } }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", - "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, + "node_modules/@yeoman/types": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.9.1.tgz", + "integrity": "sha512-5BMdA/zMzLv/ahnL1ktaV46nSXorb4sU4kQPQKDhIcK8ERbx9TAbGAE+XAlCXKioNIiOrihYj6gW1d/GEfU9Zw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "dev": true, - "dependencies": { - "humanize-ms": "^1.2.1" + "node": "^16.13.0 || >=18.12.0" }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "peerDependencies": { + "@types/node": ">=16.18.26", + "@yeoman/adapter": "^1.6.0 || ^2.0.0-beta.0 || ^3.0.0 || ^4.0.0", + "mem-fs": "^3.0.0 || ^4.0.0-beta.1", + "mem-fs-editor": "^10.0.2 || >=10.0.2" }, - "engines": { - "node": ">=8" + "peerDependenciesMeta": { + "@yeoman/adapter": { + "optional": true + }, + "mem-fs": { + "optional": true + }, + "mem-fs-editor": { + "optional": true + } } }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, + "node_modules/array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==", + "license": "MIT", "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" }, "node_modules/auto-changelog": { "version": "2.4.0", @@ -754,160 +460,101 @@ "node": ">=8.3" } }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } }, "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "dev": true + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "license": "Apache-2.0" }, "node_modules/binaryextensions": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.18.0.tgz", - "integrity": "sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==", - "dev": true, + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, "engines": { - "node": ">=0.8" + "node": ">=4" }, "funding": { "url": "https://bevry.me/fund" } }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/cacache": { - "version": "17.1.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", - "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^7.7.1", - "minipass": "^7.0.3", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/cacache/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" + "node": ">=0.8" } }, "node_modules/commander": { @@ -923,25 +570,23 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "license": "MIT" }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -951,22 +596,13 @@ "node": ">= 8" } }, - "node_modules/dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -981,46 +617,32 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true, + "license": "MIT", "engines": { "node": ">=4.0.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, + "node_modules/editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "license": "Artistic-2.0", "dependencies": { - "path-type": "^4.0.0" + "version-range": "^4.15.0" }, "engines": { - "node": ">=8" + "ecmascript": ">= es5", + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dev": true, + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -1031,105 +653,81 @@ "node": ">=0.10.0" } }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" + "bare-events": "^2.7.0" } }, "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", - "dev": true + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" } }, "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -1138,7 +736,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, + "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } @@ -1147,7 +745,7 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -1156,10 +754,10 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -1167,188 +765,62 @@ "node": ">=8" } }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, + "node_modules/find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", + "license": "MIT", "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, + "node_modules/first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==", + "license": "MIT", "engines": { - "node": ">=14" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/gauge/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/github-username": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/github-username/-/github-username-6.0.0.tgz", - "integrity": "sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==", - "dev": true, + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-9.0.0.tgz", + "integrity": "sha512-lY7+mymwQUEhRwWTLxieKkxcZkVNnUh8iAGnl30DMB1ZtYODHkMAckZk8Jx5dLQs1YKPYM2ibnzQu02aCLFcYQ==", + "license": "MIT", "dependencies": { - "@octokit/rest": "^18.0.6" + "@octokit/rest": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1356,46 +828,31 @@ "node": ">= 6" } }, - "node_modules/glob/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "license": "MIT", "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" }, "node_modules/handlebars": { "version": "4.7.7", @@ -1418,241 +875,68 @@ "uglify-js": "^3.1.4" } }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, "node_modules/hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, - "dependencies": { - "lru-cache": "^7.5.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", "dependencies": { - "agent-base": "6", - "debug": "4" + "lru-cache": "^10.0.1" }, "engines": { - "node": ">= 6" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", "engines": { - "node": ">=0.10.0" + "node": ">=16.17.0" } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", "engines": { "node": ">= 4" } }, - "node_modules/ignore-walk": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", - "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", - "dev": true, - "dependencies": { - "minimatch": "^9.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, + "node_modules/index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", + "license": "MIT", "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=18" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -1660,58 +944,52 @@ "node": ">=0.10.0" } }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true, + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "license": "MIT" + }, "node_modules/isbinaryfile": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz", - "integrity": "sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==", - "dev": true, + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.3.tgz", + "integrity": "sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==", + "license": "MIT", "engines": { - "node": ">= 14.0.0" + "node": ">= 18.0.0" }, "funding": { "url": "https://github.com/sponsors/gjtorikian/" @@ -1721,113 +999,69 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "license": "ISC" }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" + "bin": { + "jake": "bin/cli.js" }, "engines": { "node": ">=10" } }, - "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jake/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true, + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/ky": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", + "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/ky?sponsor=1" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, + "node_modules/latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", + "license": "MIT", "dependencies": { - "p-locate": "^4.1.0" + "package-json": "^10.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" }, "node_modules/lodash.startcase": { "version": "4.4.0", @@ -1836,103 +1070,80 @@ "dev": true }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-fetch-happen": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", - "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", - "dev": true, + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/mem-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.3.tgz", + "integrity": "sha512-+2zSUVKcDWgcF90mPPwyH4J814uRI1PJcVt2RZ4/E8VggPEiIEL7ikMTlPR91P2ZySkyPgD0YGrccwo55SZvnw==", + "license": "MIT", + "peer": true, "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/make-fetch-happen/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true, - "engines": { - "node": ">=12" + "node": ">=18.0.0" } }, "node_modules/mem-fs-editor": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.7.0.tgz", - "integrity": "sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg==", - "dev": true, + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.1.4.tgz", + "integrity": "sha512-Z4QX14Ev6eOVTuVSayS5rdiOua6C3gHcFw+n9Qc7WiaVTbC+H8b99c32MYGmbQN9UFHJeI/p3lf3LAxiIzwEmA==", + "license": "MIT", + "peer": true, "dependencies": { - "binaryextensions": "^4.16.0", + "@types/ejs": "^3.1.4", + "@types/node": ">=18", + "binaryextensions": "^6.11.0", "commondir": "^1.0.1", "deep-extend": "^0.6.0", - "ejs": "^3.1.8", - "globby": "^11.1.0", - "isbinaryfile": "^5.0.0", - "minimatch": "^7.2.0", - "multimatch": "^5.0.0", + "ejs": "^3.1.10", + "globby": "^14.0.2", + "isbinaryfile": "5.0.3", + "minimatch": "^9.0.3", + "multimatch": "^7.0.0", "normalize-path": "^3.0.0", - "textextensions": "^5.13.0" + "textextensions": "^6.11.0", + "vinyl": "^3.0.0" + }, + "acceptDependencies": { + "isbinaryfile": "^5.0.3" }, "engines": { - "node": ">=12.10.0" + "node": ">=18.0.0" }, "peerDependencies": { - "mem-fs": "^2.1.0" - }, - "peerDependenciesMeta": { - "mem-fs": { - "optional": true - } + "mem-fs": "^4.0.0" } }, "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "license": "MIT" }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -1940,800 +1151,260 @@ } }, "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", - "dev": true, + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true, + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "engines": { - "node": ">=8" - } + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, + "node_modules/multimatch": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-7.0.0.tgz", + "integrity": "sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^9.0.3" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-collect/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" + "node": ">=18" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", - "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "dev": true, "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "whatwg-url": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "4.x || >=6.0.0" }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-fetch/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" + "peerDependencies": { + "encoding": "^0.1.0" }, - "engines": { - "node": ">= 8" + "peerDependenciesMeta": { + "encoding": { + "optional": true + } } }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "license": "BSD-2-Clause", "dependencies": { - "yallist": "^4.0.0" + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", - "dev": true, - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, + "node_modules/package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "node_modules/parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "bin": { + "parse-github-url": "cli.js" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, + "node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", - "dev": true, - "dependencies": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/multimatch/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, - "node_modules/multimatch/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", "engines": { - "node": "*" + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=4" } }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-gyp": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", - "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^11.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^12.13 || ^14.13 || >=16" - } - }, - "node_modules/node-gyp/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/node-gyp/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/nopt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", - "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", - "dev": true, - "dependencies": { - "abbrev": "^1.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/normalize-package-data": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", - "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", - "dev": true, - "dependencies": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-bundled": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", - "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", - "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-install-checks": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.2.0.tgz", - "integrity": "sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==", - "dev": true, - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", - "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-package-arg": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", - "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-packlist": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", - "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", - "dev": true, - "dependencies": { - "ignore-walk": "^6.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-pick-manifest": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz", - "integrity": "sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==", - "dev": true, - "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", - "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", - "dev": true, - "dependencies": { - "make-fetch-happen": "^11.0.0", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pacote": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz", - "integrity": "sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==", - "dev": true, - "dependencies": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^5.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.3.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/parse-github-url": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", - "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", - "dev": true, - "bin": { - "parse-github-url": "cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-json/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, "funding": [ { "type": "github", @@ -2747,237 +1418,128 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, - "node_modules/read-package-json": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", - "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==", - "dev": true, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "bin": { + "rc": "cli.js" } }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", - "dev": true, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "license": "MIT", "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "node": ">=18" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "license": "MIT", "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, + "node_modules/read-pkg/node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "node": ">=18" }, - "engines": { - "node": ">= 6" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, + "node_modules/registry-auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", + "license": "MIT", "dependencies": { - "resolve": "^1.1.6" + "@pnpm/npm-conf": "^3.0.2" }, "engines": { - "node": ">= 0.10" + "node": ">=14" } }, - "node_modules/resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "dev": true, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "rc": "1.2.8" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC" + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">= 10" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "funding": [ { "type": "github", @@ -2992,220 +1554,93 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true - }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/shelljs/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/shelljs/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/shelljs/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" + "semver": "bin/semver.js" }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sigstore": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz", - "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==", - "dev": true, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", "dependencies": { - "@sigstore/bundle": "^1.1.0", - "@sigstore/protobuf-specs": "^0.2.0", - "@sigstore/sign": "^1.0.0", - "@sigstore/tuf": "^1.0.3", - "make-fetch-happen": "^11.0.1" - }, - "bin": { - "sigstore": "bin/sigstore.js" + "shebang-regex": "^3.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/slash": { + "node_modules/shebang-regex": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dev": true, + "node_modules/simple-git": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", + "license": "MIT", "dependencies": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.4.0" }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 3.0.0" + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" } }, - "node_modules/socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", "engines": { - "node": ">= 10" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", - "dev": true, + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", + "license": "MIT", "dependencies": { - "is-plain-obj": "^2.0.0" + "is-plain-obj": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3224,247 +1659,130 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, + "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" }, "node_modules/spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, + "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz", - "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==", - "dev": true - }, - "node_modules/ssri": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", - "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/ssri/node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "license": "CC0-1.0" + }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "license": "MIT", "dependencies": { - "safe-buffer": "~5.2.0" + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" } }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, + "node_modules/strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", + "license": "MIT", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "is-utf8": "^0.2.1" }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, + "node_modules/strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "license": "MIT", "dependencies": { - "ansi-regex": "^6.0.1" + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" }, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" + "streamx": "^2.12.5" } }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" + "b4a": "^1.6.4" } }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "node_modules/textextensions": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-5.16.0.tgz", - "integrity": "sha512-7D/r3s6uPZyU//MCYrX6I14nzauDwJ5CxazouuRGNuvSCihW87ufN6VLoROLCrHg6FblLuJrT6N2BVaPVzqElw==", - "dev": true, + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, "engines": { - "node": ">=0.8" + "node": ">=4" }, "funding": { "url": "https://bevry.me/fund" @@ -3474,7 +1792,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -3488,27 +1806,16 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "node_modules/tuf-js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz", - "integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==", - "dev": true, - "dependencies": { - "@tufjs/models": "1.0.4", - "debug": "^4.3.4", - "make-fetch-happen": "^11.1.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/uglify-js": { @@ -3524,281 +1831,156 @@ "node": ">=0.8.0" } }, - "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" }, - "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", - "dev": true, - "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wide-align/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, + "node_modules/version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==", + "license": "Artistic-2.0", "engines": { - "node": ">=8" + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" } }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, + "node_modules/vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=10.13.0" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, + "node_modules/vinyl-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", + "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", "dev": true }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", "dependencies": { - "ansi-regex": "^5.0.1" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" + "bin": { + "node-which": "bin/node-which" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">= 8" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, "node_modules/yeoman-generator": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.9.0.tgz", - "integrity": "sha512-sN1e01Db4fdd8P/n/yYvizfy77HdbwzvXmPxps9Gwz2D24slegrkSn+qyj+0nmZhtFwGX2i/cH29QDrvAFT9Aw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "dargs": "^7.0.0", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.5.1.tgz", + "integrity": "sha512-MYncRvzSTd71BMwiUMAVhfX00sDD8DZDrmPzRxQkWuWQ0V1Qt4Rd0gS/Nee2QDTWvRjvCa+KBfiAVrtOySq+JA==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@types/lodash-es": "^4.17.9", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", "debug": "^4.1.1", - "execa": "^5.1.1", - "github-username": "^6.0.0", - "lodash": "^4.17.11", - "mem-fs-editor": "^9.0.0", - "minimist": "^1.2.5", - "pacote": "^15.2.0", - "read-pkg-up": "^7.0.1", - "run-async": "^2.0.0", - "semver": "^7.2.1", - "shelljs": "^0.8.5", - "sort-keys": "^4.2.0", + "execa": "^8.0.1", + "github-username": "^9.0.0", + "json-schema": "^0.4.0", + "latest-version": "^9.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.1", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", "text-table": "^0.2.0" }, "engines": { - "node": ">=12.10.0" + "node": "^18.17.0 || >=20.5.0" }, "peerDependencies": { - "yeoman-environment": "^3.2.0" + "@types/node": ">=18.18.5", + "@yeoman/types": "^1.1.1", + "mem-fs": "^4.0.0" }, "peerDependenciesMeta": { - "yeoman-environment": { + "@types/node": { "optional": true } } @@ -3806,155 +1988,37 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "dev": true, + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" } }, "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "dev": true, + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "debug": "^4.1.1" } }, - "@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "requires": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - } + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, "requires": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -3963,421 +2027,252 @@ "@nodelib/fs.stat": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" }, "@nodelib/fs.walk": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, "requires": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" } }, - "@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", - "dev": true, - "requires": { - "semver": "^7.3.5" - } - }, - "@npmcli/git": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.1.0.tgz", - "integrity": "sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==", - "dev": true, - "requires": { - "@npmcli/promise-spawn": "^6.0.0", - "lru-cache": "^7.4.4", - "npm-pick-manifest": "^8.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^3.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true - }, - "which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "@npmcli/installed-package-contents": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", - "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", - "dev": true, - "requires": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - } - }, - "@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", - "dev": true - }, - "@npmcli/promise-spawn": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", - "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", - "dev": true, - "requires": { - "which": "^3.0.0" - }, - "dependencies": { - "which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "@npmcli/run-script": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", - "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", - "dev": true, - "requires": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/promise-spawn": "^6.0.0", - "node-gyp": "^9.0.0", - "read-package-json-fast": "^3.0.0", - "which": "^3.0.0" - }, - "dependencies": { - "which": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", - "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, "@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", - "dev": true, - "requires": { - "@octokit/types": "^6.0.3" - } + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==" }, "@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", - "dev": true, + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", + "peer": true, "requires": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" } }, "@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", - "dev": true, + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", "requires": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" } }, "@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", - "dev": true, + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", "requires": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" } }, "@octokit/openapi-types": { - "version": "12.11.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", - "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", - "dev": true + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==" }, "@octokit/plugin-paginate-rest": { - "version": "2.21.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", - "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", - "dev": true, + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", "requires": { - "@octokit/types": "^6.40.0" + "@octokit/types": "^13.10.0" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" + }, + "@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "requires": { + "@octokit/openapi-types": "^24.2.0" + } + } } }, "@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true, + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", "requires": {} }, "@octokit/plugin-rest-endpoint-methods": { - "version": "5.16.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", - "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", - "dev": true, + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==", "requires": { - "@octokit/types": "^6.39.0", - "deprecation": "^2.3.1" + "@octokit/types": "^13.10.0" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" + }, + "@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "requires": { + "@octokit/openapi-types": "^24.2.0" + } + } } }, "@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", - "dev": true, + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" } }, "@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", - "dev": true, + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", "requires": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^14.0.0" } }, "@octokit/rest": { - "version": "18.12.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", - "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", - "dev": true, + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", "requires": { - "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.16.8", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^5.12.0" + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" } }, "@octokit/types": { - "version": "6.41.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", - "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", - "dev": true, + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", "requires": { - "@octokit/openapi-types": "^12.11.0" + "@octokit/openapi-types": "^25.1.0" } }, - "@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true - }, - "@sigstore/bundle": { + "@pnpm/config.env-replace": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-1.1.0.tgz", - "integrity": "sha512-PFutXEy0SmQxYI4texPw3dd2KewuNqv7OuK1ZFtY2fM754yhvG2KdgwIhRnoEE2uHdtdGNQ8s0lb94dW9sELog==", - "dev": true, - "requires": { - "@sigstore/protobuf-specs": "^0.2.0" - } - }, - "@sigstore/protobuf-specs": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.2.1.tgz", - "integrity": "sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==", - "dev": true - }, - "@sigstore/sign": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-1.0.0.tgz", - "integrity": "sha512-INxFVNQteLtcfGmcoldzV6Je0sbbfh9I16DM4yJPw3j5+TFP8X6uIiA18mvpEa9yyeycAKgPmOA3X9hVdVTPUA==", - "dev": true, - "requires": { - "@sigstore/bundle": "^1.1.0", - "@sigstore/protobuf-specs": "^0.2.0", - "make-fetch-happen": "^11.0.1" - } + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==" }, - "@sigstore/tuf": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-1.0.3.tgz", - "integrity": "sha512-2bRovzs0nJZFlCN3rXirE4gwxCn97JNjMmwpecqlbgV9WcxX7WRuIrgzx/X7Ib7MYRbyUTpBYE0s2x6AmZXnlg==", - "dev": true, + "@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", "requires": { - "@sigstore/protobuf-specs": "^0.2.0", - "tuf-js": "^1.1.7" + "graceful-fs": "4.2.10" } }, - "@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true - }, - "@tufjs/canonical-json": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", - "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", - "dev": true - }, - "@tufjs/models": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", - "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", - "dev": true, + "@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", "requires": { - "@tufjs/canonical-json": "1.0.0", - "minimatch": "^9.0.0" - }, - "dependencies": { - "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" } }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true + "@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==" }, - "@types/normalize-package-data": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz", - "integrity": "sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A==", - "dev": true + "@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==" }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true + "@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "requires": { - "debug": "4" - } + "@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==" }, - "agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "dev": true, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", "requires": { - "humanize-ms": "^1.2.1" + "@types/lodash": "*" } }, - "aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, + "@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "peer": true, "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "undici-types": "~7.16.0" } }, - "ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, + "@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", "requires": { - "color-convert": "^2.0.1" + "@types/expect": "^1.20.4", + "@types/node": "*" } }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true - }, - "are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "dev": true, - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } + "@yeoman/namespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.1.tgz", + "integrity": "sha512-XGdYL0HCoPvrzW7T8bxD6RbCY/B8uvR2jpOzJc/yEwTueKHwoVhjSLjVXkokQAO0LNl8nQFLVZ1aKfr2eFWZeA==" + }, + "@yeoman/types": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.9.1.tgz", + "integrity": "sha512-5BMdA/zMzLv/ahnL1ktaV46nSXorb4sU4kQPQKDhIcK8ERbx9TAbGAE+XAlCXKioNIiOrihYj6gW1d/GEfU9Zw==", + "peer": true, + "requires": {} }, "array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==" }, "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==" }, "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" }, "auto-changelog": { "version": "2.4.0", @@ -4392,127 +2287,61 @@ "semver": "^7.3.5" } }, + "b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "requires": {} + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "requires": {} }, "before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "dev": true + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" }, "binaryextensions": { - "version": "4.18.0", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-4.18.0.tgz", - "integrity": "sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==", - "dev": true + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "requires": { + "editions": "^6.21.0" + } }, "brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "requires": { "balanced-match": "^1.0.0" } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "requires": { - "semver": "^7.0.0" - } - }, - "cacache": { - "version": "17.1.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz", - "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==", - "dev": true, + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "requires": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^7.7.1", - "minipass": "^7.0.3", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true - }, - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true - } + "fill-range": "^7.1.1" } }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==" }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" }, "commander": { "version": "7.2.0", @@ -4523,173 +2352,106 @@ "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dev": true + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" } }, - "dargs": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz", - "integrity": "sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==", - "dev": true - }, "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "requires": { - "ms": "2.1.2" + "ms": "^2.1.3" } }, "deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dev": true - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, + "editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", "requires": { - "path-type": "^4.0.0" + "version-range": "^4.15.0" } }, - "eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dev": true, + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "requires": { "jake": "^10.8.5" } }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - } - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, + "events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", "requires": { - "is-arrayish": "^0.2.1" + "bare-events": "^2.7.0" } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true - }, "execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "requires": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" } }, - "exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", - "dev": true + "fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==" + }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" }, "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" } }, "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", "requires": { "reusify": "^1.0.4" } @@ -4698,7 +2460,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, "requires": { "minimatch": "^5.0.1" }, @@ -4707,7 +2468,6 @@ "version": "5.1.6", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, "requires": { "brace-expansion": "^2.0.1" } @@ -4715,182 +2475,61 @@ } }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "requires": { "to-regex-range": "^5.0.1" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "dependencies": { - "signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true - } - } - }, - "fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "requires": { - "minipass": "^7.0.3" - }, - "dependencies": { - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true - } - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==" }, - "gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "dev": true, - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } + "first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==" }, "get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" }, "github-username": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/github-username/-/github-username-6.0.0.tgz", - "integrity": "sha512-7TTrRjxblSI5l6adk9zd+cV5d6i1OrJSo3Vr9xdGqFLBQo0mz5P9eIfKCDJ7eekVGGFLbce0qbPSnktXV2BjDQ==", - "dev": true, - "requires": { - "@octokit/rest": "^18.0.6" - } - }, - "glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-9.0.0.tgz", + "integrity": "sha512-lY7+mymwQUEhRwWTLxieKkxcZkVNnUh8iAGnl30DMB1ZtYODHkMAckZk8Jx5dLQs1YKPYM2ibnzQu02aCLFcYQ==", "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "dependencies": { - "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } + "@octokit/rest": "^21.1.1" } }, "glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, "requires": { "is-glob": "^4.0.1" } }, "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" } }, "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" }, "handlebars": { "version": "4.7.7", @@ -4905,318 +2544,114 @@ "wordwrap": "^1.0.0" } }, - "has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dev": true - }, "hosted-git-info": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", - "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", - "dev": true, - "requires": { - "lru-cache": "^7.5.1" - }, - "dependencies": { - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true - } - } - }, - "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, - "http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "requires": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - } - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "requires": { - "agent-base": "6", - "debug": "4" + "lru-cache": "^10.0.1" } }, "human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true - }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "dev": true, - "requires": { - "ms": "^2.0.0" - } - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" }, "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "ignore-walk": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", - "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", - "dev": true, - "requires": { - "minimatch": "^9.0.0" - }, - "dependencies": { - "minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true - }, - "ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", - "dev": true + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==" }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==" }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, "requires": { "is-extglob": "^2.1.1" } }, - "is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" }, - "is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "dev": true + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" }, "isbinaryfile": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.0.tgz", - "integrity": "sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==", - "dev": true + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.3.tgz", + "integrity": "sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==" }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "dev": true, + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", + "async": "^3.2.6", "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "picocolors": "^1.1.1" } }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "json-parse-even-better-errors": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", - "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", - "dev": true - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "ky": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", + "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==" }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, + "latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", "requires": { - "p-locate": "^4.1.0" + "package-json": "^10.0.0" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" }, "lodash.startcase": { "version": "4.4.0", @@ -5225,306 +2660,95 @@ "dev": true }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" }, - "make-fetch-happen": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", - "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", - "dev": true, + "mem-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.3.tgz", + "integrity": "sha512-+2zSUVKcDWgcF90mPPwyH4J814uRI1PJcVt2RZ4/E8VggPEiIEL7ikMTlPR91P2ZySkyPgD0YGrccwo55SZvnw==", + "peer": true, "requires": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", - "dev": true - } + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" } }, "mem-fs-editor": { - "version": "9.7.0", - "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.7.0.tgz", - "integrity": "sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg==", - "dev": true, - "requires": { - "binaryextensions": "^4.16.0", + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.1.4.tgz", + "integrity": "sha512-Z4QX14Ev6eOVTuVSayS5rdiOua6C3gHcFw+n9Qc7WiaVTbC+H8b99c32MYGmbQN9UFHJeI/p3lf3LAxiIzwEmA==", + "peer": true, + "requires": { + "@types/ejs": "^3.1.4", + "@types/node": ">=18", + "binaryextensions": "^6.11.0", "commondir": "^1.0.1", "deep-extend": "^0.6.0", - "ejs": "^3.1.8", - "globby": "^11.1.0", - "isbinaryfile": "^5.0.0", - "minimatch": "^7.2.0", - "multimatch": "^5.0.0", + "ejs": "^3.1.10", + "globby": "^14.0.2", + "isbinaryfile": "5.0.3", + "minimatch": "^9.0.3", + "multimatch": "^7.0.0", "normalize-path": "^3.0.0", - "textextensions": "^5.13.0" + "textextensions": "^6.11.0", + "vinyl": "^3.0.0" } }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" }, "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "requires": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" }, "minimatch": { - "version": "7.4.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", - "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", - "dev": true, + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "requires": { "brace-expansion": "^2.0.1" } }, "minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true - }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", - "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "dependencies": { - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true - } - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", - "dev": true, - "requires": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, "multimatch": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", - "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", - "dev": true, + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-7.0.0.tgz", + "integrity": "sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==", "requires": { - "@types/minimatch": "^3.0.3", - "array-differ": "^3.0.0", - "array-union": "^2.1.0", - "arrify": "^2.0.1", - "minimatch": "^3.0.4" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^9.0.3" } }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "dev": true - }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -5540,77 +2764,12 @@ "whatwg-url": "^5.0.0" } }, - "node-gyp": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz", - "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==", - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^11.0.3", - "nopt": "^6.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "nopt": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", - "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", - "dev": true, - "requires": { - "abbrev": "^1.0.0" - } - }, "normalize-package-data": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", - "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", - "dev": true, + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "requires": { - "hosted-git-info": "^6.0.0", - "is-core-module": "^2.8.1", + "hosted-git-info": "^7.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } @@ -5618,177 +2777,40 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "npm-bundled": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", - "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", - "dev": true, - "requires": { - "npm-normalize-package-bin": "^3.0.0" - } - }, - "npm-install-checks": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.2.0.tgz", - "integrity": "sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==", - "dev": true, - "requires": { - "semver": "^7.1.1" - } - }, - "npm-normalize-package-bin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", - "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", - "dev": true - }, - "npm-package-arg": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", - "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", - "dev": true, - "requires": { - "hosted-git-info": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - } - }, - "npm-packlist": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", - "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", - "dev": true, - "requires": { - "ignore-walk": "^6.0.0" - } - }, - "npm-pick-manifest": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz", - "integrity": "sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==", - "dev": true, - "requires": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^10.0.0", - "semver": "^7.3.5" - } - }, - "npm-registry-fetch": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", - "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", - "dev": true, - "requires": { - "make-fetch-happen": "^11.0.0", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" - } + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "dev": true, - "requires": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "requires": { - "wrappy": "1" + "path-key": "^4.0.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" + } } }, "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "requires": { - "aggregate-error": "^3.0.0" + "mimic-fn": "^4.0.0" } }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "pacote": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.2.0.tgz", - "integrity": "sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==", - "dev": true, + "package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", "requires": { - "@npmcli/git": "^4.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^6.0.1", - "@npmcli/run-script": "^6.0.0", - "cacache": "^17.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^5.0.0", - "npm-package-arg": "^10.0.0", - "npm-packlist": "^7.0.0", - "npm-pick-manifest": "^8.0.0", - "npm-registry-fetch": "^14.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^6.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^1.3.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" } }, "parse-github-url": { @@ -5797,79 +2819,35 @@ "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", "dev": true }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "dependencies": { - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - } - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, + "parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", "requires": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", - "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", - "dev": true - } + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" } }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==" + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pluralize": { "version": "8.0.0", @@ -5877,246 +2855,104 @@ "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", "dev": true }, - "proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, - "read-package-json": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.4.tgz", - "integrity": "sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==", - "dev": true, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "requires": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^5.0.0", - "npm-normalize-package-bin": "^3.0.0" + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" } }, - "read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", - "dev": true, + "read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", "requires": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" } }, "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" }, "dependencies": { - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true + "unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==" } } }, - "read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, + "registry-auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@pnpm/npm-conf": "^3.0.2" } }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", - "dev": true, + "registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", "requires": { - "resolve": "^1.1.6" + "rc": "1.2.8" } }, - "resolve": { - "version": "1.22.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", - "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", - "dev": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true + "replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==" }, "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } - }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" }, "run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, "requires": { "queue-microtask": "^1.2.2" } }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true, - "optional": true - }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dev": true + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==" }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "requires": { "shebang-regex": "^3.0.0" } @@ -6124,114 +2960,34 @@ "shebang-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - } - } + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" }, - "sigstore": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.9.0.tgz", - "integrity": "sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==", - "dev": true, + "simple-git": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", "requires": { - "@sigstore/bundle": "^1.1.0", - "@sigstore/protobuf-specs": "^0.2.0", - "@sigstore/sign": "^1.0.0", - "@sigstore/tuf": "^1.0.3", - "make-fetch-happen": "^11.0.1" + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.4.0" } }, "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true - }, - "socks": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", - "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", - "dev": true, - "requires": { - "ip": "^2.0.0", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", - "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", - "dev": true, - "requires": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - } + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==" }, "sort-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-4.2.0.tgz", - "integrity": "sha512-aUYIEU/UviqPgc8mHR6IW1EGxkAXpeRETYcrzg8cLAvUPZcpAlleSXHV2mY7G12GphSH6Gzv+4MMVSSkbdteHg==", - "dev": true, + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", "requires": { - "is-plain-obj": "^2.0.0" + "is-plain-obj": "^4.0.0" } }, "source-map": { @@ -6244,205 +3000,100 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" }, "spdx-expression-parse": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { - "version": "3.0.15", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz", - "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==", - "dev": true - }, - "ssri": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", - "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", - "dev": true, - "requires": { - "minipass": "^7.0.3" - }, - "dependencies": { - "minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true - } - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "requires": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - } + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==" }, - "string-width-cjs": { - "version": "npm:string-width@4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, + "streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" } }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, + "strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", "requires": { - "ansi-regex": "^6.0.1" + "is-utf8": "^0.2.1" } }, - "strip-ansi-cjs": { - "version": "npm:strip-ansi@6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, + "strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", "requires": { - "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - } + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" } }, "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + }, + "teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", "requires": { - "has-flag": "^4.0.0" + "streamx": "^2.12.5" } }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "dev": true, + "text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "dependencies": { - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "requires": { - "minipass": "^3.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - } - } - } + "b4a": "^1.6.4" } }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, "textextensions": { - "version": "5.16.0", - "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-5.16.0.tgz", - "integrity": "sha512-7D/r3s6uPZyU//MCYrX6I14nzauDwJ5CxazouuRGNuvSCihW87ufN6VLoROLCrHg6FblLuJrT6N2BVaPVzqElw==", - "dev": true + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "requires": { + "editions": "^6.21.0" + } }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } @@ -6453,22 +3104,10 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, - "tuf-js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.7.tgz", - "integrity": "sha512-i3P9Kgw3ytjELUfpuKVDNBJvk4u5bXL6gskv572mcevPbSKCV3zt3djhmlEQ65yERjIbOSncy7U4cQJaB1CBCg==", - "dev": true, - "requires": { - "@tufjs/models": "1.0.4", - "debug": "^4.3.4", - "make-fetch-happen": "^11.1.1" - } - }, "type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==" }, "uglify-js": { "version": "3.17.4", @@ -6477,53 +3116,55 @@ "dev": true, "optional": true }, - "unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "requires": { - "unique-slug": "^4.0.0" - } + "undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" }, - "unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } + "unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==" }, "universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==" }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "validate-npm-package-name": { + "version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==" + }, + "vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "requires": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + } + }, + "vinyl-file": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", - "dev": true, + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", "requires": { - "builtins": "^5.0.0" + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" } }, "webidl-conversions": { @@ -6546,156 +3187,37 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "requires": { "isexe": "^2.0.0" } }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dev": true, - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, "wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", "dev": true }, - "wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true - } - } - }, - "wrap-ansi-cjs": { - "version": "npm:wrap-ansi@7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "yeoman-generator": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-5.9.0.tgz", - "integrity": "sha512-sN1e01Db4fdd8P/n/yYvizfy77HdbwzvXmPxps9Gwz2D24slegrkSn+qyj+0nmZhtFwGX2i/cH29QDrvAFT9Aw==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "dargs": "^7.0.0", + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.5.1.tgz", + "integrity": "sha512-MYncRvzSTd71BMwiUMAVhfX00sDD8DZDrmPzRxQkWuWQ0V1Qt4Rd0gS/Nee2QDTWvRjvCa+KBfiAVrtOySq+JA==", + "peer": true, + "requires": { + "@types/lodash-es": "^4.17.9", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", "debug": "^4.1.1", - "execa": "^5.1.1", - "github-username": "^6.0.0", - "lodash": "^4.17.11", - "mem-fs-editor": "^9.0.0", - "minimist": "^1.2.5", - "pacote": "^15.2.0", - "read-pkg-up": "^7.0.1", - "run-async": "^2.0.0", - "semver": "^7.2.1", - "shelljs": "^0.8.5", - "sort-keys": "^4.2.0", + "execa": "^8.0.1", + "github-username": "^9.0.0", + "json-schema": "^0.4.0", + "latest-version": "^9.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.1", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", "text-table": "^0.2.0" } } diff --git a/pos-module-user/modules/core/package.json b/pos-module-user/modules/core/package.json index c99c7f7..49515a0 100644 --- a/pos-module-user/modules/core/package.json +++ b/pos-module-user/modules/core/package.json @@ -2,6 +2,7 @@ "name": "pos-module-core", "version": "1.2.1", "description": "Module description", + "type": "module", "scripts": { "version": "(cd ../../ && pos-cli modules version core -p) && git add template-values.json && auto-changelog -p && git add CHANGELOG.md" }, @@ -15,11 +16,13 @@ "url": "https://github.com/Platform-OS/pos-module-core/issues" }, "homepage": "https://github.com/Platform-OS/pos-module-core#readme", + "peerDependencies": { + "yeoman-generator": "^7.0.0" + }, "devDependencies": { "auto-changelog": "^2.4.0", "lodash.startcase": "^4.4.0", - "pluralize": "^8.0.0", - "yeoman-generator": "^5.9.0" + "pluralize": "^8.0.0" }, "auto-changelog": { "template": "changelog-template.hbs", diff --git a/pos-module-user/modules/core/public/emails/.keep b/pos-module-user/modules/core/public/emails/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/public/graphql/.keep b/pos-module-user/modules/core/public/graphql/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/public/lib/commands/.keep b/pos-module-user/modules/core/public/lib/commands/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid index b2d0e28..ace1577 100644 --- a/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid @@ -10,4 +10,4 @@ assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid index 6558c07..9bfb72e 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid @@ -6,7 +6,7 @@ assign priorities = 'low,default,high' | split: ',' assign name = 'consumers/' | append: object.type | append: '/' - graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" assign object.consumers = consumers for consumer in consumers diff --git a/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid index 07d352e..8c33700 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid @@ -5,7 +5,7 @@ function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date' assign name = 'events/' | append: object.type - graphql event_check_partials = 'modules/core/events/events_checks', name: name | fetch: "admin_liquid_partials" | fetch: "results" + graphql event_check_partials = 'modules/core/events/events_checks', name: name | dig: "admin_liquid_partials", "results" for partial in event_check_partials assign is_event_definition = partial.path | matches: '^(modules/[^/]+/events/[^/]++|events/[^/]+)$' if is_event_definition @@ -29,4 +29,4 @@ assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid index a264652..db690e5 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid @@ -10,4 +10,4 @@ assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid index 4fada40..225a9ed 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -7,4 +7,4 @@ assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/core/public/lib/hooks/.keep b/pos-module-user/modules/core/public/lib/hooks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/public/lib/queries/.keep b/pos-module-user/modules/core/public/lib/queries/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/public/lib/queries/constants/find.liquid b/pos-module-user/modules/core/public/lib/queries/constants/find.liquid new file mode 100644 index 0000000..6d7c1dd --- /dev/null +++ b/pos-module-user/modules/core/public/lib/queries/constants/find.liquid @@ -0,0 +1,34 @@ +{% if context.constants %} + {% assign value = context.constants[name] %} +{% else %} + {% graphql r, name: name %} + query get_constant($name: String!) { + constant(filter: { name: $name }) { + name + value + } + } + {% endgraphql %} + {% assign value = r.constant.value %} +{% endif %} + +{% liquid + case type + when "boolean" + if value == "true" + return true + else + return false + endif + when "integer" + assign value = value | plus: 0 + return value + when "array" + assign value = value | split: ',' + return value + when "time" + return value | to_time + else + return value + endcase +%} diff --git a/pos-module-user/modules/core/public/lib/validations/is_url.liquid b/pos-module-user/modules/core/public/lib/validations/is_url.liquid new file mode 100644 index 0000000..89bdaff --- /dev/null +++ b/pos-module-user/modules/core/public/lib/validations/is_url.liquid @@ -0,0 +1,16 @@ +{% comment %} + params: @url + @field_name + @key[optional] +{% endcomment %} + +{% liquid + assign key = key | default: 'modules/core/validation.not_url' + assign is_url = url | matches: '^https?:\/\/[\S]+' + + if is_url != true + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + endif + + return c +%} \ No newline at end of file diff --git a/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid index c062670..42d8413 100644 --- a/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid +++ b/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid @@ -11,7 +11,7 @@ slug: _events/:uuid/trigger echo 'BROADCASTED' else assign name = 'consumers/' | append: event.type | append: '/' - graphql consumers = 'modules/core/events/consumers', name: name | fetch: "admin_liquid_partials" | fetch: "results" + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" assign event.consumers = consumers endif diff --git a/pos-module-user/modules/core/public/views/partials/.gitkeep b/pos-module-user/modules/core/public/views/partials/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/.keep b/pos-module-user/modules/core/public/views/partials/lib/commands/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid index b2d0e28..ace1577 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -10,4 +10,4 @@ assign object.errors = c.errors return object -%} + %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid index b64b4ce..ee5c2a2 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -17,7 +17,7 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: '[]' | parse_json + assign field_errors = errors[field_name] | default: [] assign field_errors = field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-user/modules/core/public/views/partials/lib/hooks/.keep b/pos-module-user/modules/core/public/views/partials/lib/hooks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/.keep b/pos-module-user/modules/core/public/views/partials/lib/queries/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-user/modules/core/template-values.json b/pos-module-user/modules/core/template-values.json index 14c97e6..8a2520a 100644 --- a/pos-module-user/modules/core/template-values.json +++ b/pos-module-user/modules/core/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Core", "machine_name": "core", "type": "module", - "version": "2.0.6", + "version": "2.1.0", "dependencies": {} } diff --git a/pos-module-user/modules/oauth_github/public/assets/img/icon.svg b/pos-module-user/modules/oauth_github/public/assets/img/icon.svg deleted file mode 100644 index d5e6491..0000000 --- a/pos-module-user/modules/oauth_github/public/assets/img/icon.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/graphql/get_token.graphql b/pos-module-user/modules/oauth_github/public/graphql/get_token.graphql deleted file mode 100644 index c9895c1..0000000 --- a/pos-module-user/modules/oauth_github/public/graphql/get_token.graphql +++ /dev/null @@ -1,13 +0,0 @@ -mutation ($headers: HashObject, $body: String){ - api_call_send( - api_call: { - url: "https://github.com/login/oauth/access_token" - method: "POST" - body: $body - headers: $headers - }) { - response { - body - } - } -} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/graphql/get_user_email.graphql b/pos-module-user/modules/oauth_github/public/graphql/get_user_email.graphql deleted file mode 100644 index 42bcd36..0000000 --- a/pos-module-user/modules/oauth_github/public/graphql/get_user_email.graphql +++ /dev/null @@ -1,11 +0,0 @@ -mutation ($headers: HashObject) { - api_call_send(api_call: { - url: "https://api.github.com/user/emails" - method: "GET" - headers: $headers - }) { - response { - body - } - } -} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/graphql/get_user_info.graphql b/pos-module-user/modules/oauth_github/public/graphql/get_user_info.graphql deleted file mode 100644 index 2bdee53..0000000 --- a/pos-module-user/modules/oauth_github/public/graphql/get_user_info.graphql +++ /dev/null @@ -1,11 +0,0 @@ -mutation ($headers: HashObject) { - api_call_send(api_call: { - url: "https://api.github.com/user" - method: "GET" - headers: $headers - }) { - response { - body - } - } -} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid deleted file mode 100644 index b26bf53..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_token.liquid +++ /dev/null @@ -1,18 +0,0 @@ -{% liquid - function object = 'modules/oauth_github/commands/get_token/build', object: data - function object = 'modules/oauth_github/commands/get_token/check', object: object - assign query = object | querify - - if object.valid - assign headers = { "Accept": "application/json" } - - graphql r = "modules/oauth_github/get_token", body: query, headers: headers - assign result = r.api_call_send.response.body | parse_json - return result - else - log object.errors, type: "ERROR" - endif - - return null -%} - \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_token/build.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_token/build.liquid deleted file mode 100644 index 745634a..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_token/build.liquid +++ /dev/null @@ -1,10 +0,0 @@ -{% parse_json object %} - { - "grant_type": "authorization_code", - "code": {{ object.code | json }}, - "client_id": {{ object.client_id | json }}, - "client_secret": {{ object.client_secret | json }} - } - {% endparse_json %} - {% return object %} - \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid deleted file mode 100644 index a7079b8..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_token/check.liquid +++ /dev/null @@ -1,13 +0,0 @@ -{% liquid -assign c = { "errors": {}, "valid": true } - -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret' - -assign object.valid = c.valid -assign object.errors = c.errors - -return object -%} diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email.liquid deleted file mode 100644 index 53c773b..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email.liquid +++ /dev/null @@ -1,15 +0,0 @@ -{% liquid - assign bearer = "Bearer " | append: data.access_token - function object = 'modules/oauth_github/commands/get_user_email/build', object: bearer - function object = 'modules/oauth_github/commands/get_user_email/check', object: object - - if object.valid - graphql r = 'modules/oauth_github/get_user_email', headers: object - assign result = r.api_call_send.response.body | parse_json - return result - else - log object.errors, type: "ERROR" - endif - - return null -%} diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/build.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/build.liquid deleted file mode 100644 index 0932a0d..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/build.liquid +++ /dev/null @@ -1,8 +0,0 @@ -{% parse_json object %} - { - "Accept": "application/json", - "Authorization": {{ object | json }} - } -{% endparse_json %} -{% return object %} - \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid deleted file mode 100644 index 7f08c2e..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_email/check.liquid +++ /dev/null @@ -1,11 +0,0 @@ -{% liquid - assign c = { "errors": {}, "valid": true } - - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' - - assign object.valid = c.valid - assign object.errors = c.errors - - return object -%} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info.liquid deleted file mode 100644 index 9ba2af2..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info.liquid +++ /dev/null @@ -1,16 +0,0 @@ -{% liquid - assign bearer = "Bearer " | append: data.access_token - function object = 'modules/oauth_github/commands/get_user_info/build', object: bearer - function object = 'modules/oauth_github/commands/get_user_info/check', object: object - - if object.valid - graphql r = 'modules/oauth_github/get_user_info', headers: object - assign result = r.api_call_send.response.body | parse_json - return result - else - log object.errors, type: "ERROR" - endif - - return null -%} - \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/build.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/build.liquid deleted file mode 100644 index 0932a0d..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/build.liquid +++ /dev/null @@ -1,8 +0,0 @@ -{% parse_json object %} - { - "Accept": "application/json", - "Authorization": {{ object | json }} - } -{% endparse_json %} -{% return object %} - \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid b/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid deleted file mode 100644 index 7f08c2e..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/commands/get_user_info/check.liquid +++ /dev/null @@ -1,11 +0,0 @@ -{% liquid - assign c = { "errors": {}, "valid": true } - - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' - - assign object.valid = c.valid - assign object.errors = c.errors - - return object -%} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid b/pos-module-user/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid deleted file mode 100644 index f2076ee..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid +++ /dev/null @@ -1,8 +0,0 @@ -{% liquid -assign data = { "scope": "user:email", "client_id": provider.client_id, "state": state } - -assign querified_data = data | querify -assign url = "https://github.com/login/oauth/authorize?" | append: querified_data - -return url -%} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid b/pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid deleted file mode 100644 index cebd8a7..0000000 --- a/pos-module-user/modules/oauth_github/public/lib/helpers/get_user_info.liquid +++ /dev/null @@ -1,39 +0,0 @@ -{% liquid -# fetch token and get user data -assign get_token_request = { "client_id": provider.client_id, "client_secret": provider.secret_value, "code": context.params.code } - -# get access token -function access_token = "modules/oauth_github/commands/get_token", data: get_token_request -assign access_token = access_token.access_token - -assign result = { "valid": false } - -if access_token == null - return result -endif - -# get user info -assign request_data = { "access_token": access_token } - -function user_info = "modules/oauth_github/commands/get_user_info", data: request_data -if user_info.email == null - function user_emails = "modules/oauth_github/commands/get_user_email", data: request_data - for email in user_emails - if email.primary == true - assign user_info.email = email.email - endif - endfor -endif - -assign name = user_info.name | split: ' ' -assign result.first_name = name[0] | default: user_info.login -assign result.last_name = name[1] | default: '' -assign result.sub = user_info.id -assign result.email = user_info.email - -if result.sub != null and result["email"] != null - assign result.valid = true -endif - -return result -%} \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/public/translations/en/provider.yml b/pos-module-user/modules/oauth_github/public/translations/en/provider.yml deleted file mode 100644 index 0536efa..0000000 --- a/pos-module-user/modules/oauth_github/public/translations/en/provider.yml +++ /dev/null @@ -1,5 +0,0 @@ -en: - provider: - button: - continue: Continue with GitHub - disconnect: Disconnect from GitHub \ No newline at end of file diff --git a/pos-module-user/modules/oauth_github/template-values.json b/pos-module-user/modules/oauth_github/template-values.json deleted file mode 100644 index 4576cac..0000000 --- a/pos-module-user/modules/oauth_github/template-values.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "pos-module-oauth-github", - "machine_name": "oauth_github", - "type": "module", - "version": "0.0.10", - "dependencies": { - "core": "^2.0.0" - } -} diff --git a/pos-module-user/modules/tests/public/graphql/test_files/count.graphql b/pos-module-user/modules/tests/public/graphql/test_files/count.graphql new file mode 100644 index 0000000..d507b05 --- /dev/null +++ b/pos-module-user/modules/tests/public/graphql/test_files/count.graphql @@ -0,0 +1,12 @@ +query count_test_partials($path: String, $per_page: Int!){ + admin_liquid_partials( + per_page: $per_page + filter: { + path: { ends_with: "_test", contains: $path } + } + + ) { + total_entries + total_pages + } +} diff --git a/pos-module-user/modules/tests/public/graphql/test_files/search.graphql b/pos-module-user/modules/tests/public/graphql/test_files/search.graphql index 127861c..0b6bf71 100644 --- a/pos-module-user/modules/tests/public/graphql/test_files/search.graphql +++ b/pos-module-user/modules/tests/public/graphql/test_files/search.graphql @@ -1,6 +1,7 @@ -query test_partials($path: String){ +query test_partials($path: String, $per_page: Int = 100, $page: Int = 1){ admin_liquid_partials( - per_page: 300 + per_page: $per_page + page: $page filter: { path: { ends_with: "_test", contains: $path } } diff --git a/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid b/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid index a07bf8d..6eb5514 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid @@ -3,7 +3,7 @@ assign value = value | default: object[field_name] if value - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'test.should.not.be_true' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_true' endif return contract diff --git a/pos-module-user/modules/tests/public/lib/assertions/true.liquid b/pos-module-user/modules/tests/public/lib/assertions/true.liquid index 0b0bb7a..0159f94 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/true.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/true.liquid @@ -3,7 +3,7 @@ assign value = value | default: object[field_name] unless value - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'test.should.be_true' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.be_true' endunless return contract diff --git a/pos-module-user/modules/tests/public/lib/commands/run.liquid b/pos-module-user/modules/tests/public/lib/commands/run.liquid index 234cebb..8978fab 100644 --- a/pos-module-user/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-user/modules/tests/public/lib/commands/run.liquid @@ -1,27 +1,34 @@ {% liquid assign ctx = context assign ctx.tests = true - log 'Starting unit tests' + log 'Starting unit tests', type: test_name assign __start = "now" | to_time - graphql result = 'modules/tests/test_files/search', path: context.params.name - assign tests = result | dig: "admin_liquid_partials" | dig: "results" + assign per_page = 100 + graphql count_result = 'modules/tests/test_files/count', per_page: per_page, path: context.params.name + assign total_pages = count_result | dig: "admin_liquid_partials" | dig: "total_pages" if tests.size == 0 - echo 'no tests found' + unless format == 'js' + echo 'no tests found' + endunless endif assign total_errors = 0 assign contracts = '' | split: ',' - for test in tests - log test, type: "test:" - assign contract = { "errors": {}, "success": true, "total": 0 } + for page in (1..total_pages) + graphql search_result = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page + assign tests = search_result | dig: "admin_liquid_partials" | dig: "results" + for test in tests + log test, type: test_name + assign contract = { "errors": {}, "success": true, "total": 0 } - # platformos-check-disable ConvertIncludeToRender - include test.path, registry: test.path, contract: contract - # platformos-check-enable ConvertIncludeToRender - assign contract.test_path = test.path - assign contracts = contracts << contract - assign total_errors = total_errors | plus: contract.errors.size + # platformos-check-disable ConvertIncludeToRender + include test.path, registry: test.path, contract: contract + # platformos-check-enable ConvertIncludeToRender + assign contract.test_path = test.path + assign contracts = contracts << contract + assign total_errors = total_errors | plus: contract.errors.size + endfor endfor assign __stop = "now" | to_time assign total_duration = __start | time_diff: __stop, 'ms' | round diff --git a/pos-module-user/modules/tests/public/translations/en/should.yml b/pos-module-user/modules/tests/public/translations/en/should.yml index 3274a34..6f40d6f 100644 --- a/pos-module-user/modules/tests/public/translations/en/should.yml +++ b/pos-module-user/modules/tests/public/translations/en/should.yml @@ -7,7 +7,10 @@ en: have_key: key should exist in "%{field_name}" have_key_with_value: should have value "%{value}" match: match + be_blank: should be blank + be_true: should be true not: be_empty: should not be empty be_blank: should not be blank be_valid: should not be valid + be_true: should not be true diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid new file mode 100644 index 0000000..8e7f1e4 --- /dev/null +++ b/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid @@ -0,0 +1,26 @@ +--- +layout: '' +--- +{% liquid + if context.environment == 'staging' or context.environment == 'development' + assign per_page = 100 + graphql total_pages = 'modules/tests/test_files/count', per_page: per_page, path: context.params.name | dig: "admin_liquid_partials" | dig: "total_pages" + + assign result = [] + + for page in (1..total_pages) + graphql tests = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page | dig: "admin_liquid_partials" | dig: "results" + + for test in tests + assign test_name = test.path | remove_first: 'lib/test/' | remove_first: '_test' + assign test_url = '/_tests/run.js?test_name=' | append: test_name + assign test_object = { "name": test_name, "url": test_url } + assign result = result << test_object + endfor + endfor + + echo result | json + else + echo '{"error":"Tests can only be accessed in staging or development environment"}' + endif + %} diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid similarity index 75% rename from pos-module-user/modules/tests/public/views/pages/_tests/run.liquid rename to pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid index 46c2856..78ba8fb 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/run.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid @@ -3,8 +3,9 @@ layout: modules/tests/test --- {% liquid if context.environment == 'staging' or context.environment == 'development' + assign test_name = 5 | random_string | prepend: "liquid_test_" # platformos-check-disable ConvertIncludeToRender - include 'modules/tests/commands/run', format: context.params.formatter + include 'modules/tests/commands/run', format: context.params.formatter, test_name: test_name # platformos-check-enable ConvertIncludeToRender endif %} diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid new file mode 100644 index 0000000..d36090c --- /dev/null +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid @@ -0,0 +1,13 @@ +--- +layout: '' +--- +{% liquid + if context.environment == 'staging' or context.environment == 'development' + assign test_name = 5 | random_string | prepend: "liquid_test_" + # platformos-check-disable ConvertIncludeToRender + include 'modules/tests/commands/run', format: 'js', test_name: test_name + # platformos-check-enable ConvertIncludeToRender + else + echo '{"success":false,"error":"Tests can only be run in staging or development environment"}' + endif +%} diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid new file mode 100644 index 0000000..481743c --- /dev/null +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid @@ -0,0 +1,13 @@ +--- +layout: '' +--- +{% if context.environment == 'staging' or context.environment == 'development' %} + {% assign test_name = 5 | random_string | prepend: "liquid_test_" %} + {% background source_name: "liquid_tests", test_name: test_name %} + {% include 'modules/tests/commands/run', format: 'log_js', test_name: test_name %} + {% endbackground %} + {% assign result = { "test_name": test_name } %} + {{ result }} +{% else %} + {"success":false,"error":"Tests can only be run in staging or development environment"} +{% endif %} diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid index 071dd9b..7cb08df 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid @@ -1,5 +1,5 @@ --- -layout: null +layout: '' --- {% if context.environment == 'staging' %} {% assign test_name = 5 | random_string | prepend: "liquid_test_" %} diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid new file mode 100644 index 0000000..543db44 --- /dev/null +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid @@ -0,0 +1,26 @@ +{% liquid + assign result = {} + assign total_assertions = 0 + + assign tests_array = [] + for contract in tests_array + assign total_assertions = total_assertions | plus: contract.total + + assign test_result = { "name": contract.test_path, "success": contract.success, "assertions": contract.total, "errors": contract.errors } + + assign tests_array = tests_array << test_result + endfor + + if total_errors > 0 + assign result.success = false + else + assign result.success = true + endif + + assign result.total_tests = contracts.size + assign result.total_assertions = total_assertions + assign result.total_errors = total_errors + assign result.duration_ms = total_duration + assign result.tests = tests_array + %} +{{ result | json }} diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid new file mode 100644 index 0000000..ffd51c6 --- /dev/null +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid @@ -0,0 +1,8 @@ +{% capture result %} + {% render 'modules/tests/tests/show_js', contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name %} +{% endcapture %} +{% assign result = result | html_safe %} +{% liquid + assign log_type = test_name | append: ' SUMMARY' + log result, type: log_type +%} diff --git a/pos-module-user/modules/tests/template-values.json b/pos-module-user/modules/tests/template-values.json index f5032eb..9f70878 100644 --- a/pos-module-user/modules/tests/template-values.json +++ b/pos-module-user/modules/tests/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Tests", "machine_name": "tests", "type": "module", - "version": "1.0.1", + "version": "1.3.0", "dependencies": {} } diff --git a/pos-module-user/modules/user/public/views/partials/admin_pages/list.liquid b/pos-module-user/modules/user/public/views/partials/admin_pages/list.liquid index 61021c0..3fd9b14 100644 --- a/pos-module-user/modules/user/public/views/partials/admin_pages/list.liquid +++ b/pos-module-user/modules/user/public/views/partials/admin_pages/list.liquid @@ -1,7 +1,7 @@ {% function users = 'modules/user/queries/user/get_all' %}
    - {% theme_render_rc 'components/atoms/heading', content: 'Users', level: 2, classes: 'pb-8' %} +

    Users

    > From d14938b38698a3ff60b6b034df276312c68e6082 Mon Sep 17 00:00:00 2001 From: Rafal Krysiak Date: Tue, 10 Mar 2026 22:21:06 +0100 Subject: [PATCH 27/44] feat: improve lint summary readability for large codebases Add check type breakdown table, show full per-file detail only for files with errors, and collapse warning-only files into an expandable
    section limited to top 20 by count. --- .github/workflows/lint.yml | 94 ++++++++++++++++++++++++++++++-------- 1 file changed, 74 insertions(+), 20 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 849bc8e..a0d08be 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -166,33 +166,87 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY if [ -f "${{ env.LOGS_DIR }}/platformos-check.json" ]; then - # Extract and display summary statistics + JSON="${{ env.LOGS_DIR }}/platformos-check.json" + + # Summary statistics echo "## Summary" >> $GITHUB_STEP_SUMMARY echo "| Metric | Count |" >> $GITHUB_STEP_SUMMARY echo "|--------|-------|" >> $GITHUB_STEP_SUMMARY - jq -r '"| Total Offenses | \(.offenseCount) |", "| Files with Issues | \(.fileCount) |", "| Errors | \(.errorCount) |", "| Warnings | \(.warningCount) |", "| Info | \(.infoCount) |"' ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - - echo "## Issues by File" >> $GITHUB_STEP_SUMMARY + jq -r '"| Total Offenses | \(.offenseCount) |", "| Files with Issues | \(.fileCount) |", "| Errors | \(.errorCount) |", "| Warnings | \(.warningCount) |", "| Info | \(.infoCount) |"' "$JSON" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - # Sort files: errors first, then by error count descending + # Offenses by check type + echo "## Offenses by Check Type" >> $GITHUB_STEP_SUMMARY + echo "| Check | Total | Errors | Warnings |" >> $GITHUB_STEP_SUMMARY + echo "|-------|-------|--------|----------|" >> $GITHUB_STEP_SUMMARY jq -r ' - .files - | sort_by(-.errorCount, -.warningCount) + [.files[].offenses[]] | group_by(.check) + | map({ + check: .[0].check, + total: length, + errors: map(select(.severity == "error")) | length, + warnings: map(select(.severity == "warning")) | length + }) + | sort_by(-.total) | .[] - | "### 📄 `\(.path)`", - "", - "**Errors:** \(.errorCount) | **Warnings:** \(.warningCount) | **Info:** \(.infoCount)", - "", - "| Line | Col | Severity | Check | Message |", - "|------|-----|----------|-------|---------|", - (.offenses | sort_by( - (if .severity == "error" then 0 elif .severity == "warning" then 1 else 2 end), - .start_row - ) | .[] | "| \(.start_row) | \(.start_column) | \(.severity) | `\(.check)` | \(.message) |"), - "" - ' ${{ env.LOGS_DIR }}/platformos-check.json >> $GITHUB_STEP_SUMMARY + | "| `\(.check)` | \(.total) | \(.errors) | \(.warnings) |" + ' "$JSON" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Errors section — full detail for files with errors + ERROR_FILE_COUNT=$(jq '[.files[] | select(.errorCount > 0)] | length' "$JSON") + if [ "$ERROR_FILE_COUNT" -gt 0 ]; then + echo "## Errors ($ERROR_FILE_COUNT files)" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + jq -r ' + [.files[] | select(.errorCount > 0)] + | sort_by(-.errorCount) + | .[] + | "### \u274c `\(.path)`", + "", + "**Errors:** \(.errorCount) | **Warnings:** \(.warningCount)", + "", + "| Line | Col | Severity | Check | Message |", + "|------|-----|----------|-------|---------|", + (.offenses | sort_by( + (if .severity == "error" then 0 elif .severity == "warning" then 1 else 2 end), + .start_row + ) | .[] | "| \(.start_row) | \(.start_column) | \(.severity) | `\(.check)` | \(.message | gsub("\n"; " ")) |"), + "" + ' "$JSON" >> $GITHUB_STEP_SUMMARY + fi + + # Warnings section — collapsed, only top files shown + WARNING_ONLY_COUNT=$(jq '[.files[] | select(.errorCount == 0 and .warningCount > 0)] | length' "$JSON") + if [ "$WARNING_ONLY_COUNT" -gt 0 ]; then + TOTAL_WARNINGS=$(jq '.warningCount' "$JSON") + echo "
    " >> $GITHUB_STEP_SUMMARY + echo "## Warnings — ${TOTAL_WARNINGS} across ${WARNING_ONLY_COUNT} files (click to expand)" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + + # Show top 20 files by warning count + jq -r ' + [.files[] | select(.errorCount == 0 and .warningCount > 0)] + | sort_by(-.warningCount) + | .[:20] + | .[] + | "### \u26a0\ufe0f `\(.path)` — \(.warningCount) warnings", + "", + "| Line | Col | Check | Message |", + "|------|-----|-------|---------|", + (.offenses | sort_by(.start_row) + | .[] | "| \(.start_row) | \(.start_column) | `\(.check)` | \(.message | gsub("\n"; " ")) |"), + "" + ' "$JSON" >> $GITHUB_STEP_SUMMARY + + REMAINING=$((WARNING_ONLY_COUNT - 20)) + if [ "$REMAINING" -gt 0 ]; then + echo "...and ${REMAINING} more files with warnings only." >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + fi + + echo "
    " >> $GITHUB_STEP_SUMMARY + fi else echo "## No output file found" >> $GITHUB_STEP_SUMMARY echo "Expected location: ${{ env.LOGS_DIR }}/platformos-check.json" >> $GITHUB_STEP_SUMMARY From ed1ebad70988ff12988f89169ec019ff1e13009a Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Wed, 11 Mar 2026 07:53:22 +0000 Subject: [PATCH 28/44] Module versions --- pos-module-common-styling/template-values.json | 2 +- pos-module-tests/modules/tests/template-values.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pos-module-common-styling/template-values.json b/pos-module-common-styling/template-values.json index 6423947..aafe76f 100644 --- a/pos-module-common-styling/template-values.json +++ b/pos-module-common-styling/template-values.json @@ -2,6 +2,6 @@ "name": "platformOS common styling", "machine_name": "common-styling", "type": "module", - "version": "1.37.18", + "version": "1.37.19", "dependencies": {} } \ No newline at end of file diff --git a/pos-module-tests/modules/tests/template-values.json b/pos-module-tests/modules/tests/template-values.json index 9f70878..bb3979d 100644 --- a/pos-module-tests/modules/tests/template-values.json +++ b/pos-module-tests/modules/tests/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Tests", "machine_name": "tests", "type": "module", - "version": "1.3.0", + "version": "1.3.1", "dependencies": {} } From a08bf74d75bd635a86ecc04504ff917a0f57f723 Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Wed, 11 Mar 2026 08:12:38 +0000 Subject: [PATCH 29/44] Version --- pos-module-user/modules/user/template-values.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pos-module-user/modules/user/template-values.json b/pos-module-user/modules/user/template-values.json index bcc95c2..930fce2 100644 --- a/pos-module-user/modules/user/template-values.json +++ b/pos-module-user/modules/user/template-values.json @@ -2,7 +2,7 @@ "name": "User", "machine_name": "user", "type": "module", - "version": "5.2.0", + "version": "5.2.1", "dependencies": { "core": "^2.1.0", "common-styling": "^1.11.0" From 308a2cc11cc53ce82327d6ab80347ae66c895c68 Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Wed, 11 Mar 2026 08:21:39 +0000 Subject: [PATCH 30/44] Cleanup --- .../views/partials/lib/queries/conversations/find.liquid | 2 +- .../lib/queries/conversations/find_by_participant.liquid | 2 +- .../lib/queries/conversations/find_by_participants.liquid | 2 +- .../views/partials/lib/queries/conversations/search.liquid | 4 ++-- .../lib/queries/conversations/search_by_participant.liquid | 4 ++-- .../common-styling/public/views/pages/style-guide.liquid | 2 +- .../modules/core/public/lib/commands/hook/fire.liquid | 4 ++-- .../core/public/lib/helpers/hash_to_x_form_encoded.liquid | 2 +- .../modules/core/public/lib/helpers/register_error.liquid | 2 +- .../modules/core/public/lib/queries/registry/search.liquid | 4 ++-- .../core/public/views/partials/lib/commands/hook/fire.liquid | 4 ++-- .../public/views/partials/lib/helpers/register_error.liquid | 2 +- .../public/views/partials/lib/queries/registry/search.liquid | 4 ++-- .../user/public/lib/commands/profiles/create/build.liquid | 4 ++-- .../modules/user/public/lib/queries/profiles/search.liquid | 2 +- .../public/views/partials/style-guide/forms.liquid | 2 +- .../modules/core/public/lib/commands/hook/fire.liquid | 4 ++-- .../core/public/lib/helpers/hash_to_x_form_encoded.liquid | 2 +- .../modules/core/public/lib/helpers/register_error.liquid | 2 +- .../modules/core/public/lib/queries/registry/search.liquid | 4 ++-- .../core/public/views/partials/lib/commands/hook/fire.liquid | 4 ++-- .../public/views/partials/lib/helpers/register_error.liquid | 2 +- .../public/views/partials/lib/queries/registry/search.liquid | 4 ++-- .../data_export_api/public/lib/shared/authorize.liquid | 4 ++-- .../app/lib/queries/pages/search_for_openai.liquid | 2 +- .../openai/public/lib/commands/openai/chat/build.liquid | 2 +- .../openai/public/lib/commands/openai/responses/build.liquid | 2 +- .../app/lib/commands/profiles/export_all.liquid | 4 ++-- pos-module-reports/app/views/pages/admin/reports/list.liquid | 2 +- .../modules/core/public/lib/commands/hook/fire.liquid | 4 ++-- .../core/public/lib/helpers/hash_to_x_form_encoded.liquid | 2 +- .../modules/core/public/lib/helpers/register_error.liquid | 2 +- .../modules/core/public/lib/queries/registry/search.liquid | 4 ++-- .../core/public/views/partials/lib/commands/hook/fire.liquid | 4 ++-- .../public/views/partials/lib/helpers/register_error.liquid | 2 +- .../public/views/partials/lib/queries/registry/search.liquid | 4 ++-- .../modules/profile/public/lib/queries/profiles/search.liquid | 2 +- .../modules/user/public/lib/commands/user/create/build.liquid | 2 +- pos-module-tests/modules/tests/public/lib/commands/run.liquid | 2 +- .../modules/tests/public/lib/helpers/register_error.liquid | 2 +- .../modules/tests/public/views/pages/_tests/index.js.liquid | 2 +- .../modules/tests/public/views/partials/tests/show_js.liquid | 2 +- .../public/views/partials/style-guide/forms.liquid | 2 +- .../modules/core/public/lib/commands/hook/fire.liquid | 4 ++-- .../core/public/lib/helpers/hash_to_x_form_encoded.liquid | 2 +- .../modules/core/public/lib/helpers/register_error.liquid | 2 +- .../modules/core/public/lib/queries/registry/search.liquid | 4 ++-- .../core/public/views/partials/lib/commands/hook/fire.liquid | 4 ++-- .../public/views/partials/lib/helpers/register_error.liquid | 2 +- .../public/views/partials/lib/queries/registry/search.liquid | 4 ++-- pos-module-user/modules/tests/public/lib/commands/run.liquid | 2 +- .../modules/tests/public/lib/helpers/register_error.liquid | 2 +- .../modules/tests/public/views/pages/_tests/index.js.liquid | 2 +- .../modules/tests/public/views/partials/tests/show_js.liquid | 2 +- .../user/public/lib/commands/profiles/create/build.liquid | 4 ++-- .../modules/user/public/lib/queries/profiles/search.liquid | 2 +- 56 files changed, 78 insertions(+), 78 deletions(-) diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid index cf1dcf2..0177666 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find.liquid @@ -12,7 +12,7 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants << profile + assign participants << profile endfor assign conversation.participants = participants diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid index 26d5ca8..81fd303 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participant.liquid @@ -18,7 +18,7 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants << profile + assign participants << profile endfor assign conversation.participants = participants diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid index a116e95..c7ecc72 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/find_by_participants.liquid @@ -13,7 +13,7 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants << profile + assign participants << profile endfor assign conversation.participants = participants diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid index c38589a..e775b30 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search.liquid @@ -10,11 +10,11 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants << profile + assign participants << profile endfor assign conversation.participants = participants - assign conversations = conversations << conversation + assign conversations << conversation endfor assign result.results = conversations diff --git a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid index 47f51e9..4b54064 100644 --- a/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid +++ b/pos-module-chat/modules/chat/public/views/partials/lib/queries/conversations/search_by_participant.liquid @@ -16,11 +16,11 @@ for participant_id in conversation.participant_ids function profile = 'modules/user/queries/profiles/find', id: participant_id, user_id: null, uuid: null, first_name: null, last_name: null - assign participants = participants << profile + assign participants << profile endfor assign conversation.participants = participants - assign conversations = conversations << conversation + assign conversations << conversation endfor assign result.results = conversations diff --git a/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid b/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid index 95a608a..0972f1b 100644 --- a/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid +++ b/pos-module-chat/modules/common-styling/public/views/pages/style-guide.liquid @@ -1140,7 +1140,7 @@ layout: 'modules/common-styling/style-guide' assign value = 'value' | append: i assign label = 'Label for value ' | append: i assign example_item = { "value": value, "label": label } - assign example_list = example_list << example_item + assign example_list << example_item assign selected = ["value0", "value5", "value6"] endfor %} diff --git a/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid index f374185..038effd 100644 --- a/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-chat/modules/core/public/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results << h_result + assign results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results << hook_result + assign results << hook_result endif endif endfor diff --git a/pos-module-chat/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-chat/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 0ca414e..57ed938 100644 --- a/pos-module-chat/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-chat/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -2,7 +2,7 @@ assign parameters = '' | split: ',' for pair in payload assign component = pair[0] | append: '={' | append: pair[0] | append: '}' - assign parameters = parameters << component + assign parameters << component endfor if parameters.size > 0 assign x_form_encoded = parameters | join: '&' | expand_url_template: payload diff --git a/pos-module-chat/modules/core/public/lib/helpers/register_error.liquid b/pos-module-chat/modules/core/public/lib/helpers/register_error.liquid index b64b4ce..c54314e 100644 --- a/pos-module-chat/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-chat/modules/core/public/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: '[]' | parse_json - assign field_errors = field_errors << msg + assign field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-chat/modules/core/public/lib/queries/registry/search.liquid b/pos-module-chat/modules/core/public/lib/queries/registry/search.liquid index 79da2f0..0e08818 100644 --- a/pos-module-chat/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-chat/modules/core/public/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules << module + assign modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes << module + assign themes << module endif endfor return themes diff --git a/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid index e21adf6..c0355d9 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results << h_result + assign results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results << hook_result + assign results << hook_result endif endif endfor diff --git a/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid index ee5c2a2..7c9edaf 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors << msg + assign field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid index 99f2945..6e96071 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules << module + assign modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes << module + assign themes << module endif endfor return themes diff --git a/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid b/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid index 9a121c7..3183c3e 100644 --- a/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid +++ b/pos-module-chat/modules/user/public/lib/commands/profiles/create/build.liquid @@ -8,7 +8,7 @@ if object.roles == null assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles << context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif else assign roles_type = object.roles | type_of @@ -21,7 +21,7 @@ assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles << context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif endif endif diff --git a/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid b/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid index 63e0379..1e0ef38 100644 --- a/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid +++ b/pos-module-chat/modules/user/public/lib/queries/profiles/search.liquid @@ -13,7 +13,7 @@ assign profile.slug = slug assign p = profile - assign profiles = profiles << p + assign profiles << p endfor assign records.results = profiles diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid index a49e689..4d79f7e 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid @@ -438,7 +438,7 @@ assign value = 'value' | append: i assign label = 'Label for value ' | append: i assign example_item = {"value": value, "label": label} - assign example_list = example_list << example_item + assign example_list << example_item assign selected = ["value0", "value5", "value6"] endfor %} diff --git a/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid index f374185..038effd 100644 --- a/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results << h_result + assign results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results << hook_result + assign results << hook_result endif endif endfor diff --git a/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 0ca414e..57ed938 100644 --- a/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -2,7 +2,7 @@ assign parameters = '' | split: ',' for pair in payload assign component = pair[0] | append: '={' | append: pair[0] | append: '}' - assign parameters = parameters << component + assign parameters << component endfor if parameters.size > 0 assign x_form_encoded = parameters | join: '&' | expand_url_template: payload diff --git a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid index ee5c2a2..7c9edaf 100644 --- a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors << msg + assign field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-core/modules/core/public/lib/queries/registry/search.liquid b/pos-module-core/modules/core/public/lib/queries/registry/search.liquid index 79da2f0..0e08818 100644 --- a/pos-module-core/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-core/modules/core/public/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules << module + assign modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes << module + assign themes << module endif endfor return themes diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid index e21adf6..c0355d9 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results << h_result + assign results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results << hook_result + assign results << hook_result endif endif endfor diff --git a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid index ee5c2a2..7c9edaf 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors << msg + assign field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid index 99f2945..6e96071 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules << module + assign modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes << module + assign themes << module endif endfor return themes diff --git a/pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid b/pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid index fea8a9f..f859fdd 100644 --- a/pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid +++ b/pos-module-data-export-api/modules/data_export_api/public/lib/shared/authorize.liquid @@ -4,7 +4,7 @@ assign errors = [] if api_key != context.headers.HTTP_API_KEY - assign errors = errors << "API_KEY header invalid" + assign errors << "API_KEY header invalid" endif if whitelisted_ips != blank @@ -13,7 +13,7 @@ if whitelisted_ips contains ip else assign message = "IP address not allowed" - assign errors = errors << message + assign errors << message endif endif -%} diff --git a/pos-module-openai/app/lib/queries/pages/search_for_openai.liquid b/pos-module-openai/app/lib/queries/pages/search_for_openai.liquid index c9fb967..33ad0c8 100644 --- a/pos-module-openai/app/lib/queries/pages/search_for_openai.liquid +++ b/pos-module-openai/app/lib/queries/pages/search_for_openai.liquid @@ -13,7 +13,7 @@ for page in all_pages assign contains_invalid_prefix = page.slug | start_with: ignored_prefixes unless contains_invalid_prefix - assign pages = pages << page + assign pages << page endunless endfor diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid index 0813677..0901ed0 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid @@ -86,7 +86,7 @@ See also: https://platform.openai.com/docs/api-reference/chat for item in user_images assign img_object = { "type": "image_url", "image_url": { "url": item } } - assign user_content = user_content << img_object + assign user_content << img_object endfor assign data_frame.messages[1].content = user_content diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid index dce1901..e657109 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid @@ -89,7 +89,7 @@ See also: https://platform.openai.com/docs/api-reference/responses/create for item in user_images assign img_object = { "type": "input_image", "image_url": item } - assign user_content = user_content << img_object + assign user_content << img_object endfor assign data_frame.input[1].content = user_content diff --git a/pos-module-reports/app/lib/commands/profiles/export_all.liquid b/pos-module-reports/app/lib/commands/profiles/export_all.liquid index c68cf24..e9089a3 100644 --- a/pos-module-reports/app/lib/commands/profiles/export_all.liquid +++ b/pos-module-reports/app/lib/commands/profiles/export_all.liquid @@ -2,7 +2,7 @@ {% assign header_row = "id,created_at,updated_at,user_id,avatar,uuid,name,first_name,last_name,slug,email" | split: ',' %} -{%- assign rows = rows << header_row -%} +{%- assign rows << header_row -%} {%- graphql profiles = 'modules/profile/profiles/search', page: 1, limit: 100 -%} {%- assign total_pages = profiles.records.total_pages -%} @@ -23,7 +23,7 @@ {%- assign row = row < 0 assign x_form_encoded = parameters | join: '&' | expand_url_template: payload diff --git a/pos-module-reports/modules/core/public/lib/helpers/register_error.liquid b/pos-module-reports/modules/core/public/lib/helpers/register_error.liquid index b64b4ce..c54314e 100644 --- a/pos-module-reports/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-reports/modules/core/public/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: '[]' | parse_json - assign field_errors = field_errors << msg + assign field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-reports/modules/core/public/lib/queries/registry/search.liquid b/pos-module-reports/modules/core/public/lib/queries/registry/search.liquid index 79da2f0..0e08818 100644 --- a/pos-module-reports/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-reports/modules/core/public/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules << module + assign modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes << module + assign themes << module endif endfor return themes diff --git a/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid index e21adf6..c0355d9 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results << h_result + assign results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results << hook_result + assign results << hook_result endif endif endfor diff --git a/pos-module-reports/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-reports/modules/core/public/views/partials/lib/helpers/register_error.liquid index b64b4ce..c54314e 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: '[]' | parse_json - assign field_errors = field_errors << msg + assign field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid index 99f2945..6e96071 100644 --- a/pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-reports/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules << module + assign modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes << module + assign themes << module endif endfor return themes diff --git a/pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid b/pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid index c4843d7..e0c5328 100644 --- a/pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid +++ b/pos-module-reports/modules/profile/public/lib/queries/profiles/search.liquid @@ -13,7 +13,7 @@ assign profile.properties.slug = slug assign p = profile | hash_merge: profile.properties - assign profiles = profiles << p + assign profiles << p endfor assign records.results = profiles diff --git a/pos-module-reports/modules/user/public/lib/commands/user/create/build.liquid b/pos-module-reports/modules/user/public/lib/commands/user/create/build.liquid index 97ab8d4..2602443 100644 --- a/pos-module-reports/modules/user/public/lib/commands/user/create/build.liquid +++ b/pos-module-reports/modules/user/public/lib/commands/user/create/build.liquid @@ -2,7 +2,7 @@ if roles == null assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles << context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif else assign roles_type = roles | type_of diff --git a/pos-module-tests/modules/tests/public/lib/commands/run.liquid b/pos-module-tests/modules/tests/public/lib/commands/run.liquid index 8978fab..a82804b 100644 --- a/pos-module-tests/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-tests/modules/tests/public/lib/commands/run.liquid @@ -26,7 +26,7 @@ include test.path, registry: test.path, contract: contract # platformos-check-enable ConvertIncludeToRender assign contract.test_path = test.path - assign contracts = contracts << contract + assign contracts << contract assign total_errors = total_errors | plus: contract.errors.size endfor endfor diff --git a/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid b/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid index 6732cc0..9cde443 100644 --- a/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid +++ b/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_erorrs = errors[field_name] | default: '[]' | parse_json - assign field_erorrs = field_erorrs << msg + assign field_erorrs << msg assign errors[field_name] = field_erorrs assign contract.success = false diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid index 8e7f1e4..46be7ea 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid @@ -15,7 +15,7 @@ layout: '' assign test_name = test.path | remove_first: 'lib/test/' | remove_first: '_test' assign test_url = '/_tests/run.js?test_name=' | append: test_name assign test_object = { "name": test_name, "url": test_url } - assign result = result << test_object + assign result << test_object endfor endfor diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid index 543db44..fab174d 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid @@ -8,7 +8,7 @@ assign test_result = { "name": contract.test_path, "success": contract.success, "assertions": contract.total, "errors": contract.errors } - assign tests_array = tests_array << test_result + assign tests_array << test_result endfor if total_errors > 0 diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid index a49e689..4d79f7e 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid @@ -438,7 +438,7 @@ assign value = 'value' | append: i assign label = 'Label for value ' | append: i assign example_item = {"value": value, "label": label} - assign example_list = example_list << example_item + assign example_list << example_item assign selected = ["value0", "value5", "value6"] endfor %} diff --git a/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid index f374185..038effd 100644 --- a/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results << h_result + assign results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results << hook_result + assign results << hook_result endif endif endfor diff --git a/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 0ca414e..57ed938 100644 --- a/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -2,7 +2,7 @@ assign parameters = '' | split: ',' for pair in payload assign component = pair[0] | append: '={' | append: pair[0] | append: '}' - assign parameters = parameters << component + assign parameters << component endfor if parameters.size > 0 assign x_form_encoded = parameters | join: '&' | expand_url_template: payload diff --git a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid index ee5c2a2..7c9edaf 100644 --- a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors << msg + assign field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-user/modules/core/public/lib/queries/registry/search.liquid b/pos-module-user/modules/core/public/lib/queries/registry/search.liquid index 79da2f0..0e08818 100644 --- a/pos-module-user/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-user/modules/core/public/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules << module + assign modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes << module + assign themes << module endif endfor return themes diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid index e21adf6..c0355d9 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -24,7 +24,7 @@ endcomment if hook_result[0] for h_result in hook_result - assign results = results << h_result + assign results << h_result endfor comment Check if the result is an object. @@ -32,7 +32,7 @@ elsif hook_result.first and merge_to_object assign results = results | hash_merge: hook_result else - assign results = results << hook_result + assign results << hook_result endif endif endfor diff --git a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid index ee5c2a2..7c9edaf 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_errors = errors[field_name] | default: [] - assign field_errors = field_errors << msg + assign field_errors << msg assign errors[field_name] = field_errors assign contract.valid = false diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid index 99f2945..6e96071 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -11,7 +11,7 @@ assign modules = [] for module in registry if module.type == 'module' - assign modules = modules << module + assign modules << module endif endfor return modules @@ -19,7 +19,7 @@ assign themes = [] for module in registry if module.type == 'theme' - assign themes = themes << module + assign themes << module endif endfor return themes diff --git a/pos-module-user/modules/tests/public/lib/commands/run.liquid b/pos-module-user/modules/tests/public/lib/commands/run.liquid index 8978fab..a82804b 100644 --- a/pos-module-user/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-user/modules/tests/public/lib/commands/run.liquid @@ -26,7 +26,7 @@ include test.path, registry: test.path, contract: contract # platformos-check-enable ConvertIncludeToRender assign contract.test_path = test.path - assign contracts = contracts << contract + assign contracts << contract assign total_errors = total_errors | plus: contract.errors.size endfor endfor diff --git a/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid b/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid index 6732cc0..9cde443 100644 --- a/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid @@ -18,7 +18,7 @@ assign errors = contract.errors assign field_erorrs = errors[field_name] | default: '[]' | parse_json - assign field_erorrs = field_erorrs << msg + assign field_erorrs << msg assign errors[field_name] = field_erorrs assign contract.success = false diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid index 8e7f1e4..46be7ea 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid @@ -15,7 +15,7 @@ layout: '' assign test_name = test.path | remove_first: 'lib/test/' | remove_first: '_test' assign test_url = '/_tests/run.js?test_name=' | append: test_name assign test_object = { "name": test_name, "url": test_url } - assign result = result << test_object + assign result << test_object endfor endfor diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid index 543db44..fab174d 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid @@ -8,7 +8,7 @@ assign test_result = { "name": contract.test_path, "success": contract.success, "assertions": contract.total, "errors": contract.errors } - assign tests_array = tests_array << test_result + assign tests_array << test_result endfor if total_errors > 0 diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid index 1a1312d..5abc835 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid @@ -8,7 +8,7 @@ if object.roles == null assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles << context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif else assign roles_type = object.roles | type_of @@ -21,7 +21,7 @@ assign roles = [] if context.constants.USER_DEFAULT_ROLE != blank - assign roles = roles << context.constants.USER_DEFAULT_ROLE + assign roles << context.constants.USER_DEFAULT_ROLE endif endif endif diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid index 9ccc37b..ee683d8 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid @@ -13,7 +13,7 @@ assign profile.slug = slug assign p = profile - assign profiles = profiles << p + assign profiles << p endfor assign records.results = profiles From e42f75c911639670ca4b943da6e04286dc6e8848 Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Wed, 11 Mar 2026 08:32:55 +0000 Subject: [PATCH 31/44] Cleanup --- pos-module-core/modules/core/template-values.json | 2 +- .../modules/user/public/lib/helpers/current_profile.liquid | 2 +- pos-module-user/modules/user/template-values.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pos-module-core/modules/core/template-values.json b/pos-module-core/modules/core/template-values.json index 8a2520a..a844047 100644 --- a/pos-module-core/modules/core/template-values.json +++ b/pos-module-core/modules/core/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Core", "machine_name": "core", "type": "module", - "version": "2.1.0", + "version": "2.1.1", "dependencies": {} } diff --git a/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid b/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid index dc7eae8..3dc7e45 100644 --- a/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid @@ -6,7 +6,7 @@ function current_profile = 'modules/user/queries/profiles/find', user_id: user.id, id: null, uuid: null, first_name: null, last_name: null assign current_profile.user = user if current_profile.roles != null - assign current_profile.roles = current_profile.roles << 'authenticated' + assign current_profile.roles << 'authenticated' else assign current_profile.roles = ["authenticated"] endif diff --git a/pos-module-user/modules/user/template-values.json b/pos-module-user/modules/user/template-values.json index 930fce2..865e4a5 100644 --- a/pos-module-user/modules/user/template-values.json +++ b/pos-module-user/modules/user/template-values.json @@ -2,9 +2,9 @@ "name": "User", "machine_name": "user", "type": "module", - "version": "5.2.1", + "version": "5.2.3", "dependencies": { - "core": "^2.1.0", + "core": "^2.1.1", "common-styling": "^1.11.0" } } From 604d734b25e5aa3f8176c3f78f4ec53084144688 Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Wed, 11 Mar 2026 10:01:22 +0100 Subject: [PATCH 32/44] Cleanup --- pos-module-chat/modules/core/generators/crud/index.js | 2 +- .../modules/core/public/lib/helpers/redirect_to.liquid | 2 +- .../public/views/partials/lib/helpers/register_error.liquid | 2 +- pos-module-core/modules/core/generators/crud/index.js | 2 +- .../modules/core/public/lib/helpers/redirect_to.liquid | 2 +- .../modules/core/public/lib/helpers/register_error.liquid | 2 +- .../public/views/partials/lib/helpers/register_error.liquid | 2 +- pos-module-core/modules/core/template-values.json | 2 +- .../openai/public/lib/commands/openai/chat/build.liquid | 2 +- .../openai/public/lib/commands/openai/responses/build.liquid | 2 +- pos-module-reports/modules/core/generators/crud/index.js | 2 +- .../modules/core/public/lib/helpers/redirect_to.liquid | 2 +- pos-module-user/modules/core/generators/crud/index.js | 2 +- .../modules/core/public/lib/helpers/redirect_to.liquid | 2 +- .../modules/core/public/lib/helpers/register_error.liquid | 2 +- .../public/views/partials/lib/helpers/register_error.liquid | 2 +- pos-module-user/modules/user/template-values.json | 4 ++-- 17 files changed, 18 insertions(+), 18 deletions(-) diff --git a/pos-module-chat/modules/core/generators/crud/index.js b/pos-module-chat/modules/core/generators/crud/index.js index a97a592..c51553b 100644 --- a/pos-module-chat/modules/core/generators/crud/index.js +++ b/pos-module-chat/modules/core/generators/crud/index.js @@ -8,7 +8,7 @@ module.exports = class extends Generator { this.description = 'Generate table definition and commands for CRUD with graphql files'; this.argument('modelName', { type: String, required: true, description: 'name of the table' }); - this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: [] }); + this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: "[]" }); this.option('include-views', { type: Boolean, default: false, description: 'generate pages and partials', hide: 'no' }); const attributes = this.options.attributes.map((attr) => { diff --git a/pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid index 7cbd578..b502e94 100644 --- a/pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-chat/modules/core/public/lib/helpers/redirect_to.liquid @@ -23,7 +23,7 @@ # platformos-check-enable ConvertIncludeToRender if format == 'json' - assign response_json = {"type": 'redirect', "url": url} + assign response_json = {"type": "redirect", "url": url} if object.valid echo response_json else diff --git a/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid index 7c9edaf..7c49342 100644 --- a/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-chat/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -17,7 +17,7 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: [] + assign field_errors = errors[field_name] | default: "[]" assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-core/modules/core/generators/crud/index.js b/pos-module-core/modules/core/generators/crud/index.js index af396c0..dd839bc 100644 --- a/pos-module-core/modules/core/generators/crud/index.js +++ b/pos-module-core/modules/core/generators/crud/index.js @@ -8,7 +8,7 @@ export default class extends Generator { this.description = 'Generate table definition and commands for CRUD with graphql files'; this.argument('modelName', { type: String, required: true, description: 'name of the table' }); - this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: [] }); + this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: "[]" }); this.option('include-views', { type: Boolean, default: false, description: 'generate pages and partials', hide: 'no' }); const attributes = this.options.attributes.map((attr) => { diff --git a/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid index 7cbd578..b502e94 100644 --- a/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid @@ -23,7 +23,7 @@ # platformos-check-enable ConvertIncludeToRender if format == 'json' - assign response_json = {"type": 'redirect', "url": url} + assign response_json = {"type": "redirect", "url": url} if object.valid echo response_json else diff --git a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid index 7c9edaf..7c49342 100644 --- a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid @@ -17,7 +17,7 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: [] + assign field_errors = errors[field_name] | default: "[]" assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid index 7c9edaf..7c49342 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -17,7 +17,7 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: [] + assign field_errors = errors[field_name] | default: "[]" assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-core/modules/core/template-values.json b/pos-module-core/modules/core/template-values.json index a844047..4b80214 100644 --- a/pos-module-core/modules/core/template-values.json +++ b/pos-module-core/modules/core/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Core", "machine_name": "core", "type": "module", - "version": "2.1.1", + "version": "2.1.2", "dependencies": {} } diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid index 0901ed0..662c841 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/chat/build.liquid @@ -79,7 +79,7 @@ See also: https://platform.openai.com/docs/api-reference/chat assign data_frame.messages[0].content = object['system_message'] | default: "" assign data_frame.messages[1].content[0].text = object['user_message'] | default: "" - assign user_images = object['user_images'] | default: [] + assign user_images = object['user_images'] | default: "[]" if user_images.size > 0 assign user_content = data_frame.messages[1].content diff --git a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid index e657109..fefe2fd 100644 --- a/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid +++ b/pos-module-openai/modules/openai/public/lib/commands/openai/responses/build.liquid @@ -82,7 +82,7 @@ See also: https://platform.openai.com/docs/api-reference/responses/create assign data_frame.input[0].content = object['system_message'] | default: "" assign data_frame.input[1].content[0].text = object['user_message'] | default: "" - assign user_images = object['user_images'] | default: [] + assign user_images = object['user_images'] | default: "[]" if user_images.size > 0 assign user_content = data_frame.input[1].content diff --git a/pos-module-reports/modules/core/generators/crud/index.js b/pos-module-reports/modules/core/generators/crud/index.js index a97a592..c51553b 100644 --- a/pos-module-reports/modules/core/generators/crud/index.js +++ b/pos-module-reports/modules/core/generators/crud/index.js @@ -8,7 +8,7 @@ module.exports = class extends Generator { this.description = 'Generate table definition and commands for CRUD with graphql files'; this.argument('modelName', { type: String, required: true, description: 'name of the table' }); - this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: [] }); + this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: "[]" }); this.option('include-views', { type: Boolean, default: false, description: 'generate pages and partials', hide: 'no' }); const attributes = this.options.attributes.map((attr) => { diff --git a/pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid index 7cbd578..b502e94 100644 --- a/pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-reports/modules/core/public/lib/helpers/redirect_to.liquid @@ -23,7 +23,7 @@ # platformos-check-enable ConvertIncludeToRender if format == 'json' - assign response_json = {"type": 'redirect', "url": url} + assign response_json = {"type": "redirect", "url": url} if object.valid echo response_json else diff --git a/pos-module-user/modules/core/generators/crud/index.js b/pos-module-user/modules/core/generators/crud/index.js index af396c0..dd839bc 100644 --- a/pos-module-user/modules/core/generators/crud/index.js +++ b/pos-module-user/modules/core/generators/crud/index.js @@ -8,7 +8,7 @@ export default class extends Generator { this.description = 'Generate table definition and commands for CRUD with graphql files'; this.argument('modelName', { type: String, required: true, description: 'name of the table' }); - this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: [] }); + this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: "[]" }); this.option('include-views', { type: Boolean, default: false, description: 'generate pages and partials', hide: 'no' }); const attributes = this.options.attributes.map((attr) => { diff --git a/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid index 7cbd578..b502e94 100644 --- a/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid @@ -23,7 +23,7 @@ # platformos-check-enable ConvertIncludeToRender if format == 'json' - assign response_json = {"type": 'redirect', "url": url} + assign response_json = {"type": "redirect", "url": url} if object.valid echo response_json else diff --git a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid index 7c9edaf..7c49342 100644 --- a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid @@ -17,7 +17,7 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: [] + assign field_errors = errors[field_name] | default: "[]" assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid index 7c9edaf..7c49342 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -17,7 +17,7 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: [] + assign field_errors = errors[field_name] | default: "[]" assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-user/modules/user/template-values.json b/pos-module-user/modules/user/template-values.json index 865e4a5..5e9ddee 100644 --- a/pos-module-user/modules/user/template-values.json +++ b/pos-module-user/modules/user/template-values.json @@ -2,9 +2,9 @@ "name": "User", "machine_name": "user", "type": "module", - "version": "5.2.3", + "version": "5.2.4", "dependencies": { - "core": "^2.1.1", + "core": "^2.1.2", "common-styling": "^1.11.0" } } From 80d8ab46f42152f315a815bea9fcb40117c9ed1d Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Thu, 12 Mar 2026 08:54:13 +0100 Subject: [PATCH 33/44] Cleanup --- .../modules/core/public/lib/helpers/register_error.liquid | 3 ++- .../public/views/partials/lib/helpers/register_error.liquid | 3 ++- pos-module-core/modules/core/template-values.json | 2 +- pos-module-user/modules/user/template-values.json | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid index 7c49342..f82847e 100644 --- a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid @@ -17,7 +17,8 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: "[]" + assign default = [] + assign field_errors = errors[field_name] | default: default assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid index 7c49342..f82847e 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -17,7 +17,8 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: "[]" + assign default = [] + assign field_errors = errors[field_name] | default: default assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-core/modules/core/template-values.json b/pos-module-core/modules/core/template-values.json index 4b80214..d386e90 100644 --- a/pos-module-core/modules/core/template-values.json +++ b/pos-module-core/modules/core/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Core", "machine_name": "core", "type": "module", - "version": "2.1.2", + "version": "2.1.5", "dependencies": {} } diff --git a/pos-module-user/modules/user/template-values.json b/pos-module-user/modules/user/template-values.json index 5e9ddee..a4777b0 100644 --- a/pos-module-user/modules/user/template-values.json +++ b/pos-module-user/modules/user/template-values.json @@ -2,9 +2,9 @@ "name": "User", "machine_name": "user", "type": "module", - "version": "5.2.4", + "version": "5.2.7", "dependencies": { - "core": "^2.1.2", + "core": "^2.1.5", "common-styling": "^1.11.0" } } From 8928333beb38c474611e639607e78140b54ef025 Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Fri, 13 Mar 2026 08:47:59 +0000 Subject: [PATCH 34/44] Cleanup core module --- .../public/lib/commands/email/send.liquid | 3 ++ .../lib/commands/email/send/check.liquid | 11 +++-- .../lib/commands/events/broadcast.liquid | 5 +++ .../public/lib/commands/events/create.liquid | 6 +++ .../lib/commands/events/create/build.liquid | 4 ++ .../lib/commands/events/create/check.liquid | 10 +++-- .../lib/commands/events/create/execute.liquid | 3 ++ .../public/lib/commands/events/publish.liquid | 6 +++ .../core/public/lib/commands/execute.liquid | 5 +++ .../public/lib/commands/hook/alter.liquid | 13 +++--- .../core/public/lib/commands/hook/fire.liquid | 13 +++--- .../public/lib/commands/session/clear.liquid | 3 ++ .../public/lib/commands/session/get.liquid | 4 ++ .../public/lib/commands/session/set.liquid | 4 ++ .../lib/commands/statuses/create.liquid | 27 +++++------ .../lib/commands/statuses/create/build.liquid | 8 ++++ .../lib/commands/statuses/create/check.liquid | 11 +++-- .../lib/commands/statuses/delete.liquid | 9 ++-- .../lib/commands/statuses/delete/build.liquid | 3 ++ .../lib/commands/statuses/delete/check.liquid | 5 ++- .../public/lib/commands/variable/set.liquid | 9 ++-- .../public/lib/events/status_created.liquid | 9 ++-- .../lib/helpers/authenticity_token.liquid | 4 ++ .../public/lib/helpers/flash/publish.liquid | 6 +++ .../lib/helpers/hash_to_x_form_encoded.liquid | 3 ++ .../core/public/lib/helpers/log_time.liquid | 5 +++ .../public/lib/helpers/redirect_to.liquid | 15 +++++-- .../public/lib/helpers/register_error.liquid | 14 +++--- .../lib/helpers/timezone/get_by_name.liquid | 18 ++------ .../lib/helpers/timezone/get_by_offset.liquid | 18 ++------ .../public/lib/queries/constants/find.liquid | 4 ++ .../public/lib/queries/events/find.liquid | 5 ++- .../public/lib/queries/events/search.liquid | 5 +++ .../public/lib/queries/headscripts/get.liquid | 2 +- .../lib/queries/headscripts/search.liquid | 2 +- .../public/lib/queries/hook/search.liquid | 10 ++--- .../public/lib/queries/module/exists.liquid | 10 ++--- .../public/lib/queries/registry/get.liquid | 3 ++ .../public/lib/queries/registry/search.liquid | 10 ++--- .../public/lib/queries/statuses/find.liquid | 9 ++-- .../public/lib/queries/statuses/search.liquid | 27 +++++------ .../public/lib/queries/variable/find.liquid | 13 +++--- .../public/lib/queries/variable/get.liquid | 5 +++ .../core/public/lib/validations/date.liquid | 37 +++++++++------ .../validations/each_element_length.liquid | 22 ++++----- .../lib/validations/elements_included.liquid | 17 ++++--- .../core/public/lib/validations/email.liquid | 15 +++---- .../core/public/lib/validations/equal.liquid | 15 ++++--- .../public/lib/validations/exist_in_db.liquid | 30 ++++++------- .../public/lib/validations/hcaptcha.liquid | 13 +++--- .../public/lib/validations/included.liquid | 18 ++++---- .../core/public/lib/validations/is_url.liquid | 14 +++--- .../core/public/lib/validations/length.liquid | 32 ++++++------- .../public/lib/validations/matches.liquid | 17 +++---- .../public/lib/validations/not_null.liquid | 15 +++---- .../core/public/lib/validations/number.liquid | 45 +++++++++++-------- .../validations/password_complexity.liquid | 24 +++++----- .../public/lib/validations/presence.liquid | 15 +++---- .../core/public/lib/validations/truthy.liquid | 15 +++---- .../lib/validations/unique_elements.liquid | 16 +++---- .../public/lib/validations/uniqueness.liquid | 11 ++++- .../lib/validations/valid_object.liquid | 16 +++---- .../public/views/pages/_events/index.liquid | 2 +- .../public/views/pages/_events/trigger.liquid | 2 +- .../views/partials/events/event_card.liquid | 3 ++ .../public/views/partials/events/list.liquid | 3 ++ .../public/views/partials/events/show.liquid | 3 ++ .../partials/lib/commands/email/send.liquid | 3 ++ .../lib/commands/email/send/check.liquid | 11 +++-- .../partials/lib/commands/hook/alter.liquid | 13 +++--- .../partials/lib/commands/hook/fire.liquid | 13 +++--- .../partials/lib/commands/variable/set.liquid | 9 ++-- .../lib/helpers/register_error.liquid | 14 +++--- .../lib/queries/headscripts/search.liquid | 5 ++- .../partials/lib/queries/hook/search.liquid | 10 ++--- .../partials/lib/queries/module/exists.liquid | 10 ++--- .../partials/lib/queries/registry/get.liquid | 3 ++ .../lib/queries/registry/search.liquid | 10 ++--- .../partials/lib/queries/variable/find.liquid | 13 +++--- .../partials/lib/queries/variable/get.liquid | 5 +++ .../partials/lib/validations/date.liquid | 37 +++++++++------ .../validations/each_element_length.liquid | 22 ++++----- .../lib/validations/elements_included.liquid | 17 ++++--- .../partials/lib/validations/email.liquid | 15 +++---- .../partials/lib/validations/equal.liquid | 15 ++++--- .../lib/validations/exist_in_db.liquid | 30 ++++++------- .../partials/lib/validations/hcaptcha.liquid | 13 +++--- .../partials/lib/validations/included.liquid | 18 ++++---- .../partials/lib/validations/length.liquid | 33 +++++++------- .../partials/lib/validations/matches.liquid | 17 +++---- .../partials/lib/validations/not_null.liquid | 15 +++---- .../partials/lib/validations/number.liquid | 45 +++++++++++-------- .../validations/password_complexity.liquid | 21 ++++----- .../partials/lib/validations/presence.liquid | 15 +++---- .../partials/lib/validations/truthy.liquid | 15 +++---- .../lib/validations/unique_elements.liquid | 16 +++---- .../lib/validations/uniqueness.liquid | 11 ++++- .../lib/validations/valid_object.liquid | 16 +++---- .../views/pages/sessions/destroy.liquid | 2 +- 99 files changed, 680 insertions(+), 571 deletions(-) diff --git a/pos-module-core/modules/core/public/lib/commands/email/send.liquid b/pos-module-core/modules/core/public/lib/commands/email/send.liquid index 08b61e8..1fc5273 100644 --- a/pos-module-core/modules/core/public/lib/commands/email/send.liquid +++ b/pos-module-core/modules/core/public/lib/commands/email/send.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid function object = 'modules/core/commands/email/send/build', object: object function object = 'modules/core/commands/email/send/check', object: object diff --git a/pos-module-core/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-core/modules/core/public/lib/commands/email/send/check.liquid index ace1577..50c8aec 100644 --- a/pos-module-core/modules/core/public/lib/commands/email/send/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/email/send/check.liquid @@ -1,10 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid index 9bfb72e..ec2b6bd 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/broadcast.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {object} object - The object to process + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} {% liquid if object.type == blank log 'ERROR: events broadcast type blank' diff --git a/pos-module-core/modules/core/public/lib/commands/events/create.liquid b/pos-module-core/modules/core/public/lib/commands/events/create.liquid index 50d44ce..c32c970 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} {% liquid function event = 'modules/core/commands/events/create/build', type: type, object: object function event = 'modules/core/commands/events/create/check', object: event, type: type diff --git a/pos-module-core/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-core/modules/core/public/lib/commands/events/create/build.liquid index 34dd532..32e10ed 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create/build.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} {% liquid assign now = 'now' | to_time assign data = object diff --git a/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid index 8c33700..a11a644 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create/check.liquid @@ -1,8 +1,12 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date', key: null assign name = 'events/' | append: object.type graphql event_check_partials = 'modules/core/events/events_checks', name: name | dig: "admin_liquid_partials", "results" @@ -22,7 +26,7 @@ endif else assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type - function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message, key: null endif assign object.valid = c.valid diff --git a/pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid index 326537b..d94fff4 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/create/execute.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid graphql r = 'modules/core/events/create', payload: object diff --git a/pos-module-core/modules/core/public/lib/commands/events/publish.liquid b/pos-module-core/modules/core/public/lib/commands/events/publish.liquid index 75be92b..586ad27 100644 --- a/pos-module-core/modules/core/public/lib/commands/events/publish.liquid +++ b/pos-module-core/modules/core/public/lib/commands/events/publish.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts +{% enddoc %} {% liquid if delay > 0 log 'use metadata.delay in the consumer file instead of passing it to modules/core/commands/events/publish', type: 'DEPRECATION' diff --git a/pos-module-core/modules/core/public/lib/commands/execute.liquid b/pos-module-core/modules/core/public/lib/commands/execute.liquid index e68f82d..e0510a4 100644 --- a/pos-module-core/modules/core/public/lib/commands/execute.liquid +++ b/pos-module-core/modules/core/public/lib/commands/execute.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} mutation_name - The GraphQL mutation name + @param {object} object - The object to process + @param {string} selection - The GraphQL result selection key +{% enddoc %} {% liquid assign selection = selection | default: 'record' diff --git a/pos-module-core/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-core/modules/core/public/lib/commands/hook/alter.liquid index 670f254..19f42fb 100644 --- a/pos-module-core/modules/core/public/lib/commands/hook/alter.liquid +++ b/pos-module-core/modules/core/public/lib/commands/hook/alter.liquid @@ -1,11 +1,8 @@ -{% comment %} - hook: string - the hook name without hook_ prefix and _alter suffix. - params_to_modify: object - the object that will be passed to the alter hook to modify - params: object - the object that will be passed to the alter hook to give extra information -{% endcomment %} +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} {% liquid assign original_params = params_to_modify | deep_clone diff --git a/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid index 038effd..0b35c38 100644 --- a/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-core/modules/core/public/lib/commands/hook/fire.liquid @@ -1,11 +1,8 @@ -{% comment %} - hook: string - the hook name without hook_ prefix. - params: object - the object to pass to the fired hook - merge_to_object boolean - merge the result objects to one object or collect them in an array -{% endcomment %} +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} {% liquid if merge_to_object assign results = {} diff --git a/pos-module-core/modules/core/public/lib/commands/session/clear.liquid b/pos-module-core/modules/core/public/lib/commands/session/clear.liquid index 65a82ef..b823fa5 100644 --- a/pos-module-core/modules/core/public/lib/commands/session/clear.liquid +++ b/pos-module-core/modules/core/public/lib/commands/session/clear.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid if context.session[key] != blank graphql _ = 'modules/core/session/delete', name: key diff --git a/pos-module-core/modules/core/public/lib/commands/session/get.liquid b/pos-module-core/modules/core/public/lib/commands/session/get.liquid index 5ed4854..02b8240 100644 --- a/pos-module-core/modules/core/public/lib/commands/session/get.liquid +++ b/pos-module-core/modules/core/public/lib/commands/session/get.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {boolean} clear - If true, clear the session value after reading + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid if context.session[key] != blank assign value = context.session[key] | parse_json diff --git a/pos-module-core/modules/core/public/lib/commands/session/set.liquid b/pos-module-core/modules/core/public/lib/commands/session/set.liquid index 0dfb2e4..3441120 100644 --- a/pos-module-core/modules/core/public/lib/commands/session/set.liquid +++ b/pos-module-core/modules/core/public/lib/commands/session/set.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} {% liquid assign value = value | json graphql _ = 'modules/core/session/set', name: key, value: value diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/create.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/create.liquid index 10e483e..dc5f46d 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/create.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/create.liquid @@ -1,24 +1,19 @@ -{% comment %} - Creates a status object. - - Params: - - name: String - the name of the status. For example: 'app.status.transaction.failed' - - reference_id - - requester_id - the ID of the requester. It can be a user ID or 'stripe_webhook' or anything else that represents who stored the status - - timestamp (optional) - - reference_schema (optional) - - payload (optional) - - delay (optional) - - max_attempts (optional) -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} {% liquid function object = 'modules/core/commands/statuses/create/build', name: name, timestamp: timestamp, reference_id: reference_id, reference_schema: reference_schema, payload: payload, requester_id: requester_id function object = 'modules/core/commands/statuses/create/check', object: object if object.valid - function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/create' object: object + function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/create' object: object, selection: null if object.valid function _ = 'modules/core/commands/events/publish', type: 'status_created', object: object, delay: delay, max_attempts: max_attempts endif diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/create/build.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/create/build.liquid index 6cf9f0c..b46956a 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/create/build.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/create/build.liquid @@ -1,3 +1,11 @@ +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} {% parse_json object %} { "name": {{ name | json }}, diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid index db690e5..61a2d21 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/create/check.liquid @@ -1,10 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/delete.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/delete.liquid index e115b0c..5c79d78 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/delete.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/delete.liquid @@ -1,9 +1,6 @@ -{% comment %} - Deletes a status object. - - Params: - - id: String -{% endcomment %} +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% liquid function object = 'modules/core/commands/statuses/delete/build', id: id function object = 'modules/core/commands/statuses/delete/check', object: object diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/delete/build.liquid index a596cdb..29c1322 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/delete/build.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% liquid assign object = {"id": id} return object diff --git a/pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid index 225a9ed..737a3fd 100644 --- a/pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid +++ b/pos-module-core/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -1,7 +1,10 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "valid": true, "errors": {} } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-core/modules/core/public/lib/commands/variable/set.liquid b/pos-module-core/modules/core/public/lib/commands/variable/set.liquid index aa88b52..cdbc3b8 100644 --- a/pos-module-core/modules/core/public/lib/commands/variable/set.liquid +++ b/pos-module-core/modules/core/public/lib/commands/variable/set.liquid @@ -1,8 +1,7 @@ -{% comment %} - Required params: - - name string - - value string -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} {% liquid graphql result = 'modules/core/variable/set', name: name, value: value return result.variable diff --git a/pos-module-core/modules/core/public/lib/events/status_created.liquid b/pos-module-core/modules/core/public/lib/events/status_created.liquid index 023c478..02541f7 100644 --- a/pos-module-core/modules/core/public/lib/events/status_created.liquid +++ b/pos-module-core/modules/core/public/lib/events/status_created.liquid @@ -7,12 +7,15 @@ metadata: requester_id payload --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name' - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id' - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'requester_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'requester_id', key: null return c %} diff --git a/pos-module-core/modules/core/public/lib/helpers/authenticity_token.liquid b/pos-module-core/modules/core/public/lib/helpers/authenticity_token.liquid index b435480..6262ed4 100644 --- a/pos-module-core/modules/core/public/lib/helpers/authenticity_token.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/authenticity_token.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} authenticity_token - The authenticity token from the form + @param {string} token - The authenticity token value +{% enddoc %} {% assign token = token | default: authenticity_token | default: context.authenticity_token %} {% unless token %} Liquid Error AuthenticityTokenNotFound diff --git a/pos-module-core/modules/core/public/lib/helpers/flash/publish.liquid b/pos-module-core/modules/core/public/lib/helpers/flash/publish.liquid index 41f14d9..cd5847d 100644 --- a/pos-module-core/modules/core/public/lib/helpers/flash/publish.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/flash/publish.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {boolean} force_clear - If true, clear flash messages immediately +{% enddoc %} {% liquid if error and error contains 'app.' assign error = error | t diff --git a/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 57ed938..05d1820 100644 --- a/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} payload - The payload data +{% enddoc %} {% liquid assign parameters = '' | split: ',' for pair in payload diff --git a/pos-module-core/modules/core/public/lib/helpers/log_time.liquid b/pos-module-core/modules/core/public/lib/helpers/log_time.liquid index 76ef86d..447397a 100644 --- a/pos-module-core/modules/core/public/lib/helpers/log_time.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/log_time.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} _start - The start time for measuring elapsed time + @param {string} type - The type identifier + @param {string} env - The environment name for logging +{% enddoc %} {% liquid assign _stop = 'now' | to_time assign _diff = _start | time_diff: _stop diff --git a/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid index b502e94..8f14d81 100644 --- a/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/redirect_to.liquid @@ -1,3 +1,12 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {object} object - The object to process + @param {string} default - The default value + @param {string} format - The response format + @param {string} url - The URL to redirect to +{% enddoc %} {% liquid if url == blank and context.session.return_to != blank assign url = context.session.return_to @@ -18,9 +27,9 @@ assign url = url | default: default endif - # platformos-check-disable ConvertIncludeToRender - include 'modules/core/helpers/flash/publish', notice: notice, error: error, info: info - # platformos-check-enable ConvertIncludeToRender + # platformos-check-disable DeprecatedTag + include 'modules/core/helpers/flash/publish', notice: notice, error: error, info: info, force_clear: null + # platformos-check-enable DeprecatedTag if format == 'json' assign response_json = {"type": "redirect", "url": url} diff --git a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid index f82847e..f016b3e 100644 --- a/pos-module-core/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/register_error.liquid @@ -1,11 +1,9 @@ -{% comment %} - @params - contract - { errors: {}, valid: true } - field_name - message: - key: i18n to be resolved into message -{% endcomment %} - +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} {% liquid assign key = key | default: null assign message = message | default: null diff --git a/pos-module-core/modules/core/public/lib/helpers/timezone/get_by_name.liquid b/pos-module-core/modules/core/public/lib/helpers/timezone/get_by_name.liquid index 766affe..20f429d 100644 --- a/pos-module-core/modules/core/public/lib/helpers/timezone/get_by_name.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/timezone/get_by_name.liquid @@ -1,18 +1,6 @@ -{% comment %} - params: - - name: string - -returns a timezone object in the following format: -{ - "formatted_name":"(GMT-12:00) International Date Line West", - "formatted_offset":"-12:00", - "name":"International Date Line West", - "utc_offset":-43200, - "abbreviation":"-12", - "friendly_name_with_region":"Etc - GMT+12", - "friendly_name_without_region":"GMT+12" -} -{% endcomment %} +{% doc %} + @param {string} name - The name identifier +{% enddoc %} {% liquid function timezones = 'modules/core/helpers/timezone/get_all' assign timezone = timezones | array_detect: name: name diff --git a/pos-module-core/modules/core/public/lib/helpers/timezone/get_by_offset.liquid b/pos-module-core/modules/core/public/lib/helpers/timezone/get_by_offset.liquid index f10f26e..478d3ae 100644 --- a/pos-module-core/modules/core/public/lib/helpers/timezone/get_by_offset.liquid +++ b/pos-module-core/modules/core/public/lib/helpers/timezone/get_by_offset.liquid @@ -1,18 +1,6 @@ -{% comment %} - params: - - offset: string, e.g. "+2:00" - -returns a timezone object in the following format: -{ - "formatted_name":"(GMT-12:00) International Date Line West", - "formatted_offset":"-12:00", - "name":"International Date Line West", - "utc_offset":-43200, - "abbreviation":"-12", - "friendly_name_with_region":"Etc - GMT+12", - "friendly_name_without_region":"GMT+12" -} -{% endcomment %} +{% doc %} + @param {number} offset +{% enddoc %} {% liquid function timezones = 'modules/core/helpers/timezone/get_all' assign timezone = timezones | array_detect: formatted_offset: offset diff --git a/pos-module-core/modules/core/public/lib/queries/constants/find.liquid b/pos-module-core/modules/core/public/lib/queries/constants/find.liquid index 6d7c1dd..84fe8d8 100644 --- a/pos-module-core/modules/core/public/lib/queries/constants/find.liquid +++ b/pos-module-core/modules/core/public/lib/queries/constants/find.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% if context.constants %} {% assign value = context.constants[name] %} {% else %} diff --git a/pos-module-core/modules/core/public/lib/queries/events/find.liquid b/pos-module-core/modules/core/public/lib/queries/events/find.liquid index 8b16384..c3d264a 100644 --- a/pos-module-core/modules/core/public/lib/queries/events/find.liquid +++ b/pos-module-core/modules/core/public/lib/queries/events/find.liquid @@ -1,9 +1,12 @@ +{% doc %} + @param {string} uuid - The UUID identifier +{% enddoc %} {% liquid if uuid == blank return null endif - function events = 'modules/core/queries/events/search', limit: 1, uuids: uuid + function events = 'modules/core/queries/events/search', limit: 1, uuids: uuid, page: null return events.results.first.payload %} diff --git a/pos-module-core/modules/core/public/lib/queries/events/search.liquid b/pos-module-core/modules/core/public/lib/queries/events/search.liquid index 3363d0a..2569598 100644 --- a/pos-module-core/modules/core/public/lib/queries/events/search.liquid +++ b/pos-module-core/modules/core/public/lib/queries/events/search.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} uuids - List of UUID identifiers +{% enddoc %} {% liquid assign page = page | to_positive_integer: 1 assign uuids = uuids | default: null diff --git a/pos-module-core/modules/core/public/lib/queries/headscripts/get.liquid b/pos-module-core/modules/core/public/lib/queries/headscripts/get.liquid index f35c496..e2453ef 100644 --- a/pos-module-core/modules/core/public/lib/queries/headscripts/get.liquid +++ b/pos-module-core/modules/core/public/lib/queries/headscripts/get.liquid @@ -1,5 +1,5 @@ {% liquid # TODO: remove after rewriting dependent modules - function res = 'modules/core/queries/headscripts/search' + function res = 'modules/core/queries/headscripts/search', merge_to_object: null return res %} diff --git a/pos-module-core/modules/core/public/lib/queries/headscripts/search.liquid b/pos-module-core/modules/core/public/lib/queries/headscripts/search.liquid index 40b4c03..989f536 100644 --- a/pos-module-core/modules/core/public/lib/queries/headscripts/search.liquid +++ b/pos-module-core/modules/core/public/lib/queries/headscripts/search.liquid @@ -1,5 +1,5 @@ {% liquid - function headscript_implementations = 'modules/core/commands/hook/fire', hook: 'headscripts', merge_to_object: false + function headscript_implementations = 'modules/core/commands/hook/fire', hook: 'headscripts', merge_to_object: false, params: null assign results = headscript_implementations | join: '' return results | html_safe %} diff --git a/pos-module-core/modules/core/public/lib/queries/hook/search.liquid b/pos-module-core/modules/core/public/lib/queries/hook/search.liquid index b78fd16..5b49f62 100644 --- a/pos-module-core/modules/core/public/lib/queries/hook/search.liquid +++ b/pos-module-core/modules/core/public/lib/queries/hook/search.liquid @@ -1,10 +1,6 @@ -{% comment %} - Get a list of all hook impltementation paths. - Params: - - hook: string - the hook's name with '/' prefix for example '/hook_user_create'. -{% endcomment %} - +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} {% liquid graphql implementations = 'modules/core/hook/search', hook: hook return implementations.admin_liquid_partials.results diff --git a/pos-module-core/modules/core/public/lib/queries/module/exists.liquid b/pos-module-core/modules/core/public/lib/queries/module/exists.liquid index 1e76c73..474665d 100644 --- a/pos-module-core/modules/core/public/lib/queries/module/exists.liquid +++ b/pos-module-core/modules/core/public/lib/queries/module/exists.liquid @@ -1,9 +1,7 @@ -{% comment %} - Required params: - - name string - - type string (optional) - it can be: module, theme -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% liquid function modules = 'modules/core/queries/registry/search', type: type assign module = modules | array_detect: machine_name: name diff --git a/pos-module-core/modules/core/public/lib/queries/registry/get.liquid b/pos-module-core/modules/core/public/lib/queries/registry/get.liquid index 83dde39..aa3524a 100644 --- a/pos-module-core/modules/core/public/lib/queries/registry/get.liquid +++ b/pos-module-core/modules/core/public/lib/queries/registry/get.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} {% liquid # TODO: remove after rewriting dependent modules function registry = 'modules/core/queries/registry/search', type: type diff --git a/pos-module-core/modules/core/public/lib/queries/registry/search.liquid b/pos-module-core/modules/core/public/lib/queries/registry/search.liquid index 0e08818..96116a4 100644 --- a/pos-module-core/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-core/modules/core/public/lib/queries/registry/search.liquid @@ -1,10 +1,8 @@ -{% comment %} - Required params: - - type string - it can be: all, module, theme -{% endcomment %} +{% doc %} + @param {string} type - The type identifier +{% enddoc %} {% liquid - function registry = 'modules/core/commands/hook/fire', hook: 'module_info', merge_to_object: false + function registry = 'modules/core/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null case type when 'module' diff --git a/pos-module-core/modules/core/public/lib/queries/statuses/find.liquid b/pos-module-core/modules/core/public/lib/queries/statuses/find.liquid index 2055b3f..b7cf078 100644 --- a/pos-module-core/modules/core/public/lib/queries/statuses/find.liquid +++ b/pos-module-core/modules/core/public/lib/queries/statuses/find.liquid @@ -1,9 +1,6 @@ -{% comment %} - Find a status object. - - Params: - - id: String -{% endcomment %} +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% liquid if id == blank return null diff --git a/pos-module-core/modules/core/public/lib/queries/statuses/search.liquid b/pos-module-core/modules/core/public/lib/queries/statuses/search.liquid index 36f2b8e..f4f79d8 100644 --- a/pos-module-core/modules/core/public/lib/queries/statuses/search.liquid +++ b/pos-module-core/modules/core/public/lib/queries/statuses/search.liquid @@ -1,20 +1,13 @@ -{% comment %} - Creates a status object. - - Params: - - page - default: 1 - - limit - default: 20 - - id - - name: String - the name of the status. For example: 'app.status.transaction.failed' - - reference_id - - requester_id - the ID of the requester. It can be a user ID or 'stripe_webhook' or anything else that represents who stored the status - - timestamp (optional) - - reference_schema (optional) -{% endcomment %} +{% doc %} + @param {string} id - The record ID + @param {string} name - The name identifier + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} {% liquid assign page = page | to_positive_integer: 1 assign limit = limit | default: 20 diff --git a/pos-module-core/modules/core/public/lib/queries/variable/find.liquid b/pos-module-core/modules/core/public/lib/queries/variable/find.liquid index b7012e3..c2ec54c 100644 --- a/pos-module-core/modules/core/public/lib/queries/variable/find.liquid +++ b/pos-module-core/modules/core/public/lib/queries/variable/find.liquid @@ -1,11 +1,8 @@ -{% comment %} - Required params: - - name string - - default any - the default vaue of the variable - - type string (optional) - it can be: array, integer, float, boolean, object -{% endcomment %} +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} {% liquid assign value = context.constants[name] | default: default, allow_false: true diff --git a/pos-module-core/modules/core/public/lib/queries/variable/get.liquid b/pos-module-core/modules/core/public/lib/queries/variable/get.liquid index 6f11259..e51e5de 100644 --- a/pos-module-core/modules/core/public/lib/queries/variable/get.liquid +++ b/pos-module-core/modules/core/public/lib/queries/variable/get.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% liquid # TODO: remove after rewriting dependent modules function res = 'modules/core/queries/variable/find', name: name, default: default, type: type diff --git a/pos-module-core/modules/core/public/lib/validations/date.liquid b/pos-module-core/modules/core/public/lib/validations/date.liquid index 15cb224..7125e98 100644 --- a/pos-module-core/modules/core/public/lib/validations/date.liquid +++ b/pos-module-core/modules/core/public/lib/validations/date.liquid @@ -1,10 +1,21 @@ -{% comment %} - params: @object - @field_name - @c - @date - @can_be_past -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} {% liquid assign date = date | default: object[field_name] | to_date @@ -19,12 +30,12 @@ if can_be_past == false and is_past assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if can_be_future == false and is_future assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if lt != null @@ -32,7 +43,7 @@ if date >= lt assign localized_date = lt | l assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -41,7 +52,7 @@ if date > lte assign localized_date = lte | l assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -50,7 +61,7 @@ if date <= gt assign localized_date = gt | l assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -59,7 +70,7 @@ if date < gte assign localized_date = gte | l assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif diff --git a/pos-module-core/modules/core/public/lib/validations/each_element_length.liquid b/pos-module-core/modules/core/public/lib/validations/each_element_length.liquid index 8513f87..85f5315 100644 --- a/pos-module-core/modules/core/public/lib/validations/each_element_length.liquid +++ b/pos-module-core/modules/core/public/lib/validations/each_element_length.liquid @@ -1,11 +1,11 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} {% liquid for el in object[field_name] @@ -14,18 +14,18 @@ if minimum != null and size < minimum assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if maximum != null and size > maximum assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size assign message = el | append: ' ' | append: message - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if is != null and size != is assign message = 'modules/core/validation.length.is' | t: count: is, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endfor diff --git a/pos-module-core/modules/core/public/lib/validations/elements_included.liquid b/pos-module-core/modules/core/public/lib/validations/elements_included.liquid index ec64b3a..6b58bde 100644 --- a/pos-module-core/modules/core/public/lib/validations/elements_included.liquid +++ b/pos-module-core/modules/core/public/lib/validations/elements_included.liquid @@ -1,17 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @array - @key[optional] -{% endcomment %} - +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid for val in object[field_name] unless array contains val assign key = key | default: "modules/core/validation.array.not_included" assign message = key | t: value: val - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endunless endfor diff --git a/pos-module-core/modules/core/public/lib/validations/email.liquid b/pos-module-core/modules/core/public/lib/validations/email.liquid index d8a1188..39c8029 100644 --- a/pos-module-core/modules/core/public/lib/validations/email.liquid +++ b/pos-module-core/modules/core/public/lib/validations/email.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid assign valid_email = object[field_name] | is_email_valid unless valid_email assign key = key | default: "modules/core/validation.email" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/equal.liquid b/pos-module-core/modules/core/public/lib/validations/equal.liquid index 12645af..6b367e4 100644 --- a/pos-module-core/modules/core/public/lib/validations/equal.liquid +++ b/pos-module-core/modules/core/public/lib/validations/equal.liquid @@ -1,9 +1,12 @@ -{% comment %} - params: @given - @expected - @field_name - @c -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} {% liquid if given != expected diff --git a/pos-module-core/modules/core/public/lib/validations/exist_in_db.liquid b/pos-module-core/modules/core/public/lib/validations/exist_in_db.liquid index 64256c8..abc8a51 100644 --- a/pos-module-core/modules/core/public/lib/validations/exist_in_db.liquid +++ b/pos-module-core/modules/core/public/lib/validations/exist_in_db.liquid @@ -1,17 +1,17 @@ -{% comment %} - params: @field_name - @property_name - @property_value - @scope_name - @scope_value - @exclude_name - @exclude_value - @ids - @not_ids - @table - @key - @c -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} {% liquid assign property_name = property_name | default: '' assign property_value = property_value | default: '' @@ -25,7 +25,7 @@ assign count = r.records.total_entries if count == 0 - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/hcaptcha.liquid b/pos-module-core/modules/core/public/lib/validations/hcaptcha.liquid index 2d41b0c..21289c9 100644 --- a/pos-module-core/modules/core/public/lib/validations/hcaptcha.liquid +++ b/pos-module-core/modules/core/public/lib/validations/hcaptcha.liquid @@ -1,14 +1,13 @@ -{% comment %} - params: @hcaptcha_params - @key - @c -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid assign hcaptcha_solved = hcaptcha_params | hcaptcha unless hcaptcha_solved assign key = key | default: "modules/core/validation.hcaptcha" - function c = 'modules/core/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null endunless return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/included.liquid b/pos-module-core/modules/core/public/lib/validations/included.liquid index 17142bc..a432b8c 100644 --- a/pos-module-core/modules/core/public/lib/validations/included.liquid +++ b/pos-module-core/modules/core/public/lib/validations/included.liquid @@ -1,16 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @array - @key[optional] -{% endcomment %} - +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} {% liquid assign value = value | default: object[field_name] unless array contains value assign key = key | default: "modules/core/validation.not_included" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/is_url.liquid b/pos-module-core/modules/core/public/lib/validations/is_url.liquid index 89bdaff..8ffaa46 100644 --- a/pos-module-core/modules/core/public/lib/validations/is_url.liquid +++ b/pos-module-core/modules/core/public/lib/validations/is_url.liquid @@ -1,15 +1,15 @@ -{% comment %} - params: @url - @field_name - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} url - The URL to redirect to + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid assign key = key | default: 'modules/core/validation.not_url' assign is_url = url | matches: '^https?:\/\/[\S]+' if is_url != true - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c diff --git a/pos-module-core/modules/core/public/lib/validations/length.liquid b/pos-module-core/modules/core/public/lib/validations/length.liquid index 3be800e..fba5e45 100644 --- a/pos-module-core/modules/core/public/lib/validations/length.liquid +++ b/pos-module-core/modules/core/public/lib/validations/length.liquid @@ -1,14 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is - @message_minimum - @message_maximum - @message_is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} {% liquid assign value = value | default: object[field_name] assign size = value.size @@ -20,22 +22,22 @@ assign allow_blank = true endif if allow_blank != true - function c = 'modules/core/validations/presence', c: c, object: object, field_name: field_name + function c = 'modules/core/validations/presence', c: c, object: object, field_name: field_name, key: null endif if minimum != null and size < minimum assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if maximum != null and size > maximum assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if is != null and size != is assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c diff --git a/pos-module-core/modules/core/public/lib/validations/matches.liquid b/pos-module-core/modules/core/public/lib/validations/matches.liquid index e538a7c..19a1c8a 100644 --- a/pos-module-core/modules/core/public/lib/validations/matches.liquid +++ b/pos-module-core/modules/core/public/lib/validations/matches.liquid @@ -1,10 +1,11 @@ -{% comment %} - params: @object - @field_name - @regexp - @c - @message -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} {% liquid if allow_blank and object[field_name] == blank return c @@ -13,7 +14,7 @@ assign matches = object[field_name] | matches: regexp if matches != true assign message = message | default: 'modules/core/validation.matches' | t - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/not_null.liquid b/pos-module-core/modules/core/public/lib/validations/not_null.liquid index 986541b..810b5f8 100644 --- a/pos-module-core/modules/core/public/lib/validations/not_null.liquid +++ b/pos-module-core/modules/core/public/lib/validations/not_null.liquid @@ -1,14 +1,13 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid if object[field_name] == null assign key = key | default: "modules/core/validation.null" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/number.liquid b/pos-module-core/modules/core/public/lib/validations/number.liquid index a0fea11..d39591f 100644 --- a/pos-module-core/modules/core/public/lib/validations/number.liquid +++ b/pos-module-core/modules/core/public/lib/validations/number.liquid @@ -1,15 +1,22 @@ -{% comment %} - params: @object - @field_name - @c - @number - @lt - less than - @lte - less than or equal - @gt - greater than - @gte - greater than or equal - @eq - equal - @ne - not equal -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} {% liquid assign number = number | default: object[field_name] %} @@ -18,7 +25,7 @@ {% liquid if test1 != test2 assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null return c endif @@ -27,7 +34,7 @@ if lt != null and number >= lt assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if lte == blank @@ -35,27 +42,27 @@ endif if number > lte assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if gt != null and number <= gt assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if gte != null and number < gte assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if eq != null and number != eq assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if ne != null and number == ne assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c diff --git a/pos-module-core/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-core/modules/core/public/lib/validations/password_complexity.liquid index 9ab7d06..634daa6 100644 --- a/pos-module-core/modules/core/public/lib/validations/password_complexity.liquid +++ b/pos-module-core/modules/core/public/lib/validations/password_complexity.liquid @@ -1,36 +1,36 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process + @param {string} field_name - The name of the field to validate + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} {% liquid assign decoded_pw = object.password assign minimum = minimum | default: 6 assign maximum = maximum | default: 256 assign field_name = field_name | default: 'password' - function complex_password = 'modules/core/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", context: context + function complex_password = 'modules/core/queries/variable/find', name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null if complex_password assign has_lowercase = decoded_pw | matches: '[a-z]' unless has_lowercase - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.lowercase' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.lowercase', message: null endunless assign has_uppercase = decoded_pw | matches: '[A-Z]' unless has_uppercase - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.uppercase' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.uppercase', message: null endunless assign has_number = decoded_pw | matches: '\d' unless has_number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.number' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.number', message: null endunless endif assign message_minimum = 'modules/core/validation.too_short' - function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null, is: null, message_is: null, message_maximum: null return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/presence.liquid b/pos-module-core/modules/core/public/lib/validations/presence.liquid index 70b1f54..6526d2b 100644 --- a/pos-module-core/modules/core/public/lib/validations/presence.liquid +++ b/pos-module-core/modules/core/public/lib/validations/presence.liquid @@ -1,14 +1,13 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid if object[field_name] == blank assign key = key | default: "modules/core/validation.blank" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/truthy.liquid b/pos-module-core/modules/core/public/lib/validations/truthy.liquid index 6e9a734..86b428e 100644 --- a/pos-module-core/modules/core/public/lib/validations/truthy.liquid +++ b/pos-module-core/modules/core/public/lib/validations/truthy.liquid @@ -1,14 +1,13 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid unless object[field_name] assign key = key | default: "modules/core/validation.not_truthy" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-core/modules/core/public/lib/validations/unique_elements.liquid b/pos-module-core/modules/core/public/lib/validations/unique_elements.liquid index 3af3717..4bca1e8 100644 --- a/pos-module-core/modules/core/public/lib/validations/unique_elements.liquid +++ b/pos-module-core/modules/core/public/lib/validations/unique_elements.liquid @@ -1,18 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid assign unique_count = object[field_name] | uniq | size if unique_count != object[field_name].size assign key = key | default: 'modules/core/validation.array.not_unique' - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c diff --git a/pos-module-core/modules/core/public/lib/validations/uniqueness.liquid b/pos-module-core/modules/core/public/lib/validations/uniqueness.liquid index 42b2af8..76a9948 100644 --- a/pos-module-core/modules/core/public/lib/validations/uniqueness.liquid +++ b/pos-module-core/modules/core/public/lib/validations/uniqueness.liquid @@ -1,3 +1,12 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} {% liquid assign key = key | default: 'modules/core/validation.taken' assign value = object[field_name] @@ -21,7 +30,7 @@ assign count = r.records.total_entries if count > 0 - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif endif return c diff --git a/pos-module-core/modules/core/public/lib/validations/valid_object.liquid b/pos-module-core/modules/core/public/lib/validations/valid_object.liquid index 41f9359..6693ec3 100644 --- a/pos-module-core/modules/core/public/lib/validations/valid_object.liquid +++ b/pos-module-core/modules/core/public/lib/validations/valid_object.liquid @@ -1,16 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @check_function -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} {% liquid assign value = value | default: object[field_name] if value function check_object = check_function, object: value if check_object.valid != true - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null assign errors_key = field_name | append: '_errors' assign c.errors[errors_key] = check_object.errors endif diff --git a/pos-module-core/modules/core/public/views/pages/_events/index.liquid b/pos-module-core/modules/core/public/views/pages/_events/index.liquid index c5b67f5..e5c90c8 100644 --- a/pos-module-core/modules/core/public/views/pages/_events/index.liquid +++ b/pos-module-core/modules/core/public/views/pages/_events/index.liquid @@ -4,7 +4,7 @@ slug: _events --- {% liquid if context.environment == 'staging' or context.environment == 'development' - function events = 'modules/core/queries/events/search', limit: 50 + function events = 'modules/core/queries/events/search', limit: 50, page: null, uuids: null render 'modules/core/events/list', events: events endif diff --git a/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid index 42d8413..85099b8 100644 --- a/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid +++ b/pos-module-core/modules/core/public/views/pages/_events/trigger.liquid @@ -7,7 +7,7 @@ slug: _events/:uuid/trigger function event = 'modules/core/queries/events/find', uuid: context.params.uuid if context.params.trigger - function event = 'modules/core/commands/events/broadcast', object: event + function event = 'modules/core/commands/events/broadcast', object: event, deprecated_delay: null, deprecated_max_attempts: null echo 'BROADCASTED' else assign name = 'consumers/' | append: event.type | append: '/' diff --git a/pos-module-core/modules/core/public/views/partials/events/event_card.liquid b/pos-module-core/modules/core/public/views/partials/events/event_card.liquid index 269dbaf..fcee8e2 100644 --- a/pos-module-core/modules/core/public/views/partials/events/event_card.liquid +++ b/pos-module-core/modules/core/public/views/partials/events/event_card.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign event_slim = event | deep_clone assign _ = event_slim | hash_delete_key: 'object' diff --git a/pos-module-core/modules/core/public/views/partials/events/list.liquid b/pos-module-core/modules/core/public/views/partials/events/list.liquid index a08712a..d6c0c4a 100644 --- a/pos-module-core/modules/core/public/views/partials/events/list.liquid +++ b/pos-module-core/modules/core/public/views/partials/events/list.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} events - The events collection +{% enddoc %}

    Events

    {{ events.results.size }} / {{ events.total_entries }} diff --git a/pos-module-core/modules/core/public/views/partials/events/show.liquid b/pos-module-core/modules/core/public/views/partials/events/show.liquid index 1fed733..665a505 100644 --- a/pos-module-core/modules/core/public/views/partials/events/show.liquid +++ b/pos-module-core/modules/core/public/views/partials/events/show.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %}

    Event

    << List {% render 'modules/core/events/event_card', event: event %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid index 1818aa7..f03248b 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid log 'Use modules/core/commands/email/send instead of modules/core/lib/commands/email/send', type: 'DEPRECATION' function object = 'modules/core/commands/email/send/build', object: object diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid index ace1577..50c8aec 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -1,10 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid index 118bc47..43fbfa5 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -1,11 +1,8 @@ -{% comment %} - hook: string - the hook name without hook_ prefix and _alter suffix. - params_to_modify: object - the object that will be passed to the alter hook to modify - params: object - the object that will be passed to the alter hook to give extra information -{% endcomment %} +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} {% liquid log 'Use modules/core/commands/hook/alter instead of modules/core/lib/commands/hook/alter', type: 'DEPRECATION' assign original_params = params_to_modify | deep_clone diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid index c0355d9..48cd149 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -1,11 +1,8 @@ -{% comment %} - hook: string - the hook name without hook_ prefix. - params: object - the object to pass to the fired hook - merge_to_object boolean - merge the result objects to one object or collect them in an array -{% endcomment %} +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} {% liquid if merge_to_object assign results = {} diff --git a/pos-module-core/modules/core/public/views/partials/lib/commands/variable/set.liquid b/pos-module-core/modules/core/public/views/partials/lib/commands/variable/set.liquid index ddf03fb..dc2577b 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/commands/variable/set.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/commands/variable/set.liquid @@ -1,8 +1,7 @@ -{% comment %} - Required params: - - name string - - value string -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} {% liquid log 'Use modules/core/commands/variable/set instead of modules/core/lib/commands/variable/set', type: 'DEPRECATION' graphql result = 'modules/core/variable/set', name: name, value: value diff --git a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid index f82847e..f016b3e 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -1,11 +1,9 @@ -{% comment %} - @params - contract - { errors: {}, valid: true } - field_name - message: - key: i18n to be resolved into message -{% endcomment %} - +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} {% liquid assign key = key | default: null assign message = message | default: null diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/headscripts/search.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/headscripts/search.liquid index e1ef6d8..72607a4 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/headscripts/search.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/headscripts/search.liquid @@ -1,6 +1,9 @@ +{% doc %} + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} {% liquid log 'Use queries/headscripts/search instead of lib/queries/headscripts/search', type: 'DEPRECATION' - function headscript_implementations = 'modules/core/lib/commands/hook/fire', hook: 'headscripts', merge_to_object: merge_to_object + function headscript_implementations = 'modules/core/lib/commands/hook/fire', hook: 'headscripts', merge_to_object: merge_to_object, params: null assign results = headscript_implementations | join: '' return results | html_safe %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/hook/search.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/hook/search.liquid index da311bb..f97ad06 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/hook/search.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/hook/search.liquid @@ -1,10 +1,6 @@ -{% comment %} - Get a list of all hook impltementation paths. - Params: - - hook: string - the hook's name with '/' prefix for example '/hook_user_create'. -{% endcomment %} - +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} {% liquid log 'Use modules/core/queries/hook/search instead of modules/core/lib/queries/hook/search', type: 'DEPRECATION' graphql implementations = 'modules/core/hook/search', hook: hook diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/module/exists.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/module/exists.liquid index c91e5f1..9801f78 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/module/exists.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/module/exists.liquid @@ -1,9 +1,7 @@ -{% comment %} - Required params: - - name string - - type string (optional) - it can be: module, theme -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% liquid function modules = 'modules/core/lib/queries/registry/search', type: type assign module = modules | array_detect: machine_name: name diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/get.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/get.liquid index 14e34d1..adbdeda 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/get.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/get.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} {% liquid # TODO: remove after rewriting dependent modules function registry = 'modules/core/lib/queries/registry/search', type: type diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid index 6e96071..ae8f96c 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -1,10 +1,8 @@ -{% comment %} - Required params: - - type string - it can be: all, module, theme -{% endcomment %} +{% doc %} + @param {string} type - The type identifier +{% enddoc %} {% liquid - function registry = 'modules/core/lib/commands/hook/fire', hook: 'module_info', merge_to_object: false + function registry = 'modules/core/lib/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null case type when 'module' diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/variable/find.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/variable/find.liquid index b7012e3..c2ec54c 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/variable/find.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/variable/find.liquid @@ -1,11 +1,8 @@ -{% comment %} - Required params: - - name string - - default any - the default vaue of the variable - - type string (optional) - it can be: array, integer, float, boolean, object -{% endcomment %} +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} {% liquid assign value = context.constants[name] | default: default, allow_false: true diff --git a/pos-module-core/modules/core/public/views/partials/lib/queries/variable/get.liquid b/pos-module-core/modules/core/public/views/partials/lib/queries/variable/get.liquid index 6651eb2..f6ba482 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/queries/variable/get.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/queries/variable/get.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% liquid # TODO: remove after rewriting dependent modules function res = 'modules/core/lib/queries/variable/find', name: name, default: default, type: type diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid index 206eccf..e4d6a7b 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/date.liquid @@ -1,10 +1,21 @@ -{% comment %} - params: @object - @field_name - @c - @date - @can_be_past -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} {% liquid log 'Use modules/core/validations/date instead of modules/core/lib/validations/date ', type: 'DEPRECATION' assign date = date | default: object[field_name] | to_date @@ -20,12 +31,12 @@ if can_be_past == false and is_past assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if can_be_future == false and is_future assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if lt != null @@ -33,7 +44,7 @@ if date >= lt assign localized_date = lt | l assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -42,7 +53,7 @@ if date > lte assign localized_date = lte | l assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -51,7 +62,7 @@ if date <= gt assign localized_date = gt | l assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -60,7 +71,7 @@ if date < gte assign localized_date = gte | l assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid index 371c397..2c7f107 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/each_element_length.liquid @@ -1,11 +1,11 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} {% liquid log 'Use modules/core/validations/each_element_length instead of modules/core/lib/validations/each_element_length ', type: 'DEPRECATION' for el in object[field_name] @@ -14,18 +14,18 @@ if minimum != null and size < minimum assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if maximum != null and size > maximum assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size assign message = el | append: ' ' | append: message - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if is != null and size != is assign message = 'modules/core/validation.length.is' | t: count: is, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endfor diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/elements_included.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/elements_included.liquid index ef06223..bd8035b 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/elements_included.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/elements_included.liquid @@ -1,18 +1,17 @@ -{% comment %} - params: @object - @field_name - @c - @array - @key[optional] -{% endcomment %} - +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/elements_included instead of modules/core/lib/validations/elements_included ', type: 'DEPRECATION' for val in object[field_name] unless array contains val assign key = key | default: "modules/core/validation.array.not_included" assign message = key | t: value: val - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endunless endfor diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/email.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/email.liquid index 2248f8f..6699b19 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/email.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/email.liquid @@ -1,16 +1,15 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/email instead of modules/core/lib/validations/email ', type: 'DEPRECATION' assign valid_email = object[field_name] | is_email_valid unless valid_email assign key = key | default: "modules/core/validation.email" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/equal.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/equal.liquid index 7d5bf65..97284b8 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/equal.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/equal.liquid @@ -1,9 +1,12 @@ -{% comment %} - params: @given - @expected - @field_name - @c -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} {% liquid log 'Use modules/core/validations/equal instead of modules/core/lib/validations/equal ', type: 'DEPRECATION' if given != expected diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/exist_in_db.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/exist_in_db.liquid index 37808b0..c86b2fc 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/exist_in_db.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/exist_in_db.liquid @@ -1,17 +1,17 @@ -{% comment %} - params: @field_name - @property_name - @property_value - @scope_name - @scope_value - @exclude_name - @exclude_value - @ids - @not_ids - @table - @key - @c -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} {% liquid log 'Use modules/core/validations/exist_in_db instead of modules/core/lib/validations/exist_in_db ', type: 'DEPRECATION' assign property_name = property_name | default: '' @@ -26,7 +26,7 @@ assign count = r.records.total_entries if count == 0 - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/hcaptcha.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/hcaptcha.liquid index f936542..7693b5a 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/hcaptcha.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/hcaptcha.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @hcaptcha_params - @key - @c -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/hcaptcha instead of modules/core/lib/validations/hcaptcha ', type: 'DEPRECATION' assign hcaptcha_solved = hcaptcha_params | hcaptcha unless hcaptcha_solved assign key = key | default: "modules/core/validation.hcaptcha" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null endunless return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/included.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/included.liquid index a194d71..85b4d16 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/included.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/included.liquid @@ -1,17 +1,17 @@ -{% comment %} - params: @object - @field_name - @c - @array - @key[optional] -{% endcomment %} - +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} {% liquid log 'Use modules/core/validations/included instead of modules/core/lib/validations/included ', type: 'DEPRECATION' assign value = value | default: object[field_name] unless array contains value assign key = key | default: "modules/core/validation.not_included" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/length.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/length.liquid index 2e440d5..403a064 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/length.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/length.liquid @@ -1,14 +1,17 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is - @message_minimum - @message_maximum - @message_is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_blank - Custom error message for blank validation + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} {% liquid log 'Use modules/core/validations/length instead of modules/core/lib/validations/length ', type: 'DEPRECATION' assign value = value | default: object[field_name] @@ -23,23 +26,23 @@ if allow_blank != true if size == blank assign message = message_blank | default: 'modules/core/validation.length.blank' | t - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif if minimum != null and size < minimum assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if maximum != null and size > maximum assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if is != null and size != is assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/matches.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/matches.liquid index 9127098..fb47b05 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/matches.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/matches.liquid @@ -1,10 +1,11 @@ -{% comment %} - params: @object - @field_name - @regexp - @c - @message -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} {% liquid log 'Use modules/core/validations/matches instead of modules/core/lib/validations/matches ', type: 'DEPRECATION' if allow_blank and object[field_name] == blank @@ -14,7 +15,7 @@ assign matches = object[field_name] | matches: regexp if matches != true assign message = message | default: 'modules/core/validation.matches' | t - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/not_null.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/not_null.liquid index f7bb4c6..23d6bd0 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/not_null.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/not_null.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/not_null instead of modules/core/lib/validations/not_null ', type: 'DEPRECATION' if object[field_name] == null assign key = key | default: "modules/core/validation.null" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid index 77368ba..6a11fe0 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/number.liquid @@ -1,15 +1,22 @@ -{% comment %} - params: @object - @field_name - @c - @number - @lt - less than - @lte - less than or equal - @gt - greater than - @gte - greater than or equal - @eq - equal - @ne - not equal -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} {% liquid assign number = number | default: object[field_name] log 'Use modules/core/validations/number instead of modules/core/lib/validations/number ', type: 'DEPRECATION' @@ -19,7 +26,7 @@ {% liquid if test1 != test2 assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null return c endif @@ -28,7 +35,7 @@ if lt != null and number >= lt assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if lte == blank @@ -36,27 +43,27 @@ endif if number > lte assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if gt != null and number <= gt assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if gte != null and number < gte assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if eq != null and number != eq assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if ne != null and number == ne assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid index e78516e..04bb51c 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -1,34 +1,31 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process +{% enddoc %} {% liquid log 'Use modules/core/validations/password_complexity instead of modules/core/lib/validations/password_complexity ', type: 'DEPRECATION' assign decoded_pw = object.password - function complex_password = 'modules/core/lib/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", context: context + function complex_password = 'modules/core/lib/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null if complex_password assign has_lowercase = decoded_pw | matches: '[a-z]' unless has_lowercase - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.lowercase' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.lowercase', message: null endunless assign has_uppercase = decoded_pw | matches: '[A-Z]' unless has_uppercase - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.uppercase' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.uppercase', message: null endunless assign has_number = decoded_pw | matches: '\d' unless has_number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.number' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.number', message: null endunless endif assign message_minimum = 'modules/core/validation.too_short' - function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null, is: null, message_blank: null, message_is: null, message_maximum: null return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/presence.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/presence.liquid index 5d34276..06862bd 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/presence.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/presence.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/presence instead of modules/core/lib/validations/presence ', type: 'DEPRECATION' if object[field_name] == blank assign key = key | default: "modules/core/validation.blank" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/truthy.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/truthy.liquid index 0efd280..9b2a93e 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/truthy.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/truthy.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/truthy instead of modules/core/lib/validations/truthy ', type: 'DEPRECATION' unless object[field_name] assign key = key | default: "modules/core/validation.not_truthy" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/unique_elements.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/unique_elements.liquid index 3eb74e5..f052483 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/unique_elements.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/unique_elements.liquid @@ -1,18 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/unique_elements instead of modules/core/lib/validations/unique_elements ', type: 'DEPRECATION' assign unique_count = object[field_name] | uniq | size if unique_count != object[field_name].size assign key = key | default: 'modules/core/validation.array.not_unique' - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/uniqueness.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/uniqueness.liquid index 3942836..66d62c7 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/uniqueness.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/uniqueness.liquid @@ -1,3 +1,12 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} {% liquid log 'Use modules/core/validations/uniqueness instead of modules/core/lib/validations/uniqueness ', type: 'DEPRECATION' assign key = key | default: 'modules/core/validation.taken' @@ -22,7 +31,7 @@ assign count = r.records.total_entries if count > 0 - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif endif return c diff --git a/pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid index f0adacc..690addf 100644 --- a/pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid +++ b/pos-module-core/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -1,17 +1,17 @@ -{% comment %} - params: @object - @field_name - @c - @check_function -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} {% liquid log 'Use modules/core/validations/valid_object instead of modules/core/lib/validations/valid_object ', type: 'DEPRECATION' assign value = value | default: object[field_name] if value function check_object = check_function, object: value if check_object.valid != true - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null assign errors_key = field_name | append: '_errors' assign c.errors[errors_key] = check_object.errors endif diff --git a/pos-module-reports/modules/user/public/views/pages/sessions/destroy.liquid b/pos-module-reports/modules/user/public/views/pages/sessions/destroy.liquid index 509e844..3f4fb5f 100644 --- a/pos-module-reports/modules/user/public/views/pages/sessions/destroy.liquid +++ b/pos-module-reports/modules/user/public/views/pages/sessions/destroy.liquid @@ -11,4 +11,4 @@ method: delete function res = 'modules/user/commands/session/destroy' assign redirect_path = res.hook_results.redirect_to | default: params.redirect_to | default: '/' redirect_to redirect_path -%} +%} \ No newline at end of file From ecdb93c27d53dc30dc09933b882b1153d917522a Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Fri, 13 Mar 2026 08:59:52 +0000 Subject: [PATCH 35/44] Core module bump in user --- .../public/views/partials/pagination.liquid | 2 +- .../public/views/partials/user/avatar.liquid | 6 +-- .../public/views/partials/user/card.liquid | 2 +- .../public/lib/commands/email/send.liquid | 3 ++ .../lib/commands/email/send/check.liquid | 11 +++-- .../lib/commands/events/broadcast.liquid | 5 +++ .../public/lib/commands/events/create.liquid | 6 +++ .../lib/commands/events/create/build.liquid | 4 ++ .../lib/commands/events/create/check.liquid | 10 +++-- .../lib/commands/events/create/execute.liquid | 3 ++ .../public/lib/commands/events/publish.liquid | 6 +++ .../core/public/lib/commands/execute.liquid | 5 +++ .../public/lib/commands/hook/alter.liquid | 13 +++--- .../core/public/lib/commands/hook/fire.liquid | 13 +++--- .../public/lib/commands/session/clear.liquid | 3 ++ .../public/lib/commands/session/get.liquid | 4 ++ .../public/lib/commands/session/set.liquid | 4 ++ .../lib/commands/statuses/create.liquid | 27 +++++------ .../lib/commands/statuses/create/build.liquid | 8 ++++ .../lib/commands/statuses/create/check.liquid | 11 +++-- .../lib/commands/statuses/delete.liquid | 9 ++-- .../lib/commands/statuses/delete/build.liquid | 3 ++ .../lib/commands/statuses/delete/check.liquid | 5 ++- .../public/lib/commands/variable/set.liquid | 9 ++-- .../public/lib/events/status_created.liquid | 9 ++-- .../lib/helpers/authenticity_token.liquid | 4 ++ .../public/lib/helpers/flash/publish.liquid | 6 +++ .../lib/helpers/hash_to_x_form_encoded.liquid | 3 ++ .../core/public/lib/helpers/log_time.liquid | 5 +++ .../public/lib/helpers/redirect_to.liquid | 15 +++++-- .../public/lib/helpers/register_error.liquid | 17 ++++--- .../lib/helpers/timezone/get_by_name.liquid | 18 ++------ .../lib/helpers/timezone/get_by_offset.liquid | 18 ++------ .../public/lib/queries/constants/find.liquid | 4 ++ .../public/lib/queries/events/find.liquid | 5 ++- .../public/lib/queries/events/search.liquid | 5 +++ .../public/lib/queries/headscripts/get.liquid | 2 +- .../lib/queries/headscripts/search.liquid | 2 +- .../public/lib/queries/hook/search.liquid | 10 ++--- .../public/lib/queries/module/exists.liquid | 10 ++--- .../public/lib/queries/registry/get.liquid | 3 ++ .../public/lib/queries/registry/search.liquid | 10 ++--- .../public/lib/queries/statuses/find.liquid | 9 ++-- .../public/lib/queries/statuses/search.liquid | 27 +++++------ .../public/lib/queries/variable/find.liquid | 13 +++--- .../public/lib/queries/variable/get.liquid | 5 +++ .../core/public/lib/validations/date.liquid | 37 +++++++++------ .../validations/each_element_length.liquid | 22 ++++----- .../lib/validations/elements_included.liquid | 17 ++++--- .../core/public/lib/validations/email.liquid | 15 +++---- .../core/public/lib/validations/equal.liquid | 15 ++++--- .../public/lib/validations/exist_in_db.liquid | 30 ++++++------- .../public/lib/validations/hcaptcha.liquid | 13 +++--- .../public/lib/validations/included.liquid | 18 ++++---- .../core/public/lib/validations/is_url.liquid | 14 +++--- .../core/public/lib/validations/length.liquid | 32 ++++++------- .../public/lib/validations/matches.liquid | 17 +++---- .../public/lib/validations/not_null.liquid | 15 +++---- .../core/public/lib/validations/number.liquid | 45 +++++++++++-------- .../validations/password_complexity.liquid | 24 +++++----- .../public/lib/validations/presence.liquid | 15 +++---- .../core/public/lib/validations/truthy.liquid | 15 +++---- .../lib/validations/unique_elements.liquid | 16 +++---- .../public/lib/validations/uniqueness.liquid | 11 ++++- .../lib/validations/valid_object.liquid | 16 +++---- .../public/views/pages/_events/index.liquid | 2 +- .../public/views/pages/_events/trigger.liquid | 2 +- .../views/partials/events/event_card.liquid | 3 ++ .../public/views/partials/events/list.liquid | 3 ++ .../public/views/partials/events/show.liquid | 3 ++ .../partials/lib/commands/email/send.liquid | 3 ++ .../lib/commands/email/send/check.liquid | 11 +++-- .../partials/lib/commands/hook/alter.liquid | 13 +++--- .../partials/lib/commands/hook/fire.liquid | 13 +++--- .../partials/lib/commands/variable/set.liquid | 9 ++-- .../lib/helpers/register_error.liquid | 17 ++++--- .../lib/queries/headscripts/search.liquid | 5 ++- .../partials/lib/queries/hook/search.liquid | 10 ++--- .../partials/lib/queries/module/exists.liquid | 10 ++--- .../partials/lib/queries/registry/get.liquid | 3 ++ .../lib/queries/registry/search.liquid | 10 ++--- .../partials/lib/queries/variable/find.liquid | 13 +++--- .../partials/lib/queries/variable/get.liquid | 5 +++ .../partials/lib/validations/date.liquid | 37 +++++++++------ .../validations/each_element_length.liquid | 22 ++++----- .../lib/validations/elements_included.liquid | 17 ++++--- .../partials/lib/validations/email.liquid | 15 +++---- .../partials/lib/validations/equal.liquid | 15 ++++--- .../lib/validations/exist_in_db.liquid | 30 ++++++------- .../partials/lib/validations/hcaptcha.liquid | 13 +++--- .../partials/lib/validations/included.liquid | 18 ++++---- .../partials/lib/validations/length.liquid | 33 +++++++------- .../partials/lib/validations/matches.liquid | 17 +++---- .../partials/lib/validations/not_null.liquid | 15 +++---- .../partials/lib/validations/number.liquid | 45 +++++++++++-------- .../validations/password_complexity.liquid | 21 ++++----- .../partials/lib/validations/presence.liquid | 15 +++---- .../partials/lib/validations/truthy.liquid | 15 +++---- .../lib/validations/unique_elements.liquid | 16 +++---- .../lib/validations/uniqueness.liquid | 11 ++++- .../lib/validations/valid_object.liquid | 16 +++---- .../modules/core/template-values.json | 2 +- .../tests/public/lib/commands/run.liquid | 2 - .../user/public/translations/en/2fa.yml | 2 +- 104 files changed, 690 insertions(+), 581 deletions(-) diff --git a/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid b/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid index c39331b..e7ab1ff 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid @@ -13,7 +13,7 @@ assign url = '?' if context.location.search assign query_string = context.location.search - assign removed = query_string | hash_delete_key: 'page' + assign _ = query_string | hash_delete_key: 'page' if query_string.size > 0 assign query_string = query_string | querify diff --git a/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid b/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid index 3f1cc43..2de9a59 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid @@ -2,7 +2,7 @@ assign size = size | default: params.size | default: 'md' assign class = class | default: params.class assign name = name | default: params.name - assign imageSrc = imageSrc | default: params.imageSrc + assign image_src = image_src | default: params.image_src assign names = name | split: " " @@ -24,7 +24,7 @@ endcase %} -{% if imageSrc == blank %} +{% if image_src == blank %}
    {{ names[0] | slice: 0 }}{{ names[1] | slice: 0 }} @@ -33,7 +33,7 @@ {% else %}
    - +
    {% endif %} diff --git a/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid b/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid index 34d9056..719273a 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid @@ -6,7 +6,7 @@
    - {% render 'modules/common-styling/user/avatar', size: 'xxl', name: name, imageSrc: imageSrc %} + {% render 'modules/common-styling/user/avatar', size: 'xxl', name: name, image_src: image_src %} {{ name }} diff --git a/pos-module-user/modules/core/public/lib/commands/email/send.liquid b/pos-module-user/modules/core/public/lib/commands/email/send.liquid index 08b61e8..1fc5273 100644 --- a/pos-module-user/modules/core/public/lib/commands/email/send.liquid +++ b/pos-module-user/modules/core/public/lib/commands/email/send.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid function object = 'modules/core/commands/email/send/build', object: object function object = 'modules/core/commands/email/send/check', object: object diff --git a/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid index ace1577..50c8aec 100644 --- a/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid @@ -1,10 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid index 9bfb72e..ec2b6bd 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {object} object - The object to process + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} {% liquid if object.type == blank log 'ERROR: events broadcast type blank' diff --git a/pos-module-user/modules/core/public/lib/commands/events/create.liquid b/pos-module-user/modules/core/public/lib/commands/events/create.liquid index 50d44ce..c32c970 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/create.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/create.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} {% liquid function event = 'modules/core/commands/events/create/build', type: type, object: object function event = 'modules/core/commands/events/create/check', object: event, type: type diff --git a/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid index 34dd532..32e10ed 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} {% liquid assign now = 'now' | to_time assign data = object diff --git a/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid index 8c33700..a11a644 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid @@ -1,8 +1,12 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date', key: null assign name = 'events/' | append: object.type graphql event_check_partials = 'modules/core/events/events_checks', name: name | dig: "admin_liquid_partials", "results" @@ -22,7 +26,7 @@ endif else assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type - function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message, key: null endif assign object.valid = c.valid diff --git a/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid index 326537b..d94fff4 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid graphql r = 'modules/core/events/create', payload: object diff --git a/pos-module-user/modules/core/public/lib/commands/events/publish.liquid b/pos-module-user/modules/core/public/lib/commands/events/publish.liquid index 75be92b..586ad27 100644 --- a/pos-module-user/modules/core/public/lib/commands/events/publish.liquid +++ b/pos-module-user/modules/core/public/lib/commands/events/publish.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts +{% enddoc %} {% liquid if delay > 0 log 'use metadata.delay in the consumer file instead of passing it to modules/core/commands/events/publish', type: 'DEPRECATION' diff --git a/pos-module-user/modules/core/public/lib/commands/execute.liquid b/pos-module-user/modules/core/public/lib/commands/execute.liquid index e68f82d..e0510a4 100644 --- a/pos-module-user/modules/core/public/lib/commands/execute.liquid +++ b/pos-module-user/modules/core/public/lib/commands/execute.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} mutation_name - The GraphQL mutation name + @param {object} object - The object to process + @param {string} selection - The GraphQL result selection key +{% enddoc %} {% liquid assign selection = selection | default: 'record' diff --git a/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid index 670f254..19f42fb 100644 --- a/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid +++ b/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid @@ -1,11 +1,8 @@ -{% comment %} - hook: string - the hook name without hook_ prefix and _alter suffix. - params_to_modify: object - the object that will be passed to the alter hook to modify - params: object - the object that will be passed to the alter hook to give extra information -{% endcomment %} +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} {% liquid assign original_params = params_to_modify | deep_clone diff --git a/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid index 038effd..0b35c38 100644 --- a/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid +++ b/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid @@ -1,11 +1,8 @@ -{% comment %} - hook: string - the hook name without hook_ prefix. - params: object - the object to pass to the fired hook - merge_to_object boolean - merge the result objects to one object or collect them in an array -{% endcomment %} +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} {% liquid if merge_to_object assign results = {} diff --git a/pos-module-user/modules/core/public/lib/commands/session/clear.liquid b/pos-module-user/modules/core/public/lib/commands/session/clear.liquid index 65a82ef..b823fa5 100644 --- a/pos-module-user/modules/core/public/lib/commands/session/clear.liquid +++ b/pos-module-user/modules/core/public/lib/commands/session/clear.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid if context.session[key] != blank graphql _ = 'modules/core/session/delete', name: key diff --git a/pos-module-user/modules/core/public/lib/commands/session/get.liquid b/pos-module-user/modules/core/public/lib/commands/session/get.liquid index 5ed4854..02b8240 100644 --- a/pos-module-user/modules/core/public/lib/commands/session/get.liquid +++ b/pos-module-user/modules/core/public/lib/commands/session/get.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {boolean} clear - If true, clear the session value after reading + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid if context.session[key] != blank assign value = context.session[key] | parse_json diff --git a/pos-module-user/modules/core/public/lib/commands/session/set.liquid b/pos-module-user/modules/core/public/lib/commands/session/set.liquid index 0dfb2e4..3441120 100644 --- a/pos-module-user/modules/core/public/lib/commands/session/set.liquid +++ b/pos-module-user/modules/core/public/lib/commands/session/set.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} {% liquid assign value = value | json graphql _ = 'modules/core/session/set', name: key, value: value diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid index 10e483e..dc5f46d 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid @@ -1,24 +1,19 @@ -{% comment %} - Creates a status object. - - Params: - - name: String - the name of the status. For example: 'app.status.transaction.failed' - - reference_id - - requester_id - the ID of the requester. It can be a user ID or 'stripe_webhook' or anything else that represents who stored the status - - timestamp (optional) - - reference_schema (optional) - - payload (optional) - - delay (optional) - - max_attempts (optional) -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} {% liquid function object = 'modules/core/commands/statuses/create/build', name: name, timestamp: timestamp, reference_id: reference_id, reference_schema: reference_schema, payload: payload, requester_id: requester_id function object = 'modules/core/commands/statuses/create/check', object: object if object.valid - function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/create' object: object + function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/create' object: object, selection: null if object.valid function _ = 'modules/core/commands/events/publish', type: 'status_created', object: object, delay: delay, max_attempts: max_attempts endif diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid index 6cf9f0c..b46956a 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid @@ -1,3 +1,11 @@ +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} {% parse_json object %} { "name": {{ name | json }}, diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid index db690e5..61a2d21 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid @@ -1,10 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid index e115b0c..5c79d78 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid @@ -1,9 +1,6 @@ -{% comment %} - Deletes a status object. - - Params: - - id: String -{% endcomment %} +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% liquid function object = 'modules/core/commands/statuses/delete/build', id: id function object = 'modules/core/commands/statuses/delete/check', object: object diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid index a596cdb..29c1322 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% liquid assign object = {"id": id} return object diff --git a/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid index 225a9ed..737a3fd 100644 --- a/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid +++ b/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -1,7 +1,10 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "valid": true, "errors": {} } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/core/public/lib/commands/variable/set.liquid b/pos-module-user/modules/core/public/lib/commands/variable/set.liquid index aa88b52..cdbc3b8 100644 --- a/pos-module-user/modules/core/public/lib/commands/variable/set.liquid +++ b/pos-module-user/modules/core/public/lib/commands/variable/set.liquid @@ -1,8 +1,7 @@ -{% comment %} - Required params: - - name string - - value string -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} {% liquid graphql result = 'modules/core/variable/set', name: name, value: value return result.variable diff --git a/pos-module-user/modules/core/public/lib/events/status_created.liquid b/pos-module-user/modules/core/public/lib/events/status_created.liquid index 023c478..02541f7 100644 --- a/pos-module-user/modules/core/public/lib/events/status_created.liquid +++ b/pos-module-user/modules/core/public/lib/events/status_created.liquid @@ -7,12 +7,15 @@ metadata: requester_id payload --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name' - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id' - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'requester_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'requester_id', key: null return c %} diff --git a/pos-module-user/modules/core/public/lib/helpers/authenticity_token.liquid b/pos-module-user/modules/core/public/lib/helpers/authenticity_token.liquid index b435480..6262ed4 100644 --- a/pos-module-user/modules/core/public/lib/helpers/authenticity_token.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/authenticity_token.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} authenticity_token - The authenticity token from the form + @param {string} token - The authenticity token value +{% enddoc %} {% assign token = token | default: authenticity_token | default: context.authenticity_token %} {% unless token %} Liquid Error AuthenticityTokenNotFound diff --git a/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid b/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid index 41f14d9..cd5847d 100644 --- a/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {boolean} force_clear - If true, clear flash messages immediately +{% enddoc %} {% liquid if error and error contains 'app.' assign error = error | t diff --git a/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid index 57ed938..05d1820 100644 --- a/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} payload - The payload data +{% enddoc %} {% liquid assign parameters = '' | split: ',' for pair in payload diff --git a/pos-module-user/modules/core/public/lib/helpers/log_time.liquid b/pos-module-user/modules/core/public/lib/helpers/log_time.liquid index 76ef86d..447397a 100644 --- a/pos-module-user/modules/core/public/lib/helpers/log_time.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/log_time.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} _start - The start time for measuring elapsed time + @param {string} type - The type identifier + @param {string} env - The environment name for logging +{% enddoc %} {% liquid assign _stop = 'now' | to_time assign _diff = _start | time_diff: _stop diff --git a/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid index b502e94..8f14d81 100644 --- a/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid @@ -1,3 +1,12 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {object} object - The object to process + @param {string} default - The default value + @param {string} format - The response format + @param {string} url - The URL to redirect to +{% enddoc %} {% liquid if url == blank and context.session.return_to != blank assign url = context.session.return_to @@ -18,9 +27,9 @@ assign url = url | default: default endif - # platformos-check-disable ConvertIncludeToRender - include 'modules/core/helpers/flash/publish', notice: notice, error: error, info: info - # platformos-check-enable ConvertIncludeToRender + # platformos-check-disable DeprecatedTag + include 'modules/core/helpers/flash/publish', notice: notice, error: error, info: info, force_clear: null + # platformos-check-enable DeprecatedTag if format == 'json' assign response_json = {"type": "redirect", "url": url} diff --git a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid index 7c49342..f016b3e 100644 --- a/pos-module-user/modules/core/public/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/register_error.liquid @@ -1,11 +1,9 @@ -{% comment %} - @params - contract - { errors: {}, valid: true } - field_name - message: - key: i18n to be resolved into message -{% endcomment %} - +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} {% liquid assign key = key | default: null assign message = message | default: null @@ -17,7 +15,8 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: "[]" + assign default = [] + assign field_errors = errors[field_name] | default: default assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_name.liquid b/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_name.liquid index 766affe..20f429d 100644 --- a/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_name.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_name.liquid @@ -1,18 +1,6 @@ -{% comment %} - params: - - name: string - -returns a timezone object in the following format: -{ - "formatted_name":"(GMT-12:00) International Date Line West", - "formatted_offset":"-12:00", - "name":"International Date Line West", - "utc_offset":-43200, - "abbreviation":"-12", - "friendly_name_with_region":"Etc - GMT+12", - "friendly_name_without_region":"GMT+12" -} -{% endcomment %} +{% doc %} + @param {string} name - The name identifier +{% enddoc %} {% liquid function timezones = 'modules/core/helpers/timezone/get_all' assign timezone = timezones | array_detect: name: name diff --git a/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_offset.liquid b/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_offset.liquid index f10f26e..478d3ae 100644 --- a/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_offset.liquid +++ b/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_offset.liquid @@ -1,18 +1,6 @@ -{% comment %} - params: - - offset: string, e.g. "+2:00" - -returns a timezone object in the following format: -{ - "formatted_name":"(GMT-12:00) International Date Line West", - "formatted_offset":"-12:00", - "name":"International Date Line West", - "utc_offset":-43200, - "abbreviation":"-12", - "friendly_name_with_region":"Etc - GMT+12", - "friendly_name_without_region":"GMT+12" -} -{% endcomment %} +{% doc %} + @param {number} offset +{% enddoc %} {% liquid function timezones = 'modules/core/helpers/timezone/get_all' assign timezone = timezones | array_detect: formatted_offset: offset diff --git a/pos-module-user/modules/core/public/lib/queries/constants/find.liquid b/pos-module-user/modules/core/public/lib/queries/constants/find.liquid index 6d7c1dd..84fe8d8 100644 --- a/pos-module-user/modules/core/public/lib/queries/constants/find.liquid +++ b/pos-module-user/modules/core/public/lib/queries/constants/find.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% if context.constants %} {% assign value = context.constants[name] %} {% else %} diff --git a/pos-module-user/modules/core/public/lib/queries/events/find.liquid b/pos-module-user/modules/core/public/lib/queries/events/find.liquid index 8b16384..c3d264a 100644 --- a/pos-module-user/modules/core/public/lib/queries/events/find.liquid +++ b/pos-module-user/modules/core/public/lib/queries/events/find.liquid @@ -1,9 +1,12 @@ +{% doc %} + @param {string} uuid - The UUID identifier +{% enddoc %} {% liquid if uuid == blank return null endif - function events = 'modules/core/queries/events/search', limit: 1, uuids: uuid + function events = 'modules/core/queries/events/search', limit: 1, uuids: uuid, page: null return events.results.first.payload %} diff --git a/pos-module-user/modules/core/public/lib/queries/events/search.liquid b/pos-module-user/modules/core/public/lib/queries/events/search.liquid index 3363d0a..2569598 100644 --- a/pos-module-user/modules/core/public/lib/queries/events/search.liquid +++ b/pos-module-user/modules/core/public/lib/queries/events/search.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} uuids - List of UUID identifiers +{% enddoc %} {% liquid assign page = page | to_positive_integer: 1 assign uuids = uuids | default: null diff --git a/pos-module-user/modules/core/public/lib/queries/headscripts/get.liquid b/pos-module-user/modules/core/public/lib/queries/headscripts/get.liquid index f35c496..e2453ef 100644 --- a/pos-module-user/modules/core/public/lib/queries/headscripts/get.liquid +++ b/pos-module-user/modules/core/public/lib/queries/headscripts/get.liquid @@ -1,5 +1,5 @@ {% liquid # TODO: remove after rewriting dependent modules - function res = 'modules/core/queries/headscripts/search' + function res = 'modules/core/queries/headscripts/search', merge_to_object: null return res %} diff --git a/pos-module-user/modules/core/public/lib/queries/headscripts/search.liquid b/pos-module-user/modules/core/public/lib/queries/headscripts/search.liquid index 40b4c03..989f536 100644 --- a/pos-module-user/modules/core/public/lib/queries/headscripts/search.liquid +++ b/pos-module-user/modules/core/public/lib/queries/headscripts/search.liquid @@ -1,5 +1,5 @@ {% liquid - function headscript_implementations = 'modules/core/commands/hook/fire', hook: 'headscripts', merge_to_object: false + function headscript_implementations = 'modules/core/commands/hook/fire', hook: 'headscripts', merge_to_object: false, params: null assign results = headscript_implementations | join: '' return results | html_safe %} diff --git a/pos-module-user/modules/core/public/lib/queries/hook/search.liquid b/pos-module-user/modules/core/public/lib/queries/hook/search.liquid index b78fd16..5b49f62 100644 --- a/pos-module-user/modules/core/public/lib/queries/hook/search.liquid +++ b/pos-module-user/modules/core/public/lib/queries/hook/search.liquid @@ -1,10 +1,6 @@ -{% comment %} - Get a list of all hook impltementation paths. - Params: - - hook: string - the hook's name with '/' prefix for example '/hook_user_create'. -{% endcomment %} - +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} {% liquid graphql implementations = 'modules/core/hook/search', hook: hook return implementations.admin_liquid_partials.results diff --git a/pos-module-user/modules/core/public/lib/queries/module/exists.liquid b/pos-module-user/modules/core/public/lib/queries/module/exists.liquid index 1e76c73..474665d 100644 --- a/pos-module-user/modules/core/public/lib/queries/module/exists.liquid +++ b/pos-module-user/modules/core/public/lib/queries/module/exists.liquid @@ -1,9 +1,7 @@ -{% comment %} - Required params: - - name string - - type string (optional) - it can be: module, theme -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% liquid function modules = 'modules/core/queries/registry/search', type: type assign module = modules | array_detect: machine_name: name diff --git a/pos-module-user/modules/core/public/lib/queries/registry/get.liquid b/pos-module-user/modules/core/public/lib/queries/registry/get.liquid index 83dde39..aa3524a 100644 --- a/pos-module-user/modules/core/public/lib/queries/registry/get.liquid +++ b/pos-module-user/modules/core/public/lib/queries/registry/get.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} {% liquid # TODO: remove after rewriting dependent modules function registry = 'modules/core/queries/registry/search', type: type diff --git a/pos-module-user/modules/core/public/lib/queries/registry/search.liquid b/pos-module-user/modules/core/public/lib/queries/registry/search.liquid index 0e08818..96116a4 100644 --- a/pos-module-user/modules/core/public/lib/queries/registry/search.liquid +++ b/pos-module-user/modules/core/public/lib/queries/registry/search.liquid @@ -1,10 +1,8 @@ -{% comment %} - Required params: - - type string - it can be: all, module, theme -{% endcomment %} +{% doc %} + @param {string} type - The type identifier +{% enddoc %} {% liquid - function registry = 'modules/core/commands/hook/fire', hook: 'module_info', merge_to_object: false + function registry = 'modules/core/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null case type when 'module' diff --git a/pos-module-user/modules/core/public/lib/queries/statuses/find.liquid b/pos-module-user/modules/core/public/lib/queries/statuses/find.liquid index 2055b3f..b7cf078 100644 --- a/pos-module-user/modules/core/public/lib/queries/statuses/find.liquid +++ b/pos-module-user/modules/core/public/lib/queries/statuses/find.liquid @@ -1,9 +1,6 @@ -{% comment %} - Find a status object. - - Params: - - id: String -{% endcomment %} +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% liquid if id == blank return null diff --git a/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid b/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid index 36f2b8e..f4f79d8 100644 --- a/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid +++ b/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid @@ -1,20 +1,13 @@ -{% comment %} - Creates a status object. - - Params: - - page - default: 1 - - limit - default: 20 - - id - - name: String - the name of the status. For example: 'app.status.transaction.failed' - - reference_id - - requester_id - the ID of the requester. It can be a user ID or 'stripe_webhook' or anything else that represents who stored the status - - timestamp (optional) - - reference_schema (optional) -{% endcomment %} +{% doc %} + @param {string} id - The record ID + @param {string} name - The name identifier + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} {% liquid assign page = page | to_positive_integer: 1 assign limit = limit | default: 20 diff --git a/pos-module-user/modules/core/public/lib/queries/variable/find.liquid b/pos-module-user/modules/core/public/lib/queries/variable/find.liquid index b7012e3..c2ec54c 100644 --- a/pos-module-user/modules/core/public/lib/queries/variable/find.liquid +++ b/pos-module-user/modules/core/public/lib/queries/variable/find.liquid @@ -1,11 +1,8 @@ -{% comment %} - Required params: - - name string - - default any - the default vaue of the variable - - type string (optional) - it can be: array, integer, float, boolean, object -{% endcomment %} +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} {% liquid assign value = context.constants[name] | default: default, allow_false: true diff --git a/pos-module-user/modules/core/public/lib/queries/variable/get.liquid b/pos-module-user/modules/core/public/lib/queries/variable/get.liquid index 6f11259..e51e5de 100644 --- a/pos-module-user/modules/core/public/lib/queries/variable/get.liquid +++ b/pos-module-user/modules/core/public/lib/queries/variable/get.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% liquid # TODO: remove after rewriting dependent modules function res = 'modules/core/queries/variable/find', name: name, default: default, type: type diff --git a/pos-module-user/modules/core/public/lib/validations/date.liquid b/pos-module-user/modules/core/public/lib/validations/date.liquid index 15cb224..7125e98 100644 --- a/pos-module-user/modules/core/public/lib/validations/date.liquid +++ b/pos-module-user/modules/core/public/lib/validations/date.liquid @@ -1,10 +1,21 @@ -{% comment %} - params: @object - @field_name - @c - @date - @can_be_past -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} {% liquid assign date = date | default: object[field_name] | to_date @@ -19,12 +30,12 @@ if can_be_past == false and is_past assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if can_be_future == false and is_future assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if lt != null @@ -32,7 +43,7 @@ if date >= lt assign localized_date = lt | l assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -41,7 +52,7 @@ if date > lte assign localized_date = lte | l assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -50,7 +61,7 @@ if date <= gt assign localized_date = gt | l assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -59,7 +70,7 @@ if date < gte assign localized_date = gte | l assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif diff --git a/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid b/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid index 8513f87..85f5315 100644 --- a/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid +++ b/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid @@ -1,11 +1,11 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} {% liquid for el in object[field_name] @@ -14,18 +14,18 @@ if minimum != null and size < minimum assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if maximum != null and size > maximum assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size assign message = el | append: ' ' | append: message - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if is != null and size != is assign message = 'modules/core/validation.length.is' | t: count: is, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endfor diff --git a/pos-module-user/modules/core/public/lib/validations/elements_included.liquid b/pos-module-user/modules/core/public/lib/validations/elements_included.liquid index ec64b3a..6b58bde 100644 --- a/pos-module-user/modules/core/public/lib/validations/elements_included.liquid +++ b/pos-module-user/modules/core/public/lib/validations/elements_included.liquid @@ -1,17 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @array - @key[optional] -{% endcomment %} - +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid for val in object[field_name] unless array contains val assign key = key | default: "modules/core/validation.array.not_included" assign message = key | t: value: val - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endunless endfor diff --git a/pos-module-user/modules/core/public/lib/validations/email.liquid b/pos-module-user/modules/core/public/lib/validations/email.liquid index d8a1188..39c8029 100644 --- a/pos-module-user/modules/core/public/lib/validations/email.liquid +++ b/pos-module-user/modules/core/public/lib/validations/email.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid assign valid_email = object[field_name] | is_email_valid unless valid_email assign key = key | default: "modules/core/validation.email" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/equal.liquid b/pos-module-user/modules/core/public/lib/validations/equal.liquid index 12645af..6b367e4 100644 --- a/pos-module-user/modules/core/public/lib/validations/equal.liquid +++ b/pos-module-user/modules/core/public/lib/validations/equal.liquid @@ -1,9 +1,12 @@ -{% comment %} - params: @given - @expected - @field_name - @c -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} {% liquid if given != expected diff --git a/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid b/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid index 64256c8..abc8a51 100644 --- a/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid +++ b/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid @@ -1,17 +1,17 @@ -{% comment %} - params: @field_name - @property_name - @property_value - @scope_name - @scope_value - @exclude_name - @exclude_value - @ids - @not_ids - @table - @key - @c -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} {% liquid assign property_name = property_name | default: '' assign property_value = property_value | default: '' @@ -25,7 +25,7 @@ assign count = r.records.total_entries if count == 0 - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid b/pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid index 2d41b0c..21289c9 100644 --- a/pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid +++ b/pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid @@ -1,14 +1,13 @@ -{% comment %} - params: @hcaptcha_params - @key - @c -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid assign hcaptcha_solved = hcaptcha_params | hcaptcha unless hcaptcha_solved assign key = key | default: "modules/core/validation.hcaptcha" - function c = 'modules/core/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null endunless return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/included.liquid b/pos-module-user/modules/core/public/lib/validations/included.liquid index 17142bc..a432b8c 100644 --- a/pos-module-user/modules/core/public/lib/validations/included.liquid +++ b/pos-module-user/modules/core/public/lib/validations/included.liquid @@ -1,16 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @array - @key[optional] -{% endcomment %} - +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} {% liquid assign value = value | default: object[field_name] unless array contains value assign key = key | default: "modules/core/validation.not_included" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/is_url.liquid b/pos-module-user/modules/core/public/lib/validations/is_url.liquid index 89bdaff..8ffaa46 100644 --- a/pos-module-user/modules/core/public/lib/validations/is_url.liquid +++ b/pos-module-user/modules/core/public/lib/validations/is_url.liquid @@ -1,15 +1,15 @@ -{% comment %} - params: @url - @field_name - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} url - The URL to redirect to + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid assign key = key | default: 'modules/core/validation.not_url' assign is_url = url | matches: '^https?:\/\/[\S]+' if is_url != true - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c diff --git a/pos-module-user/modules/core/public/lib/validations/length.liquid b/pos-module-user/modules/core/public/lib/validations/length.liquid index 3be800e..fba5e45 100644 --- a/pos-module-user/modules/core/public/lib/validations/length.liquid +++ b/pos-module-user/modules/core/public/lib/validations/length.liquid @@ -1,14 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is - @message_minimum - @message_maximum - @message_is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} {% liquid assign value = value | default: object[field_name] assign size = value.size @@ -20,22 +22,22 @@ assign allow_blank = true endif if allow_blank != true - function c = 'modules/core/validations/presence', c: c, object: object, field_name: field_name + function c = 'modules/core/validations/presence', c: c, object: object, field_name: field_name, key: null endif if minimum != null and size < minimum assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if maximum != null and size > maximum assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if is != null and size != is assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c diff --git a/pos-module-user/modules/core/public/lib/validations/matches.liquid b/pos-module-user/modules/core/public/lib/validations/matches.liquid index e538a7c..19a1c8a 100644 --- a/pos-module-user/modules/core/public/lib/validations/matches.liquid +++ b/pos-module-user/modules/core/public/lib/validations/matches.liquid @@ -1,10 +1,11 @@ -{% comment %} - params: @object - @field_name - @regexp - @c - @message -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} {% liquid if allow_blank and object[field_name] == blank return c @@ -13,7 +14,7 @@ assign matches = object[field_name] | matches: regexp if matches != true assign message = message | default: 'modules/core/validation.matches' | t - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/not_null.liquid b/pos-module-user/modules/core/public/lib/validations/not_null.liquid index 986541b..810b5f8 100644 --- a/pos-module-user/modules/core/public/lib/validations/not_null.liquid +++ b/pos-module-user/modules/core/public/lib/validations/not_null.liquid @@ -1,14 +1,13 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid if object[field_name] == null assign key = key | default: "modules/core/validation.null" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/number.liquid b/pos-module-user/modules/core/public/lib/validations/number.liquid index a0fea11..d39591f 100644 --- a/pos-module-user/modules/core/public/lib/validations/number.liquid +++ b/pos-module-user/modules/core/public/lib/validations/number.liquid @@ -1,15 +1,22 @@ -{% comment %} - params: @object - @field_name - @c - @number - @lt - less than - @lte - less than or equal - @gt - greater than - @gte - greater than or equal - @eq - equal - @ne - not equal -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} {% liquid assign number = number | default: object[field_name] %} @@ -18,7 +25,7 @@ {% liquid if test1 != test2 assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null return c endif @@ -27,7 +34,7 @@ if lt != null and number >= lt assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if lte == blank @@ -35,27 +42,27 @@ endif if number > lte assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if gt != null and number <= gt assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if gte != null and number < gte assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if eq != null and number != eq assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if ne != null and number == ne assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c diff --git a/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid index 9ab7d06..634daa6 100644 --- a/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid +++ b/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid @@ -1,36 +1,36 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process + @param {string} field_name - The name of the field to validate + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} {% liquid assign decoded_pw = object.password assign minimum = minimum | default: 6 assign maximum = maximum | default: 256 assign field_name = field_name | default: 'password' - function complex_password = 'modules/core/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", context: context + function complex_password = 'modules/core/queries/variable/find', name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null if complex_password assign has_lowercase = decoded_pw | matches: '[a-z]' unless has_lowercase - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.lowercase' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.lowercase', message: null endunless assign has_uppercase = decoded_pw | matches: '[A-Z]' unless has_uppercase - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.uppercase' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.uppercase', message: null endunless assign has_number = decoded_pw | matches: '\d' unless has_number - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.number' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.number', message: null endunless endif assign message_minimum = 'modules/core/validation.too_short' - function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null, is: null, message_is: null, message_maximum: null return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/presence.liquid b/pos-module-user/modules/core/public/lib/validations/presence.liquid index 70b1f54..6526d2b 100644 --- a/pos-module-user/modules/core/public/lib/validations/presence.liquid +++ b/pos-module-user/modules/core/public/lib/validations/presence.liquid @@ -1,14 +1,13 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid if object[field_name] == blank assign key = key | default: "modules/core/validation.blank" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/truthy.liquid b/pos-module-user/modules/core/public/lib/validations/truthy.liquid index 6e9a734..86b428e 100644 --- a/pos-module-user/modules/core/public/lib/validations/truthy.liquid +++ b/pos-module-user/modules/core/public/lib/validations/truthy.liquid @@ -1,14 +1,13 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid unless object[field_name] assign key = key | default: "modules/core/validation.not_truthy" - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid b/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid index 3af3717..4bca1e8 100644 --- a/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid +++ b/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid @@ -1,18 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid assign unique_count = object[field_name] | uniq | size if unique_count != object[field_name].size assign key = key | default: 'modules/core/validation.array.not_unique' - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c diff --git a/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid b/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid index 42b2af8..76a9948 100644 --- a/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid +++ b/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid @@ -1,3 +1,12 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} {% liquid assign key = key | default: 'modules/core/validation.taken' assign value = object[field_name] @@ -21,7 +30,7 @@ assign count = r.records.total_entries if count > 0 - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif endif return c diff --git a/pos-module-user/modules/core/public/lib/validations/valid_object.liquid b/pos-module-user/modules/core/public/lib/validations/valid_object.liquid index 41f9359..6693ec3 100644 --- a/pos-module-user/modules/core/public/lib/validations/valid_object.liquid +++ b/pos-module-user/modules/core/public/lib/validations/valid_object.liquid @@ -1,16 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @check_function -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} {% liquid assign value = value | default: object[field_name] if value function check_object = check_function, object: value if check_object.valid != true - function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null assign errors_key = field_name | append: '_errors' assign c.errors[errors_key] = check_object.errors endif diff --git a/pos-module-user/modules/core/public/views/pages/_events/index.liquid b/pos-module-user/modules/core/public/views/pages/_events/index.liquid index c5b67f5..e5c90c8 100644 --- a/pos-module-user/modules/core/public/views/pages/_events/index.liquid +++ b/pos-module-user/modules/core/public/views/pages/_events/index.liquid @@ -4,7 +4,7 @@ slug: _events --- {% liquid if context.environment == 'staging' or context.environment == 'development' - function events = 'modules/core/queries/events/search', limit: 50 + function events = 'modules/core/queries/events/search', limit: 50, page: null, uuids: null render 'modules/core/events/list', events: events endif diff --git a/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid index 42d8413..85099b8 100644 --- a/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid +++ b/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid @@ -7,7 +7,7 @@ slug: _events/:uuid/trigger function event = 'modules/core/queries/events/find', uuid: context.params.uuid if context.params.trigger - function event = 'modules/core/commands/events/broadcast', object: event + function event = 'modules/core/commands/events/broadcast', object: event, deprecated_delay: null, deprecated_max_attempts: null echo 'BROADCASTED' else assign name = 'consumers/' | append: event.type | append: '/' diff --git a/pos-module-user/modules/core/public/views/partials/events/event_card.liquid b/pos-module-user/modules/core/public/views/partials/events/event_card.liquid index 269dbaf..fcee8e2 100644 --- a/pos-module-user/modules/core/public/views/partials/events/event_card.liquid +++ b/pos-module-user/modules/core/public/views/partials/events/event_card.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign event_slim = event | deep_clone assign _ = event_slim | hash_delete_key: 'object' diff --git a/pos-module-user/modules/core/public/views/partials/events/list.liquid b/pos-module-user/modules/core/public/views/partials/events/list.liquid index a08712a..d6c0c4a 100644 --- a/pos-module-user/modules/core/public/views/partials/events/list.liquid +++ b/pos-module-user/modules/core/public/views/partials/events/list.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} events - The events collection +{% enddoc %}

    Events

    {{ events.results.size }} / {{ events.total_entries }} diff --git a/pos-module-user/modules/core/public/views/partials/events/show.liquid b/pos-module-user/modules/core/public/views/partials/events/show.liquid index 1fed733..665a505 100644 --- a/pos-module-user/modules/core/public/views/partials/events/show.liquid +++ b/pos-module-user/modules/core/public/views/partials/events/show.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %}

    Event

    << List {% render 'modules/core/events/event_card', event: event %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid index 1818aa7..f03248b 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid log 'Use modules/core/commands/email/send instead of modules/core/lib/commands/email/send', type: 'DEPRECATION' function object = 'modules/core/commands/email/send/build', object: object diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid index ace1577..50c8aec 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -1,10 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid index 118bc47..43fbfa5 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -1,11 +1,8 @@ -{% comment %} - hook: string - the hook name without hook_ prefix and _alter suffix. - params_to_modify: object - the object that will be passed to the alter hook to modify - params: object - the object that will be passed to the alter hook to give extra information -{% endcomment %} +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} {% liquid log 'Use modules/core/commands/hook/alter instead of modules/core/lib/commands/hook/alter', type: 'DEPRECATION' assign original_params = params_to_modify | deep_clone diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid index c0355d9..48cd149 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -1,11 +1,8 @@ -{% comment %} - hook: string - the hook name without hook_ prefix. - params: object - the object to pass to the fired hook - merge_to_object boolean - merge the result objects to one object or collect them in an array -{% endcomment %} +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} {% liquid if merge_to_object assign results = {} diff --git a/pos-module-user/modules/core/public/views/partials/lib/commands/variable/set.liquid b/pos-module-user/modules/core/public/views/partials/lib/commands/variable/set.liquid index ddf03fb..dc2577b 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/commands/variable/set.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/commands/variable/set.liquid @@ -1,8 +1,7 @@ -{% comment %} - Required params: - - name string - - value string -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} {% liquid log 'Use modules/core/commands/variable/set instead of modules/core/lib/commands/variable/set', type: 'DEPRECATION' graphql result = 'modules/core/variable/set', name: name, value: value diff --git a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid index 7c49342..f016b3e 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -1,11 +1,9 @@ -{% comment %} - @params - contract - { errors: {}, valid: true } - field_name - message: - key: i18n to be resolved into message -{% endcomment %} - +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} {% liquid assign key = key | default: null assign message = message | default: null @@ -17,7 +15,8 @@ assign errors = contract.errors - assign field_errors = errors[field_name] | default: "[]" + assign default = [] + assign field_errors = errors[field_name] | default: default assign field_errors << msg assign errors[field_name] = field_errors diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/search.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/search.liquid index e1ef6d8..72607a4 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/search.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/search.liquid @@ -1,6 +1,9 @@ +{% doc %} + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} {% liquid log 'Use queries/headscripts/search instead of lib/queries/headscripts/search', type: 'DEPRECATION' - function headscript_implementations = 'modules/core/lib/commands/hook/fire', hook: 'headscripts', merge_to_object: merge_to_object + function headscript_implementations = 'modules/core/lib/commands/hook/fire', hook: 'headscripts', merge_to_object: merge_to_object, params: null assign results = headscript_implementations | join: '' return results | html_safe %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/hook/search.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/hook/search.liquid index da311bb..f97ad06 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/hook/search.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/hook/search.liquid @@ -1,10 +1,6 @@ -{% comment %} - Get a list of all hook impltementation paths. - Params: - - hook: string - the hook's name with '/' prefix for example '/hook_user_create'. -{% endcomment %} - +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} {% liquid log 'Use modules/core/queries/hook/search instead of modules/core/lib/queries/hook/search', type: 'DEPRECATION' graphql implementations = 'modules/core/hook/search', hook: hook diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/module/exists.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/module/exists.liquid index c91e5f1..9801f78 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/module/exists.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/module/exists.liquid @@ -1,9 +1,7 @@ -{% comment %} - Required params: - - name string - - type string (optional) - it can be: module, theme -{% endcomment %} +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% liquid function modules = 'modules/core/lib/queries/registry/search', type: type assign module = modules | array_detect: machine_name: name diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/registry/get.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/registry/get.liquid index 14e34d1..adbdeda 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/registry/get.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/registry/get.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} {% liquid # TODO: remove after rewriting dependent modules function registry = 'modules/core/lib/queries/registry/search', type: type diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid index 6e96071..ae8f96c 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -1,10 +1,8 @@ -{% comment %} - Required params: - - type string - it can be: all, module, theme -{% endcomment %} +{% doc %} + @param {string} type - The type identifier +{% enddoc %} {% liquid - function registry = 'modules/core/lib/commands/hook/fire', hook: 'module_info', merge_to_object: false + function registry = 'modules/core/lib/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null case type when 'module' diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/variable/find.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/variable/find.liquid index b7012e3..c2ec54c 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/variable/find.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/variable/find.liquid @@ -1,11 +1,8 @@ -{% comment %} - Required params: - - name string - - default any - the default vaue of the variable - - type string (optional) - it can be: array, integer, float, boolean, object -{% endcomment %} +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} {% liquid assign value = context.constants[name] | default: default, allow_false: true diff --git a/pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid b/pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid index 6651eb2..f6ba482 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} {% liquid # TODO: remove after rewriting dependent modules function res = 'modules/core/lib/queries/variable/find', name: name, default: default, type: type diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid index 206eccf..e4d6a7b 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid @@ -1,10 +1,21 @@ -{% comment %} - params: @object - @field_name - @c - @date - @can_be_past -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} {% liquid log 'Use modules/core/validations/date instead of modules/core/lib/validations/date ', type: 'DEPRECATION' assign date = date | default: object[field_name] | to_date @@ -20,12 +31,12 @@ if can_be_past == false and is_past assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if can_be_future == false and is_future assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if lt != null @@ -33,7 +44,7 @@ if date >= lt assign localized_date = lt | l assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -42,7 +53,7 @@ if date > lte assign localized_date = lte | l assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -51,7 +62,7 @@ if date <= gt assign localized_date = gt | l assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif @@ -60,7 +71,7 @@ if date < gte assign localized_date = gte | l assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid index 371c397..2c7f107 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid @@ -1,11 +1,11 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} {% liquid log 'Use modules/core/validations/each_element_length instead of modules/core/lib/validations/each_element_length ', type: 'DEPRECATION' for el in object[field_name] @@ -14,18 +14,18 @@ if minimum != null and size < minimum assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if maximum != null and size > maximum assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size assign message = el | append: ' ' | append: message - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if is != null and size != is assign message = 'modules/core/validation.length.is' | t: count: is, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endfor diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid index ef06223..bd8035b 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid @@ -1,18 +1,17 @@ -{% comment %} - params: @object - @field_name - @c - @array - @key[optional] -{% endcomment %} - +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/elements_included instead of modules/core/lib/validations/elements_included ', type: 'DEPRECATION' for val in object[field_name] unless array contains val assign key = key | default: "modules/core/validation.array.not_included" assign message = key | t: value: val - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endunless endfor diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid index 2248f8f..6699b19 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid @@ -1,16 +1,15 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/email instead of modules/core/lib/validations/email ', type: 'DEPRECATION' assign valid_email = object[field_name] | is_email_valid unless valid_email assign key = key | default: "modules/core/validation.email" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid index 7d5bf65..97284b8 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid @@ -1,9 +1,12 @@ -{% comment %} - params: @given - @expected - @field_name - @c -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} {% liquid log 'Use modules/core/validations/equal instead of modules/core/lib/validations/equal ', type: 'DEPRECATION' if given != expected diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid index 37808b0..c86b2fc 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid @@ -1,17 +1,17 @@ -{% comment %} - params: @field_name - @property_name - @property_value - @scope_name - @scope_value - @exclude_name - @exclude_value - @ids - @not_ids - @table - @key - @c -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} {% liquid log 'Use modules/core/validations/exist_in_db instead of modules/core/lib/validations/exist_in_db ', type: 'DEPRECATION' assign property_name = property_name | default: '' @@ -26,7 +26,7 @@ assign count = r.records.total_entries if count == 0 - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid index f936542..7693b5a 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @hcaptcha_params - @key - @c -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/hcaptcha instead of modules/core/lib/validations/hcaptcha ', type: 'DEPRECATION' assign hcaptcha_solved = hcaptcha_params | hcaptcha unless hcaptcha_solved assign key = key | default: "modules/core/validation.hcaptcha" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null endunless return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid index a194d71..85b4d16 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid @@ -1,17 +1,17 @@ -{% comment %} - params: @object - @field_name - @c - @array - @key[optional] -{% endcomment %} - +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} {% liquid log 'Use modules/core/validations/included instead of modules/core/lib/validations/included ', type: 'DEPRECATION' assign value = value | default: object[field_name] unless array contains value assign key = key | default: "modules/core/validation.not_included" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid index 2e440d5..403a064 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid @@ -1,14 +1,17 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is - @message_minimum - @message_maximum - @message_is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_blank - Custom error message for blank validation + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} {% liquid log 'Use modules/core/validations/length instead of modules/core/lib/validations/length ', type: 'DEPRECATION' assign value = value | default: object[field_name] @@ -23,23 +26,23 @@ if allow_blank != true if size == blank assign message = message_blank | default: 'modules/core/validation.length.blank' | t - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif endif if minimum != null and size < minimum assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if maximum != null and size > maximum assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if is != null and size != is assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid index 9127098..fb47b05 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid @@ -1,10 +1,11 @@ -{% comment %} - params: @object - @field_name - @regexp - @c - @message -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} {% liquid log 'Use modules/core/validations/matches instead of modules/core/lib/validations/matches ', type: 'DEPRECATION' if allow_blank and object[field_name] == blank @@ -14,7 +15,7 @@ assign matches = object[field_name] | matches: regexp if matches != true assign message = message | default: 'modules/core/validation.matches' | t - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid index f7bb4c6..23d6bd0 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/not_null instead of modules/core/lib/validations/not_null ', type: 'DEPRECATION' if object[field_name] == null assign key = key | default: "modules/core/validation.null" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid index 77368ba..6a11fe0 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid @@ -1,15 +1,22 @@ -{% comment %} - params: @object - @field_name - @c - @number - @lt - less than - @lte - less than or equal - @gt - greater than - @gte - greater than or equal - @eq - equal - @ne - not equal -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} {% liquid assign number = number | default: object[field_name] log 'Use modules/core/validations/number instead of modules/core/lib/validations/number ', type: 'DEPRECATION' @@ -19,7 +26,7 @@ {% liquid if test1 != test2 assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null return c endif @@ -28,7 +35,7 @@ if lt != null and number >= lt assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if lte == blank @@ -36,27 +43,27 @@ endif if number > lte assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if gt != null and number <= gt assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if gte != null and number < gte assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if eq != null and number != eq assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif if ne != null and number == ne assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null endif return c diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid index e78516e..04bb51c 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -1,34 +1,31 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process +{% enddoc %} {% liquid log 'Use modules/core/validations/password_complexity instead of modules/core/lib/validations/password_complexity ', type: 'DEPRECATION' assign decoded_pw = object.password - function complex_password = 'modules/core/lib/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", context: context + function complex_password = 'modules/core/lib/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null if complex_password assign has_lowercase = decoded_pw | matches: '[a-z]' unless has_lowercase - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.lowercase' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.lowercase', message: null endunless assign has_uppercase = decoded_pw | matches: '[A-Z]' unless has_uppercase - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.uppercase' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.uppercase', message: null endunless assign has_number = decoded_pw | matches: '\d' unless has_number - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.number' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.number', message: null endunless endif assign message_minimum = 'modules/core/validation.too_short' - function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null, is: null, message_blank: null, message_is: null, message_maximum: null return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid index 5d34276..06862bd 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/presence instead of modules/core/lib/validations/presence ', type: 'DEPRECATION' if object[field_name] == blank assign key = key | default: "modules/core/validation.blank" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid index 0efd280..9b2a93e 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid @@ -1,15 +1,14 @@ -{% comment %} - params: @object - @field_name - @c - @key[optional] -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/truthy instead of modules/core/lib/validations/truthy ', type: 'DEPRECATION' unless object[field_name] assign key = key | default: "modules/core/validation.not_truthy" - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endunless return c %} diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid index 3eb74e5..f052483 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid @@ -1,18 +1,16 @@ -{% comment %} - params: @object - @field_name - @c - @minimum - @maximum - @is -{% endcomment %} +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} {% liquid log 'Use modules/core/validations/unique_elements instead of modules/core/lib/validations/unique_elements ', type: 'DEPRECATION' assign unique_count = object[field_name] | uniq | size if unique_count != object[field_name].size assign key = key | default: 'modules/core/validation.array.not_unique' - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif return c diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid index 3942836..66d62c7 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid @@ -1,3 +1,12 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} {% liquid log 'Use modules/core/validations/uniqueness instead of modules/core/lib/validations/uniqueness ', type: 'DEPRECATION' assign key = key | default: 'modules/core/validation.taken' @@ -22,7 +31,7 @@ assign count = r.records.total_entries if count > 0 - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null endif endif return c diff --git a/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid index f0adacc..690addf 100644 --- a/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid +++ b/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -1,17 +1,17 @@ -{% comment %} - params: @object - @field_name - @c - @check_function -{% endcomment %} - +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} {% liquid log 'Use modules/core/validations/valid_object instead of modules/core/lib/validations/valid_object ', type: 'DEPRECATION' assign value = value | default: object[field_name] if value function check_object = check_function, object: value if check_object.valid != true - function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null assign errors_key = field_name | append: '_errors' assign c.errors[errors_key] = check_object.errors endif diff --git a/pos-module-user/modules/core/template-values.json b/pos-module-user/modules/core/template-values.json index 8a2520a..d386e90 100644 --- a/pos-module-user/modules/core/template-values.json +++ b/pos-module-user/modules/core/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Core", "machine_name": "core", "type": "module", - "version": "2.1.0", + "version": "2.1.5", "dependencies": {} } diff --git a/pos-module-user/modules/tests/public/lib/commands/run.liquid b/pos-module-user/modules/tests/public/lib/commands/run.liquid index a82804b..41bfe36 100644 --- a/pos-module-user/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-user/modules/tests/public/lib/commands/run.liquid @@ -33,8 +33,6 @@ assign __stop = "now" | to_time assign total_duration = __start | time_diff: __stop, 'ms' | round - assign data = { "contracts": contracts, "total_errors": total_errors, "total_duration": total_duration } - assign test_formatter = format | default: 'html' | prepend: 'modules/tests/tests/show_' # platformos-check-disable ConvertIncludeToRender include test_formatter, contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name diff --git a/pos-module-user/modules/user/public/translations/en/2fa.yml b/pos-module-user/modules/user/public/translations/en/2fa.yml index 1de92a2..813ae04 100644 --- a/pos-module-user/modules/user/public/translations/en/2fa.yml +++ b/pos-module-user/modules/user/public/translations/en/2fa.yml @@ -13,7 +13,7 @@ en: 2fa_info: |- To be able to log in you need to scan this QR Code with your authentication app. - You can use [Authy](https://authy.com) or [any other authentication tool](https://www.lastpass.com/two-factor-authentication). + You can use [Authy](https://authy.com) or [any other authentication tool](https://www.lastpass.com/two-factor-authentication). if_you_cannot_scan: 'Or enter the following code manually in the app:' confirm_otp_code: Confirm code please_confirm: Enter 6-digit code from your two-factor authenticator app From c6a91cbd9c1b32d620f321c4f2a43889ffed1aca Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Fri, 13 Mar 2026 09:11:20 +0000 Subject: [PATCH 36/44] Cleanup --- .../authentication_links/create/check.liquid | 8 ++++---- .../lib/commands/passwords/create/check.liquid | 8 ++++---- .../public/lib/commands/profiles/create.liquid | 2 +- .../lib/commands/profiles/create/check.liquid | 12 ++++++------ .../public/lib/commands/profiles/delete.liquid | 2 +- .../lib/commands/profiles/delete/check.liquid | 2 +- .../public/lib/commands/profiles/mark_otp.liquid | 2 +- .../lib/commands/profiles/mark_otp/check.liquid | 4 ++-- .../lib/commands/profiles/roles/append.liquid | 2 +- .../lib/commands/profiles/roles/remove.liquid | 2 +- .../lib/commands/profiles/roles/set.liquid | 2 +- .../public/lib/commands/profiles/update.liquid | 2 +- .../lib/commands/profiles/update/check.liquid | 10 +++++----- .../lib/commands/session/create/check.liquid | 2 +- .../session/impersonation/create/check.liquid | 4 ++-- .../session/impersonation/destroy/check.liquid | 4 ++-- .../public/lib/commands/user/create/check.liquid | 12 ++++++------ .../lib/commands/user/email_update/check.liquid | 8 ++++---- .../public/lib/commands/user/update/check.liquid | 2 +- .../lib/commands/user/verify_otp/check.liquid | 6 +++--- .../commands/user/verify_password/check.liquid | 6 +++--- .../events/authentication_link_created.liquid | 2 +- .../public/lib/events/impersonation_ended.liquid | 4 ++-- .../lib/events/impersonation_started.liquid | 4 ++-- .../public/lib/events/password_created.liquid | 2 +- .../user/public/lib/events/user_created.liquid | 2 +- .../user/public/lib/events/user_deleted.liquid | 2 +- .../user/public/lib/events/user_logout.liquid | 2 +- .../public/lib/events/user_role_appended.liquid | 4 ++-- .../public/lib/events/user_role_removed.liquid | 4 ++-- .../user/public/lib/events/user_roles_set.liquid | 4 ++-- .../user/public/lib/events/user_signed_in.liquid | 2 +- .../user/public/lib/events/user_updated.liquid | 2 +- .../lib/helpers/can_do_or_unauthorized.liquid | 2 +- .../public/views/pages/oauth/callback.liquid | 16 ++++++++-------- .../views/pages/profiles/2fa/create.liquid | 2 +- .../views/pages/profiles/2fa/delete.liquid | 2 +- .../user/public/views/pages/sessions/2fa.liquid | 4 ++-- .../public/views/pages/sessions/create.liquid | 2 +- .../pages/sessions/impersonation/create.liquid | 2 +- .../pages/sessions/impersonation/destroy.liquid | 2 +- .../user/public/views/pages/users/create.liquid | 2 +- .../public/views/pages/users/email/edit.liquid | 2 +- .../public/views/pages/users/email/update.liquid | 4 ++-- 44 files changed, 88 insertions(+), 88 deletions(-) diff --git a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid index b942cbd..baab362 100644 --- a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid @@ -1,12 +1,12 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'host' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'token' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'host', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'token', key: null if context.constants.VERIFY_HCAPTCHA == "true" - function c = 'modules/core/validations/hcaptcha', c: c, hcaptcha_params: hcaptcha_params + function c = 'modules/core/validations/hcaptcha', c: c, hcaptcha_params: hcaptcha_params, key: null endif assign object.valid = c.valid diff --git a/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid index c1aeed8..36dc06e 100644 --- a/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid @@ -1,11 +1,11 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password_confirmation' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password_confirmation', key: null function c = 'modules/core/validations/equal', c: c, given: object.password, expected: object.password_confirmation, field_name: 'password_confirmation', key: 'modules/user/validation.password.do_not_match', not_verbose: true, message: null - function c = 'modules/core/validations/password_complexity', c: c, object: object, field_name: 'password', key: null + function c = 'modules/core/validations/password_complexity', c: c, object: object, field_name: 'password', maximum: null, minimum: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid index d5557ae..721c064 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid @@ -2,7 +2,7 @@ function object = 'modules/user/commands/profiles/create/build', object: object, name: null function object = 'modules/user/commands/profiles/create/check', object: object if object.valid - function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/create', object: object + function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/create', object: object, selection: null assign object = object | hash_merge: object.properties endif return object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid index 3af8b4b..09dd7a4 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid @@ -1,12 +1,12 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'user_id' - function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'user_id', table: 'modules/user/profile', scope_name: null, exclude_name: null - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'uuid' - function c = 'modules/core/validations/length', c: c, object: object, field_name: 'name', maximum: 80, allow_blank: null - function c = 'modules/core/validations/length', c: c, object: object, field_name: 'first_name', maximum: 40, allow_blank: null - function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'user_id', key: null + function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'user_id', table: 'modules/user/profile', scope_name: null, exclude_name: null, key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'uuid', key: null + function c = 'modules/core/validations/length', c: c, object: object, field_name: 'name', maximum: 80, allow_blank: null, is: null, message_is: null, message_maximum: null, message_minimum: null, minimum: null, value: null + function c = 'modules/core/validations/length', c: c, object: object, field_name: 'first_name', maximum: 40, allow_blank: null, is: null, message_is: null, message_maximum: null, message_minimum: null, minimum: null, value: null + function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null, is: null, message_is: null, message_maximum: null, message_minimum: null, minimum: null, value: null assign object.valid = c.valid diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid index 0cfb315..9fc159d 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid @@ -2,7 +2,7 @@ function object = 'modules/user/commands/profiles/delete/build', object: object function object = 'modules/user/commands/profiles/delete/check', object: object if object.valid - function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/delete', object: object + function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/delete', object: object, selection: null endif return object %} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid index de59d59..b41c4e8 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid @@ -1,7 +1,7 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null assign object.valid = c.valid diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid index c54a67e..39084fd 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid @@ -3,7 +3,7 @@ function object = 'modules/user/commands/profiles/mark_otp/check', object: object if object.valid - function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/mark_otp' object: object + function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/mark_otp' object: object, selection: null endif return object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid index a56c28c..5d2620c 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid @@ -1,8 +1,8 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - function c = 'modules/core/validations/not_null', c: c, object: object, field_name: 'otp_configured' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null + function c = 'modules/core/validations/not_null', c: c, object: object, field_name: 'otp_configured', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid index 843fbc5..a5d7957 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid @@ -1,6 +1,6 @@ {% liquid assign object = { "valid": true, "id": id, "role": role } - function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/append' + function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/append', selection: null if object.errors == blank assign event_payload = {"profile_id": id, "role": role} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid index 21e2b56..cd1ffcf 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid @@ -1,6 +1,6 @@ {% liquid assign object = { "valid": true, "id": id, "role": role } - function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/remove' + function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/remove', selection: null if object.errors == blank assign event_payload = {"profile_id": id, "role": role} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid index e557fc4..4b4c3e1 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid @@ -1,6 +1,6 @@ {% liquid assign object = { "valid": true, "id": id, "roles": roles } - function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/set' + function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/set', selection: null if object.errors == blank assign event_payload = {"profile_id": id, "roles": roles} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid index 172bfa1..ce1e205 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid @@ -3,7 +3,7 @@ function object = 'modules/user/commands/profiles/update/check', object: object if object.valid - function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/update', object: object + function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/update', object: object, selection: null assign object = object | hash_merge: object.properties endif return object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid index 7820df7..77f0e9e 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid @@ -1,11 +1,11 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'email', table: 'modules/user/profile', scope_name: null, exclude_name: null - function c = 'modules/core/validations/length', c: c, object: object, field_name: 'name', maximum: 80, allow_blank: null - function c = 'modules/core/validations/length', c: c, object: object, field_name: 'first_name', maximum: 40, allow_blank: null - function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null + function c = 'modules/core/validations/uniqueness', c: c, object: object, field_name: 'email', table: 'modules/user/profile', scope_name: null, exclude_name: null, key: null + function c = 'modules/core/validations/length', c: c, object: object, field_name: 'name', maximum: 80, allow_blank: null, is: null, message_is: null, message_maximum: null, message_minimum: null, minimum: null, value: null + function c = 'modules/core/validations/length', c: c, object: object, field_name: 'first_name', maximum: 40, allow_blank: null, is: null, message_is: null, message_maximum: null, message_minimum: null, minimum: null, value: null + function c = 'modules/core/validations/length', c: c, object: object, field_name: 'last_name', maximum: 40, allow_blank: null, is: null, message_is: null, message_maximum: null, message_minimum: null, minimum: null, value: null assign object.valid = c.valid diff --git a/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid index 9370ce1..7757602 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid @@ -1,7 +1,7 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid index 49d3fc9..d2501e6 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid @@ -1,8 +1,8 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid index 49d3fc9..d2501e6 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid @@ -1,8 +1,8 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'current_user_id', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid index 8e37d48..73b38ab 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid @@ -1,18 +1,18 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'first_name' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'last_name' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' - function c = 'modules/core/validations/password_complexity', c: c, object: object, field_name: 'password', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'first_name', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'last_name', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password', key: null + function c = 'modules/core/validations/password_complexity', c: c, object: object, field_name: 'password', maximum: null, minimum: null function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email', key: 'modules/user/validation.email.required' - function c = 'modules/core/validations/length', c: c, object: object, field_name: 'roles', minimum: 0, allow_blank: true + function c = 'modules/core/validations/length', c: c, object: object, field_name: 'roles', minimum: 0, allow_blank: true, is: null, maximum: null, message_is: null, message_maximum: null, message_minimum: null, value: null function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email', key: 'modules/user/validation.email.format' if object.email != blank graphql user_exists = 'modules/user/user/list', email: object.email if user_exists.users.total_entries > 0 assign message = 'modules/user/validation.user_exists' | t - function c = 'modules/core/helpers/register_error', contract: c, field_name: 'email', message: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: 'email', message: message, key: null endif endif diff --git a/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid index fb560fe..8b2d8e2 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid @@ -1,15 +1,15 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' - function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email', key: null + function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email', key: null if object.email != blank and object.email != current_user.email graphql emails_count = 'modules/user/user/emails_count', email: object.email | dig: 'users', 'total_entries' if emails_count > 0 - render 'modules/core/helpers/register_error', contract: c, field_name: 'email', key: 'app.errors.taken' + render 'modules/core/helpers/register_error', contract: c, field_name: 'email', key: 'app.errors.taken', message: null endif endif - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password', key: null if object.password function r = 'modules/core/commands/execute', mutation_name: 'modules/user/user/verify_password_for_user_id' object: object, selection: 'users' assign user = r.results.first diff --git a/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid index 4b848dc..28f0b8c 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid @@ -2,7 +2,7 @@ assign c = { "errors": {}, "valid": true } if object['email'] - function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' + function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email', key: null endif assign object.valid = c.valid diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid index 54477b0..29e5c79 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid @@ -1,9 +1,9 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'otp_code' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'otp_code', key: null if c.valid function r = 'modules/core/commands/execute', mutation_name: 'modules/user/user/verify_otp' object: object, selection: 'users' diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid index 85b247c..6df3795 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid @@ -1,9 +1,9 @@ {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password' + function c = 'modules/core/validations/email', c: c, object: object, field_name: 'email', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'password', key: null if c.valid graphql user = 'modules/user/user/verify_password', args: object diff --git a/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid b/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid index d770000..8159dd5 100644 --- a/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid @@ -6,7 +6,7 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'email' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'email', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid b/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid index 4fac38b..68ed235 100644 --- a/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid +++ b/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid @@ -7,8 +7,8 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'impersonation_ended' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'impersonation_ended', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid b/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid index ae05962..482552f 100644 --- a/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid +++ b/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid @@ -8,8 +8,8 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id' - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'target_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'actor_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'target_id', key: null return c diff --git a/pos-module-user/modules/user/public/lib/events/password_created.liquid b/pos-module-user/modules/user/public/lib/events/password_created.liquid index fb629b9..cd6f77d 100644 --- a/pos-module-user/modules/user/public/lib/events/password_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/password_created.liquid @@ -6,7 +6,7 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/user_created.liquid b/pos-module-user/modules/user/public/lib/events/user_created.liquid index fb629b9..cd6f77d 100644 --- a/pos-module-user/modules/user/public/lib/events/user_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_created.liquid @@ -6,7 +6,7 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/user_deleted.liquid b/pos-module-user/modules/user/public/lib/events/user_deleted.liquid index fb629b9..cd6f77d 100644 --- a/pos-module-user/modules/user/public/lib/events/user_deleted.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_deleted.liquid @@ -6,7 +6,7 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/user_logout.liquid b/pos-module-user/modules/user/public/lib/events/user_logout.liquid index fb629b9..cd6f77d 100644 --- a/pos-module-user/modules/user/public/lib/events/user_logout.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_logout.liquid @@ -6,7 +6,7 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid b/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid index c387738..53ea2f7 100644 --- a/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid @@ -7,8 +7,8 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid b/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid index c387738..53ea2f7 100644 --- a/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid @@ -7,8 +7,8 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'role', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid b/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid index 591cfb4..c88a5de 100644 --- a/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid @@ -7,8 +7,8 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id' - function c = 'modules/core/validations/length', c: c, object: event, field_name: 'roles', minimum: 0, allow_blank: false + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'profile_id', key: null + function c = 'modules/core/validations/length', c: c, object: event, field_name: 'roles', minimum: 0, allow_blank: false, is: null, maximum: null, message_is: null, message_maximum: null, message_minimum: null, value: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid b/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid index fb629b9..cd6f77d 100644 --- a/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid @@ -6,7 +6,7 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/events/user_updated.liquid b/pos-module-user/modules/user/public/lib/events/user_updated.liquid index fb629b9..cd6f77d 100644 --- a/pos-module-user/modules/user/public/lib/events/user_updated.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_updated.liquid @@ -6,7 +6,7 @@ metadata: {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id' + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'user_id', key: null return c %} diff --git a/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid b/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid index def893d..2288524 100644 --- a/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid @@ -21,7 +21,7 @@ if requester.roles contains 'anonymous' and redirect_anonymous_to_login session return_to = anonymous_return_to | default: context.location.href assign info = 'modules/user/authorization.redirect_anonymous_info' | t - include 'modules/core/helpers/redirect_to', url: '/sessions/new', info: info + include 'modules/core/helpers/redirect_to', url: '/sessions/new', info: info, default: null, error: null, format: null, notice: null, object: null else response_status 403 if forbidden_partial diff --git a/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid b/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid index e5615ca..4eee7ed 100644 --- a/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid +++ b/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid @@ -8,7 +8,7 @@ slug: oauth/:provider/callback function current_user = "modules/user/queries/user/current" assign state = context.session.state if context.params.code == blank or context.params.provider == blank or context.params.state != state - include 'modules/core/helpers/redirect_to', error: "modules/user/oauth.app.invalid_request" + include 'modules/core/helpers/redirect_to', error: "modules/user/oauth.app.invalid_request", default: null, format: null, info: null, notice: null, object: null, url: null return endif @@ -17,7 +17,7 @@ slug: oauth/:provider/callback assign selected_provider = available_providers[provider] if selected_provider == blank - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null return endif @@ -26,7 +26,7 @@ slug: oauth/:provider/callback graphql g = "modules/user/oauth/find_by_user_id", provider: provider, user_id: current_user.id if g.records.total_entries > 0 log "Provider already assigned", type: "ERROR" - include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.provider_already_assigned" + include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.provider_already_assigned", default: null, error: null, format: null, info: null, object: null, url: null return endif endif @@ -36,7 +36,7 @@ slug: oauth/:provider/callback function user_info = command_path, provider: selected_provider, code: context.params.code if user_info.valid == false - include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.user_info_error" + include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.user_info_error", default: null, error: null, format: null, info: null, object: null, url: null return endif @@ -52,7 +52,7 @@ slug: oauth/:provider/callback if g.records.total_entries > 0 if current_user.id != null log "Sub already assigned", type: "ERROR" - include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.sub_already_assigned" + include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.sub_already_assigned", default: null, error: null, format: null, info: null, object: null, url: null return else assign found_user_id = g.records.results[0].user_id @@ -65,7 +65,7 @@ slug: oauth/:provider/callback function new_user = "modules/user/commands/oauth/create_user", user_first_name: user_first_name, user_last_name: user_last_name, user_email: user_email if new_user == null or new_user.valid == false log new_user.errors, type: "ERROR" - include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.failed_to_create_account" + include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.failed_to_create_account", default: null, error: null, format: null, info: null, object: null, url: null return endif assign found_user_id = new_user.id @@ -79,9 +79,9 @@ slug: oauth/:provider/callback # sign in as user if current_user.id == blank function _ = "modules/user/commands/session/create", user_id: found_user_id, validate_password: false, skip_otp: true, email: null, password: null, hook_params: null - include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.signed_in" + include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.signed_in", default: null, error: null, format: null, info: null, object: null, url: null else - include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.assigned_provider" + include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.assigned_provider", default: null, error: null, format: null, info: null, object: null, url: null endif # platformos-check-enable ConvertIncludeToRender %} diff --git a/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid b/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid index c35ad40..4eb889a 100644 --- a/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid @@ -16,7 +16,7 @@ method: post log object, 'ERROR: modules/user/profiles/mark_otp' endif assign notice = 'modules/user/2fa.create.success' | t - include 'modules/core/helpers/redirect_to', url: '/', notice: notice + include 'modules/core/helpers/redirect_to', url: '/', notice: notice, default: null, error: null, format: null, info: null, object: null else function user_otp = 'modules/user/queries/user/otp', email: current_profile.user.email, name: null render 'modules/user/2fa/setup', otp: user_otp.otp, errors: object.errors, object: object diff --git a/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid b/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid index d932282..a3cf74b 100644 --- a/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid +++ b/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid @@ -16,7 +16,7 @@ method: post log object, 'ERROR: modules/user/profiles/mark_otp' endif assign notice = 'modules/user/2fa.delete.success' | t - include 'modules/core/helpers/redirect_to', url: '/', notice: notice + include 'modules/core/helpers/redirect_to', url: '/', notice: notice, default: null, error: null, format: null, info: null, object: null else render 'modules/user/2fa/disable', errors: object.errors endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid b/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid index 35d5f70..824d4d5 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid @@ -4,7 +4,7 @@ method: post {% liquid function current_profile = 'modules/user/helpers/current_profile' if current_profile.user != null - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null endif include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.create', return_url: '/' @@ -13,7 +13,7 @@ method: post if object.valid function res = 'modules/user/commands/session/create', email: object.email, password: object.password, hook_params: context.params, skip_otp: true, validate_password: null if res.valid - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null else render 'modules/user/sessions/new', context: context, errors: res.errors, values: null endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/create.liquid b/pos-module-user/modules/user/public/views/pages/sessions/create.liquid index a99800b..174c1a4 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/create.liquid @@ -10,7 +10,7 @@ slug: sessions if res.valid and res.otp_required render 'modules/user/2fa/verify', object: context.params elsif res.valid - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null else render 'modules/user/sessions/new', context: context, errors: res.errors, values: null endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid b/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid index a9342b4..43f4389 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid @@ -20,7 +20,7 @@ method: post function impersonate_user = 'modules/user/commands/session/impersonation/create', current_user_id: context.current_user.id, user: user_to_impersonate if impersonate_user.valid - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null else print "Something went wrong." endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid b/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid index 14d2bc9..798a0a5 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid @@ -10,7 +10,7 @@ method: delete function object = 'modules/user/commands/session/impersonation/destroy', user: admin_user, current_user_id: context.current_user.id if object.valid - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null else print "Something went wrong." endif diff --git a/pos-module-user/modules/user/public/views/pages/users/create.liquid b/pos-module-user/modules/user/public/views/pages/users/create.liquid index 9191ae1..81cf604 100644 --- a/pos-module-user/modules/user/public/views/pages/users/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/create.liquid @@ -10,7 +10,7 @@ slug: users function object = 'modules/user/commands/user/create', first_name: context.params.first_name, last_name: context.params.last_name, email: context.params.email, password: context.params.password, hook_params: context.params, roles: null if object.valid function _ = 'modules/user/commands/session/create', user_id: object.id, validate_password: false, email: null, password: null, hook_params: null, skip_otp: null - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null else function registration_fields = 'modules/user/queries/registration_fields/load' diff --git a/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid b/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid index c8f5bc4..71afd47 100644 --- a/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid @@ -1,7 +1,7 @@ {% liquid function current_profile = 'modules/user/helpers/current_profile' if current_profile.user == null - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null endif render 'modules/user/users/email/edit', context: context, otp_enabled: current_profile.otp_configured, errors: null diff --git a/pos-module-user/modules/user/public/views/pages/users/email/update.liquid b/pos-module-user/modules/user/public/views/pages/users/email/update.liquid index 34857e0..fbb3fc3 100644 --- a/pos-module-user/modules/user/public/views/pages/users/email/update.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/email/update.liquid @@ -5,7 +5,7 @@ method: put {% liquid function current_profile = 'modules/user/helpers/current_profile' if current_profile.user == null - include 'modules/core/helpers/redirect_to' + include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null endif if current_profile.otp_configured @@ -25,7 +25,7 @@ method: put function _event = 'modules/core/commands/events/publish', type: 'email_updated', object: event_payload, delay: null, max_attempts: null assign notice = 'modules/user/users.email.change_success' | t - include 'modules/core/helpers/redirect_to', url: '/', notice: notice + include 'modules/core/helpers/redirect_to', url: '/', notice: notice, default: null, error: null, format: null, info: null, object: null else render 'modules/user/users/email/edit', context: context, otp_enabled: null, errors: null endif From f49e8304f5c93dd6e38cfc25b34ce7d316a23fff Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Fri, 13 Mar 2026 09:22:52 +0000 Subject: [PATCH 37/44] Fix linter errors --- .../lib/test/commands/user/create_test.liquid | 3 ++ .../commands/user/roles/append_test.liquid | 3 ++ .../commands/user/roles/remove_test.liquid | 3 ++ .../test/commands/user/roles/set_test.liquid | 3 ++ .../app/views/pages/admin/index.liquid | 6 ++-- pos-module-user/app/views/pages/index.liquid | 3 ++ .../app/views/pages/profile/index.liquid | 6 ++-- .../app/views/pages/profile/update.liquid | 9 ++++-- .../app/views/pages/subscription/index.liquid | 4 ++- .../views/partials/admin/home/index.liquid | 3 ++ .../app/views/partials/profile/index.liquid | 5 ++++ .../tests/public/lib/commands/run.liquid | 4 +++ .../public/views/pages/_tests/run.html.liquid | 2 ++ .../public/views/pages/_tests/run.js.liquid | 2 ++ .../authentication_links/create.liquid | 6 ++++ .../authentication_links/create/build.liquid | 7 ++++- .../authentication_links/create/check.liquid | 4 +++ .../create/execute.liquid | 3 ++ .../lib/commands/oauth/create_user.liquid | 5 ++++ .../lib/commands/passwords/create.liquid | 3 ++ .../commands/passwords/create/check.liquid | 3 ++ .../commands/passwords/create/execute.liquid | 3 ++ .../lib/commands/profiles/create.liquid | 5 +++- .../lib/commands/profiles/create/build.liquid | 3 ++ .../lib/commands/profiles/create/check.liquid | 3 ++ .../lib/commands/profiles/create_proxy.liquid | 3 ++ .../commands/profiles/create_validate.liquid | 5 +++- .../profiles/create_validate_proxy.liquid | 3 ++ .../lib/commands/profiles/delete.liquid | 3 ++ .../lib/commands/profiles/delete/build.liquid | 3 ++ .../lib/commands/profiles/delete/check.liquid | 3 ++ .../lib/commands/profiles/mark_otp.liquid | 3 ++ .../commands/profiles/mark_otp/build.liquid | 3 ++ .../commands/profiles/mark_otp/check.liquid | 3 ++ .../lib/commands/profiles/roles/append.liquid | 4 +++ .../lib/commands/profiles/roles/remove.liquid | 4 +++ .../lib/commands/profiles/roles/set.liquid | 4 +++ .../commands/profiles/tokenize_names.liquid | 3 ++ .../lib/commands/profiles/update.liquid | 6 +++- .../lib/commands/profiles/update/build.liquid | 4 +++ .../lib/commands/profiles/update/check.liquid | 3 ++ .../lib/commands/profiles/update_proxy.liquid | 4 +++ .../public/lib/commands/session/create.liquid | 22 +++++--------- .../lib/commands/session/create/build.liquid | 3 ++ .../lib/commands/session/create/check.liquid | 3 ++ .../session/impersonation/create.liquid | 4 +++ .../session/impersonation/create/build.liquid | 4 +++ .../session/impersonation/create/check.liquid | 3 ++ .../session/impersonation/destroy.liquid | 4 +++ .../impersonation/destroy/check.liquid | 3 ++ .../public/lib/commands/user/create.liquid | 22 +++++--------- .../lib/commands/user/create/build.liquid | 8 +++++ .../lib/commands/user/create/check.liquid | 3 ++ .../public/lib/commands/user/delete.liquid | 9 ++---- .../lib/commands/user/email_update.liquid | 6 +++- .../commands/user/email_update/build.liquid | 4 +++ .../commands/user/email_update/check.liquid | 4 +++ .../public/lib/commands/user/update.liquid | 17 ++++------- .../lib/commands/user/update/build.liquid | 5 ++++ .../lib/commands/user/update/check.liquid | 3 ++ .../lib/commands/user/verify_otp.liquid | 6 +++- .../lib/commands/user/verify_otp/build.liquid | 3 ++ .../lib/commands/user/verify_otp/check.liquid | 3 ++ .../lib/commands/user/verify_password.liquid | 11 +++---- .../user/verify_password/build.liquid | 4 +++ .../user/verify_password/check.liquid | 3 ++ .../events/authentication_link_created.liquid | 3 ++ .../lib/events/impersonation_ended.liquid | 3 ++ .../lib/events/impersonation_started.liquid | 3 ++ .../public/lib/events/password_created.liquid | 3 ++ .../public/lib/events/user_created.liquid | 3 ++ .../public/lib/events/user_deleted.liquid | 3 ++ .../user/public/lib/events/user_logout.liquid | 3 ++ .../lib/events/user_role_appended.liquid | 3 ++ .../lib/events/user_role_removed.liquid | 3 ++ .../public/lib/events/user_roles_set.liquid | 3 ++ .../public/lib/events/user_signed_in.liquid | 3 ++ .../public/lib/events/user_updated.liquid | 3 ++ .../user/public/lib/helpers/can_do.liquid | 18 ++++------- .../lib/helpers/can_do_or_redirect.liquid | 21 +++++-------- .../lib/helpers/can_do_or_unauthorized.liquid | 30 ++++++++----------- .../user/public/lib/helpers/flash.liquid | 6 ++++ .../lib/helpers/profiles/slugs/build.liquid | 4 +++ .../helpers/user_from_temporary_token.liquid | 6 +++- .../user/public/lib/queries/api_call.liquid | 20 +++---------- .../lib/queries/profiles/filters.liquid | 3 ++ .../lib/queries/profiles/filters_proxy.liquid | 3 ++ .../public/lib/queries/profiles/find.liquid | 9 +++++- .../lib/queries/profiles/find_proxy.liquid | 6 ++++ .../public/lib/queries/profiles/search.liquid | 16 +++++++++- .../lib/queries/profiles/search_proxy.liquid | 15 ++++++++++ .../user/public/lib/queries/user/find.liquid | 5 ++++ .../user/public/lib/queries/user/load.liquid | 9 ++---- .../user/public/lib/queries/user/otp.liquid | 4 +++ .../public/lib/queries/user/search.liquid | 8 +++++ .../pages/authentication_links/create.liquid | 6 ++-- .../public/views/pages/oauth/callback.liquid | 18 ++++++++++- .../public/views/pages/oauth/unassign.liquid | 2 +- .../views/pages/passwords/create.liquid | 2 +- .../public/views/pages/passwords/new.liquid | 2 +- .../views/pages/profiles/2fa/create.liquid | 2 ++ .../views/pages/profiles/2fa/delete.liquid | 2 ++ .../public/views/pages/sessions/2fa.liquid | 8 ++++- .../public/views/pages/sessions/create.liquid | 6 +++- .../views/pages/sessions/destroy.liquid | 4 ++- .../sessions/impersonation/create.liquid | 6 +++- .../sessions/impersonation/destroy.liquid | 2 ++ .../public/views/pages/sessions/new.liquid | 4 ++- .../public/views/pages/users/create.liquid | 8 +++-- .../views/pages/users/email/edit.liquid | 2 ++ .../views/pages/users/email/update.liquid | 7 +++-- .../user/public/views/pages/users/new.liquid | 4 ++- .../public/views/partials/2fa/disable.liquid | 3 ++ .../public/views/partials/2fa/setup.liquid | 5 ++++ .../public/views/partials/2fa/verify.liquid | 3 ++ .../views/partials/passwords/new.liquid | 4 +++ .../views/partials/passwords/reset.liquid | 5 ++++ .../public/views/partials/sessions/new.liquid | 5 ++++ .../views/partials/users/email/edit.liquid | 5 ++++ .../public/views/partials/users/new.liquid | 6 ++++ 120 files changed, 508 insertions(+), 151 deletions(-) diff --git a/pos-module-user/app/lib/test/commands/user/create_test.liquid b/pos-module-user/app/lib/test/commands/user/create_test.liquid index 1955bd2..f8a7f43 100644 --- a/pos-module-user/app/lib/test/commands/user/create_test.liquid +++ b/pos-module-user/app/lib/test/commands/user/create_test.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} contract - The test contract object +{% enddoc %} {% liquid # test do not explicitly provide roles argument diff --git a/pos-module-user/app/lib/test/commands/user/roles/append_test.liquid b/pos-module-user/app/lib/test/commands/user/roles/append_test.liquid index ce0ba24..4bbf769 100644 --- a/pos-module-user/app/lib/test/commands/user/roles/append_test.liquid +++ b/pos-module-user/app/lib/test/commands/user/roles/append_test.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} contract - The test contract object +{% enddoc %} {% liquid # seed DB with a user assign email = 10 | random_string | append: '-user-append@example.com' diff --git a/pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid b/pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid index 8b7a6a1..ee09319 100644 --- a/pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid +++ b/pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} contract - The test contract object +{% enddoc %} {% liquid # test remove role diff --git a/pos-module-user/app/lib/test/commands/user/roles/set_test.liquid b/pos-module-user/app/lib/test/commands/user/roles/set_test.liquid index f8a2032..e339c01 100644 --- a/pos-module-user/app/lib/test/commands/user/roles/set_test.liquid +++ b/pos-module-user/app/lib/test/commands/user/roles/set_test.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} contract - The test contract object +{% enddoc %} {% liquid # test remove role diff --git a/pos-module-user/app/views/pages/admin/index.liquid b/pos-module-user/app/views/pages/admin/index.liquid index a6d39c1..db60f78 100644 --- a/pos-module-user/app/views/pages/admin/index.liquid +++ b/pos-module-user/app/views/pages/admin/index.liquid @@ -1,10 +1,12 @@ {% liquid function current_profile = 'modules/user/helpers/current_profile' # platformos-check-disable UnreachableCode - include 'modules/user/helpers/can_do_or_unauthorized', requester: current_profile, do: 'admin.read', redirect_anonymous_to_login: true, forbidden_partial: 'modules/user/components/pages/403' + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_unauthorized', requester: current_profile, do: 'admin.read', redirect_anonymous_to_login: true, forbidden_partial: 'modules/user/components/pages/403', access_callback: null, anonymous_return_to: null, entity: null + # platformos-check-enable DeprecatedTag # platformos-check-enable UnreachableCode - function users = 'modules/user/queries/user/search', id: null, not_ids: null, email: null, sort: null, limit: 20 + function users = 'modules/user/queries/user/search', id: null, not_ids: null, email: null, sort: null, limit: 20, page: null render 'admin/home/index', users: users %} diff --git a/pos-module-user/app/views/pages/index.liquid b/pos-module-user/app/views/pages/index.liquid index 3b1204d..de2159f 100644 --- a/pos-module-user/app/views/pages/index.liquid +++ b/pos-module-user/app/views/pages/index.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} current_user - The current user object +{% enddoc %} {% liquid function current_profile = 'modules/user/helpers/current_profile' %} diff --git a/pos-module-user/app/views/pages/profile/index.liquid b/pos-module-user/app/views/pages/profile/index.liquid index 15fceb1..f93667b 100644 --- a/pos-module-user/app/views/pages/profile/index.liquid +++ b/pos-module-user/app/views/pages/profile/index.liquid @@ -1,9 +1,11 @@ {% liquid function current_profile = 'modules/user/helpers/current_profile' # platformos-check-disable UnreachableCode - include 'modules/user/helpers/can_do_or_unauthorized', requester: current_profile, do: 'profile.manage', redirect_anonymous_to_login: true, forbidden_partial: 'modules/user/components/pages/403' + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_unauthorized', requester: current_profile, do: 'profile.manage', redirect_anonymous_to_login: true, forbidden_partial: 'modules/user/components/pages/403', access_callback: null, anonymous_return_to: null, entity: null + # platformos-check-enable DeprecatedTag # platformos-check-enable UnreachableCode - render 'profile/index', errors: null, otp_configured: current_profile.otp_configured + render 'profile/index', errors: null, otp_configured: current_profile.otp_configured, current_user: current_profile.user %} \ No newline at end of file diff --git a/pos-module-user/app/views/pages/profile/update.liquid b/pos-module-user/app/views/pages/profile/update.liquid index 99fb50d..3e6a641 100644 --- a/pos-module-user/app/views/pages/profile/update.liquid +++ b/pos-module-user/app/views/pages/profile/update.liquid @@ -2,13 +2,18 @@ method: post slug: profile/update --- +{% doc %} + @param {object} params - The request parameters +{% enddoc %} {% liquid function current_profile = 'modules/user/helpers/current_profile' # platformos-check-disable UnreachableCode - include 'modules/user/helpers/can_do_or_unauthorized', requester: current_profile, do: 'profile.manage', redirect_anonymous_to_login: true, forbidden_partial: 'modules/user/components/pages/403' + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_unauthorized', requester: current_profile, do: 'profile.manage', redirect_anonymous_to_login: true, forbidden_partial: 'modules/user/components/pages/403', access_callback: null, anonymous_return_to: null, entity: null + # platformos-check-enable DeprecatedTag # platformos-check-enable UnreachableCode function object = 'modules/user/commands/profiles/update', object: params, profile: current_profile - render 'profile/index', errors: object.errors, otp_configured: current_profile.otp_configured + render 'profile/index', errors: object.errors, otp_configured: current_profile.otp_configured, current_user: current_profile.user %} \ No newline at end of file diff --git a/pos-module-user/app/views/pages/subscription/index.liquid b/pos-module-user/app/views/pages/subscription/index.liquid index 7c7d9d9..734c46a 100644 --- a/pos-module-user/app/views/pages/subscription/index.liquid +++ b/pos-module-user/app/views/pages/subscription/index.liquid @@ -1,7 +1,9 @@ {% liquid function current_profile = 'modules/user/helpers/current_profile' # platformos-check-disable UnreachableCode - include 'modules/user/helpers/can_do_or_unauthorized', requester: current_profile, do: 'subscription.read', redirect_anonymous_to_login: true, forbidden_partial: 'modules/user/components/pages/403' + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_unauthorized', requester: current_profile, do: 'subscription.read', redirect_anonymous_to_login: true, forbidden_partial: 'modules/user/components/pages/403', access_callback: null, anonymous_return_to: null, entity: null + # platformos-check-enable DeprecatedTag # platformos-check-enable UnreachableCode render 'subscription/home/index' diff --git a/pos-module-user/app/views/partials/admin/home/index.liquid b/pos-module-user/app/views/partials/admin/home/index.liquid index 346cc41..2c1103b 100644 --- a/pos-module-user/app/views/partials/admin/home/index.liquid +++ b/pos-module-user/app/views/partials/admin/home/index.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} users - The users collection +{% enddoc %}
    diff --git a/pos-module-user/app/views/partials/profile/index.liquid b/pos-module-user/app/views/partials/profile/index.liquid index 23565aa..97ce856 100644 --- a/pos-module-user/app/views/partials/profile/index.liquid +++ b/pos-module-user/app/views/partials/profile/index.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {object} current_user - The current user object + @param {object} errors - The validation errors object + @param {boolean} otp_configured - Whether OTP is configured for the user +{% enddoc %} {% liquid function current_profile = 'modules/user/helpers/current_profile' %} diff --git a/pos-module-user/modules/tests/public/lib/commands/run.liquid b/pos-module-user/modules/tests/public/lib/commands/run.liquid index 41bfe36..13af90a 100644 --- a/pos-module-user/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-user/modules/tests/public/lib/commands/run.liquid @@ -23,7 +23,9 @@ assign contract = { "errors": {}, "success": true, "total": 0 } # platformos-check-disable ConvertIncludeToRender + # platformos-check-disable DeprecatedTag include test.path, registry: test.path, contract: contract + # platformos-check-enable DeprecatedTag # platformos-check-enable ConvertIncludeToRender assign contract.test_path = test.path assign contracts << contract @@ -35,7 +37,9 @@ assign test_formatter = format | default: 'html' | prepend: 'modules/tests/tests/show_' # platformos-check-disable ConvertIncludeToRender + # platformos-check-disable DeprecatedTag include test_formatter, contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name + # platformos-check-enable DeprecatedTag # platformos-check-enable ConvertIncludeToRender if total_errors > 0 response_status 500 diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid index 78ba8fb..9c78d7e 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid @@ -5,7 +5,9 @@ layout: modules/tests/test if context.environment == 'staging' or context.environment == 'development' assign test_name = 5 | random_string | prepend: "liquid_test_" # platformos-check-disable ConvertIncludeToRender + # platformos-check-disable DeprecatedTag include 'modules/tests/commands/run', format: context.params.formatter, test_name: test_name + # platformos-check-enable DeprecatedTag # platformos-check-enable ConvertIncludeToRender endif %} diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid index d36090c..8ebadf0 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid @@ -5,7 +5,9 @@ layout: '' if context.environment == 'staging' or context.environment == 'development' assign test_name = 5 | random_string | prepend: "liquid_test_" # platformos-check-disable ConvertIncludeToRender + # platformos-check-disable DeprecatedTag include 'modules/tests/commands/run', format: 'js', test_name: test_name + # platformos-check-enable DeprecatedTag # platformos-check-enable ConvertIncludeToRender else echo '{"success":false,"error":"Tests can only be run in staging or development environment"}' diff --git a/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid b/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid index 4bdb0c9..da08617 100644 --- a/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {string} email - The email address + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} host - The host URL + @param {number} valid_for - Token validity duration in minutes +{% enddoc %} {% liquid function object = 'modules/user/commands/authentication_links/create/build', email: email, host: host, valid_for: valid_for function object = 'modules/user/commands/authentication_links/create/check', object: object, hcaptcha_params: hcaptcha_params diff --git a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid index 435aaa7..eb4ad01 100644 --- a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid @@ -1,6 +1,11 @@ +{% doc %} + @param {string} email - The email address + @param {string} host - The host URL + @param {number} valid_for - Token validity duration in minutes +{% enddoc %} {% liquid assign valid_for = valid_for | default: 5 - function user = 'modules/user/queries/user/find', email: email, with_token: true + function user = 'modules/user/queries/user/find', email: email, with_token: true, id: null %} {% parse_json object %} diff --git a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid index baab362..7d49cd5 100644 --- a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid index b3e2207..e22ed51 100644 --- a/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid +++ b/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid if object.valid assign object.url = 'https://{host}/passwords/new?token={token}&email={email}' | expand_url_template: object diff --git a/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid b/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid index caf4c89..463fad1 100644 --- a/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid +++ b/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} user_email - The user email address + @param {string} user_first_name - The user first name + @param {string} user_last_name - The user last name +{% enddoc %} {% liquid assign password = 30 | random_string assign full_name = user_first_name | append: " " | append: user_last_name diff --git a/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid b/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid index 061474f..8d9eec1 100644 --- a/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid function object = 'modules/user/commands/passwords/create/build', object: object function object = 'modules/user/commands/passwords/create/check', object: object diff --git a/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid index 36dc06e..48e8611 100644 --- a/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid b/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid index 4d9e84b..48eda9f 100644 --- a/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid +++ b/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid graphql r = 'modules/user/user/update_password', args: object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid index 721c064..74fdd55 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid @@ -1,5 +1,8 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid - function object = 'modules/user/commands/profiles/create/build', object: object, name: null + function object = 'modules/user/commands/profiles/create/build', object: object function object = 'modules/user/commands/profiles/create/check', object: object if object.valid function object = 'modules/core/commands/execute', mutation_name: 'modules/user/profiles/create', object: object, selection: null diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid index 5abc835..be89d73 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid function tokenized_names = 'modules/user/commands/profiles/tokenize_names', object: object assign uuid_new = '' | uuid diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid index 09dd7a4..7089403 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create_proxy.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create_proxy.liquid index a2b9854..be2d4f2 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create_proxy.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create_proxy.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid function profile_module = 'modules/core/queries/variable/get', name: 'PROFILE_MODULE', default: 'modules/user', type: null assign function_name = profile_module | append: '/commands/profiles/create' diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create_validate.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create_validate.liquid index fe043db..5862233 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create_validate.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create_validate.liquid @@ -1,5 +1,8 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid - function object = 'modules/user/commands/profiles/create/build', object: object, name: null + function object = 'modules/user/commands/profiles/create/build', object: object function object = 'modules/user/commands/profiles/create/check', object: object return object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/create_validate_proxy.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/create_validate_proxy.liquid index 69d579f..c2a60cd 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/create_validate_proxy.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/create_validate_proxy.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid function profile_module = 'modules/core/queries/variable/get', name: 'PROFILE_MODULE', default: 'modules/user', type: null assign function_name = profile_module | append: '/commands/profiles/create_validate' diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid index 9fc159d..9a1554f 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid function object = 'modules/user/commands/profiles/delete/build', object: object function object = 'modules/user/commands/profiles/delete/check', object: object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid index 3536a27..dbbbe71 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign data = {"id": object.id} diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid index b41c4e8..ba60f2a 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid index 39084fd..c683119 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid function object = 'modules/user/commands/profiles/mark_otp/build', object: object function object = 'modules/user/commands/profiles/mark_otp/check', object: object diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid index ede59fc..e5f9753 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign data = { "id": object.id } if object.otp_configured == null diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid index 5d2620c..d01c0f8 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid index a5d7957..e8c2a83 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} id - The record ID + @param {string} role - The role name +{% enddoc %} {% liquid assign object = { "valid": true, "id": id, "role": role } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/append', selection: null diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid index cd1ffcf..47c9322 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} id - The record ID + @param {string} role - The role name +{% enddoc %} {% liquid assign object = { "valid": true, "id": id, "role": role } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/remove', selection: null diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid index 4b4c3e1..d9e35e5 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} id - The record ID + @param {string} roles - The roles to assign +{% enddoc %} {% liquid assign object = { "valid": true, "id": id, "roles": roles } function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/profiles/roles/set', selection: null diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid index 7155bdc..0998c4a 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign tokenized_names = [] | push: object.email | push: object.first_name | push: object.last_name | compact | uniq | join: ' ' | downcase return tokenized_names diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid index ce1e205..e09eaae 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid @@ -1,5 +1,9 @@ +{% doc %} + @param {object} object - The object to process + @param {object} profile - The profile object +{% enddoc %} {% liquid - function object = 'modules/user/commands/profiles/update/build', object: object, profile: profile, name: null + function object = 'modules/user/commands/profiles/update/build', object: object, profile: profile function object = 'modules/user/commands/profiles/update/check', object: object if object.valid diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid index 1095444..12a7102 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} object - The object to process + @param {object} profile - The profile object +{% enddoc %} {% liquid function tokenized_names = 'modules/user/commands/profiles/tokenize_names', object: object assign name = object.first_name | append: ' ' | append: object.last_name diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid index 77f0e9e..c846f1e 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/profiles/update_proxy.liquid b/pos-module-user/modules/user/public/lib/commands/profiles/update_proxy.liquid index be00e86..173e584 100644 --- a/pos-module-user/modules/user/public/lib/commands/profiles/update_proxy.liquid +++ b/pos-module-user/modules/user/public/lib/commands/profiles/update_proxy.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} object - The object to process + @param {object} profile - The profile object +{% enddoc %} {% liquid function profile_module = 'modules/core/queries/variable/get', name: 'PROFILE_MODULE', default: 'modules/user', type: null assign function_name = profile_module | append: '/commands/profiles/update' diff --git a/pos-module-user/modules/user/public/lib/commands/session/create.liquid b/pos-module-user/modules/user/public/lib/commands/session/create.liquid index dd7089e..1149733 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/create.liquid @@ -1,18 +1,10 @@ -{% comment %} - Creates a user sessions. - Params: - - user_id string (optional) - - validate_password boolean - default: true - - email: string (optional) - the user's email address - - password: string (optional) - the user's password - - hook_params: object - the other params that will be passed to hook_user_login - - skip_otp boolean - default: false -{% endcomment %} +{% doc %} + @param {string} email - The email address + @param {object} hook_params - Additional parameters to pass to hooks + @param {string} password - The password + @param {boolean} skip_otp - Whether to skip OTP verification + @param {boolean} validate_password - Whether to validate the password +{% enddoc %} {% liquid if validate_password == nil assign validate_password = true diff --git a/pos-module-user/modules/user/public/lib/commands/session/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/session/create/build.liquid index 3cefb8b..2666900 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/create/build.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% parse_json object %} { "id": {{ id | json }} diff --git a/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid index 7757602..bcda570 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid index 3ac488c..ccd43c8 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} current_user_id - The current user ID + @param {object} user - The user object +{% enddoc %} {% liquid function object = 'modules/user/commands/session/impersonation/create/build', user: user, current_user_id: current_user_id function object = 'modules/user/commands/session/impersonation/create/check', object: object diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/build.liquid index a549d34..fb8ecaf 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} current_user_id - The current user ID + @param {object} user - The user object +{% enddoc %} {% parse_json object %} { "id": {{ user.id | json }}, diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid index d2501e6..527fb45 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid index d7f58b4..5f68cd0 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} current_user_id - The current user ID + @param {object} user - The user object +{% enddoc %} {% liquid function object = 'modules/user/commands/session/impersonation/create/build', user: user, current_user_id: current_user_id function object = 'modules/user/commands/session/impersonation/destroy/check', object: object diff --git a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid index d2501e6..527fb45 100644 --- a/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/user/create.liquid b/pos-module-user/modules/user/public/lib/commands/user/create.liquid index c779f20..98cbd59 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/create.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/create.liquid @@ -1,17 +1,11 @@ -{% comment %} - Creates a user. - Params: - - first_name: string - user's first name - - last_name: string - user's last name - - email: string - user's email address - - password: string - user's password - - roles: array - user's roles -{% endcomment %} +{% doc %} + @param {string} email - The email address + @param {string} first_name - The first name + @param {object} hook_params - Additional parameters to pass to hooks + @param {string} last_name - The last name + @param {string} password - The password + @param {string} roles - The roles to assign +{% enddoc %} {% liquid function object = 'modules/user/commands/user/create/build', first_name: first_name, last_name: last_name, email: email, password: password, hook_params: hook_params, roles: roles function object = 'modules/user/commands/user/create/check', object: object diff --git a/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid b/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid index 29e474d..73386d4 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid @@ -1,3 +1,11 @@ +{% doc %} + @param {string} email - The email address + @param {string} first_name - The first name + @param {object} hook_params - Additional parameters to pass to hooks + @param {string} last_name - The last name + @param {string} password - The password + @param {string} roles - The roles to assign +{% enddoc %} {% parse_json object %} { "first_name": {{ first_name | json }}, diff --git a/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid index 73b38ab..61ab6b5 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'first_name', key: null diff --git a/pos-module-user/modules/user/public/lib/commands/user/delete.liquid b/pos-module-user/modules/user/public/lib/commands/user/delete.liquid index 4826eb0..d2253c5 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/delete.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/delete.liquid @@ -1,9 +1,6 @@ -{% comment %} - Deletes a user. - Params: - - id: string - the user's id -{% endcomment %} +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% liquid graphql user = 'modules/user/user/delete', id: id diff --git a/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid b/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid index 264a966..e5abab0 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid @@ -1,6 +1,10 @@ +{% doc %} + @param {object} current_user - The current user object + @param {object} object - The object to process +{% enddoc %} {% liquid function object = 'modules/user/commands/user/email_update/build', object: object, current_user: current_user - function object = 'modules/user/commands/user/email_update/check', object: object, current_user: current_user, c: c + function object = 'modules/user/commands/user/email_update/check', object: object, current_user: current_user if object.valid function object = 'modules/core/commands/execute', object: object, mutation_name: 'modules/user/user/email_update', selection: 'user' diff --git a/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid b/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid index 803f280..e2a8c18 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} current_user - The current user object + @param {object} object - The object to process +{% enddoc %} {% liquid assign object = {"id": current_user.id, "email": object.email, "password": object.password} diff --git a/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid index 8b2d8e2..02c2ef4 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} current_user - The current user object + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'email', key: null diff --git a/pos-module-user/modules/user/public/lib/commands/user/update.liquid b/pos-module-user/modules/user/public/lib/commands/user/update.liquid index 03ec43f..547bf48 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/update.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/update.liquid @@ -1,14 +1,9 @@ -{% comment %} - Updates a user. - Params: - - id: string - - email: string - the user's email address - - password: string - the user's password - - hook_params: object - the other params that will be passed to hook_user_update -{% endcomment %} +{% doc %} + @param {string} email - The email address + @param {object} hook_params - Additional parameters to pass to hooks + @param {string} id - The record ID + @param {string} password - The password +{% enddoc %} {% liquid function object = 'modules/user/commands/user/update/build', id: id, email: email, password: password function object = 'modules/user/commands/user/update/check', object: object diff --git a/pos-module-user/modules/user/public/lib/commands/user/update/build.liquid b/pos-module-user/modules/user/public/lib/commands/user/update/build.liquid index 978272d..9f26288 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/update/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/update/build.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} email - The email address + @param {string} id - The record ID + @param {string} password - The password +{% enddoc %} {% parse_json object %} { "id": {{ id | json }}, diff --git a/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid index 28f0b8c..733c74c 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid index cfc4752..0e7066f 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid @@ -1,5 +1,9 @@ +{% doc %} + @param {string} email - The email address + @param {object} object - The object to process +{% enddoc %} {% liquid - function object = 'modules/user/commands/user/verify_otp/build', object: object, email: email + function object = 'modules/user/commands/user/verify_otp/build', email: email function object = 'modules/user/commands/user/verify_otp/check', object: object return object diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_otp/build.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_otp/build.liquid index 0762a45..ad5f2b9 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_otp/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_otp/build.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} email - The email address +{% enddoc %} {% parse_json object %} { "email": {{ email | default: object.email | json }}, diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid index 29e5c79..a6b4d75 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid index 58bdd42..baa0326 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid @@ -1,10 +1,7 @@ -{% comment %} - Verifies a user's password. - Params: - - email: string - the user's email address - - password: string -{% endcomment %} +{% doc %} + @param {string} email - The email address + @param {string} password - The password +{% enddoc %} {% liquid function object = 'modules/user/commands/user/verify_password/build', email: email, password: password function object = 'modules/user/commands/user/verify_password/check', object: object diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_password/build.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_password/build.liquid index f1bbf6c..47b72f7 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_password/build.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_password/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} email - The email address + @param {string} password - The password +{% enddoc %} {% parse_json object %} { "email": {{ email | json }}, diff --git a/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid b/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid index 6df3795..3b76b90 100644 --- a/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid +++ b/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid b/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid index 8159dd5..41be3c9 100644 --- a/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid @@ -3,6 +3,9 @@ metadata: event: email --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid b/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid index 68ed235..4b78d11 100644 --- a/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid +++ b/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid @@ -4,6 +4,9 @@ metadata: actor_id impersonation_ended --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid b/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid index 482552f..70121d1 100644 --- a/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid +++ b/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid @@ -5,6 +5,9 @@ metadata: target_id --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/password_created.liquid b/pos-module-user/modules/user/public/lib/events/password_created.liquid index cd6f77d..56dc2e4 100644 --- a/pos-module-user/modules/user/public/lib/events/password_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/password_created.liquid @@ -3,6 +3,9 @@ metadata: event: user_id --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/user_created.liquid b/pos-module-user/modules/user/public/lib/events/user_created.liquid index cd6f77d..56dc2e4 100644 --- a/pos-module-user/modules/user/public/lib/events/user_created.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_created.liquid @@ -3,6 +3,9 @@ metadata: event: user_id --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/user_deleted.liquid b/pos-module-user/modules/user/public/lib/events/user_deleted.liquid index cd6f77d..56dc2e4 100644 --- a/pos-module-user/modules/user/public/lib/events/user_deleted.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_deleted.liquid @@ -3,6 +3,9 @@ metadata: event: user_id --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/user_logout.liquid b/pos-module-user/modules/user/public/lib/events/user_logout.liquid index cd6f77d..56dc2e4 100644 --- a/pos-module-user/modules/user/public/lib/events/user_logout.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_logout.liquid @@ -3,6 +3,9 @@ metadata: event: user_id --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid b/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid index 53ea2f7..6a7476c 100644 --- a/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid @@ -4,6 +4,9 @@ metadata: profile_id role --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid b/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid index 53ea2f7..6a7476c 100644 --- a/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid @@ -4,6 +4,9 @@ metadata: profile_id role --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid b/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid index c88a5de..d04e39c 100644 --- a/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid @@ -4,6 +4,9 @@ metadata: profile_id roles --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid b/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid index cd6f77d..56dc2e4 100644 --- a/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid @@ -3,6 +3,9 @@ metadata: event: user_id --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/events/user_updated.liquid b/pos-module-user/modules/user/public/lib/events/user_updated.liquid index cd6f77d..56dc2e4 100644 --- a/pos-module-user/modules/user/public/lib/events/user_updated.liquid +++ b/pos-module-user/modules/user/public/lib/events/user_updated.liquid @@ -3,6 +3,9 @@ metadata: event: user_id --- +{% doc %} + @param {object} event - The event object +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } diff --git a/pos-module-user/modules/user/public/lib/helpers/can_do.liquid b/pos-module-user/modules/user/public/lib/helpers/can_do.liquid index 1467f59..626789c 100644 --- a/pos-module-user/modules/user/public/lib/helpers/can_do.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/can_do.liquid @@ -1,15 +1,9 @@ -{% comment %} - Checks if the requester can do domething on the given entiry. - - Params: - - requester Object - The requester must have a string array field called 'roles' - - entity Object - - do String - - access_callback String - The callback function that checks the request. By default searches that the `requester` - has `do` permission or not. -{% endcomment %} +{% doc %} + @param {string} access_callback - Custom authorization callback path + @param {string} do - The permission to check + @param {object} entity - The entity to check access against + @param {object} requester - The user profile requesting access +{% enddoc %} {% liquid assign roles_type = requester.roles | type_of unless roles_type == 'Array' diff --git a/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid b/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid index 042bee2..af52c14 100644 --- a/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid @@ -1,17 +1,10 @@ -{% comment %} - Redirects if the the requester does not have right to do something on the given entity. - - Params: - - requester Object - The requester must has a string array field called 'permissions' - - entity Object - - do String - - access_callback String - The callback function that checks the request. By default searches that the `requester` - has `do` permission or not. - - return_url String - The url where to redirect if the requester does not have right to do something in the given entity. -{% endcomment %} +{% doc %} + @param {string} access_callback - Custom authorization callback path + @param {string} do - The permission to check + @param {object} entity - The entity to check access against + @param {object} requester - The user profile requesting access + @param {string} return_url - URL to redirect to +{% enddoc %} {% liquid function can = 'modules/user/helpers/can_do', requester: requester, entity: entity, do: do, access_callback: access_callback unless can diff --git a/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid b/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid index 2288524..d20dcf9 100644 --- a/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid @@ -1,31 +1,27 @@ -{% comment %} - Renders 401 if the the requester does not have right to do something on the given entity. - - Params: - - requester Object - The requester must have a string array field called 'permissions' - - entity Object - - do String - - redirect_anonymous_to_login Boolean - - anonymous_return_to - Only works if redirect_anonymous_to_login is set to true. This parameter sets context.session.return_to, which is used in /sessions/create endpoint after successful login - - access_callback String - The callback function that checks the request. By default searches that the `requester` - has `do` permission or not. - - forbidden_partial String - The partial to render if the requester is not authorized. If not set, just sets the response status to 403. -{% endcomment %} +{% doc %} + @param {string} access_callback - Custom authorization callback path + @param {string} anonymous_return_to - URL to redirect anonymous users to + @param {string} do - The permission to check + @param {object} entity - The entity to check access against + @param {string} forbidden_partial - Custom partial to render for forbidden access + @param {boolean} redirect_anonymous_to_login - Whether to redirect anonymous users to login + @param {object} requester - The user profile requesting access +{% enddoc %} {% liquid function can = 'modules/user/helpers/can_do', requester: requester, entity: entity, do: do, access_callback: access_callback unless can if requester.roles contains 'anonymous' and redirect_anonymous_to_login session return_to = anonymous_return_to | default: context.location.href assign info = 'modules/user/authorization.redirect_anonymous_info' | t + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', url: '/sessions/new', info: info, default: null, error: null, format: null, notice: null, object: null + # platformos-check-enable DeprecatedTag else response_status 403 if forbidden_partial + # platformos-check-disable DeprecatedTag include forbidden_partial + # platformos-check-enable DeprecatedTag endif break endif diff --git a/pos-module-user/modules/user/public/lib/helpers/flash.liquid b/pos-module-user/modules/user/public/lib/helpers/flash.liquid index 7779ad6..ced9354 100644 --- a/pos-module-user/modules/user/public/lib/helpers/flash.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/flash.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {string} error - The error flash message + @param {boolean} force_clear - If true, clear flash messages immediately + @param {string} info - The info flash message + @param {string} notice - The notice flash message +{% enddoc %} {% liquid assign error = error assign notice = notice diff --git a/pos-module-user/modules/user/public/lib/helpers/profiles/slugs/build.liquid b/pos-module-user/modules/user/public/lib/helpers/profiles/slugs/build.liquid index 187c39c..56f02cb 100644 --- a/pos-module-user/modules/user/public/lib/helpers/profiles/slugs/build.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/profiles/slugs/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} current_profile - The current user profile + @param {object} profile - The profile object +{% enddoc %} {% liquid assign profile = profile | default: current_profile assign first_name = profile.first_name diff --git a/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid b/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid index 044fe7c..a9320f5 100644 --- a/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid +++ b/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid @@ -1,9 +1,13 @@ +{% doc %} + @param {string} email - The email address + @param {string} token - The authentication token +{% enddoc %} {% liquid if token == blank or email == blank return null endif - function user = 'modules/user/queries/user/find', email: email + function user = 'modules/user/queries/user/find', email: email, id: null, with_token: null if user assign authenticated = token | is_token_valid: user.id diff --git a/pos-module-user/modules/user/public/lib/queries/api_call.liquid b/pos-module-user/modules/user/public/lib/queries/api_call.liquid index 0b4120d..b6389e2 100644 --- a/pos-module-user/modules/user/public/lib/queries/api_call.liquid +++ b/pos-module-user/modules/user/public/lib/queries/api_call.liquid @@ -1,19 +1,7 @@ -{% comment %} - params: - - api_template - - data - - timeout - returns: - { - response { - status - body - } - errors { - message - } - } -{% endcomment %} +{% doc %} + @param {string} api_template - The API call template path + @param {number} timeout - Request timeout in seconds +{% enddoc %} {%- liquid graphql g = 'modules/user/api_call', api_template: api_template, data: data, timeout: timeout if g.api_call_send == blank diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid index 3f58d78..4370421 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} params - The request parameters +{% enddoc %} {% liquid assign sort_options = {"first_name_desc": {"properties": {"name": "first_name", "order": "DESC"}}, "first_name_asc": {"properties": {"name": "first_name", "order": "ASC"}}} assign filters = {} diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/filters_proxy.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/filters_proxy.liquid index 17420a8..99f3cdd 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/filters_proxy.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/filters_proxy.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} params - The request parameters +{% enddoc %} {% liquid function profile_module = 'modules/core/queries/variable/get', name: 'PROFILE_MODULE', default: 'modules/user', type: null assign function_name = profile_module | append: '/queries/profiles/filters' diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid index aceb24e..a997b5c 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid @@ -1,3 +1,10 @@ +{% doc %} + @param {string} first_name - The first name + @param {string} id - The record ID + @param {string} last_name - The last name + @param {string} user_id - The user ID + @param {string} uuid - The UUID identifier +{% enddoc %} {% liquid if user_id == blank and id == blank and uuid == blank log 'ERROR: missing ID argument in modules/user/queries/profile/find' @@ -8,7 +15,7 @@ assign profile = result.records.results.first if profile - function slug = 'modules/user/helpers/profiles/slugs/build', current_profile: profile + function slug = 'modules/user/helpers/profiles/slugs/build', current_profile: profile, profile: null assign profile.slug = slug endif diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid index 69f73e0..044bc92 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} filters - The filter parameters + @param {string} id - The record ID + @param {string} user_id - The user ID + @param {string} uuid - The UUID identifier +{% enddoc %} {% liquid function profile_module = 'modules/core/queries/variable/get', name: 'PROFILE_MODULE', default: 'modules/user', type: null assign function_name = profile_module | append: '/queries/profiles/find' diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid index ee683d8..8ffac73 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid @@ -1,3 +1,17 @@ +{% doc %} + @param {string} emails - List of email addresses + @param {string} first_name - The first name + @param {string} id - The record ID + @param {string} ids - List of record IDs to include + @param {string} last_name - The last name + @param {number} limit - Maximum number of results + @param {string} not_ids - List of record IDs to exclude + @param {number} page - Page number for pagination + @param {string} query - Search query string + @param {string} sort - Sort order + @param {string} user_id - The user ID + @param {string} uuid - The UUID identifier +{% enddoc %} {% liquid assign page = page | to_positive_integer: 1 if not_ids == blank @@ -9,7 +23,7 @@ assign records = r.records assign profiles = [] for profile in records.results - function slug = 'modules/user/helpers/profiles/slugs/build' , current_profile: profile + function slug = 'modules/user/helpers/profiles/slugs/build' , current_profile: profile, profile: null assign profile.slug = slug assign p = profile diff --git a/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid b/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid index 8eb03dc..586fb1e 100644 --- a/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid +++ b/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid @@ -1,3 +1,18 @@ +{% doc %} + @param {string} emails - List of email addresses + @param {object} filters - The filter parameters + @param {string} first_name - The first name + @param {string} id - The record ID + @param {string} ids - List of record IDs to include + @param {string} last_name - The last name + @param {number} limit - Maximum number of results + @param {string} not_ids - List of record IDs to exclude + @param {number} page - Page number for pagination + @param {string} query - Search query string + @param {string} sort - Sort order + @param {string} user_id - The user ID + @param {string} uuid - The UUID identifier +{% enddoc %} {% liquid function profile_module = 'modules/core/queries/variable/get', name: 'PROFILE_MODULE', default: 'modules/user', type: null assign function_name = profile_module | append: '/queries/profiles/search' diff --git a/pos-module-user/modules/user/public/lib/queries/user/find.liquid b/pos-module-user/modules/user/public/lib/queries/user/find.liquid index f121e76..665863e 100644 --- a/pos-module-user/modules/user/public/lib/queries/user/find.liquid +++ b/pos-module-user/modules/user/public/lib/queries/user/find.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {string} email - The email address + @param {string} id - The record ID + @param {string} with_token - Include temporary token in results +{% enddoc %} {% liquid assign id = id assign email = email diff --git a/pos-module-user/modules/user/public/lib/queries/user/load.liquid b/pos-module-user/modules/user/public/lib/queries/user/load.liquid index efdb00a..8f6e0d0 100644 --- a/pos-module-user/modules/user/public/lib/queries/user/load.liquid +++ b/pos-module-user/modules/user/public/lib/queries/user/load.liquid @@ -1,9 +1,6 @@ -{% comment %} - Loads a user's data. - Params: - - id: string - the user's id -{% endcomment %} +{% doc %} + @param {string} id - The record ID +{% enddoc %} {% liquid graphql g = 'modules/user/user/load', id: id diff --git a/pos-module-user/modules/user/public/lib/queries/user/otp.liquid b/pos-module-user/modules/user/public/lib/queries/user/otp.liquid index f348d58..d3f219d 100644 --- a/pos-module-user/modules/user/public/lib/queries/user/otp.liquid +++ b/pos-module-user/modules/user/public/lib/queries/user/otp.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} email - The email address + @param {string} name +{% enddoc %} {% liquid if email == blank log 'Something went wrong. Email cannot be blank.', type: 'ERROR' diff --git a/pos-module-user/modules/user/public/lib/queries/user/search.liquid b/pos-module-user/modules/user/public/lib/queries/user/search.liquid index 0eda928..7d0e61f 100644 --- a/pos-module-user/modules/user/public/lib/queries/user/search.liquid +++ b/pos-module-user/modules/user/public/lib/queries/user/search.liquid @@ -1,3 +1,11 @@ +{% doc %} + @param {string} email - The email address + @param {string} id - The record ID + @param {number} limit - Maximum number of results + @param {string} not_ids - List of record IDs to exclude + @param {number} page - Page number for pagination + @param {string} sort - Sort order +{% enddoc %} {% liquid assign limit = limit | default: 20 assign page = page | to_positive_integer: 1 diff --git a/pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid b/pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid index 7a9663f..e3cbde9 100644 --- a/pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid @@ -12,12 +12,12 @@ slug: authentication_links break endif - function _ = 'modules/user/helpers/flash', notice: 'modules/user/authentication_links.created' + function _ = 'modules/user/helpers/flash', notice: 'modules/user/authentication_links.created', error: null, force_clear: null, info: null redirect_to '/' else log email.errors, type: 'ERROR: authentication_links/create email' - function _ = 'modules/user/helpers/flash', notice: 'modules/user/authentication_links.something_went_wrong' + function _ = 'modules/user/helpers/flash', notice: 'modules/user/authentication_links.something_went_wrong', error: null, force_clear: null, info: null redirect_to '/' endif elsif object.token == blank @@ -25,7 +25,7 @@ slug: authentication_links log object, type: 'DEBUG: reset-password-user-not-found' endif - function _ = 'modules/user/helpers/flash', notice: 'modules/user/authentication_links.created' + function _ = 'modules/user/helpers/flash', notice: 'modules/user/authentication_links.created', error: null, force_clear: null, info: null redirect_to '/' else render 'modules/user/passwords/reset', context: context, errors: object.errors, values: null diff --git a/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid b/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid index 4eee7ed..6a6a8b3 100644 --- a/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid +++ b/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid @@ -8,7 +8,9 @@ slug: oauth/:provider/callback function current_user = "modules/user/queries/user/current" assign state = context.session.state if context.params.code == blank or context.params.provider == blank or context.params.state != state + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', error: "modules/user/oauth.app.invalid_request", default: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag return endif @@ -17,7 +19,9 @@ slug: oauth/:provider/callback assign selected_provider = available_providers[provider] if selected_provider == blank + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag return endif @@ -26,7 +30,9 @@ slug: oauth/:provider/callback graphql g = "modules/user/oauth/find_by_user_id", provider: provider, user_id: current_user.id if g.records.total_entries > 0 log "Provider already assigned", type: "ERROR" + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.provider_already_assigned", default: null, error: null, format: null, info: null, object: null, url: null + # platformos-check-enable DeprecatedTag return endif endif @@ -36,7 +42,9 @@ slug: oauth/:provider/callback function user_info = command_path, provider: selected_provider, code: context.params.code if user_info.valid == false + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.user_info_error", default: null, error: null, format: null, info: null, object: null, url: null + # platformos-check-enable DeprecatedTag return endif @@ -52,7 +60,9 @@ slug: oauth/:provider/callback if g.records.total_entries > 0 if current_user.id != null log "Sub already assigned", type: "ERROR" + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.sub_already_assigned", default: null, error: null, format: null, info: null, object: null, url: null + # platformos-check-enable DeprecatedTag return else assign found_user_id = g.records.results[0].user_id @@ -65,7 +75,9 @@ slug: oauth/:provider/callback function new_user = "modules/user/commands/oauth/create_user", user_first_name: user_first_name, user_last_name: user_last_name, user_email: user_email if new_user == null or new_user.valid == false log new_user.errors, type: "ERROR" + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.failed_to_create_account", default: null, error: null, format: null, info: null, object: null, url: null + # platformos-check-enable DeprecatedTag return endif assign found_user_id = new_user.id @@ -78,10 +90,14 @@ slug: oauth/:provider/callback # sign in as user if current_user.id == blank - function _ = "modules/user/commands/session/create", user_id: found_user_id, validate_password: false, skip_otp: true, email: null, password: null, hook_params: null + function _ = "modules/user/commands/session/create", validate_password: false, skip_otp: true, email: null, password: null, hook_params: null + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.signed_in", default: null, error: null, format: null, info: null, object: null, url: null + # platformos-check-enable DeprecatedTag else + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', notice: "modules/user/oauth.app.assigned_provider", default: null, error: null, format: null, info: null, object: null, url: null + # platformos-check-enable DeprecatedTag endif # platformos-check-enable ConvertIncludeToRender %} diff --git a/pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid b/pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid index 3ff301b..de60914 100644 --- a/pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid +++ b/pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid @@ -16,6 +16,6 @@ method: delete graphql g = 'modules/user/oauth/delete', id: g.records.results[0].id endif - function _ = 'modules/user/helpers/flash', notice: 'modules/user/oauth.app.unassigned_provider' + function _ = 'modules/user/helpers/flash', notice: 'modules/user/oauth.app.unassigned_provider', error: null, force_clear: null, info: null redirect_to '/' %} diff --git a/pos-module-user/modules/user/public/views/pages/passwords/create.liquid b/pos-module-user/modules/user/public/views/pages/passwords/create.liquid index 58c23b8..ae8a0d2 100644 --- a/pos-module-user/modules/user/public/views/pages/passwords/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/passwords/create.liquid @@ -11,7 +11,7 @@ method: post if object.valid session reset_password_session_user_id = null - function _ = 'modules/user/commands/session/create', user_id: object.id, validate_password: false, email: null, password: null, hook_params: null, skip_otp: null + function _ = 'modules/user/commands/session/create', validate_password: false, email: null, password: null, hook_params: null, skip_otp: null redirect_to redirect_url else render 'modules/user/passwords/new', context: context, errors: object.errors diff --git a/pos-module-user/modules/user/public/views/pages/passwords/new.liquid b/pos-module-user/modules/user/public/views/pages/passwords/new.liquid index 5d0a247..66d8958 100644 --- a/pos-module-user/modules/user/public/views/pages/passwords/new.liquid +++ b/pos-module-user/modules/user/public/views/pages/passwords/new.liquid @@ -5,7 +5,7 @@ if user session reset_password_session_user_id = user.id else - function _ = 'modules/user/helpers/flash', error: 'modules/user/passwords.expired_link' + function _ = 'modules/user/helpers/flash', error: 'modules/user/passwords.expired_link', force_clear: null, info: null, notice: null redirect_to '/sessions/new' break endif diff --git a/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid b/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid index 4eb889a..3ec7f61 100644 --- a/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid @@ -16,7 +16,9 @@ method: post log object, 'ERROR: modules/user/profiles/mark_otp' endif assign notice = 'modules/user/2fa.create.success' | t + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', url: '/', notice: notice, default: null, error: null, format: null, info: null, object: null + # platformos-check-enable DeprecatedTag else function user_otp = 'modules/user/queries/user/otp', email: current_profile.user.email, name: null render 'modules/user/2fa/setup', otp: user_otp.otp, errors: object.errors, object: object diff --git a/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid b/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid index a3cf74b..7552075 100644 --- a/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid +++ b/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid @@ -16,7 +16,9 @@ method: post log object, 'ERROR: modules/user/profiles/mark_otp' endif assign notice = 'modules/user/2fa.delete.success' | t + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', url: '/', notice: notice, default: null, error: null, format: null, info: null, object: null + # platformos-check-enable DeprecatedTag else render 'modules/user/2fa/disable', errors: object.errors endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid b/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid index 824d4d5..fb008a7 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid @@ -4,16 +4,22 @@ method: post {% liquid function current_profile = 'modules/user/helpers/current_profile' if current_profile.user != null + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag endif - include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.create', return_url: '/' + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.create', return_url: '/', access_callback: null, entity: null + # platformos-check-enable DeprecatedTag function object = 'modules/user/commands/user/verify_otp', object: context.params.2fa, email: null if object.valid function res = 'modules/user/commands/session/create', email: object.email, password: object.password, hook_params: context.params, skip_otp: true, validate_password: null if res.valid + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag else render 'modules/user/sessions/new', context: context, errors: res.errors, values: null endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/create.liquid b/pos-module-user/modules/user/public/views/pages/sessions/create.liquid index 174c1a4..5c9ccb9 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/create.liquid @@ -5,12 +5,16 @@ slug: sessions {% liquid function current_profile = 'modules/user/helpers/current_profile' - include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.create', return_url: '/' + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.create', return_url: '/', access_callback: null, entity: null + # platformos-check-enable DeprecatedTag function res = 'modules/user/commands/session/create', email: context.params.email, password: context.params.password, hook_params: context.params, validate_password: true, skip_otp: null if res.valid and res.otp_required render 'modules/user/2fa/verify', object: context.params elsif res.valid + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag else render 'modules/user/sessions/new', context: context, errors: res.errors, values: null endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid b/pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid index 600f433..563bb06 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid @@ -5,7 +5,9 @@ method: delete {% liquid function current_profile = 'modules/user/helpers/current_profile' - include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.destroy', return_url: '/' + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.destroy', return_url: '/', access_callback: null, entity: null + # platformos-check-enable DeprecatedTag function res = 'modules/user/commands/session/destroy' diff --git a/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid b/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid index 43f4389..d50500a 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid @@ -14,13 +14,17 @@ method: post endif # platformos-check-disable UnreachableCode - include 'modules/user/helpers/can_do_or_unauthorized', do: permission, requester: current_profile + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_unauthorized', do: permission, requester: current_profile, access_callback: null, anonymous_return_to: null, entity: null, forbidden_partial: null, redirect_anonymous_to_login: null + # platformos-check-enable DeprecatedTag # platformos-check-enable UnreachableCode function impersonate_user = 'modules/user/commands/session/impersonation/create', current_user_id: context.current_user.id, user: user_to_impersonate if impersonate_user.valid + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag else print "Something went wrong." endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid b/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid index 798a0a5..85bfbb6 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid @@ -10,7 +10,9 @@ method: delete function object = 'modules/user/commands/session/impersonation/destroy', user: admin_user, current_user_id: context.current_user.id if object.valid + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag else print "Something went wrong." endif diff --git a/pos-module-user/modules/user/public/views/pages/sessions/new.liquid b/pos-module-user/modules/user/public/views/pages/sessions/new.liquid index a9fe54f..9b47024 100644 --- a/pos-module-user/modules/user/public/views/pages/sessions/new.liquid +++ b/pos-module-user/modules/user/public/views/pages/sessions/new.liquid @@ -1,7 +1,9 @@ {% liquid function current_profile = 'modules/user/helpers/current_profile' - include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.create', return_url: '/' + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'sessions.create', return_url: '/', access_callback: null, entity: null + # platformos-check-enable DeprecatedTag render 'modules/user/sessions/new', context: context, values: null, errors: null %} diff --git a/pos-module-user/modules/user/public/views/pages/users/create.liquid b/pos-module-user/modules/user/public/views/pages/users/create.liquid index 81cf604..af2022d 100644 --- a/pos-module-user/modules/user/public/views/pages/users/create.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/create.liquid @@ -5,12 +5,16 @@ slug: users {% liquid function current_profile = 'modules/user/helpers/current_profile' - include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'users.register', redirect_url: "/" + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'users.register', access_callback: null, entity: null, return_url: null + # platformos-check-enable DeprecatedTag function object = 'modules/user/commands/user/create', first_name: context.params.first_name, last_name: context.params.last_name, email: context.params.email, password: context.params.password, hook_params: context.params, roles: null if object.valid - function _ = 'modules/user/commands/session/create', user_id: object.id, validate_password: false, email: null, password: null, hook_params: null, skip_otp: null + function _ = 'modules/user/commands/session/create', validate_password: false, email: null, password: null, hook_params: null, skip_otp: null + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag else function registration_fields = 'modules/user/queries/registration_fields/load' diff --git a/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid b/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid index 71afd47..9705fbf 100644 --- a/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid @@ -1,7 +1,9 @@ {% liquid function current_profile = 'modules/user/helpers/current_profile' if current_profile.user == null + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag endif render 'modules/user/users/email/edit', context: context, otp_enabled: current_profile.otp_configured, errors: null diff --git a/pos-module-user/modules/user/public/views/pages/users/email/update.liquid b/pos-module-user/modules/user/public/views/pages/users/email/update.liquid index fbb3fc3..1b4b258 100644 --- a/pos-module-user/modules/user/public/views/pages/users/email/update.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/email/update.liquid @@ -5,7 +5,9 @@ method: put {% liquid function current_profile = 'modules/user/helpers/current_profile' if current_profile.user == null + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', default: null, error: null, format: null, info: null, notice: null, object: null, url: null + # platformos-check-enable DeprecatedTag endif if current_profile.otp_configured @@ -16,8 +18,7 @@ method: put endif endif - function object = 'modules/user/commands/user/email_update', object: context.params.user, current_user: current_profile.user, c: null - + function object = 'modules/user/commands/user/email_update', object: context.params.user, current_user: current_profile.user if object.valid assign current_profile.email = context.params.user.email function _ = 'modules/user/commands/profiles/update', object: current_profile, profile: current_profile @@ -25,7 +26,9 @@ method: put function _event = 'modules/core/commands/events/publish', type: 'email_updated', object: event_payload, delay: null, max_attempts: null assign notice = 'modules/user/users.email.change_success' | t + # platformos-check-disable DeprecatedTag include 'modules/core/helpers/redirect_to', url: '/', notice: notice, default: null, error: null, format: null, info: null, object: null + # platformos-check-enable DeprecatedTag else render 'modules/user/users/email/edit', context: context, otp_enabled: null, errors: null endif diff --git a/pos-module-user/modules/user/public/views/pages/users/new.liquid b/pos-module-user/modules/user/public/views/pages/users/new.liquid index 29a163c..22d0a47 100644 --- a/pos-module-user/modules/user/public/views/pages/users/new.liquid +++ b/pos-module-user/modules/user/public/views/pages/users/new.liquid @@ -1,7 +1,9 @@ {% liquid function current_profile = 'modules/user/helpers/current_profile' - include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'users.register', redirect_url: "/" + # platformos-check-disable DeprecatedTag + include 'modules/user/helpers/can_do_or_redirect', requester: current_profile, do: 'users.register', access_callback: null, entity: null, return_url: null + # platformos-check-enable DeprecatedTag function registration_fields = 'modules/user/queries/registration_fields/load' assign values = {"email": context.params.email} diff --git a/pos-module-user/modules/user/public/views/partials/2fa/disable.liquid b/pos-module-user/modules/user/public/views/partials/2fa/disable.liquid index 19966e8..839b71c 100644 --- a/pos-module-user/modules/user/public/views/partials/2fa/disable.liquid +++ b/pos-module-user/modules/user/public/views/partials/2fa/disable.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} errors - The validation errors object +{% enddoc %}

    {{ 'modules/user/2fa.disable.two_factor_authentication' | t }} diff --git a/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid b/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid index 844f002..20974cc 100644 --- a/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid +++ b/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {object} errors - The validation errors object + @param {object} object - The object to process + @param {object} otp - The OTP configuration object +{% enddoc %}

    {{ 'modules/user/2fa.new.two_factor_authentication' | t }} diff --git a/pos-module-user/modules/user/public/views/partials/2fa/verify.liquid b/pos-module-user/modules/user/public/views/partials/2fa/verify.liquid index 56b3fb2..0a03db8 100644 --- a/pos-module-user/modules/user/public/views/partials/2fa/verify.liquid +++ b/pos-module-user/modules/user/public/views/partials/2fa/verify.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %}

    {{ 'modules/user/2fa.new.two_factor_authentication' | t }} diff --git a/pos-module-user/modules/user/public/views/partials/passwords/new.liquid b/pos-module-user/modules/user/public/views/partials/passwords/new.liquid index 83a267f..b9ccce6 100644 --- a/pos-module-user/modules/user/public/views/partials/passwords/new.liquid +++ b/pos-module-user/modules/user/public/views/partials/passwords/new.liquid @@ -5,6 +5,10 @@ metadata: context: {} errors: {} --- +{% doc %} + @param {object} errors - The validation errors object + @param {object} context - The request context +{% enddoc %} {% liquid assign context = context | default: params.context assign errors = errors | default: params.errors diff --git a/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid b/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid index aa812c5..7a8d35a 100644 --- a/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid +++ b/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid @@ -6,6 +6,11 @@ metadata: errors: [] values: {} --- +{% doc %} + @param {object} errors - The validation errors object + @param {object} values - The form values object + @param {object} context - The request context +{% enddoc %} {% liquid assign context = context | default: params.context assign errors = errors | default: params.errors diff --git a/pos-module-user/modules/user/public/views/partials/sessions/new.liquid b/pos-module-user/modules/user/public/views/partials/sessions/new.liquid index 1d9f327..f74c275 100644 --- a/pos-module-user/modules/user/public/views/partials/sessions/new.liquid +++ b/pos-module-user/modules/user/public/views/partials/sessions/new.liquid @@ -6,6 +6,11 @@ metadata: errors: [] values: {} --- +{% doc %} + @param {object} errors - The validation errors object + @param {object} values - The form values object + @param {object} context - The request context +{% enddoc %} {% liquid assign errors = errors | default: params.errors %} diff --git a/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid b/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid index 83c6a79..6ff810f 100644 --- a/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid +++ b/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid @@ -6,6 +6,11 @@ metadata: errors: {} otp_enabled: null --- +{% doc %} + @param {object} errors - The validation errors object + @param {boolean} otp_enabled - Whether OTP is enabled for the user + @param {object} context - The request context +{% enddoc %} {% liquid assign context = context | default: params.context assign errors = errors | default: params.errors diff --git a/pos-module-user/modules/user/public/views/partials/users/new.liquid b/pos-module-user/modules/user/public/views/partials/users/new.liquid index 018a212..68a2def 100644 --- a/pos-module-user/modules/user/public/views/partials/users/new.liquid +++ b/pos-module-user/modules/user/public/views/partials/users/new.liquid @@ -7,6 +7,12 @@ metadata: errors: [] registration_fields: [] --- +{% doc %} + @param {object} errors - The validation errors object + @param {string} registration_fields - Additional registration form fields + @param {object} values - The form values object + @param {object} context - The request context +{% enddoc %} {% liquid assign values = values | default: params.values From 5566009d28cc127358e64ea832747d9a57109d8c Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Fri, 13 Mar 2026 09:36:51 +0000 Subject: [PATCH 38/44] oauth-github --- .../modules/core/generators/command/index.js | 46 + .../command/templates/graphql/create.graphql | 20 + .../templates/lib/commands/create.liquid | 10 + .../lib/commands/create/build.liquid | 4 + .../lib/commands/create/check.liquid | 12 + .../modules/core/generators/crud/index.js | 116 + .../core/generators/crud/templates/config.yml | 16 + .../crud/templates/graphql/create.graphql | 25 + .../crud/templates/graphql/delete.graphql | 6 + .../crud/templates/graphql/search.graphql | 39 + .../crud/templates/graphql/update.graphql | 27 + .../lib/commands/model/create.liquid | 10 + .../lib/commands/model/create/build.liquid | 16 + .../lib/commands/model/create/check.liquid | 12 + .../lib/commands/model/delete.liquid | 9 + .../lib/commands/model/delete/check.liquid | 10 + .../lib/commands/model/update.liquid | 10 + .../lib/commands/model/update/build.liquid | 16 + .../lib/commands/model/update/check.liquid | 13 + .../templates/lib/queries/model/find.liquid | 9 + .../templates/lib/queries/model/search.liquid | 4 + .../crud/templates/schema/model.yml | 6 + .../crud/templates/translations/model.yml | 15 + .../templates/views/pages/model/create.liquid | 14 + .../templates/views/pages/model/delete.liquid | 16 + .../templates/views/pages/model/edit.liquid | 5 + .../templates/views/pages/model/index.liquid | 5 + .../templates/views/pages/model/new.liquid | 4 + .../templates/views/pages/model/show.liquid | 13 + .../templates/views/pages/model/update.liquid | 14 + .../partials/theme/simple/field_error.liquid | 5 + .../partials/theme/simple/model/edit.liquid | 5 + .../theme/simple/model/empty_state.liquid | 9 + .../partials/theme/simple/model/form.liquid | 27 + .../partials/theme/simple/model/index.liquid | 49 + .../partials/theme/simple/model/new.liquid | 4 + .../partials/theme/simple/model/show.liquid | 15 + .../modules/core/package-lock.json | 3225 +++ .../modules/core/package.json | 32 + .../core/public/api_calls/generic.liquid | 6 + .../api_calls/generic_x_form_encoded.liquid | 10 + .../modules/core/public/emails/.keep | 0 .../modules/core/public/emails/generic.liquid | 13 + .../modules/core/public/graphql/.keep | 0 .../public/graphql/api_calls/send.graphql | 12 + .../core/public/graphql/email/send.graphql | 9 + .../public/graphql/events/consumers.graphql | 15 + .../core/public/graphql/events/create.graphql | 7 + .../graphql/events/events_checks.graphql | 11 + .../core/public/graphql/events/search.graphql | 14 + .../core/public/graphql/hook/search.graphql | 7 + .../core/public/graphql/records/count.graphql | 26 + .../public/graphql/session/delete.graphql | 5 + .../core/public/graphql/session/set.graphql | 6 + .../public/graphql/statuses/create.graphql | 34 + .../public/graphql/statuses/delete.graphql | 5 + .../public/graphql/statuses/search.graphql | 45 + .../core/public/graphql/variable/set.graphql | 6 + .../modules/core/public/lib/commands/.keep | 0 .../public/lib/commands/email/send.liquid | 21 + .../lib/commands/email/send/build.liquid | 13 + .../lib/commands/email/send/check.liquid | 16 + .../lib/commands/events/broadcast.liquid | 29 + .../public/lib/commands/events/create.liquid | 23 + .../lib/commands/events/create/build.liquid | 12 + .../lib/commands/events/create/check.liquid | 36 + .../lib/commands/events/create/execute.liquid | 11 + .../public/lib/commands/events/publish.liquid | 27 + .../core/public/lib/commands/execute.liquid | 17 + .../public/lib/commands/hook/alter.liquid | 18 + .../core/public/lib/commands/hook/fire.liquid | 38 + .../public/lib/commands/session/clear.liquid | 10 + .../public/lib/commands/session/get.liquid | 15 + .../public/lib/commands/session/set.liquid | 9 + .../lib/commands/statuses/create.liquid | 25 + .../lib/commands/statuses/create/build.liquid | 22 + .../lib/commands/statuses/create/check.liquid | 16 + .../lib/commands/statuses/delete.liquid | 13 + .../lib/commands/statuses/delete/build.liquid | 7 + .../lib/commands/statuses/delete/check.liquid | 13 + .../public/lib/commands/variable/set.liquid | 8 + .../public/lib/events/status_created.liquid | 21 + .../lib/helpers/authenticity_token.liquid | 9 + .../public/lib/helpers/flash/publish.liquid | 35 + .../lib/helpers/hash_to_x_form_encoded.liquid | 18 + .../core/public/lib/helpers/log_time.liquid | 16 + .../public/lib/helpers/redirect_to.liquid | 50 + .../public/lib/helpers/register_error.liquid | 26 + .../lib/helpers/timezone/get_all.liquid | 18 + .../lib/helpers/timezone/get_by_name.liquid | 9 + .../lib/helpers/timezone/get_by_offset.liquid | 9 + .../modules/core/public/lib/hooks/.keep | 0 .../modules/core/public/lib/queries/.keep | 0 .../public/lib/queries/constants/find.liquid | 38 + .../public/lib/queries/events/find.liquid | 12 + .../public/lib/queries/events/search.liquid | 15 + .../public/lib/queries/headscripts/get.liquid | 5 + .../lib/queries/headscripts/search.liquid | 5 + .../public/lib/queries/hook/search.liquid | 7 + .../public/lib/queries/module/exists.liquid | 14 + .../public/lib/queries/registry/get.liquid | 8 + .../public/lib/queries/registry/search.liquid | 26 + .../public/lib/queries/statuses/find.liquid | 12 + .../public/lib/queries/statuses/search.liquid | 18 + .../public/lib/queries/variable/find.liquid | 28 + .../public/lib/queries/variable/get.liquid | 10 + .../core/public/lib/validations/date.liquid | 78 + .../validations/each_element_length.liquid | 35 + .../lib/validations/elements_included.liquid | 19 + .../core/public/lib/validations/email.liquid | 14 + .../core/public/lib/validations/equal.liquid | 23 + .../public/lib/validations/exist_in_db.liquid | 31 + .../public/lib/validations/hcaptcha.liquid | 13 + .../public/lib/validations/included.liquid | 17 + .../core/public/lib/validations/is_url.liquid | 16 + .../core/public/lib/validations/length.liquid | 44 + .../public/lib/validations/matches.liquid | 20 + .../public/lib/validations/not_null.liquid | 13 + .../core/public/lib/validations/number.liquid | 69 + .../validations/password_complexity.liquid | 36 + .../public/lib/validations/presence.liquid | 13 + .../core/public/lib/validations/truthy.liquid | 13 + .../lib/validations/unique_elements.liquid | 17 + .../public/lib/validations/uniqueness.liquid | 37 + .../lib/validations/valid_object.liquid | 20 + .../modules/core/public/schema/status.yml | 14 + .../core/public/translations/en/common.yml | 4 + .../public/translations/en/validation.yml | 50 + .../core/public/views/layouts/basic.liquid | 154 + .../public/views/layouts/mailer.html.liquid | 46 + .../public/views/pages/_events/index.liquid | 11 + .../public/views/pages/_events/trigger.liquid | 20 + .../core/public/views/partials/.gitkeep | 0 .../views/partials/events/event_card.liquid | 56 + .../public/views/partials/events/list.liquid | 13 + .../public/views/partials/events/show.liquid | 6 + .../public/views/partials/lib/commands/.keep | 0 .../partials/lib/commands/email/send.liquid | 22 + .../lib/commands/email/send/build.liquid | 13 + .../lib/commands/email/send/check.liquid | 16 + .../partials/lib/commands/hook/alter.liquid | 19 + .../partials/lib/commands/hook/fire.liquid | 38 + .../partials/lib/commands/variable/set.liquid | 9 + .../lib/helpers/register_error.liquid | 26 + .../public/views/partials/lib/hooks/.keep | 0 .../public/views/partials/lib/queries/.keep | 0 .../lib/queries/headscripts/get.liquid | 6 + .../lib/queries/headscripts/search.liquid | 9 + .../partials/lib/queries/hook/search.liquid | 8 + .../partials/lib/queries/module/exists.liquid | 14 + .../partials/lib/queries/registry/get.liquid | 8 + .../lib/queries/registry/search.liquid | 26 + .../partials/lib/queries/variable/find.liquid | 28 + .../partials/lib/queries/variable/get.liquid | 10 + .../partials/lib/validations/date.liquid | 79 + .../validations/each_element_length.liquid | 35 + .../lib/validations/elements_included.liquid | 20 + .../partials/lib/validations/email.liquid | 15 + .../partials/lib/validations/equal.liquid | 24 + .../lib/validations/exist_in_db.liquid | 32 + .../partials/lib/validations/hcaptcha.liquid | 14 + .../partials/lib/validations/included.liquid | 18 + .../partials/lib/validations/length.liquid | 49 + .../partials/lib/validations/matches.liquid | 21 + .../partials/lib/validations/not_null.liquid | 14 + .../partials/lib/validations/number.liquid | 70 + .../validations/password_complexity.liquid | 31 + .../partials/lib/validations/presence.liquid | 14 + .../partials/lib/validations/truthy.liquid | 14 + .../lib/validations/unique_elements.liquid | 17 + .../lib/validations/uniqueness.liquid | 38 + .../lib/validations/valid_object.liquid | 21 + .../modules/core/template-values.json | 7 + .../lib/commands/get_token/check.liquid | 11 +- .../lib/commands/get_user_email/check.liquid | 7 +- .../lib/commands/get_user_info/check.liquid | 7 +- .../lib/helpers/get_redirect_url.liquid | 6 +- .../public/lib/helpers/get_user_info.liquid | 3 + pos-module-user/a.txt | 20958 ++++++++++++++++ 179 files changed, 27602 insertions(+), 9 deletions(-) create mode 100644 pos-module-oauth-github/modules/core/generators/command/index.js create mode 100644 pos-module-oauth-github/modules/core/generators/command/templates/graphql/create.graphql create mode 100644 pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create/build.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create/check.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/index.js create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/config.yml create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/graphql/create.graphql create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/graphql/delete.graphql create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/graphql/search.graphql create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/graphql/update.graphql create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/delete.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/queries/model/find.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/lib/queries/model/search.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/schema/model.yml create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/translations/model.yml create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/create.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/delete.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/edit.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/index.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/new.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/show.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/update.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid create mode 100644 pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid create mode 100644 pos-module-oauth-github/modules/core/package-lock.json create mode 100644 pos-module-oauth-github/modules/core/package.json create mode 100644 pos-module-oauth-github/modules/core/public/api_calls/generic.liquid create mode 100644 pos-module-oauth-github/modules/core/public/api_calls/generic_x_form_encoded.liquid create mode 100644 pos-module-oauth-github/modules/core/public/emails/.keep create mode 100644 pos-module-oauth-github/modules/core/public/emails/generic.liquid create mode 100644 pos-module-oauth-github/modules/core/public/graphql/.keep create mode 100644 pos-module-oauth-github/modules/core/public/graphql/api_calls/send.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/email/send.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/events/consumers.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/events/create.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/events/events_checks.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/events/search.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/hook/search.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/records/count.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/session/delete.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/session/set.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/statuses/create.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/statuses/delete.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/statuses/search.graphql create mode 100644 pos-module-oauth-github/modules/core/public/graphql/variable/set.graphql create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/.keep create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/email/send.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/email/send/build.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/email/send/check.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/events/broadcast.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/events/create.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/events/create/build.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/events/create/check.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/events/create/execute.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/events/publish.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/execute.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/hook/alter.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/hook/fire.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/session/clear.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/session/get.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/session/set.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/statuses/create.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/statuses/create/build.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/statuses/create/check.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete/build.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete/check.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/commands/variable/set.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/events/status_created.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/authenticity_token.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/flash/publish.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/log_time.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/redirect_to.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/register_error.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_all.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_by_name.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_by_offset.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/hooks/.keep create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/.keep create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/constants/find.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/events/find.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/events/search.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/headscripts/get.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/headscripts/search.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/hook/search.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/module/exists.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/registry/get.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/registry/search.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/statuses/find.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/statuses/search.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/variable/find.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/queries/variable/get.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/date.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/each_element_length.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/elements_included.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/email.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/equal.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/exist_in_db.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/hcaptcha.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/included.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/is_url.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/length.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/matches.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/not_null.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/number.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/password_complexity.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/presence.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/truthy.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/unique_elements.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/uniqueness.liquid create mode 100644 pos-module-oauth-github/modules/core/public/lib/validations/valid_object.liquid create mode 100644 pos-module-oauth-github/modules/core/public/schema/status.yml create mode 100644 pos-module-oauth-github/modules/core/public/translations/en/common.yml create mode 100644 pos-module-oauth-github/modules/core/public/translations/en/validation.yml create mode 100644 pos-module-oauth-github/modules/core/public/views/layouts/basic.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/layouts/mailer.html.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/pages/_events/index.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/pages/_events/trigger.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/.gitkeep create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/events/event_card.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/events/list.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/events/show.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/commands/.keep create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send/build.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send/check.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/commands/hook/alter.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/commands/hook/fire.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/commands/variable/set.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/helpers/register_error.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/hooks/.keep create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/.keep create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/headscripts/get.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/headscripts/search.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/hook/search.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/module/exists.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/registry/get.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/registry/search.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/variable/find.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/queries/variable/get.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/date.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/each_element_length.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/elements_included.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/email.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/equal.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/exist_in_db.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/hcaptcha.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/included.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/length.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/matches.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/not_null.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/number.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/password_complexity.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/presence.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/truthy.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/unique_elements.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/uniqueness.liquid create mode 100644 pos-module-oauth-github/modules/core/public/views/partials/lib/validations/valid_object.liquid create mode 100644 pos-module-oauth-github/modules/core/template-values.json create mode 100644 pos-module-user/a.txt diff --git a/pos-module-oauth-github/modules/core/generators/command/index.js b/pos-module-oauth-github/modules/core/generators/command/index.js new file mode 100644 index 0000000..29fb67e --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/command/index.js @@ -0,0 +1,46 @@ +import Generator from 'yeoman-generator'; +import path from 'path'; +import pluralize from 'pluralize'; +import fs from 'fs'; + +export default class extends Generator { + constructor(args, opts) { + super(args, opts); + + this.description = 'Generate basic command files with build and check phase'; + this.argument('commandName', { type: String, required: true, description: 'name of the command' }); + this.props = { + commandName: this.options.commandName, + actionName: this.options.commandName.split('/').pop(), + modelName: this.options.commandName.split('/')[0] + }; + } + + writing() { + try{ + this.fs.copyTpl( + this.templatePath('./lib/commands/create.liquid'), + this.destinationPath(`app/lib/commands/${this.props.commandName}.liquid`), + this.props + ) + + this.fs.copyTpl( + this.templatePath('./lib/commands/create/'), + this.destinationPath(`app/lib/commands/${this.props.commandName}/`), + this.props + ) + + this.fs.copyTpl( + this.templatePath('./graphql/create.graphql'), + this.destinationPath(`app/graphql/${this.props.commandName}.graphql`), + this.props + ) + } catch (e) { + console.error(e); + } + } + + end() { + console.log('Command generated'); + } +}; diff --git a/pos-module-oauth-github/modules/core/generators/command/templates/graphql/create.graphql b/pos-module-oauth-github/modules/core/generators/command/templates/graphql/create.graphql new file mode 100644 index 0000000..0ffb1e5 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/command/templates/graphql/create.graphql @@ -0,0 +1,20 @@ +mutation <%= actionName %>( + # some arguments + # $foo: String! +) { + record: record_create( + record: { + table: "<%= modelName %>" + properties: [ + # { name: "foo" property: $foo } + ] + } + ){ + id + created_at + deleted_at + type: table + + # foo: (name: "foo") + } +} diff --git a/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create.liquid b/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create.liquid new file mode 100644 index 0000000..6d7102e --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= commandName %>/build', object: object + function object = 'commands/<%= commandName %>/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= commandName %>' object: object + endif + + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create/build.liquid b/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create/build.liquid new file mode 100644 index 0000000..1fc2591 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create/build.liquid @@ -0,0 +1,4 @@ +{% liquid + assign data = {"id": object.id, "name": object.name} + return data +%} diff --git a/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create/check.liquid b/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create/check.liquid new file mode 100644 index 0000000..2c53a6c --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/command/templates/lib/commands/create/check.liquid @@ -0,0 +1,12 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' + + assign object.valid = c.valid + + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/index.js b/pos-module-oauth-github/modules/core/generators/crud/index.js new file mode 100644 index 0000000..dd839bc --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/index.js @@ -0,0 +1,116 @@ +import Generator from 'yeoman-generator'; +import pluralize from 'pluralize'; +import startCase from 'lodash.startcase'; + +export default class extends Generator { + constructor(args, opts) { + super(args, opts); + + this.description = 'Generate table definition and commands for CRUD with graphql files'; + this.argument('modelName', { type: String, required: true, description: 'name of the table' }); + this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: "[]" }); + this.option('include-views', { type: Boolean, default: false, description: 'generate pages and partials', hide: 'no' }); + + const attributes = this.options.attributes.map((attr) => { + const values = attr.split(':'); + return { + name: values[0], + nameHuman: startCase(values[0]), + type: values[1] + }; + }); + this.props = { + modelName: this.options.modelName, + modelNamePlural: pluralize(this.options.modelName), + attributes: attributes, + graphqlArgumentMap: { + string: "String", + text: "String", + integer: "Int", + boolean: "Boolean", + float: "Float", + date: "String", + datetime: "String", + array: "[String]" + }, + graphqlArgumentValueMap: { + string: "value", + text: "value", + integer: "value_int", + boolean: "value_boolean", + float: "value_float", + date: "value", + datetime: "value", + array: "value_array" + }, + graphqlPropertyMap: { + string: "property", + text: "property", + integer: "property_int", + boolean: "property_boolean", + float: "property_float", + date: "property", + datetime: "property", + array: "property_array" + } + }; + } + + writing() { + try{ + this.fs.copyTpl( + this.templatePath('./translations/model.yml'), + this.destinationPath(`app/translations/en/${this.props.modelNamePlural}.yml`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./schema/model.yml'), + this.destinationPath(`app/schema/${this.props.modelName}.yml`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./graphql/*.graphql'), + this.destinationPath(`app/graphql/${this.props.modelNamePlural}/`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./lib/queries/model'), + this.destinationPath(`app/lib/queries/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./lib/commands/model'), + this.destinationPath(`app/lib/commands/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./config.yml'), + this.destinationPath(`app/config.yml`), + this.props + ) + if(this.options['include-views']){ + this.fs.copyTpl( + this.templatePath('./views/pages/model'), + this.destinationPath(`app/views/pages/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./views/partials/theme/simple/model'), + this.destinationPath(`app/views/partials/theme/simple/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./views/partials/theme/simple/field_error.liquid'), + this.destinationPath(`app/views/partials/theme/simple/field_error.liquid`), + this.props + ) + } + } catch (e) { + console.error(e); + } + } + + end() { + console.log('CRUD generated'); + } +}; diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/config.yml b/pos-module-oauth-github/modules/core/generators/crud/templates/config.yml new file mode 100644 index 0000000..45cd4ce --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/config.yml @@ -0,0 +1,16 @@ +--- +escape_output_instead_of_sanitize: true +graphql_argument_type_mismatch_mode: 'error' +liquid_add_old_variables: false +liquid_check_mode: 'error' +liquid_raise_mode: true +require_table_for_record_delete_mutation: true +safe_translate: true +skip_elasticsearch: false +slug_exact_match: true +websockets_require_csrf_token: true +maintenance: + enabled: false + password_constant: 'MAINTENANCE_PASSWORD' + partial: 'maintenance' +--- diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/create.graphql b/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/create.graphql new file mode 100644 index 0000000..67905af --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/create.graphql @@ -0,0 +1,25 @@ +mutation create_<%= modelName %>( +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: <%= graphqlArgumentMap[attr.type] %>! +<% }); -%> +) { + record: record_create( + record: { + table: "<%= modelName %>" + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" <%= graphqlArgumentValueMap[attr.type] %>: $<%= attr.name %> } + <% }); -%> + ] + } + ){ + id + created_at + deleted_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } +} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/delete.graphql b/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/delete.graphql new file mode 100644 index 0000000..c77948f --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/delete.graphql @@ -0,0 +1,6 @@ +mutation delete($id: ID!) { + record: record_delete( + table: "<%= modelName %>" + id: $id + ){ id } +} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/search.graphql b/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/search.graphql new file mode 100644 index 0000000..a22b2fd --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/search.graphql @@ -0,0 +1,39 @@ +query search( + $id: ID + $limit: Int = 20 + $page: Int = 1 +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: String +<% }); -%> +) { + <%= modelNamePlural %>: records( + per_page: $limit + page: $page + filter: { + id: { value: $id } + table: { value: "<%= modelName %>" } + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" value: $<%= attr.name %> } + <% }); -%> + ] + } + sort: [ + { created_at: { order: DESC }} + ] + ){ + total_entries + total_pages + has_previous_page + has_next_page + results { + id + created_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } + } +} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/update.graphql b/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/update.graphql new file mode 100644 index 0000000..73e4556 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/graphql/update.graphql @@ -0,0 +1,27 @@ +mutation update_<%= modelName %>( + $id: ID! +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: <%= graphqlArgumentMap[attr.type] %> +<% }); -%> +) { + record: record_update( + id: $id + record: { + table: "<%= modelName %>" + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" <%= graphqlArgumentValueMap[attr.type] %>: $<%= attr.name %> } + <% }); -%> + ] + } + ){ + id + created_at + updated_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } +} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create.liquid new file mode 100644 index 0000000..26b0a03 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/create/build', object: object + function object = 'commands/<%= modelNamePlural %>/create/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/create' object: object + endif + + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid new file mode 100644 index 0000000..94a17bf --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid @@ -0,0 +1,16 @@ +{% parse_json object %} + { + "id": {{ object.id | json }}, +<% attributes.forEach((attr, i) => { -%> + <% if (attr.type == 'integer' || attr.type == 'float') { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | plus: 0 | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <%} else { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <% } %> +<% }); -%> + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid new file mode 100644 index 0000000..caf4d8d --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid @@ -0,0 +1,12 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + +<% attributes.forEach((attr, i) => { -%> + function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' +<% }); -%> + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/delete.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/delete.liquid new file mode 100644 index 0000000..1ce0a60 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/delete.liquid @@ -0,0 +1,9 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/delete/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/delete', object: object + endif + + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid new file mode 100644 index 0000000..4fada40 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid @@ -0,0 +1,10 @@ +{% liquid + assign c = { "valid": true, "errors": {} } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update.liquid new file mode 100644 index 0000000..29a229c --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/update/build', object: object + function object = 'commands/<%= modelNamePlural %>/update/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/update' object: object + endif + + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid new file mode 100644 index 0000000..94a17bf --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid @@ -0,0 +1,16 @@ +{% parse_json object %} + { + "id": {{ object.id | json }}, +<% attributes.forEach((attr, i) => { -%> + <% if (attr.type == 'integer' || attr.type == 'float') { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | plus: 0 | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <%} else { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <% } %> +<% }); -%> + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid new file mode 100644 index 0000000..cffe564 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid @@ -0,0 +1,13 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' +<% attributes.forEach((attr, i) => { -%> + function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' +<% }); -%> + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/queries/model/find.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/queries/model/find.liquid new file mode 100644 index 0000000..7f84e12 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/queries/model/find.liquid @@ -0,0 +1,9 @@ +{% liquid + if id == blank + return null + endif + + graphql r = '<%= modelNamePlural %>/search', id: id, limit: 1 + + return r.<%= modelNamePlural %>.results.first +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/lib/queries/model/search.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/queries/model/search.liquid new file mode 100644 index 0000000..369ec37 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/lib/queries/model/search.liquid @@ -0,0 +1,4 @@ +{% liquid + graphql r = '<%= modelNamePlural %>/search', limit: limit, page: 1 + return r.<%= modelNamePlural %> +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/schema/model.yml b/pos-module-oauth-github/modules/core/generators/crud/templates/schema/model.yml new file mode 100644 index 0000000..380c67b --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/schema/model.yml @@ -0,0 +1,6 @@ +name: <%= modelName %> +properties: +<% attributes.forEach((attr) => { -%> + - name: <%= attr.name %> + type: <%= attr.type %> +<% }); -%> diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/translations/model.yml b/pos-module-oauth-github/modules/core/generators/crud/templates/translations/model.yml new file mode 100644 index 0000000..879b076 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/translations/model.yml @@ -0,0 +1,15 @@ +en: + app: + <%= modelNamePlural %>: + new: + new: New <%= modelName %> + edit: + edit: Edit <%= modelName %> + list: + add: Add <%= modelName %> + empty_state: You haven't added any <%= modelNamePlural %> yet.
    Create your first one now! + edit: Edit + attr: + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= attr.nameHuman %> + <% }); -%> diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/create.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/create.liquid new file mode 100644 index 0000000..cf27c95 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/create.liquid @@ -0,0 +1,14 @@ +--- +slug: <%= modelNamePlural %> +method: post +--- +{% liquid + function object = 'commands/<%= modelNamePlural %>/create', object: context.params.<%= modelName %> + if object.valid + # platformos-check-disable ConvertIncludeToRender + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>' + # platformos-check-enable ConvertIncludeToRender + else + render 'theme/simple/<%= modelNamePlural %>/new', object: object + endif +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/delete.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/delete.liquid new file mode 100644 index 0000000..bb26a02 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/delete.liquid @@ -0,0 +1,16 @@ +--- +slug: <%= modelNamePlural %> +method: delete +--- +{% liquid + function object = 'queries/<%= modelNamePlural %>/find', id: context.params.id + function object = 'commands/<%= modelNamePlural %>/delete', object: object + + # platformos-check-disable ConvertIncludeToRender + if object.valid + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>', notice: 'modules/core/common.deleted' + else + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>', error: 'modules/core/common.delete_failed' + endif + # platformos-check-enable ConvertIncludeToRender +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/edit.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/edit.liquid new file mode 100644 index 0000000..b098d38 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/edit.liquid @@ -0,0 +1,5 @@ +{% liquid + function object = 'queries/<%= modelNamePlural %>/find', id: context.params.id + + render 'theme/simple/<%= modelNamePlural %>/edit', object: object +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/index.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/index.liquid new file mode 100644 index 0000000..75290a7 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/index.liquid @@ -0,0 +1,5 @@ +{% liquid + function <%= modelNamePlural %> = 'queries/<%= modelNamePlural %>/search', limit: 100 + + render 'theme/simple/<%= modelNamePlural %>/index', <%= modelNamePlural %>: <%= modelNamePlural %> +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/new.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/new.liquid new file mode 100644 index 0000000..43c1b24 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/new.liquid @@ -0,0 +1,4 @@ +{% liquid + assign object = {} + render 'theme/simple/<%= modelNamePlural %>/new', object: object + %} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/show.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/show.liquid new file mode 100644 index 0000000..c9672cc --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/show.liquid @@ -0,0 +1,13 @@ +--- +slug: <%= modelNamePlural %>/:id +--- +{% liquid + + assign <%= modelName %>_id = context.params.id | split: '-' | last + function <%= modelName %> = 'queries/<%= modelNamePlural %>/find', id: <%= modelName %>_id + if <%= modelName %>.id + render 'theme/simple/<%= modelNamePlural %>/show', <%= modelName %>: <%= modelName %> + else + response_status 404 + endif +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/update.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/update.liquid new file mode 100644 index 0000000..06644bd --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/pages/model/update.liquid @@ -0,0 +1,14 @@ +--- +slug: <%= modelNamePlural %> +method: put +--- +{% liquid + function object = 'commands/<%= modelNamePlural %>/update', object: context.params.<%= modelName %> + if object.valid + # platformos-check-disable ConvertIncludeToRender + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>' + # platformos-check-enable ConvertIncludeToRender + else + render 'theme/simple/<%= modelNamePlural %>/edit', object: object + endif +%} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid new file mode 100644 index 0000000..16d306b --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid @@ -0,0 +1,5 @@ +{% if errors %} + + {{ errors | join: ', ' }} + +{% endif %} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid new file mode 100644 index 0000000..6bd91f2 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid @@ -0,0 +1,5 @@ +
    +

    {{ 'app.<%= modelNamePlural %>.edit.edit' | t }} {{ object.name }}

    +
    + +{% render 'theme/simple/<%= modelNamePlural %>/form', object: object %} diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid new file mode 100644 index 0000000..5abe317 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid @@ -0,0 +1,9 @@ +
    +

    + {{ 'app.<%= modelNamePlural %>.list.empty_state' | t }} +

    + + + {{ 'app.<%= modelNamePlural %>.list.add' | t }} + +
    diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid new file mode 100644 index 0000000..e12d1ee --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid @@ -0,0 +1,27 @@ +{% liquid + if object.id + assign method = 'put' + else + assign method = 'post' + endif +%} +
    +
    + + + + {% if object.id %} + + {% endif %} + +<% attributes.forEach((attr) => { -%> +
    + + + {% render 'theme/simple/field_error', errors: object.errors.<%= attr.name %> %} +
    +<% }); -%> + + + +
    diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid new file mode 100644 index 0000000..352f7a0 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid @@ -0,0 +1,49 @@ +
    + +
    + {% if <%= modelNamePlural %>.results.size > 0 %} +

    + + +<% attributes.forEach((attr) => { -%> + +<% }); -%> + + + + {% for <%= modelName %> in <%= modelNamePlural %>.results %} + +<% attributes.forEach((attr) => { -%> + +<% }); -%> + + + {% endfor %} + +
    + {{ "app.<%= modelNamePlural %>.attr.<%= attr.name %>" | t }} +
    + + {{ <%= modelName %>.<%= attr.name %> }} + + + + {{ 'app.<%= modelNamePlural %>.list.edit' | t }} + +
    + + + + + +
    +
    + {% else %} + {% render 'theme/simple/<%= modelNamePlural %>/empty_state' %} + {% endif %} +
    +
    diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid new file mode 100644 index 0000000..e15a8d4 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid @@ -0,0 +1,4 @@ +
    +

    {{ 'app.<%= modelNamePlural %>.new.new' | t }}

    + {% render 'theme/simple/<%= modelNamePlural %>/form', object: object %} +
    diff --git a/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid new file mode 100644 index 0000000..483dd89 --- /dev/null +++ b/pos-module-oauth-github/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid @@ -0,0 +1,15 @@ +
    +

    + <%= modelName %> - {{ <%= modelName %>.id }} +

    + + <% attributes.forEach((attr) => { -%> + + {{ 'app.<%= modelNamePlural %>.attr.<%= attr.name %>' | t }} + +

    + {{ <%= modelName %>.<%= attr.name %> }} +

    + + <% }); -%> +
    diff --git a/pos-module-oauth-github/modules/core/package-lock.json b/pos-module-oauth-github/modules/core/package-lock.json new file mode 100644 index 0000000..655962c --- /dev/null +++ b/pos-module-oauth-github/modules/core/package-lock.json @@ -0,0 +1,3225 @@ +{ + "name": "pos-module-core", + "version": "1.2.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "pos-module-core", + "version": "1.2.1", + "license": "MIT", + "devDependencies": { + "auto-changelog": "^2.4.0", + "lodash.startcase": "^4.4.0", + "pluralize": "^8.0.0" + }, + "peerDependencies": { + "yeoman-generator": "^7.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", + "license": "MIT", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "license": "MIT", + "dependencies": { + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.10.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.10.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, + "node_modules/@octokit/request": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", + "license": "MIT", + "dependencies": { + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", + "license": "MIT" + }, + "node_modules/@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "license": "MIT" + }, + "node_modules/@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "license": "MIT", + "dependencies": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "node_modules/@yeoman/namespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.1.tgz", + "integrity": "sha512-XGdYL0HCoPvrzW7T8bxD6RbCY/B8uvR2jpOzJc/yEwTueKHwoVhjSLjVXkokQAO0LNl8nQFLVZ1aKfr2eFWZeA==", + "license": "MIT", + "engines": { + "node": "^16.13.0 || >=18.12.0" + } + }, + "node_modules/@yeoman/types": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.9.1.tgz", + "integrity": "sha512-5BMdA/zMzLv/ahnL1ktaV46nSXorb4sU4kQPQKDhIcK8ERbx9TAbGAE+XAlCXKioNIiOrihYj6gW1d/GEfU9Zw==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^16.13.0 || >=18.12.0" + }, + "peerDependencies": { + "@types/node": ">=16.18.26", + "@yeoman/adapter": "^1.6.0 || ^2.0.0-beta.0 || ^3.0.0 || ^4.0.0", + "mem-fs": "^3.0.0 || ^4.0.0-beta.1", + "mem-fs-editor": "^10.0.2 || >=10.0.2" + }, + "peerDependenciesMeta": { + "@yeoman/adapter": { + "optional": true + }, + "mem-fs": { + "optional": true + }, + "mem-fs-editor": { + "optional": true + } + } + }, + "node_modules/array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/auto-changelog": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz", + "integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==", + "dev": true, + "dependencies": { + "commander": "^7.2.0", + "handlebars": "^4.7.7", + "node-fetch": "^2.6.1", + "parse-github-url": "^1.0.2", + "semver": "^7.3.5" + }, + "bin": { + "auto-changelog": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "license": "Apache-2.0" + }, + "node_modules/binaryextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "license": "Artistic-2.0", + "dependencies": { + "version-range": "^4.15.0" + }, + "engines": { + "ecmascript": ">= es5", + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-username": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-9.0.0.tgz", + "integrity": "sha512-lY7+mymwQUEhRwWTLxieKkxcZkVNnUh8iAGnl30DMB1ZtYODHkMAckZk8Jx5dLQs1YKPYM2ibnzQu02aCLFcYQ==", + "license": "MIT", + "dependencies": { + "@octokit/rest": "^21.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "license": "MIT" + }, + "node_modules/isbinaryfile": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.3.tgz", + "integrity": "sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==", + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/ky": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", + "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/ky?sponsor=1" + } + }, + "node_modules/latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", + "license": "MIT", + "dependencies": { + "package-json": "^10.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/mem-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.3.tgz", + "integrity": "sha512-+2zSUVKcDWgcF90mPPwyH4J814uRI1PJcVt2RZ4/E8VggPEiIEL7ikMTlPR91P2ZySkyPgD0YGrccwo55SZvnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/mem-fs-editor": { + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.1.4.tgz", + "integrity": "sha512-Z4QX14Ev6eOVTuVSayS5rdiOua6C3gHcFw+n9Qc7WiaVTbC+H8b99c32MYGmbQN9UFHJeI/p3lf3LAxiIzwEmA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/ejs": "^3.1.4", + "@types/node": ">=18", + "binaryextensions": "^6.11.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.10", + "globby": "^14.0.2", + "isbinaryfile": "5.0.3", + "minimatch": "^9.0.3", + "multimatch": "^7.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^6.11.0", + "vinyl": "^3.0.0" + }, + "acceptDependencies": { + "isbinaryfile": "^5.0.3" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "mem-fs": "^4.0.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multimatch": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-7.0.0.tgz", + "integrity": "sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==", + "license": "MIT", + "dependencies": { + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^9.0.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", + "license": "MIT", + "dependencies": { + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "dev": true, + "bin": { + "parse-github-url": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "license": "MIT", + "dependencies": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/registry-auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^3.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC" + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-git": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", + "license": "MIT", + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sort-keys": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "license": "CC0-1.0" + }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "license": "MIT", + "dependencies": { + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/textextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==", + "license": "Artistic-2.0", + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "license": "MIT", + "dependencies": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/vinyl-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", + "license": "MIT", + "dependencies": { + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/yeoman-generator": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.5.1.tgz", + "integrity": "sha512-MYncRvzSTd71BMwiUMAVhfX00sDD8DZDrmPzRxQkWuWQ0V1Qt4Rd0gS/Nee2QDTWvRjvCa+KBfiAVrtOySq+JA==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@types/lodash-es": "^4.17.9", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", + "debug": "^4.1.1", + "execa": "^8.0.1", + "github-username": "^9.0.0", + "json-schema": "^0.4.0", + "latest-version": "^9.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.1", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", + "text-table": "^0.2.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "peerDependencies": { + "@types/node": ">=18.18.5", + "@yeoman/types": "^1.1.1", + "mem-fs": "^4.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "requires": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" + }, + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "requires": { + "debug": "^4.1.1" + } + }, + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@octokit/auth-token": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==" + }, + "@octokit/core": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", + "peer": true, + "requires": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + } + }, + "@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "requires": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + } + }, + "@octokit/graphql": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "requires": { + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" + } + }, + "@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==" + }, + "@octokit/plugin-paginate-rest": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", + "requires": { + "@octokit/types": "^13.10.0" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" + }, + "@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "requires": { + "@octokit/openapi-types": "^24.2.0" + } + } + } + }, + "@octokit/plugin-request-log": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", + "requires": {} + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==", + "requires": { + "@octokit/types": "^13.10.0" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" + }, + "@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "requires": { + "@octokit/openapi-types": "^24.2.0" + } + } + } + }, + "@octokit/request": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", + "requires": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + } + }, + "@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "requires": { + "@octokit/types": "^14.0.0" + } + }, + "@octokit/rest": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", + "requires": { + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" + } + }, + "@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "requires": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==" + }, + "@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "requires": { + "graceful-fs": "4.2.10" + } + }, + "@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "requires": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + } + }, + "@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==" + }, + "@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==" + }, + "@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" + }, + "@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "peer": true, + "requires": { + "undici-types": "~7.16.0" + } + }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" + }, + "@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "requires": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "@yeoman/namespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.1.tgz", + "integrity": "sha512-XGdYL0HCoPvrzW7T8bxD6RbCY/B8uvR2jpOzJc/yEwTueKHwoVhjSLjVXkokQAO0LNl8nQFLVZ1aKfr2eFWZeA==" + }, + "@yeoman/types": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.9.1.tgz", + "integrity": "sha512-5BMdA/zMzLv/ahnL1ktaV46nSXorb4sU4kQPQKDhIcK8ERbx9TAbGAE+XAlCXKioNIiOrihYj6gW1d/GEfU9Zw==", + "peer": true, + "requires": {} + }, + "array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==" + }, + "array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==" + }, + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "auto-changelog": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz", + "integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==", + "dev": true, + "requires": { + "commander": "^7.2.0", + "handlebars": "^4.7.7", + "node-fetch": "^2.6.1", + "parse-github-url": "^1.0.2", + "semver": "^7.3.5" + } + }, + "b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "requires": {} + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "requires": {} + }, + "before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, + "binaryextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "requires": { + "editions": "^6.21.0" + } + }, + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, + "chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==" + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "requires": { + "ms": "^2.1.3" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "requires": { + "version-range": "^4.15.0" + } + }, + "ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "requires": { + "jake": "^10.8.5" + } + }, + "events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "requires": { + "bare-events": "^2.7.0" + } + }, + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + } + }, + "fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==" + }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + } + }, + "fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==" + }, + "first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==" + }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" + }, + "github-username": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-9.0.0.tgz", + "integrity": "sha512-lY7+mymwQUEhRwWTLxieKkxcZkVNnUh8iAGnl30DMB1ZtYODHkMAckZk8Jx5dLQs1YKPYM2ibnzQu02aCLFcYQ==", + "requires": { + "@octokit/rest": "^21.1.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "requires": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "requires": { + "lru-cache": "^10.0.1" + } + }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" + }, + "ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==" + }, + "index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + }, + "isbinaryfile": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.3.tgz", + "integrity": "sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "requires": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "ky": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", + "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==" + }, + "latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", + "requires": { + "package-json": "^10.0.0" + } + }, + "lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" + }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "mem-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.3.tgz", + "integrity": "sha512-+2zSUVKcDWgcF90mPPwyH4J814uRI1PJcVt2RZ4/E8VggPEiIEL7ikMTlPR91P2ZySkyPgD0YGrccwo55SZvnw==", + "peer": true, + "requires": { + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" + } + }, + "mem-fs-editor": { + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.1.4.tgz", + "integrity": "sha512-Z4QX14Ev6eOVTuVSayS5rdiOua6C3gHcFw+n9Qc7WiaVTbC+H8b99c32MYGmbQN9UFHJeI/p3lf3LAxiIzwEmA==", + "peer": true, + "requires": { + "@types/ejs": "^3.1.4", + "@types/node": ">=18", + "binaryextensions": "^6.11.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.10", + "globby": "^14.0.2", + "isbinaryfile": "5.0.3", + "minimatch": "^9.0.3", + "multimatch": "^7.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^6.11.0", + "vinyl": "^3.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "multimatch": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-7.0.0.tgz", + "integrity": "sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==", + "requires": { + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^9.0.3" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "requires": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "requires": { + "path-key": "^4.0.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" + } + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", + "requires": { + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" + } + }, + "parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "dev": true + }, + "parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "requires": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==" + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "requires": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + } + }, + "read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "requires": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "dependencies": { + "unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==" + } + } + }, + "registry-auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", + "requires": { + "@pnpm/npm-conf": "^3.0.2" + } + }, + "registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "requires": { + "rc": "1.2.8" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + }, + "replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==" + }, + "reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, + "simple-git": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", + "requires": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.4.0" + } + }, + "slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==" + }, + "sort-keys": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", + "requires": { + "is-plain-obj": "^4.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==" + }, + "streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "requires": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", + "requires": { + "is-utf8": "^0.2.1" + } + }, + "strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "requires": { + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" + } + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + }, + "teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "requires": { + "streamx": "^2.12.5" + } + }, + "text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "requires": { + "b4a": "^1.6.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "textextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "requires": { + "editions": "^6.21.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==" + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true + }, + "undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" + }, + "unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==" + }, + "universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==" + }, + "vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "requires": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + } + }, + "vinyl-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", + "requires": { + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "yeoman-generator": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.5.1.tgz", + "integrity": "sha512-MYncRvzSTd71BMwiUMAVhfX00sDD8DZDrmPzRxQkWuWQ0V1Qt4Rd0gS/Nee2QDTWvRjvCa+KBfiAVrtOySq+JA==", + "peer": true, + "requires": { + "@types/lodash-es": "^4.17.9", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", + "debug": "^4.1.1", + "execa": "^8.0.1", + "github-username": "^9.0.0", + "json-schema": "^0.4.0", + "latest-version": "^9.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.1", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", + "text-table": "^0.2.0" + } + } + } +} diff --git a/pos-module-oauth-github/modules/core/package.json b/pos-module-oauth-github/modules/core/package.json new file mode 100644 index 0000000..49515a0 --- /dev/null +++ b/pos-module-oauth-github/modules/core/package.json @@ -0,0 +1,32 @@ +{ + "name": "pos-module-core", + "version": "1.2.1", + "description": "Module description", + "type": "module", + "scripts": { + "version": "(cd ../../ && pos-cli modules version core -p) && git add template-values.json && auto-changelog -p && git add CHANGELOG.md" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Platform-OS/pos-module-core.git" + }, + "author": "", + "license": "MIT", + "bugs": { + "url": "https://github.com/Platform-OS/pos-module-core/issues" + }, + "homepage": "https://github.com/Platform-OS/pos-module-core#readme", + "peerDependencies": { + "yeoman-generator": "^7.0.0" + }, + "devDependencies": { + "auto-changelog": "^2.4.0", + "lodash.startcase": "^4.4.0", + "pluralize": "^8.0.0" + }, + "auto-changelog": { + "template": "changelog-template.hbs", + "unreleased": true, + "commitLimit": false + } +} diff --git a/pos-module-oauth-github/modules/core/public/api_calls/generic.liquid b/pos-module-oauth-github/modules/core/public/api_calls/generic.liquid new file mode 100644 index 0000000..0a3289b --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/api_calls/generic.liquid @@ -0,0 +1,6 @@ +--- +request_type: "{{ data.request_type }}" +request_headers: '{{ data.headers | json }}' +to: "{{ data.to }}" +--- +{{ data.payload }} diff --git a/pos-module-oauth-github/modules/core/public/api_calls/generic_x_form_encoded.liquid b/pos-module-oauth-github/modules/core/public/api_calls/generic_x_form_encoded.liquid new file mode 100644 index 0000000..4085222 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/api_calls/generic_x_form_encoded.liquid @@ -0,0 +1,10 @@ +--- +request_type: "{{ data.request_type }}" +request_headers: '{{ data.headers | json }}' +to: "{{ data.to }}" +--- +{% liquid + function url = 'modules/core/helpers/hash_to_x_form_encoded', payload: data.payload + print url +%} + diff --git a/pos-module-oauth-github/modules/core/public/emails/.keep b/pos-module-oauth-github/modules/core/public/emails/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/emails/generic.liquid b/pos-module-oauth-github/modules/core/public/emails/generic.liquid new file mode 100644 index 0000000..240ce94 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/emails/generic.liquid @@ -0,0 +1,13 @@ +--- +from: "{{ data.from }}" +layout: "{{ data.layout }}" +to: "{{ data.to }}" +cc: "{{ data.cc }}" +bcc: "{{ data.bcc }}" +subject: "{{ data.subject }}" +--- +{% liquid + # platformos-check-disable + include data.partial, data: data.data + # platformos-check-enable +%} diff --git a/pos-module-oauth-github/modules/core/public/graphql/.keep b/pos-module-oauth-github/modules/core/public/graphql/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/graphql/api_calls/send.graphql b/pos-module-oauth-github/modules/core/public/graphql/api_calls/send.graphql new file mode 100644 index 0000000..b26d03f --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/api_calls/send.graphql @@ -0,0 +1,12 @@ +mutation ($template: String!, $data: HashObject!, $options: ApiCallSendOptions) { + api_call: api_call_send( + data: $data + template: { name: $template } + options: $options + ) { + response{ status body } + errors { + message + } + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/email/send.graphql b/pos-module-oauth-github/modules/core/public/graphql/email/send.graphql new file mode 100644 index 0000000..2f9fc39 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/email/send.graphql @@ -0,0 +1,9 @@ +mutation ($data: HashObject!, $template: String!){ + email_send( + template: { name: $template } + data: $data + ){ + is_scheduled_to_send + errors { message } + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/events/consumers.graphql b/pos-module-oauth-github/modules/core/public/graphql/events/consumers.graphql new file mode 100644 index 0000000..b13d23b --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/events/consumers.graphql @@ -0,0 +1,15 @@ +query consumers($name: String) { + admin_liquid_partials( + filter: { + path: { contains: $name } + } + sort: { + path: { order: ASC } + } + ) { + results { + path + metadata + } + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/events/create.graphql b/pos-module-oauth-github/modules/core/public/graphql/events/create.graphql new file mode 100644 index 0000000..77bc1d9 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/events/create.graphql @@ -0,0 +1,7 @@ +mutation create_event($payload: ActivityStreamsPayload!) { + activity_create( + payload: $payload + ) { + payload + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/events/events_checks.graphql b/pos-module-oauth-github/modules/core/public/graphql/events/events_checks.graphql new file mode 100644 index 0000000..c326d87 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/events/events_checks.graphql @@ -0,0 +1,11 @@ +query events_checks($name: String) { + admin_liquid_partials( + filter: { + path: { ends_with: $name } + } + ) { + results { + path + } + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/events/search.graphql b/pos-module-oauth-github/modules/core/public/graphql/events/search.graphql new file mode 100644 index 0000000..4e78dd2 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/events/search.graphql @@ -0,0 +1,14 @@ +query ac($limit: Int = 100 $page: Int = 1 $uuids: [String!]) { + activities: activities( + per_page: $limit, + page: $page + uuids: $uuids + sort: { created_at: { order: DESC } } + ){ + total_entries + total_pages + results { + payload + } + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/hook/search.graphql b/pos-module-oauth-github/modules/core/public/graphql/hook/search.graphql new file mode 100644 index 0000000..37e31e2 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/hook/search.graphql @@ -0,0 +1,7 @@ +query ($hook: String) { + admin_liquid_partials(filter: { path: { ends_with: $hook } }) { + results { + path + } + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/records/count.graphql b/pos-module-oauth-github/modules/core/public/graphql/records/count.graphql new file mode 100644 index 0000000..9a21894 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/records/count.graphql @@ -0,0 +1,26 @@ +query records_count( + $property_name: String! + $property_value: String! + $scope_name: String! + $scope_value: String + $table: String! + $not_ids: [ID!] + $ids: [ID!] + $exclude_name: String! + $exclude_value: String +) { + records( + per_page: 1 + filter: { + id: { not_value_in: $not_ids, value_in: $ids } + table: { value: $table } + properties: [ + { name: $property_name, value: $property_value } + { name: $scope_name, value: $scope_value } + { name: $exclude_name, not_value: $exclude_value } + ] + } + ) { + total_entries + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/session/delete.graphql b/pos-module-oauth-github/modules/core/public/graphql/session/delete.graphql new file mode 100644 index 0000000..c83de59 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/session/delete.graphql @@ -0,0 +1,5 @@ +mutation ($name: String!){ + session_delete_field( + name: $name + ) +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/session/set.graphql b/pos-module-oauth-github/modules/core/public/graphql/session/set.graphql new file mode 100644 index 0000000..9069f25 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/session/set.graphql @@ -0,0 +1,6 @@ +mutation ($name: String!, $value: Any!){ + session_create_field( + name: $name + value: $value + ) +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/statuses/create.graphql b/pos-module-oauth-github/modules/core/public/graphql/statuses/create.graphql new file mode 100644 index 0000000..7274afc --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/statuses/create.graphql @@ -0,0 +1,34 @@ +mutation create_status( + $name: String! + $timestamp: String! + $reference_id: String! + $reference_schema: String + $payload: String + $requester_id: String! +) { + record: record_create( + record: { + table: "modules/core/status" + properties: [ + { name: "name", value: $name } + { name: "timestamp", value: $timestamp } + { name: "reference_id", value: $reference_id } + { name: "reference_schema", value: $reference_schema } + { name: "payload", value: $payload } + { name: "requester_id", value: $requester_id } + ] + } + ) { + id + created_at + deleted_at + type: table + + name: property(name: "name") + timestamp: property(name: "timestamp") + reference_id: property(name: "reference_id") + reference_schema: property(name: "reference_schema") + payload: property(name: "payload") + requester_id: property(name: "requester_id") + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/statuses/delete.graphql b/pos-module-oauth-github/modules/core/public/graphql/statuses/delete.graphql new file mode 100644 index 0000000..fb333ab --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/statuses/delete.graphql @@ -0,0 +1,5 @@ +mutation delete_status($id: ID!) { + record_delete(table: "modules/core/status", id: $id) { + id + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/statuses/search.graphql b/pos-module-oauth-github/modules/core/public/graphql/statuses/search.graphql new file mode 100644 index 0000000..8beffdc --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/statuses/search.graphql @@ -0,0 +1,45 @@ +query search( + $id: ID + $limit: Int! + $page: Int! + $name: String + $timestamp: String + $reference_id: String + $reference_schema: String + $requester_id: String +) { + statuses: records( + per_page: $limit + page: $page + filter: { + id: { value: $id } + table: { value: "modules/core/status" } + properties: [ + { name: "name", value: $name } + { name: "timestamp", value: $timestamp } + { name: "reference_id", value: $reference_id } + { name: "reference_schema", value: $reference_schema } + { name: "requester_id", value: $requester_id } + ] + } + sort: [{ created_at: { order: DESC } }] + ) { + total_entries + has_next_page + has_previous_page + current_page + + results { + id + created_at + type: table + + name: property(name: "name") + timestamp: property(name: "timestamp") + reference_id: property(name: "reference_id") + reference_schema: property(name: "reference_schema") + payload: property(name: "payload") + requester_id: property(name: "requester_id") + } + } +} diff --git a/pos-module-oauth-github/modules/core/public/graphql/variable/set.graphql b/pos-module-oauth-github/modules/core/public/graphql/variable/set.graphql new file mode 100644 index 0000000..3c7b0d9 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/graphql/variable/set.graphql @@ -0,0 +1,6 @@ +mutation ($name: String!, $value: String!) { + variable: constant_set(name: $name, value: $value) { + name + value + } +} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/.keep b/pos-module-oauth-github/modules/core/public/lib/commands/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/email/send.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/email/send.liquid new file mode 100644 index 0000000..1fc5273 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/email/send.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + function object = 'modules/core/commands/email/send/build', object: object + function object = 'modules/core/commands/email/send/check', object: object + + if object.valid + graphql r = 'modules/core/email/send', template: 'modules/core/generic', data: object + if r.errors + log r.errors, type: 'errors.graphql.invalid' + + assign object.valid = false + assign object.errors = r.errors + endif + else + log object.errors, type: 'payload validation error in core: commands/email' + endif + + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/email/send/build.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/email/send/build.liquid new file mode 100644 index 0000000..5e57d28 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/email/send/build.liquid @@ -0,0 +1,13 @@ +{% parse_json object %} + { + "layout": {{ object.layout | default: 'modules/core/mailer' | json }}, + "from": {{ object.from | json }}, + "to": {{ object.to | json }}, + "subject": {{ object.subject | json }}, + "cc": {{ object.cc | json }}, + "bcc": {{ object.bcc | json }}, + "partial": {{ object.partial | json }}, + "data": {{ object.data | json }} + } +{% endparse_json %} +{% return object %} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/email/send/check.liquid new file mode 100644 index 0000000..50c8aec --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/email/send/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/events/broadcast.liquid new file mode 100644 index 0000000..ec2b6bd --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/events/broadcast.liquid @@ -0,0 +1,29 @@ +{% doc %} + @param {object} object - The object to process + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} +{% liquid + if object.type == blank + log 'ERROR: events broadcast type blank' + return null + endif + assign priorities = 'low,default,high' | split: ',' + + assign name = 'consumers/' | append: object.type | append: '/' + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" + + assign object.consumers = consumers + for consumer in consumers + assign priority = 'default' + if priorities contains consumer.metadata.priority + assign priority = consumer.metadata.priority + endif + assign max_attempts = consumer.metadata.max_attempts | default: deprecated_max_attempts | default: 9 + assign delay = consumer.metadata.delay | default: deprecated_delay | default: 0 + + background _id = consumer.path, event: object, priority: priority, delay: delay, max_attempts: max_attempts + endfor + + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/events/create.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/events/create.liquid new file mode 100644 index 0000000..c32c970 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/events/create.liquid @@ -0,0 +1,23 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} +{% liquid + function event = 'modules/core/commands/events/create/build', type: type, object: object + function event = 'modules/core/commands/events/create/check', object: event, type: type + if event.valid + function event = 'modules/core/commands/events/create/execute', object: event + if event.valid + assign source_name = 'modules/core/commands/events/create:' | append: type + background _job_id = 'modules/core/commands/events/broadcast', object: event, deprecated_max_attempts: deprecated_max_attempts, deprecated_delay: deprecated_delay, source_name: source_name, priority: 'high' + else + log event, type: 'ERROR: modules/core/commands/events invalid' + endif + else + log event, type: 'ERROR: modules/core/commands/events invalid' + endif + + return event +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/events/create/build.liquid new file mode 100644 index 0000000..32e10ed --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/events/create/build.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} +{% liquid + assign now = 'now' | to_time + assign data = object + assign data.type = type + assign data.date = now + + return data +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/events/create/check.liquid new file mode 100644 index 0000000..a11a644 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/events/create/check.liquid @@ -0,0 +1,36 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date', key: null + + assign name = 'events/' | append: object.type + graphql event_check_partials = 'modules/core/events/events_checks', name: name | dig: "admin_liquid_partials", "results" + for partial in event_check_partials + assign is_event_definition = partial.path | matches: '^(modules/[^/]+/events/[^/]++|events/[^/]+)$' + if is_event_definition + assign event_check_partial = partial + break + endif + endfor + + if event_check_partial + function event_result = event_check_partial.path, event: object + if event_result.valid != true + assign c.errors.object = event_result.errors + assign c.valid = false + endif + else + assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type + function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message, key: null + endif + + assign object.valid = c.valid + + assign object.errors = c.errors + return object + %} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/events/create/execute.liquid new file mode 100644 index 0000000..d94fff4 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/events/create/execute.liquid @@ -0,0 +1,11 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + graphql r = 'modules/core/events/create', payload: object + + assign object = r.activity_create.payload + assign object.valid = true + + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/events/publish.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/events/publish.liquid new file mode 100644 index 0000000..586ad27 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/events/publish.liquid @@ -0,0 +1,27 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts +{% enddoc %} +{% liquid + if delay > 0 + log 'use metadata.delay in the consumer file instead of passing it to modules/core/commands/events/publish', type: 'DEPRECATION' + endif + if max_attempts + log 'use metadata.max_attempts in the consumer file instead of passing it to modules/core/commands/events/publish', type: 'DEPRECATION' + endif + + unless type + log 'type is required', type: 'ERROR: modules/core/commands/events publish' + return null + endunless + unless object + log 'object is required', type: 'ERROR: modules/core/commands/events publish' + return null + endunless + + function event = "modules/core/commands/events/create", type: type, object: object, deprecated_max_attempts: max_attempts, deprecated_delay: delay + + return event +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/execute.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/execute.liquid new file mode 100644 index 0000000..e0510a4 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/execute.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {string} mutation_name - The GraphQL mutation name + @param {object} object - The object to process + @param {string} selection - The GraphQL result selection key +{% enddoc %} +{% liquid + assign selection = selection | default: 'record' + + graphql r = mutation_name, args: object + if r.errors + log r, type: "ERROR: modules/core/commands/execute" + endif + + assign object = r[selection] + assign object.valid = true + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/hook/alter.liquid new file mode 100644 index 0000000..19f42fb --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/hook/alter.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} +{% liquid + assign original_params = params_to_modify | deep_clone + + assign hook = '/hook_' | append: hook | append: '_alter' + function implementations = 'modules/core/queries/hook/search', hook: hook + + for implementation in implementations + function _ = implementation.path, params_to_modify: params_to_modify, params: params + endfor + + assign result = { "original_params": original_params } + return result +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/hook/fire.liquid new file mode 100644 index 0000000..0b35c38 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/hook/fire.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + if merge_to_object + assign results = {} + else + assign results = [] + endif + + assign hook = '/hook_' | append: hook + function implementations = 'modules/core/queries/hook/search', hook: hook + + for implementation in implementations + function hook_result = implementation.path, params: params + if hook_result != nil + comment + Check if the result is an array and merge the values one by one. + endcomment + if hook_result[0] + for h_result in hook_result + assign results << h_result + endfor + comment + Check if the result is an object. + endcomment + elsif hook_result.first and merge_to_object + assign results = results | hash_merge: hook_result + else + assign results << hook_result + endif + endif + endfor + + return results +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/session/clear.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/session/clear.liquid new file mode 100644 index 0000000..b823fa5 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/session/clear.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if context.session[key] != blank + graphql _ = 'modules/core/session/delete', name: key + return true + endif + return false +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/session/get.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/session/get.liquid new file mode 100644 index 0000000..02b8240 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/session/get.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {boolean} clear - If true, clear the session value after reading + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if context.session[key] != blank + assign value = context.session[key] | parse_json + if clear + graphql _ = 'modules/core/session/delete', name: key + endif + + return value + endif + return null +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/session/set.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/session/set.liquid new file mode 100644 index 0000000..3441120 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/session/set.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | json + graphql _ = 'modules/core/session/set', name: key, value: value + return true +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create.liquid new file mode 100644 index 0000000..dc5f46d --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create.liquid @@ -0,0 +1,25 @@ +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% liquid + function object = 'modules/core/commands/statuses/create/build', name: name, timestamp: timestamp, reference_id: reference_id, reference_schema: reference_schema, payload: payload, requester_id: requester_id + function object = 'modules/core/commands/statuses/create/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/create' object: object, selection: null + if object.valid + function _ = 'modules/core/commands/events/publish', type: 'status_created', object: object, delay: delay, max_attempts: max_attempts + endif + else + log object, 'showme STATUS-INVALID' + endif + + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create/build.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create/build.liquid new file mode 100644 index 0000000..b46956a --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create/build.liquid @@ -0,0 +1,22 @@ +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% parse_json object %} + { + "name": {{ name | json }}, + "timestamp": {{ timestamp | default: 'now' | to_time | json }}, + "reference_id": {{ reference_id | json }}, + "reference_schema": {{ reference_schema | json }}, + "payload": {{ payload | json }}, + "requester_id": {{ requester_id | json }} + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create/check.liquid new file mode 100644 index 0000000..61a2d21 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/create/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete.liquid new file mode 100644 index 0000000..5c79d78 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + function object = 'modules/core/commands/statuses/delete/build', id: id + function object = 'modules/core/commands/statuses/delete/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/delete', selection: 'record_delete', object: object + endif + + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete/build.liquid new file mode 100644 index 0000000..29c1322 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -0,0 +1,7 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + assign object = {"id": id} + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete/check.liquid new file mode 100644 index 0000000..737a3fd --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "valid": true, "errors": {} } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-github/modules/core/public/lib/commands/variable/set.liquid b/pos-module-oauth-github/modules/core/public/lib/commands/variable/set.liquid new file mode 100644 index 0000000..cdbc3b8 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/commands/variable/set.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} +{% liquid + graphql result = 'modules/core/variable/set', name: name, value: value + return result.variable +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/events/status_created.liquid b/pos-module-oauth-github/modules/core/public/lib/events/status_created.liquid new file mode 100644 index 0000000..02541f7 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/events/status_created.liquid @@ -0,0 +1,21 @@ +--- +metadata: + event: + name + reference_id + reference_schema + requester_id + payload +--- +{% doc %} + @param {object} event - The event object +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'requester_id', key: null + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/authenticity_token.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/authenticity_token.liquid new file mode 100644 index 0000000..6262ed4 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/authenticity_token.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} authenticity_token - The authenticity token from the form + @param {string} token - The authenticity token value +{% enddoc %} +{% assign token = token | default: authenticity_token | default: context.authenticity_token %} +{% unless token %} + Liquid Error AuthenticityTokenNotFound +{% endunless %} + diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/flash/publish.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/flash/publish.liquid new file mode 100644 index 0000000..cd5847d --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/flash/publish.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {boolean} force_clear - If true, clear flash messages immediately +{% enddoc %} +{% liquid + if error and error contains 'app.' + assign error = error | t + endif + + if notice and notice contains 'app.' + assign notice = notice | t + endif + + if info and info contains 'app.' + assign info = info | t + endif +%} + +{% parse_json flash %} + { + "error": {{ error | json }}, + "notice": {{ notice | json }}, + "info": {{ info | json }}, + "from": {{ context.location.pathname | json }}, + "now": {{ force_clear | default: false }} + } +{% endparse_json %} + +{% liquid + assign sflash = flash | json + session sflash = sflash +%} + diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid new file mode 100644 index 0000000..05d1820 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {object} payload - The payload data +{% enddoc %} +{% liquid + assign parameters = '' | split: ',' + for pair in payload + assign component = pair[0] | append: '={' | append: pair[0] | append: '}' + assign parameters << component + endfor + if parameters.size > 0 + assign x_form_encoded = parameters | join: '&' | expand_url_template: payload + else + assign x_form_encoded = '' + endif + + return x_form_encoded +%} + diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/log_time.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/log_time.liquid new file mode 100644 index 0000000..447397a --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/log_time.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {string} _start - The start time for measuring elapsed time + @param {string} type - The type identifier + @param {string} env - The environment name for logging +{% enddoc %} +{% liquid + assign _stop = 'now' | to_time + assign _diff = _start | time_diff: _stop + if env + log _diff, type: type, env: env + else + log _diff, type: type + endif + + return true +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/redirect_to.liquid new file mode 100644 index 0000000..8f14d81 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/redirect_to.liquid @@ -0,0 +1,50 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {object} object - The object to process + @param {string} default - The default value + @param {string} format - The response format + @param {string} url - The URL to redirect to +{% enddoc %} +{% liquid + if url == blank and context.session.return_to != blank + assign url = context.session.return_to + session return_to = null + endif + + if context.params.return_to != blank or context.params.redirect_to != blank and url == blank + assign url = context.params.return_to | default: context.params.redirect_to | url_decode + assign not_start_with_slash = url | matches: '^(?!\/)(.+)' + + # for security reasons, we do not allow redirecting to external URLs based on unsafe user input + assign wrong_url = url | matches: '^\/\/' + if not_start_with_slash or wrong_url + assign url = '/' + endif + else + assign default = default | default: '/' + assign url = url | default: default + endif + + # platformos-check-disable DeprecatedTag + include 'modules/core/helpers/flash/publish', notice: notice, error: error, info: info, force_clear: null + # platformos-check-enable DeprecatedTag + + if format == 'json' + assign response_json = {"type": "redirect", "url": url} + if object.valid + echo response_json + else + response_status 422 + assign res = { "errors": response_json.errors } + + echo res + endif + + else + redirect_to url + endif + + break +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/register_error.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/register_error.liquid new file mode 100644 index 0000000..f016b3e --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/register_error.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + assign key = key | default: null + assign message = message | default: null + if key + assign msg = key | t + else + assign msg = message + endif + + assign errors = contract.errors + + assign default = [] + assign field_errors = errors[field_name] | default: default + assign field_errors << msg + + assign errors[field_name] = field_errors + assign contract.valid = false + + return contract +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_all.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_all.liquid new file mode 100644 index 0000000..7ed01d5 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_all.liquid @@ -0,0 +1,18 @@ +{% comment %} + we need the to_json | parse_json hack because time_zones.all is an array of TimeZoneDrop (not an object) + this prevents us from using array filters or pass the timezone as reference (return it from a function, etc) + should be fixed on the platform level +{% endcomment %} +{% comment %} +Returns an array of timezone objects in the following format: +{ + "formatted_name":"(GMT-12:00) International Date Line West", + "formatted_offset":"-12:00", + "name":"International Date Line West", + "utc_offset":-43200, + "abbreviation":"-12", + "friendly_name_with_region":"Etc - GMT+12", + "friendly_name_without_region":"GMT+12" +} +{% endcomment %} +{% return context.globals.time_zones.all | parse_json %} diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_by_name.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_by_name.liquid new file mode 100644 index 0000000..20f429d --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_by_name.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} name - The name identifier +{% enddoc %} +{% liquid + function timezones = 'modules/core/helpers/timezone/get_all' + assign timezone = timezones | array_detect: name: name + + return timezone +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_by_offset.liquid b/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_by_offset.liquid new file mode 100644 index 0000000..478d3ae --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/helpers/timezone/get_by_offset.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {number} offset +{% enddoc %} +{% liquid + function timezones = 'modules/core/helpers/timezone/get_all' + assign timezone = timezones | array_detect: formatted_offset: offset + + return timezone +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/hooks/.keep b/pos-module-oauth-github/modules/core/public/lib/hooks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/.keep b/pos-module-oauth-github/modules/core/public/lib/queries/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/constants/find.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/constants/find.liquid new file mode 100644 index 0000000..84fe8d8 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/constants/find.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% if context.constants %} + {% assign value = context.constants[name] %} +{% else %} + {% graphql r, name: name %} + query get_constant($name: String!) { + constant(filter: { name: $name }) { + name + value + } + } + {% endgraphql %} + {% assign value = r.constant.value %} +{% endif %} + +{% liquid + case type + when "boolean" + if value == "true" + return true + else + return false + endif + when "integer" + assign value = value | plus: 0 + return value + when "array" + assign value = value | split: ',' + return value + when "time" + return value | to_time + else + return value + endcase +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/events/find.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/events/find.liquid new file mode 100644 index 0000000..c3d264a --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/events/find.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {string} uuid - The UUID identifier +{% enddoc %} +{% liquid + if uuid == blank + return null + endif + + function events = 'modules/core/queries/events/search', limit: 1, uuids: uuid, page: null + + return events.results.first.payload +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/events/search.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/events/search.liquid new file mode 100644 index 0000000..2569598 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/events/search.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} uuids - List of UUID identifiers +{% enddoc %} +{% liquid + assign page = page | to_positive_integer: 1 + assign uuids = uuids | default: null + + graphql r = 'modules/core/events/search', limit: limit, page: page, uuids: uuids + + assign events = r.activities + + return events +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/headscripts/get.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/headscripts/get.liquid new file mode 100644 index 0000000..e2453ef --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/headscripts/get.liquid @@ -0,0 +1,5 @@ +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/queries/headscripts/search', merge_to_object: null + return res +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/headscripts/search.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/headscripts/search.liquid new file mode 100644 index 0000000..989f536 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/headscripts/search.liquid @@ -0,0 +1,5 @@ +{% liquid + function headscript_implementations = 'modules/core/commands/hook/fire', hook: 'headscripts', merge_to_object: false, params: null + assign results = headscript_implementations | join: '' + return results | html_safe +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/hook/search.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/hook/search.liquid new file mode 100644 index 0000000..5b49f62 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/hook/search.liquid @@ -0,0 +1,7 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} +{% liquid + graphql implementations = 'modules/core/hook/search', hook: hook + return implementations.admin_liquid_partials.results +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/module/exists.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/module/exists.liquid new file mode 100644 index 0000000..474665d --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/module/exists.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function modules = 'modules/core/queries/registry/search', type: type + assign module = modules | array_detect: machine_name: name + + if module + return true + endif + + return false +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/registry/get.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/registry/get.liquid new file mode 100644 index 0000000..aa3524a --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/registry/get.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function registry = 'modules/core/queries/registry/search', type: type + return registry +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/registry/search.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/registry/search.liquid new file mode 100644 index 0000000..96116a4 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/registry/search.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function registry = 'modules/core/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null + + case type + when 'module' + assign modules = [] + for module in registry + if module.type == 'module' + assign modules << module + endif + endfor + return modules + when 'theme' + assign themes = [] + for module in registry + if module.type == 'theme' + assign themes << module + endif + endfor + return themes + endcase + return registry +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/statuses/find.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/statuses/find.liquid new file mode 100644 index 0000000..b7cf078 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/statuses/find.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + if id == blank + return null + endif + + graphql r = 'modules/core/statuses/search', id: id, limit: 1, page: 1 + + return r.statuses.results.first +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/statuses/search.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/statuses/search.liquid new file mode 100644 index 0000000..f4f79d8 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/statuses/search.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} id - The record ID + @param {string} name - The name identifier + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% liquid + assign page = page | to_positive_integer: 1 + assign limit = limit | default: 20 + + graphql r = 'modules/core/statuses/search', limit: limit, page: page, id: id, name: name, reference_id: reference_id, requester_id: requester_id, reference_schema: reference_schema, timestamp: timestamp + + return r.statuses +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/variable/find.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/variable/find.liquid new file mode 100644 index 0000000..c2ec54c --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/variable/find.liquid @@ -0,0 +1,28 @@ +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} +{% liquid + assign value = context.constants[name] | default: default, allow_false: true + + case type + when 'boolean' + if value == 'true' or value == true + return true + else + return false + endif + when 'integer' + assign value = value | plus: 0 + return value + when 'float' + assign value = value | plus: 0 + return value + when 'array' + assign value = value | split: ',' + return value + else + return value + endcase +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/queries/variable/get.liquid b/pos-module-oauth-github/modules/core/public/lib/queries/variable/get.liquid new file mode 100644 index 0000000..e51e5de --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/queries/variable/get.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/queries/variable/find', name: name, default: default, type: type + return res +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/date.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/date.liquid new file mode 100644 index 0000000..7125e98 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/date.liquid @@ -0,0 +1,78 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} +{% liquid + assign date = date | default: object[field_name] | to_date + + assign is_past = date | is_date_in_past + assign now = 'now' | to_date + + if date > now + assign is_future = true + else + assign is_future = false + endif + + if can_be_past == false and is_past + assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if can_be_future == false and is_future + assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lt != null + assign lt = lt | to_date + if date >= lt + assign localized_date = lt | l + assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if lte != null + assign lte = lte | to_date + if date > lte + assign localized_date = lte | l + assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gt != null + assign gt = gt | to_date + if date <= gt + assign localized_date = gt | l + assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gte != null + assign gte = gte | to_date + if date < gte + assign localized_date = gte | l + assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/each_element_length.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/each_element_length.liquid new file mode 100644 index 0000000..85f5315 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/each_element_length.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + + for el in object[field_name] + + assign size = el.size + + if minimum != null and size < minimum + assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size + assign message = el | append: ' ' | append: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + endfor + + return c + +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/elements_included.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/elements_included.liquid new file mode 100644 index 0000000..6b58bde --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/elements_included.liquid @@ -0,0 +1,19 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + for val in object[field_name] + unless array contains val + assign key = key | default: "modules/core/validation.array.not_included" + assign message = key | t: value: val + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endunless + endfor + + return c +%} + diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/email.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/email.liquid new file mode 100644 index 0000000..39c8029 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/email.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign valid_email = object[field_name] | is_email_valid + unless valid_email + assign key = key | default: "modules/core/validation.email" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/equal.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/equal.liquid new file mode 100644 index 0000000..6b367e4 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/equal.liquid @@ -0,0 +1,23 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} +{% liquid + if given != expected + + if message == blank and key == blank + if not_verbose + assign message = 'modules/core/validation.equal_not_verbose' | t + else + assign message = 'modules/core/validation.equal' | t: given: given, expected: expected + endif + endif + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: key + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/exist_in_db.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/exist_in_db.liquid new file mode 100644 index 0000000..abc8a51 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/exist_in_db.liquid @@ -0,0 +1,31 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} +{% liquid + assign property_name = property_name | default: '' + assign property_value = property_value | default: '' + assign scope_name = scope_name | default: '' + assign scope_value = scope_value | default: '' + assign exclude_name = exclude_name | default: '' + assign exclude_value = exclude_value | default: '' + assign key = key | default: 'modules/core/validation.not_exist' + + graphql r = 'modules/core/records/count', ids: ids, not_ids: not_ids, property_name: property_name, property_value: property_value, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count == 0 + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/hcaptcha.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/hcaptcha.liquid new file mode 100644 index 0000000..21289c9 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/hcaptcha.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign hcaptcha_solved = hcaptcha_params | hcaptcha + unless hcaptcha_solved + assign key = key | default: "modules/core/validation.hcaptcha" + function c = 'modules/core/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/included.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/included.liquid new file mode 100644 index 0000000..a432b8c --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/included.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + unless array contains value + assign key = key | default: "modules/core/validation.not_included" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} + diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/is_url.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/is_url.liquid new file mode 100644 index 0000000..8ffaa46 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/is_url.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} url - The URL to redirect to + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign key = key | default: 'modules/core/validation.not_url' + assign is_url = url | matches: '^https?:\/\/[\S]+' + + if is_url != true + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} \ No newline at end of file diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/length.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/length.liquid new file mode 100644 index 0000000..fba5e45 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/length.liquid @@ -0,0 +1,44 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + assign size = value.size + assign is = is | default: null + assign minimum = minimum | default: null + assign maximum = maximum | default: null + + if allow_blank == null + assign allow_blank = true + endif + if allow_blank != true + function c = 'modules/core/validations/presence', c: c, object: object, field_name: field_name, key: null + endif + + if minimum != null and size < minimum + assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/matches.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/matches.liquid new file mode 100644 index 0000000..19a1c8a --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/matches.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + if allow_blank and object[field_name] == blank + return c + endif + + assign matches = object[field_name] | matches: regexp + if matches != true + assign message = message | default: 'modules/core/validation.matches' | t + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/not_null.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/not_null.liquid new file mode 100644 index 0000000..810b5f8 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/not_null.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if object[field_name] == null + assign key = key | default: "modules/core/validation.null" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/number.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/number.liquid new file mode 100644 index 0000000..d39591f --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/number.liquid @@ -0,0 +1,69 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} +{% liquid + assign number = number | default: object[field_name] +%} +{% capture test1 %}{{ number }}{% endcapture %} +{% capture test2 %}{{ test1 | plus: 0 }}{% endcapture %} +{% liquid + if test1 != test2 + assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + + return c + endif + + assign number = number | plus: 0 + + if lt != null and number >= lt + assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lte == blank + assign lte = 2147483647 + endif + if number > lte + assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gt != null and number <= gt + assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gte != null and number < gte + assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if eq != null and number != eq + assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if ne != null and number == ne + assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/password_complexity.liquid new file mode 100644 index 0000000..634daa6 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/password_complexity.liquid @@ -0,0 +1,36 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process + @param {string} field_name - The name of the field to validate + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + assign decoded_pw = object.password + assign minimum = minimum | default: 6 + assign maximum = maximum | default: 256 + assign field_name = field_name | default: 'password' + + function complex_password = 'modules/core/queries/variable/find', name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null + if complex_password + assign has_lowercase = decoded_pw | matches: '[a-z]' + unless has_lowercase + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.lowercase', message: null + endunless + + assign has_uppercase = decoded_pw | matches: '[A-Z]' + unless has_uppercase + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.uppercase', message: null + endunless + + assign has_number = decoded_pw | matches: '\d' + unless has_number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.number', message: null + endunless + endif + + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null, is: null, message_is: null, message_maximum: null + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/presence.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/presence.liquid new file mode 100644 index 0000000..6526d2b --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/presence.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if object[field_name] == blank + assign key = key | default: "modules/core/validation.blank" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/truthy.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/truthy.liquid new file mode 100644 index 0000000..86b428e --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/truthy.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + unless object[field_name] + assign key = key | default: "modules/core/validation.not_truthy" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/unique_elements.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/unique_elements.liquid new file mode 100644 index 0000000..4bca1e8 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/unique_elements.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + + assign unique_count = object[field_name] | uniq | size + + if unique_count != object[field_name].size + assign key = key | default: 'modules/core/validation.array.not_unique' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/uniqueness.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/uniqueness.liquid new file mode 100644 index 0000000..76a9948 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/uniqueness.liquid @@ -0,0 +1,37 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} +{% liquid + assign key = key | default: 'modules/core/validation.taken' + assign value = object[field_name] + if value != blank + if object.id != blank + assign not_ids = object.id | split: ',' + endif + if scope_name + assign scope_value = object[scope_name] + else + assign scope_name = '' + endif + + if exclude_name + assign exclude_value = object[exclude_name] + else + assign exclude_name = '' + endif + + graphql r = 'modules/core/records/count', property_name: field_name, property_value: value, not_ids: not_ids, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count > 0 + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/lib/validations/valid_object.liquid b/pos-module-oauth-github/modules/core/public/lib/validations/valid_object.liquid new file mode 100644 index 0000000..6693ec3 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/lib/validations/valid_object.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + if value + function check_object = check_function, object: value + if check_object.valid != true + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null + assign errors_key = field_name | append: '_errors' + assign c.errors[errors_key] = check_object.errors + endif + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/schema/status.yml b/pos-module-oauth-github/modules/core/public/schema/status.yml new file mode 100644 index 0000000..5a8a0de --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/schema/status.yml @@ -0,0 +1,14 @@ +name: status +properties: + - name: name + type: string + - name: timestamp + type: datetime + - name: reference_id + type: string + - name: reference_schema + type: string + - name: payload + type: string + - name: requester_id + type: string diff --git a/pos-module-oauth-github/modules/core/public/translations/en/common.yml b/pos-module-oauth-github/modules/core/public/translations/en/common.yml new file mode 100644 index 0000000..19ed613 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/translations/en/common.yml @@ -0,0 +1,4 @@ +en: + common: + deleted: 'Deleted' + deleted_failed: 'Deleted failed' diff --git a/pos-module-oauth-github/modules/core/public/translations/en/validation.yml b/pos-module-oauth-github/modules/core/public/translations/en/validation.yml new file mode 100644 index 0000000..06a1a48 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/translations/en/validation.yml @@ -0,0 +1,50 @@ +--- +en: + validation: + disallowed: is not valid + not_url: is not valid url + blank: cannot be blank + email: must be a valid email + equal: expected %{given} to equal %{expected} + equal_not_verbose: does not match + array: + not_included: '`%{value}` is not a valid value' + not_unique: elements must be unique + hcaptcha: Captcha has not been solved properly, please try again + length: + minimum: is too short (minimum is %{count} characters) + maximum: is too long (maximum is %{count} characters) + is: is the wrong length (should be %{count} characters) + blank: is blank + number: + invalid: '`%{value}` is not a number' + greater_than: must be greater than %{count} + greater_than_or_equal: must be greater than or equal to %{count} + less_than: must be less than %{count} + less_than_or_equal: must be less than or equal to %{count} + equal_to: must be equal to %{count} + gt: must be greater than %{count} + gte: must be greater than or equal to %{count} + lt: must be less than %{count} + lte: must be less than or equal to %{count} + eq: must be equal to %{count} + ne: must be not equal to %{count} + date: + can_be_past: The date cannot be in the past + can_be_future: The date cannot be in the future + lt: must be before %{date} + lte: must be before %{date} + gt: must be after %{date} + gte: must be after or equal to %{date} + too_short: has to be longer than %{value} characters + taken: already taken + not_uniq: not unique + matches: not valid format + not_truthy: not true + not_null: not null + password: + lowercase: must include at least one lower case + uppercase: must include at least one upper case + number: must include at least one number + invalid: invalid + not_exist: not exist diff --git a/pos-module-oauth-github/modules/core/public/views/layouts/basic.liquid b/pos-module-oauth-github/modules/core/public/views/layouts/basic.liquid new file mode 100644 index 0000000..6b57c72 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/layouts/basic.liquid @@ -0,0 +1,154 @@ + + + + + + + +
    +
    + {{ content_for_layout }} +
    +
    + + diff --git a/pos-module-oauth-github/modules/core/public/views/layouts/mailer.html.liquid b/pos-module-oauth-github/modules/core/public/views/layouts/mailer.html.liquid new file mode 100644 index 0000000..510f6a1 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/layouts/mailer.html.liquid @@ -0,0 +1,46 @@ +{% liquid + assign rtl_languages = 'ar,arc,dv,fa,ha,he,khw,ks,ku,ps,ur,yi' | split: ',' + if rtl_languages contains context.language + assign direction = 'rtl' + else + assign direction = 'ltr' + endif + assign url = 'https://' | append: context.location.host +%} + + + + + + + + +
    + {{ content_for_layout }} + + +
    + + + diff --git a/pos-module-oauth-github/modules/core/public/views/pages/_events/index.liquid b/pos-module-oauth-github/modules/core/public/views/pages/_events/index.liquid new file mode 100644 index 0000000..e5c90c8 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/pages/_events/index.liquid @@ -0,0 +1,11 @@ +--- +layout: modules/core/basic +slug: _events +--- +{% liquid + if context.environment == 'staging' or context.environment == 'development' + function events = 'modules/core/queries/events/search', limit: 50, page: null, uuids: null + + render 'modules/core/events/list', events: events + endif +%} diff --git a/pos-module-oauth-github/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-oauth-github/modules/core/public/views/pages/_events/trigger.liquid new file mode 100644 index 0000000..85099b8 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/pages/_events/trigger.liquid @@ -0,0 +1,20 @@ +--- +layout: modules/core/basic +slug: _events/:uuid/trigger +--- +{% liquid + if context.environment == 'staging' or context.environment == 'development' + function event = 'modules/core/queries/events/find', uuid: context.params.uuid + + if context.params.trigger + function event = 'modules/core/commands/events/broadcast', object: event, deprecated_delay: null, deprecated_max_attempts: null + echo 'BROADCASTED' + else + assign name = 'consumers/' | append: event.type | append: '/' + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" + assign event.consumers = consumers + endif + + render 'modules/core/events/show', event: event + endif +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/.gitkeep b/pos-module-oauth-github/modules/core/public/views/partials/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/views/partials/events/event_card.liquid b/pos-module-oauth-github/modules/core/public/views/partials/events/event_card.liquid new file mode 100644 index 0000000..fcee8e2 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/events/event_card.liquid @@ -0,0 +1,56 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %} +{% liquid + assign event_slim = event | deep_clone + assign _ = event_slim | hash_delete_key: 'object' + assign _ = event_slim | hash_delete_key: 'actor' + assign _ = event_slim | hash_delete_key: 'target' + assign _ = event_slim | hash_delete_key: 'id' + assign _ = event_slim | hash_delete_key: 'uuid' + assign _ = event_slim | hash_delete_key: 'date' + assign _ = event_slim | hash_delete_key: 'valid' + assign _ = event_slim | hash_delete_key: 'errors' + assign _ = event_slim | hash_delete_key: 'attributed_to' + assign _ = event_slim | hash_delete_key: 'type' + assign consumers = event_slim | hash_delete_key: 'consumers' +%} +
    +
    + Event: {{ event.type }} {{ event.object.name | replace: "app.statuses.", "" }} +
    +
    + Date: {{ event.date | l }} +
    +
    + Attributes:
    + + + +
    
    +    
    + + +
    +
    UUID: {{ event.uuid }}
    + {% if consumers %} +
    + Consumers: +
      + {% for consumer in consumers %} +
    • {{ consumer.path }}
    • + {% endfor %} +
    +
    + {% endif %} + + show | + broadcast | + + +
    diff --git a/pos-module-oauth-github/modules/core/public/views/partials/events/list.liquid b/pos-module-oauth-github/modules/core/public/views/partials/events/list.liquid new file mode 100644 index 0000000..d6c0c4a --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/events/list.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} events - The events collection +{% enddoc %} +
    +

    Events

    + {{ events.results.size }} / {{ events.total_entries }} + {% for event in events.results %} + {% render 'modules/core/events/event_card', event: event.payload %} +
    + {% else %} +

    no events found

    + {% endfor %} +
    diff --git a/pos-module-oauth-github/modules/core/public/views/partials/events/show.liquid b/pos-module-oauth-github/modules/core/public/views/partials/events/show.liquid new file mode 100644 index 0000000..665a505 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/events/show.liquid @@ -0,0 +1,6 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %} +

    Event

    +<< List +{% render 'modules/core/events/event_card', event: event %} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/.keep b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send.liquid new file mode 100644 index 0000000..f03248b --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -0,0 +1,22 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + log 'Use modules/core/commands/email/send instead of modules/core/lib/commands/email/send', type: 'DEPRECATION' + function object = 'modules/core/commands/email/send/build', object: object + function object = 'modules/core/commands/email/send/check', object: object + + if object.valid + graphql r = 'modules/core/email/send', template: 'modules/core/generic', data: object + if r.errors + log r.errors, type: 'errors.graphql.invalid' + + assign object.valid = false + assign object.errors = r.errors + endif + else + log object.errors, type: 'payload validation error in core: lib/commands/email' + endif + + return object +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send/build.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send/build.liquid new file mode 100644 index 0000000..5e57d28 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send/build.liquid @@ -0,0 +1,13 @@ +{% parse_json object %} + { + "layout": {{ object.layout | default: 'modules/core/mailer' | json }}, + "from": {{ object.from | json }}, + "to": {{ object.to | json }}, + "subject": {{ object.subject | json }}, + "cc": {{ object.cc | json }}, + "bcc": {{ object.bcc | json }}, + "partial": {{ object.partial | json }}, + "data": {{ object.data | json }} + } +{% endparse_json %} +{% return object %} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send/check.liquid new file mode 100644 index 0000000..50c8aec --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/hook/alter.liquid new file mode 100644 index 0000000..43fbfa5 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -0,0 +1,19 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} +{% liquid + log 'Use modules/core/commands/hook/alter instead of modules/core/lib/commands/hook/alter', type: 'DEPRECATION' + assign original_params = params_to_modify | deep_clone + + assign hook = '/hook_' | append: hook | append: '_alter' + function implementations = 'modules/core/lib/queries/hook/search', hook: hook + + for implementation in implementations + function _ = implementation.path, params_to_modify: params_to_modify, params: params + endfor + + assign result = { "original_params": original_params } + return result +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/hook/fire.liquid new file mode 100644 index 0000000..48cd149 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + if merge_to_object + assign results = {} + else + assign results = [] + endif + + assign hook = '/hook_' | append: hook + function implementations = 'modules/core/lib/queries/hook/search', hook: hook + + for implementation in implementations + function hook_result = implementation.path, params: params + if hook_result != nil + comment + Check if the result is an array and merge the values one by one. + endcomment + if hook_result[0] + for h_result in hook_result + assign results << h_result + endfor + comment + Check if the result is an object. + endcomment + elsif hook_result.first and merge_to_object + assign results = results | hash_merge: hook_result + else + assign results << hook_result + endif + endif + endfor + + return results +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/variable/set.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/variable/set.liquid new file mode 100644 index 0000000..dc2577b --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/commands/variable/set.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/commands/variable/set instead of modules/core/lib/commands/variable/set', type: 'DEPRECATION' + graphql result = 'modules/core/variable/set', name: name, value: value + return result.variable +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/helpers/register_error.liquid new file mode 100644 index 0000000..f016b3e --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + assign key = key | default: null + assign message = message | default: null + if key + assign msg = key | t + else + assign msg = message + endif + + assign errors = contract.errors + + assign default = [] + assign field_errors = errors[field_name] | default: default + assign field_errors << msg + + assign errors[field_name] = field_errors + assign contract.valid = false + + return contract +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/hooks/.keep b/pos-module-oauth-github/modules/core/public/views/partials/lib/hooks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/.keep b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/headscripts/get.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/headscripts/get.liquid new file mode 100644 index 0000000..37efd30 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/headscripts/get.liquid @@ -0,0 +1,6 @@ +{% liquid + # TODO: remove after rewriting dependent modules + log 'Use queries/headscripts/get instead of lib/queries/headscripts/get', type: 'DEPRECATION' + function res = 'modules/core/lib/queries/headscripts/search', merge_to_object: false + return res +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/headscripts/search.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/headscripts/search.liquid new file mode 100644 index 0000000..72607a4 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/headscripts/search.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + log 'Use queries/headscripts/search instead of lib/queries/headscripts/search', type: 'DEPRECATION' + function headscript_implementations = 'modules/core/lib/commands/hook/fire', hook: 'headscripts', merge_to_object: merge_to_object, params: null + assign results = headscript_implementations | join: '' + return results | html_safe +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/hook/search.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/hook/search.liquid new file mode 100644 index 0000000..f97ad06 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/hook/search.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} +{% liquid + log 'Use modules/core/queries/hook/search instead of modules/core/lib/queries/hook/search', type: 'DEPRECATION' + graphql implementations = 'modules/core/hook/search', hook: hook + return implementations.admin_liquid_partials.results +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/module/exists.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/module/exists.liquid new file mode 100644 index 0000000..9801f78 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/module/exists.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function modules = 'modules/core/lib/queries/registry/search', type: type + assign module = modules | array_detect: machine_name: name + + if module + return true + endif + + return false +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/registry/get.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/registry/get.liquid new file mode 100644 index 0000000..adbdeda --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/registry/get.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function registry = 'modules/core/lib/queries/registry/search', type: type + return registry +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/registry/search.liquid new file mode 100644 index 0000000..ae8f96c --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function registry = 'modules/core/lib/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null + + case type + when 'module' + assign modules = [] + for module in registry + if module.type == 'module' + assign modules << module + endif + endfor + return modules + when 'theme' + assign themes = [] + for module in registry + if module.type == 'theme' + assign themes << module + endif + endfor + return themes + endcase + return registry +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/variable/find.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/variable/find.liquid new file mode 100644 index 0000000..c2ec54c --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/variable/find.liquid @@ -0,0 +1,28 @@ +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} +{% liquid + assign value = context.constants[name] | default: default, allow_false: true + + case type + when 'boolean' + if value == 'true' or value == true + return true + else + return false + endif + when 'integer' + assign value = value | plus: 0 + return value + when 'float' + assign value = value | plus: 0 + return value + when 'array' + assign value = value | split: ',' + return value + else + return value + endcase +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/variable/get.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/variable/get.liquid new file mode 100644 index 0000000..f6ba482 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/queries/variable/get.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/lib/queries/variable/find', name: name, default: default, type: type + return res +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/date.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/date.liquid new file mode 100644 index 0000000..e4d6a7b --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/date.liquid @@ -0,0 +1,79 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} +{% liquid + log 'Use modules/core/validations/date instead of modules/core/lib/validations/date ', type: 'DEPRECATION' + assign date = date | default: object[field_name] | to_date + + assign is_past = date | is_date_in_past + assign now = 'now' | to_date + + if date > now + assign is_future = true + else + assign is_future = false + endif + + if can_be_past == false and is_past + assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if can_be_future == false and is_future + assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lt != null + assign lt = lt | to_date + if date >= lt + assign localized_date = lt | l + assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if lte != null + assign lte = lte | to_date + if date > lte + assign localized_date = lte | l + assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gt != null + assign gt = gt | to_date + if date <= gt + assign localized_date = gt | l + assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gte != null + assign gte = gte | to_date + if date < gte + assign localized_date = gte | l + assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/each_element_length.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/each_element_length.liquid new file mode 100644 index 0000000..2c7f107 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/each_element_length.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/each_element_length instead of modules/core/lib/validations/each_element_length ', type: 'DEPRECATION' + for el in object[field_name] + + assign size = el.size + + if minimum != null and size < minimum + assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size + assign message = el | append: ' ' | append: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + endfor + + return c + +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/elements_included.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/elements_included.liquid new file mode 100644 index 0000000..bd8035b --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/elements_included.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/elements_included instead of modules/core/lib/validations/elements_included ', type: 'DEPRECATION' + for val in object[field_name] + unless array contains val + assign key = key | default: "modules/core/validation.array.not_included" + assign message = key | t: value: val + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endunless + endfor + + return c +%} + diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/email.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/email.liquid new file mode 100644 index 0000000..6699b19 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/email.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/email instead of modules/core/lib/validations/email ', type: 'DEPRECATION' + assign valid_email = object[field_name] | is_email_valid + unless valid_email + assign key = key | default: "modules/core/validation.email" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/equal.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/equal.liquid new file mode 100644 index 0000000..97284b8 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/equal.liquid @@ -0,0 +1,24 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} +{% liquid + log 'Use modules/core/validations/equal instead of modules/core/lib/validations/equal ', type: 'DEPRECATION' + if given != expected + + if message == blank and key == blank + if not_verbose + assign message = 'modules/core/validation.equal_not_verbose' | t + else + assign message = 'modules/core/validation.equal' | t: given: given, expected: expected + endif + endif + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: key + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/exist_in_db.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/exist_in_db.liquid new file mode 100644 index 0000000..c86b2fc --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/exist_in_db.liquid @@ -0,0 +1,32 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} +{% liquid + log 'Use modules/core/validations/exist_in_db instead of modules/core/lib/validations/exist_in_db ', type: 'DEPRECATION' + assign property_name = property_name | default: '' + assign property_value = property_value | default: '' + assign scope_name = scope_name | default: '' + assign scope_value = scope_value | default: '' + assign exclude_name = exclude_name | default: '' + assign exclude_value = exclude_value | default: '' + assign key = key | default: 'modules/core/validation.not_exist' + + graphql r = 'modules/core/records/count', ids: ids, not_ids: not_ids, property_name: property_name, property_value: property_value, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count == 0 + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/hcaptcha.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/hcaptcha.liquid new file mode 100644 index 0000000..7693b5a --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/hcaptcha.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/hcaptcha instead of modules/core/lib/validations/hcaptcha ', type: 'DEPRECATION' + assign hcaptcha_solved = hcaptcha_params | hcaptcha + unless hcaptcha_solved + assign key = key | default: "modules/core/validation.hcaptcha" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/included.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/included.liquid new file mode 100644 index 0000000..85b4d16 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/included.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/included instead of modules/core/lib/validations/included ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + unless array contains value + assign key = key | default: "modules/core/validation.not_included" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} + diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/length.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/length.liquid new file mode 100644 index 0000000..403a064 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/length.liquid @@ -0,0 +1,49 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_blank - Custom error message for blank validation + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/length instead of modules/core/lib/validations/length ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + assign size = value.size + assign is = is | default: null + assign minimum = minimum | default: null + assign maximum = maximum | default: null + + if allow_blank == null + assign allow_blank = true + endif + if allow_blank != true + if size == blank + assign message = message_blank | default: 'modules/core/validation.length.blank' | t + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if minimum != null and size < minimum + assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/matches.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/matches.liquid new file mode 100644 index 0000000..fb47b05 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/matches.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + log 'Use modules/core/validations/matches instead of modules/core/lib/validations/matches ', type: 'DEPRECATION' + if allow_blank and object[field_name] == blank + return c + endif + + assign matches = object[field_name] | matches: regexp + if matches != true + assign message = message | default: 'modules/core/validation.matches' | t + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/not_null.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/not_null.liquid new file mode 100644 index 0000000..23d6bd0 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/not_null.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/not_null instead of modules/core/lib/validations/not_null ', type: 'DEPRECATION' + if object[field_name] == null + assign key = key | default: "modules/core/validation.null" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/number.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/number.liquid new file mode 100644 index 0000000..6a11fe0 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/number.liquid @@ -0,0 +1,70 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} +{% liquid + assign number = number | default: object[field_name] + log 'Use modules/core/validations/number instead of modules/core/lib/validations/number ', type: 'DEPRECATION' +%} +{% capture test1 %}{{ number }}{% endcapture %} +{% capture test2 %}{{ test1 | plus: 0 }}{% endcapture %} +{% liquid + if test1 != test2 + assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + + return c + endif + + assign number = number | plus: 0 + + if lt != null and number >= lt + assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lte == blank + assign lte = 2147483647 + endif + if number > lte + assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gt != null and number <= gt + assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gte != null and number < gte + assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if eq != null and number != eq + assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if ne != null and number == ne + assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/password_complexity.liquid new file mode 100644 index 0000000..04bb51c --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -0,0 +1,31 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process +{% enddoc %} +{% liquid + log 'Use modules/core/validations/password_complexity instead of modules/core/lib/validations/password_complexity ', type: 'DEPRECATION' + assign decoded_pw = object.password + + function complex_password = 'modules/core/lib/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null + if complex_password + assign has_lowercase = decoded_pw | matches: '[a-z]' + unless has_lowercase + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.lowercase', message: null + endunless + + assign has_uppercase = decoded_pw | matches: '[A-Z]' + unless has_uppercase + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.uppercase', message: null + endunless + + assign has_number = decoded_pw | matches: '\d' + unless has_number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.number', message: null + endunless + endif + + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null, is: null, message_blank: null, message_is: null, message_maximum: null + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/presence.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/presence.liquid new file mode 100644 index 0000000..06862bd --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/presence.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/presence instead of modules/core/lib/validations/presence ', type: 'DEPRECATION' + if object[field_name] == blank + assign key = key | default: "modules/core/validation.blank" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/truthy.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/truthy.liquid new file mode 100644 index 0000000..9b2a93e --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/truthy.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/truthy instead of modules/core/lib/validations/truthy ', type: 'DEPRECATION' + unless object[field_name] + assign key = key | default: "modules/core/validation.not_truthy" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/unique_elements.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/unique_elements.liquid new file mode 100644 index 0000000..f052483 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/unique_elements.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/unique_elements instead of modules/core/lib/validations/unique_elements ', type: 'DEPRECATION' + assign unique_count = object[field_name] | uniq | size + + if unique_count != object[field_name].size + assign key = key | default: 'modules/core/validation.array.not_unique' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/uniqueness.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/uniqueness.liquid new file mode 100644 index 0000000..66d62c7 --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/uniqueness.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} +{% liquid + log 'Use modules/core/validations/uniqueness instead of modules/core/lib/validations/uniqueness ', type: 'DEPRECATION' + assign key = key | default: 'modules/core/validation.taken' + assign value = object[field_name] + if value != blank + if object.id != blank + assign not_ids = object.id | split: ',' + endif + if scope_name + assign scope_value = object[scope_name] + else + assign scope_name = '' + endif + + if exclude_name + assign exclude_value = object[exclude_name] + else + assign exclude_name = '' + endif + + graphql r = 'modules/core/records/count', property_name: field_name, property_value: value, not_ids: not_ids, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count > 0 + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + endif + return c +%} diff --git a/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/valid_object.liquid new file mode 100644 index 0000000..690addf --- /dev/null +++ b/pos-module-oauth-github/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/valid_object instead of modules/core/lib/validations/valid_object ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + if value + function check_object = check_function, object: value + if check_object.valid != true + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null + assign errors_key = field_name | append: '_errors' + assign c.errors[errors_key] = check_object.errors + endif + endif + + return c +%} diff --git a/pos-module-oauth-github/modules/core/template-values.json b/pos-module-oauth-github/modules/core/template-values.json new file mode 100644 index 0000000..d386e90 --- /dev/null +++ b/pos-module-oauth-github/modules/core/template-values.json @@ -0,0 +1,7 @@ +{ + "name": "Pos Module Core", + "machine_name": "core", + "type": "module", + "version": "2.1.5", + "dependencies": {} +} diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid index a7079b8..f8ecdc8 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_token/check.liquid @@ -1,10 +1,13 @@ +{% doc %} + @param {object} object - The object to validate +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret' +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid index 7f08c2e..dfda33e 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_email/check.liquid @@ -1,8 +1,11 @@ +{% doc %} + @param {object} object - The object to validate +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid index 7f08c2e..dfda33e 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/commands/get_user_info/check.liquid @@ -1,8 +1,11 @@ +{% doc %} + @param {object} object - The object to validate +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid index f2076ee..32cfeb2 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_redirect_url.liquid @@ -1,4 +1,8 @@ -{% liquid +{% doc %} + @param {object} provider - The OAuth provider configuration + @param {string} state - The OAuth state parameter +{% enddoc %} +{% liquid assign data = { "scope": "user:email", "client_id": provider.client_id, "state": state } assign querified_data = data | querify diff --git a/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid b/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid index cebd8a7..47222e1 100644 --- a/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid +++ b/pos-module-oauth-github/modules/oauth_github/public/lib/helpers/get_user_info.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} provider - The OAuth provider configuration +{% enddoc %} {% liquid # fetch token and get user data assign get_token_request = { "client_id": provider.client_id, "client_secret": provider.secret_value, "code": context.params.code } diff --git a/pos-module-user/a.txt b/pos-module-user/a.txt new file mode 100644 index 0000000..589af2f --- /dev/null +++ b/pos-module-user/a.txt @@ -0,0 +1,20958 @@ +[ + { + "type": "LiquidHtml", + "check": "VariableName", + "message": "The variable 'imageSrc' uses wrong naming format", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 170, + "line": 4, + "character": 9 + }, + "end": { + "index": 216, + "line": 4, + "character": 55 + }, + "suggest": [ + { + "message": "Change variable 'imageSrc' to 'image_src'" + } + ] + }, + { + "type": "YAML", + "check": "ValidHTMLTranslation", + "message": "LiquidHTMLParsingError: Attempting to close HtmlElement 'a' before it was opened.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/2fa.yml", + "severity": 1, + "start": { + "index": 389, + "line": 12, + "character": 16 + }, + "end": { + "index": 621, + "line": 16, + "character": 0 + } + }, + { + "type": "LiquidHtml", + "check": "UnusedAssign", + "message": "The variable 'removed' is assigned but not used", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid", + "severity": 1, + "start": { + "index": 341, + "line": 15, + "character": 4 + }, + "end": { + "index": 396, + "line": 15, + "character": 59 + }, + "suggest": [ + { + "message": "Remove the unused variable 'removed'" + } + ] + }, + { + "type": "LiquidHtml", + "check": "UnusedAssign", + "message": "The variable 'data' is assigned but not used", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 1326, + "line": 35, + "character": 2 + }, + "end": { + "index": 1430, + "line": 35, + "character": 106 + }, + "suggest": [ + { + "message": "Remove the unused variable 'data'" + } + ] + }, + { + "type": "LiquidHtml", + "check": "MissingPartial", + "message": "'modules/community/components/molecules/profile-follow-button' does not exist", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 0, + "start": { + "index": 930, + "line": 30, + "character": 28 + }, + "end": { + "index": 992, + "line": 30, + "character": 90 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/new.liquid", + "severity": 1, + "start": { + "index": 83, + "line": 3, + "character": 2 + }, + "end": { + "index": 90, + "line": 3, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/create.liquid", + "severity": 1, + "start": { + "index": 116, + "line": 7, + "character": 2 + }, + "end": { + "index": 123, + "line": 7, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/new.liquid", + "severity": 1, + "start": { + "index": 83, + "line": 3, + "character": 2 + }, + "end": { + "index": 90, + "line": 3, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid", + "severity": 1, + "start": { + "index": 119, + "line": 7, + "character": 2 + }, + "end": { + "index": 126, + "line": 7, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/create.liquid", + "severity": 1, + "start": { + "index": 117, + "line": 7, + "character": 2 + }, + "end": { + "index": 124, + "line": 7, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/pages/profile/update.liquid", + "severity": 1, + "start": { + "index": 173, + "line": 7, + "character": 4 + }, + "end": { + "index": 180, + "line": 7, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/pages/profile/index.liquid", + "severity": 1, + "start": { + "index": 131, + "line": 3, + "character": 4 + }, + "end": { + "index": 138, + "line": 3, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/pages/subscription/index.liquid", + "severity": 1, + "start": { + "index": 125, + "line": 3, + "character": 2 + }, + "end": { + "index": 132, + "line": 3, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/pages/admin/index.liquid", + "severity": 1, + "start": { + "index": 125, + "line": 3, + "character": 2 + }, + "end": { + "index": 132, + "line": 3, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid", + "severity": 1, + "start": { + "index": 137, + "line": 6, + "character": 4 + }, + "end": { + "index": 144, + "line": 6, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid", + "severity": 1, + "start": { + "index": 208, + "line": 6, + "character": 7 + }, + "end": { + "index": 215, + "line": 6, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid", + "severity": 1, + "start": { + "index": 248, + "line": 6, + "character": 7 + }, + "end": { + "index": 255, + "line": 6, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/email/update.liquid", + "severity": 1, + "start": { + "index": 160, + "line": 7, + "character": 4 + }, + "end": { + "index": 167, + "line": 7, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid", + "severity": 1, + "start": { + "index": 117, + "line": 3, + "character": 4 + }, + "end": { + "index": 124, + "line": 3, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid", + "severity": 1, + "start": { + "index": 191, + "line": 9, + "character": 2 + }, + "end": { + "index": 198, + "line": 9, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid", + "severity": 1, + "start": { + "index": 232, + "line": 7, + "character": 4 + }, + "end": { + "index": 239, + "line": 7, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid", + "severity": 1, + "start": { + "index": 248, + "line": 7, + "character": 4 + }, + "end": { + "index": 255, + "line": 7, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "severity": 1, + "start": { + "index": 322, + "line": 10, + "character": 4 + }, + "end": { + "index": 329, + "line": 10, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 1200, + "line": 23, + "character": 6 + }, + "end": { + "index": 1207, + "line": 23, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/create.liquid", + "severity": 1, + "start": { + "index": 662, + "line": 12, + "character": 4 + }, + "end": { + "index": 669, + "line": 12, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/create.liquid", + "severity": 1, + "start": { + "index": 544, + "line": 12, + "character": 4 + }, + "end": { + "index": 551, + "line": 12, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid", + "severity": 1, + "start": { + "index": 397, + "line": 12, + "character": 6 + }, + "end": { + "index": 404, + "line": 12, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid", + "severity": 1, + "start": { + "index": 478, + "line": 16, + "character": 4 + }, + "end": { + "index": 485, + "line": 16, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 1347, + "line": 27, + "character": 8 + }, + "end": { + "index": 1354, + "line": 27, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid", + "severity": 1, + "start": { + "index": 628, + "line": 15, + "character": 6 + }, + "end": { + "index": 635, + "line": 15, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "severity": 1, + "start": { + "index": 671, + "line": 19, + "character": 4 + }, + "end": { + "index": 678, + "line": 19, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid", + "severity": 1, + "start": { + "index": 625, + "line": 18, + "character": 4 + }, + "end": { + "index": 632, + "line": 18, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid", + "severity": 1, + "start": { + "index": 617, + "line": 18, + "character": 4 + }, + "end": { + "index": 624, + "line": 18, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid", + "severity": 1, + "start": { + "index": 814, + "line": 22, + "character": 6 + }, + "end": { + "index": 821, + "line": 22, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "severity": 1, + "start": { + "index": 774, + "line": 21, + "character": 2 + }, + "end": { + "index": 781, + "line": 21, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/email/update.liquid", + "severity": 1, + "start": { + "index": 1238, + "line": 27, + "character": 4 + }, + "end": { + "index": 1245, + "line": 27, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "severity": 1, + "start": { + "index": 1006, + "line": 28, + "character": 6 + }, + "end": { + "index": 1013, + "line": 28, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 938, + "line": 25, + "character": 6 + }, + "end": { + "index": 945, + "line": 25, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "severity": 1, + "start": { + "index": 1425, + "line": 38, + "character": 4 + }, + "end": { + "index": 1432, + "line": 38, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 1576, + "line": 39, + "character": 2 + }, + "end": { + "index": 1583, + "line": 39, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "severity": 1, + "start": { + "index": 2057, + "line": 54, + "character": 6 + }, + "end": { + "index": 2064, + "line": 54, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "severity": 1, + "start": { + "index": 2655, + "line": 67, + "character": 6 + }, + "end": { + "index": 2662, + "line": 67, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "severity": 1, + "start": { + "index": 3250, + "line": 81, + "character": 4 + }, + "end": { + "index": 3257, + "line": 81, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "DeprecatedTag", + "message": "Deprecated tag 'include': Deprecated because the way that variables are handled reduces performance and makes code harder to both read and maintain.\n\nThe `include` tag has been replaced by [`render`](/docs/api/liquid/tags/render).", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "severity": 1, + "start": { + "index": 3348, + "line": 83, + "character": 4 + }, + "end": { + "index": 3355, + "line": 83, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/show.liquid", + "severity": 1, + "start": { + "index": 103, + "line": 2, + "character": 51 + }, + "end": { + "index": 108, + "line": 2, + "character": 56 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'content' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/tip.liquid", + "severity": 1, + "start": { + "index": 939, + "line": 4, + "character": 14 + }, + "end": { + "index": 946, + "line": 4, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'reset' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/init.liquid", + "severity": 1, + "start": { + "index": 6, + "line": 0, + "character": 6 + }, + "end": { + "index": 11, + "line": 0, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/error_input_handler.liquid", + "severity": 1, + "start": { + "index": 68, + "line": 1, + "character": 52 + }, + "end": { + "index": 72, + "line": 1, + "character": 56 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/error_input_handler.liquid", + "severity": 1, + "start": { + "index": 6, + "line": 0, + "character": 6 + }, + "end": { + "index": 12, + "line": 0, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/verify.liquid", + "severity": 1, + "start": { + "index": 350, + "line": 7, + "character": 53 + }, + "end": { + "index": 362, + "line": 7, + "character": 65 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/verify.liquid", + "severity": 1, + "start": { + "index": 424, + "line": 8, + "character": 56 + }, + "end": { + "index": 439, + "line": 8, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/verify.liquid", + "severity": 1, + "start": { + "index": 847, + "line": 18, + "character": 83 + }, + "end": { + "index": 869, + "line": 18, + "character": 105 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/disable.liquid", + "severity": 1, + "start": { + "index": 648, + "line": 12, + "character": 87 + }, + "end": { + "index": 663, + "line": 12, + "character": 102 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/disable.liquid", + "severity": 1, + "start": { + "index": 1128, + "line": 21, + "character": 87 + }, + "end": { + "index": 1143, + "line": 21, + "character": 102 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'mail' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid", + "severity": 1, + "start": { + "index": 73, + "line": 2, + "character": 16 + }, + "end": { + "index": 93, + "line": 2, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'mail' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid", + "severity": 1, + "start": { + "index": 113, + "line": 3, + "character": 11 + }, + "end": { + "index": 128, + "line": 3, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'mail' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid", + "severity": 1, + "start": { + "index": 165, + "line": 4, + "character": 16 + }, + "end": { + "index": 180, + "line": 4, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'mail' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid", + "severity": 1, + "start": { + "index": 223, + "line": 7, + "character": 9 + }, + "end": { + "index": 235, + "line": 7, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/hook/search.liquid", + "severity": 1, + "start": { + "index": 252, + "line": 8, + "character": 62 + }, + "end": { + "index": 256, + "line": 8, + "character": 66 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create/build.liquid", + "severity": 1, + "start": { + "index": 41, + "line": 2, + "character": 13 + }, + "end": { + "index": 43, + "line": 2, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid", + "severity": 1, + "start": { + "index": 33, + "line": 1, + "character": 23 + }, + "end": { + "index": 42, + "line": 1, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid", + "severity": 1, + "start": { + "index": 35, + "line": 1, + "character": 25 + }, + "end": { + "index": 37, + "line": 1, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'users' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/partials/admin/home/index.liquid", + "severity": 1, + "start": { + "index": 578, + "line": 13, + "character": 23 + }, + "end": { + "index": 591, + "line": 13, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'tests' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/index.liquid", + "severity": 1, + "start": { + "index": 252, + "line": 10, + "character": 17 + }, + "end": { + "index": 257, + "line": 10, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'limit' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/queries/sent_mails/search.liquid", + "severity": 1, + "start": { + "index": 66, + "line": 1, + "character": 56 + }, + "end": { + "index": 71, + "line": 1, + "character": 61 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'page' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/queries/sent_mails/search.liquid", + "severity": 1, + "start": { + "index": 79, + "line": 1, + "character": 69 + }, + "end": { + "index": 83, + "line": 1, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'events' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/list.liquid", + "severity": 1, + "start": { + "index": 78, + "line": 2, + "character": 5 + }, + "end": { + "index": 97, + "line": 2, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'events' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/list.liquid", + "severity": 1, + "start": { + "index": 106, + "line": 2, + "character": 33 + }, + "end": { + "index": 126, + "line": 2, + "character": 53 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'events' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/list.liquid", + "severity": 1, + "start": { + "index": 148, + "line": 3, + "character": 18 + }, + "end": { + "index": 162, + "line": 3, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/variable/set.liquid", + "severity": 1, + "start": { + "index": 151, + "line": 6, + "character": 54 + }, + "end": { + "index": 155, + "line": 6, + "character": 58 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/variable/set.liquid", + "severity": 1, + "start": { + "index": 164, + "line": 6, + "character": 67 + }, + "end": { + "index": 169, + "line": 6, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/error_list.liquid", + "severity": 1, + "start": { + "index": 74, + "line": 2, + "character": 20 + }, + "end": { + "index": 80, + "line": 2, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/error_list.liquid", + "severity": 1, + "start": { + "index": 38, + "line": 1, + "character": 22 + }, + "end": { + "index": 42, + "line": 1, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/error_list.liquid", + "severity": 1, + "start": { + "index": 6, + "line": 0, + "character": 6 + }, + "end": { + "index": 12, + "line": 0, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/build.liquid", + "severity": 1, + "start": { + "index": 41, + "line": 2, + "character": 13 + }, + "end": { + "index": 48, + "line": 2, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/build.liquid", + "severity": 1, + "start": { + "index": 86, + "line": 3, + "character": 26 + }, + "end": { + "index": 101, + "line": 3, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/hook/search.liquid", + "severity": 1, + "start": { + "index": 366, + "line": 9, + "character": 62 + }, + "end": { + "index": 370, + "line": 9, + "character": 66 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'authenticity_token' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/authenticity_token.liquid", + "severity": 1, + "start": { + "index": 35, + "line": 0, + "character": 35 + }, + "end": { + "index": 53, + "line": 0, + "character": 53 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'token' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/authenticity_token.liquid", + "severity": 1, + "start": { + "index": 18, + "line": 0, + "character": 18 + }, + "end": { + "index": 23, + "line": 0, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/load.liquid", + "severity": 1, + "start": { + "index": 156, + "line": 8, + "character": 44 + }, + "end": { + "index": 158, + "line": 8, + "character": 46 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid", + "severity": 1, + "start": { + "index": 48, + "line": 1, + "character": 38 + }, + "end": { + "index": 60, + "line": 1, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid", + "severity": 1, + "start": { + "index": 69, + "line": 1, + "character": 59 + }, + "end": { + "index": 86, + "line": 1, + "character": 76 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid", + "severity": 1, + "start": { + "index": 95, + "line": 1, + "character": 85 + }, + "end": { + "index": 111, + "line": 1, + "character": 101 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/test_report_text.liquid", + "severity": 1, + "start": { + "index": 22, + "line": 0, + "character": 22 + }, + "end": { + "index": 26, + "line": 0, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/test_report_text.liquid", + "severity": 1, + "start": { + "index": 81, + "line": 2, + "character": 12 + }, + "end": { + "index": 96, + "line": 2, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/registry/get.liquid", + "severity": 1, + "start": { + "index": 129, + "line": 2, + "character": 68 + }, + "end": { + "index": 133, + "line": 2, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/set.liquid", + "severity": 1, + "start": { + "index": 27, + "line": 1, + "character": 17 + }, + "end": { + "index": 32, + "line": 1, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/set.liquid", + "severity": 1, + "start": { + "index": 88, + "line": 2, + "character": 48 + }, + "end": { + "index": 91, + "line": 2, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password/build.liquid", + "severity": 1, + "start": { + "index": 50, + "line": 2, + "character": 22 + }, + "end": { + "index": 55, + "line": 2, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'password' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password/build.liquid", + "severity": 1, + "start": { + "index": 89, + "line": 3, + "character": 22 + }, + "end": { + "index": 97, + "line": 3, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update/build.liquid", + "severity": 1, + "start": { + "index": 41, + "line": 2, + "character": 13 + }, + "end": { + "index": 43, + "line": 2, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update/build.liquid", + "severity": 1, + "start": { + "index": 71, + "line": 3, + "character": 16 + }, + "end": { + "index": 76, + "line": 3, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'password' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update/build.liquid", + "severity": 1, + "start": { + "index": 107, + "line": 4, + "character": 19 + }, + "end": { + "index": 115, + "line": 4, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid", + "severity": 1, + "start": { + "index": 35, + "line": 1, + "character": 25 + }, + "end": { + "index": 50, + "line": 1, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid", + "severity": 1, + "start": { + "index": 61, + "line": 1, + "character": 51 + }, + "end": { + "index": 73, + "line": 1, + "character": 63 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid", + "severity": 1, + "start": { + "index": 87, + "line": 1, + "character": 77 + }, + "end": { + "index": 102, + "line": 1, + "character": 92 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid", + "severity": 1, + "start": { + "index": 134, + "line": 2, + "character": 106 + }, + "end": { + "index": 140, + "line": 2, + "character": 112 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 27, + "line": 1, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/registry/get.liquid", + "severity": 1, + "start": { + "index": 133, + "line": 2, + "character": 72 + }, + "end": { + "index": 137, + "line": 2, + "character": 76 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/variable/set.liquid", + "severity": 1, + "start": { + "index": 269, + "line": 7, + "character": 54 + }, + "end": { + "index": 273, + "line": 7, + "character": 58 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/variable/set.liquid", + "severity": 1, + "start": { + "index": 282, + "line": 7, + "character": 67 + }, + "end": { + "index": 287, + "line": 7, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_updated.liquid", + "severity": 1, + "start": { + "index": 161, + "line": 8, + "character": 66 + }, + "end": { + "index": 166, + "line": 8, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid", + "severity": 1, + "start": { + "index": 161, + "line": 8, + "character": 66 + }, + "end": { + "index": 166, + "line": 8, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_logout.liquid", + "severity": 1, + "start": { + "index": 161, + "line": 8, + "character": 66 + }, + "end": { + "index": 166, + "line": 8, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_deleted.liquid", + "severity": 1, + "start": { + "index": 161, + "line": 8, + "character": 66 + }, + "end": { + "index": 166, + "line": 8, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_created.liquid", + "severity": 1, + "start": { + "index": 161, + "line": 8, + "character": 66 + }, + "end": { + "index": 166, + "line": 8, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/password_created.liquid", + "severity": 1, + "start": { + "index": 161, + "line": 8, + "character": 66 + }, + "end": { + "index": 166, + "line": 8, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid", + "severity": 1, + "start": { + "index": 159, + "line": 8, + "character": 66 + }, + "end": { + "index": 164, + "line": 8, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'otp' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid", + "severity": 1, + "start": { + "index": 623, + "line": 18, + "character": 13 + }, + "end": { + "index": 648, + "line": 18, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'otp' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid", + "severity": 1, + "start": { + "index": 787, + "line": 23, + "character": 19 + }, + "end": { + "index": 797, + "line": 23, + "character": 29 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid", + "severity": 1, + "start": { + "index": 881, + "line": 26, + "character": 57 + }, + "end": { + "index": 893, + "line": 26, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid", + "severity": 1, + "start": { + "index": 1230, + "line": 30, + "character": 89 + }, + "end": { + "index": 1245, + "line": 30, + "character": 104 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid", + "severity": 1, + "start": { + "index": 1610, + "line": 37, + "character": 91 + }, + "end": { + "index": 1625, + "line": 37, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'mails' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/list.liquid", + "severity": 1, + "start": { + "index": 201, + "line": 9, + "character": 19 + }, + "end": { + "index": 214, + "line": 9, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'mails' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/list.liquid", + "severity": 1, + "start": { + "index": 548, + "line": 19, + "character": 63 + }, + "end": { + "index": 553, + "line": 19, + "character": 68 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/queries/sent_mails/find.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 17, + "line": 1, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/queries/sent_mails/find.liquid", + "severity": 1, + "start": { + "index": 106, + "line": 5, + "character": 54 + }, + "end": { + "index": 108, + "line": 5, + "character": 56 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/find.liquid", + "severity": 1, + "start": { + "index": 98, + "line": 7, + "character": 5 + }, + "end": { + "index": 100, + "line": 7, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/find.liquid", + "severity": 1, + "start": { + "index": 186, + "line": 11, + "character": 51 + }, + "end": { + "index": 188, + "line": 11, + "character": 53 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'offset' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_offset.liquid", + "severity": 1, + "start": { + "index": 537, + "line": 17, + "character": 64 + }, + "end": { + "index": 543, + "line": 17, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_name.liquid", + "severity": 1, + "start": { + "index": 509, + "line": 17, + "character": 52 + }, + "end": { + "index": 513, + "line": 17, + "character": 56 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/clear.liquid", + "severity": 1, + "start": { + "index": 98, + "line": 2, + "character": 53 + }, + "end": { + "index": 101, + "line": 2, + "character": 56 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/clear.liquid", + "severity": 1, + "start": { + "index": 31, + "line": 1, + "character": 21 + }, + "end": { + "index": 34, + "line": 1, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid", + "severity": 1, + "start": { + "index": 512, + "line": 21, + "character": 15 + }, + "end": { + "index": 516, + "line": 21, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid", + "severity": 1, + "start": { + "index": 534, + "line": 22, + "character": 13 + }, + "end": { + "index": 536, + "line": 22, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid", + "severity": 1, + "start": { + "index": 586, + "line": 24, + "character": 16 + }, + "end": { + "index": 591, + "line": 24, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'meter' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid", + "severity": 1, + "start": { + "index": 1248, + "line": 38, + "character": 8 + }, + "end": { + "index": 1253, + "line": 38, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'class' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid", + "severity": 1, + "start": { + "index": 361, + "line": 15, + "character": 33 + }, + "end": { + "index": 366, + "line": 15, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid", + "severity": 1, + "start": { + "index": 63, + "line": 1, + "character": 53 + }, + "end": { + "index": 69, + "line": 1, + "character": 59 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create_validate.liquid", + "severity": 1, + "start": { + "index": 85, + "line": 1, + "character": 75 + }, + "end": { + "index": 91, + "line": 1, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/variable/get.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 2, + "character": 61 + }, + "end": { + "index": 126, + "line": 2, + "character": 65 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'default' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/variable/get.liquid", + "severity": 1, + "start": { + "index": 137, + "line": 2, + "character": 76 + }, + "end": { + "index": 144, + "line": 2, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/variable/get.liquid", + "severity": 1, + "start": { + "index": 152, + "line": 2, + "character": 91 + }, + "end": { + "index": 156, + "line": 2, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'uuid' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/events/find.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 19, + "line": 1, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'uuid' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/events/find.liquid", + "severity": 1, + "start": { + "index": 129, + "line": 5, + "character": 75 + }, + "end": { + "index": 133, + "line": 5, + "character": 79 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'title' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/dialog.liquid", + "severity": 1, + "start": { + "index": 424, + "line": 15, + "character": 35 + }, + "end": { + "index": 429, + "line": 15, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'title' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/dialog.liquid", + "severity": 1, + "start": { + "index": 380, + "line": 14, + "character": 10 + }, + "end": { + "index": 385, + "line": 14, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'title' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/dialog.liquid", + "severity": 1, + "start": { + "index": 314, + "line": 13, + "character": 40 + }, + "end": { + "index": 319, + "line": 13, + "character": 45 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'content' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/dialog.liquid", + "severity": 1, + "start": { + "index": 646, + "line": 22, + "character": 11 + }, + "end": { + "index": 653, + "line": 22, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/dialog.liquid", + "severity": 1, + "start": { + "index": 266, + "line": 12, + "character": 34 + }, + "end": { + "index": 268, + "line": 12, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp/build.liquid", + "severity": 1, + "start": { + "index": 44, + "line": 2, + "character": 16 + }, + "end": { + "index": 49, + "line": 2, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid", + "severity": 1, + "start": { + "index": 126, + "line": 2, + "character": 65 + }, + "end": { + "index": 130, + "line": 2, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'default' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid", + "severity": 1, + "start": { + "index": 141, + "line": 2, + "character": 80 + }, + "end": { + "index": 148, + "line": 2, + "character": 87 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid", + "severity": 1, + "start": { + "index": 156, + "line": 2, + "character": 95 + }, + "end": { + "index": 160, + "line": 2, + "character": 99 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'merge_to_object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/search.liquid", + "severity": 1, + "start": { + "index": 229, + "line": 2, + "character": 117 + }, + "end": { + "index": 244, + "line": 2, + "character": 132 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid", + "severity": 1, + "start": { + "index": 234, + "line": 8, + "character": 79 + }, + "end": { + "index": 239, + "line": 8, + "character": 84 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'password' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid", + "severity": 1, + "start": { + "index": 251, + "line": 8, + "character": 96 + }, + "end": { + "index": 259, + "line": 8, + "character": 104 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid", + "severity": 1, + "start": { + "index": 86, + "line": 1, + "character": 75 + }, + "end": { + "index": 92, + "line": 1, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid", + "severity": 1, + "start": { + "index": 101, + "line": 1, + "character": 90 + }, + "end": { + "index": 106, + "line": 1, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid", + "severity": 1, + "start": { + "index": 34, + "line": 1, + "character": 24 + }, + "end": { + "index": 43, + "line": 1, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid", + "severity": 1, + "start": { + "index": 159, + "line": 5, + "character": 33 + }, + "end": { + "index": 180, + "line": 5, + "character": 54 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid", + "severity": 1, + "start": { + "index": 51, + "line": 2, + "character": 5 + }, + "end": { + "index": 72, + "line": 2, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid", + "severity": 1, + "start": { + "index": 57, + "line": 2, + "character": 16 + }, + "end": { + "index": 63, + "line": 2, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid", + "severity": 1, + "start": { + "index": 85, + "line": 3, + "character": 21 + }, + "end": { + "index": 89, + "line": 3, + "character": 25 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'api_template' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/api_call.liquid", + "severity": 1, + "start": { + "index": 264, + "line": 17, + "character": 53 + }, + "end": { + "index": 276, + "line": 17, + "character": 65 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'timeout' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/api_call.liquid", + "severity": 1, + "start": { + "index": 299, + "line": 17, + "character": 88 + }, + "end": { + "index": 306, + "line": 17, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid", + "severity": 1, + "start": { + "index": 186, + "line": 3, + "character": 96 + }, + "end": { + "index": 196, + "line": 3, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid", + "severity": 1, + "start": { + "index": 69, + "line": 2, + "character": 5 + }, + "end": { + "index": 81, + "line": 2, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/filters_proxy.liquid", + "severity": 1, + "start": { + "index": 257, + "line": 3, + "character": 44 + }, + "end": { + "index": 263, + "line": 3, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create_validate_proxy.liquid", + "severity": 1, + "start": { + "index": 266, + "line": 3, + "character": 44 + }, + "end": { + "index": 272, + "line": 3, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create_proxy.liquid", + "severity": 1, + "start": { + "index": 257, + "line": 3, + "character": 44 + }, + "end": { + "index": 263, + "line": 3, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/module/exists.liquid", + "severity": 1, + "start": { + "index": 205, + "line": 7, + "character": 67 + }, + "end": { + "index": 209, + "line": 7, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/module/exists.liquid", + "severity": 1, + "start": { + "index": 266, + "line": 8, + "character": 56 + }, + "end": { + "index": 270, + "line": 8, + "character": 60 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/alert.liquid", + "severity": 1, + "start": { + "index": 195, + "line": 12, + "character": 16 + }, + "end": { + "index": 199, + "line": 12, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'content' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/alert.liquid", + "severity": 1, + "start": { + "index": 699, + "line": 30, + "character": 7 + }, + "end": { + "index": 706, + "line": 30, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid", + "severity": 1, + "start": { + "index": 49, + "line": 2, + "character": 21 + }, + "end": { + "index": 59, + "line": 2, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid", + "severity": 1, + "start": { + "index": 91, + "line": 3, + "character": 20 + }, + "end": { + "index": 100, + "line": 3, + "character": 29 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid", + "severity": 1, + "start": { + "index": 128, + "line": 4, + "character": 16 + }, + "end": { + "index": 133, + "line": 4, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'password' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid", + "severity": 1, + "start": { + "index": 164, + "line": 5, + "character": 19 + }, + "end": { + "index": 172, + "line": 5, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook_params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid", + "severity": 1, + "start": { + "index": 206, + "line": 6, + "character": 22 + }, + "end": { + "index": 217, + "line": 6, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'roles' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid", + "severity": 1, + "start": { + "index": 278, + "line": 10, + "character": 25 + }, + "end": { + "index": 283, + "line": 10, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid", + "severity": 1, + "start": { + "index": 43, + "line": 2, + "character": 15 + }, + "end": { + "index": 47, + "line": 2, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'timestamp' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid", + "severity": 1, + "start": { + "index": 79, + "line": 3, + "character": 20 + }, + "end": { + "index": 88, + "line": 3, + "character": 29 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'reference_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid", + "severity": 1, + "start": { + "index": 150, + "line": 4, + "character": 23 + }, + "end": { + "index": 162, + "line": 4, + "character": 35 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'reference_schema' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid", + "severity": 1, + "start": { + "index": 201, + "line": 5, + "character": 27 + }, + "end": { + "index": 217, + "line": 5, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'payload' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid", + "severity": 1, + "start": { + "index": 247, + "line": 6, + "character": 18 + }, + "end": { + "index": 254, + "line": 6, + "character": 25 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid", + "severity": 1, + "start": { + "index": 289, + "line": 7, + "character": 23 + }, + "end": { + "index": 301, + "line": 7, + "character": 35 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/module/exists.liquid", + "severity": 1, + "start": { + "index": 209, + "line": 7, + "character": 71 + }, + "end": { + "index": 213, + "line": 7, + "character": 75 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/module/exists.liquid", + "severity": 1, + "start": { + "index": 270, + "line": 8, + "character": 56 + }, + "end": { + "index": 274, + "line": 8, + "character": 60 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid", + "severity": 1, + "start": { + "index": 174, + "line": 9, + "character": 66 + }, + "end": { + "index": 179, + "line": 9, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid", + "severity": 1, + "start": { + "index": 270, + "line": 10, + "character": 64 + }, + "end": { + "index": 275, + "line": 10, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid", + "severity": 1, + "start": { + "index": 173, + "line": 9, + "character": 66 + }, + "end": { + "index": 178, + "line": 9, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid", + "severity": 1, + "start": { + "index": 271, + "line": 10, + "character": 66 + }, + "end": { + "index": 276, + "line": 10, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid", + "severity": 1, + "start": { + "index": 173, + "line": 9, + "character": 66 + }, + "end": { + "index": 178, + "line": 9, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid", + "severity": 1, + "start": { + "index": 271, + "line": 10, + "character": 66 + }, + "end": { + "index": 276, + "line": 10, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid", + "severity": 1, + "start": { + "index": 181, + "line": 10, + "character": 66 + }, + "end": { + "index": 186, + "line": 10, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid", + "severity": 1, + "start": { + "index": 277, + "line": 11, + "character": 66 + }, + "end": { + "index": 282, + "line": 11, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid", + "severity": 1, + "start": { + "index": 186, + "line": 9, + "character": 66 + }, + "end": { + "index": 191, + "line": 9, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid", + "severity": 1, + "start": { + "index": 282, + "line": 10, + "character": 66 + }, + "end": { + "index": 287, + "line": 10, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/presence.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/presence.liquid", + "severity": 1, + "start": { + "index": 193, + "line": 3, + "character": 96 + }, + "end": { + "index": 203, + "line": 3, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/presence.liquid", + "severity": 1, + "start": { + "index": 69, + "line": 2, + "character": 5 + }, + "end": { + "index": 87, + "line": 2, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/presence.liquid", + "severity": 1, + "start": { + "index": 76, + "line": 2, + "character": 12 + }, + "end": { + "index": 86, + "line": 2, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid", + "severity": 1, + "start": { + "index": 193, + "line": 3, + "character": 96 + }, + "end": { + "index": 203, + "line": 3, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid", + "severity": 1, + "start": { + "index": 69, + "line": 2, + "character": 5 + }, + "end": { + "index": 87, + "line": 2, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid", + "severity": 1, + "start": { + "index": 76, + "line": 2, + "character": 12 + }, + "end": { + "index": 86, + "line": 2, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid", + "severity": 1, + "start": { + "index": 178, + "line": 3, + "character": 96 + }, + "end": { + "index": 188, + "line": 3, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid", + "severity": 1, + "start": { + "index": 199, + "line": 3, + "character": 117 + }, + "end": { + "index": 212, + "line": 3, + "character": 130 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid", + "severity": 1, + "start": { + "index": 69, + "line": 2, + "character": 5 + }, + "end": { + "index": 81, + "line": 2, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/blank.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/blank.liquid", + "severity": 1, + "start": { + "index": 197, + "line": 3, + "character": 96 + }, + "end": { + "index": 207, + "line": 3, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/blank.liquid", + "severity": 1, + "start": { + "index": 73, + "line": 2, + "character": 9 + }, + "end": { + "index": 91, + "line": 2, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/blank.liquid", + "severity": 1, + "start": { + "index": 80, + "line": 2, + "character": 16 + }, + "end": { + "index": 90, + "line": 2, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update_proxy.liquid", + "severity": 1, + "start": { + "index": 257, + "line": 3, + "character": 44 + }, + "end": { + "index": 263, + "line": 3, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'profile' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update_proxy.liquid", + "severity": 1, + "start": { + "index": 274, + "line": 3, + "character": 61 + }, + "end": { + "index": 281, + "line": 3, + "character": 68 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid", + "severity": 1, + "start": { + "index": 142, + "line": 2, + "character": 26 + }, + "end": { + "index": 146, + "line": 2, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid", + "severity": 1, + "start": { + "index": 253, + "line": 4, + "character": 60 + }, + "end": { + "index": 269, + "line": 4, + "character": 76 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid", + "severity": 1, + "start": { + "index": 49, + "line": 1, + "character": 30 + }, + "end": { + "index": 65, + "line": 1, + "character": 46 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid", + "severity": 1, + "start": { + "index": 404, + "line": 9, + "character": 16 + }, + "end": { + "index": 419, + "line": 9, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid", + "severity": 1, + "start": { + "index": 67, + "line": 1, + "character": 57 + }, + "end": { + "index": 73, + "line": 1, + "character": 63 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 165, + "line": 9, + "character": 17 + }, + "end": { + "index": 168, + "line": 9, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 283, + "line": 10, + "character": 66 + }, + "end": { + "index": 284, + "line": 10, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 298, + "line": 10, + "character": 81 + }, + "end": { + "index": 308, + "line": 10, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 129, + "line": 8, + "character": 9 + }, + "end": { + "index": 147, + "line": 8, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 136, + "line": 8, + "character": 16 + }, + "end": { + "index": 146, + "line": 8, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 170, + "line": 9, + "character": 17 + }, + "end": { + "index": 173, + "line": 9, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 283, + "line": 10, + "character": 66 + }, + "end": { + "index": 284, + "line": 10, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 298, + "line": 10, + "character": 81 + }, + "end": { + "index": 308, + "line": 10, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 125, + "line": 8, + "character": 5 + }, + "end": { + "index": 143, + "line": 8, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 132, + "line": 8, + "character": 12 + }, + "end": { + "index": 142, + "line": 8, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 169, + "line": 9, + "character": 17 + }, + "end": { + "index": 172, + "line": 9, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 281, + "line": 10, + "character": 66 + }, + "end": { + "index": 282, + "line": 10, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 296, + "line": 10, + "character": 81 + }, + "end": { + "index": 306, + "line": 10, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 125, + "line": 8, + "character": 5 + }, + "end": { + "index": 143, + "line": 8, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 132, + "line": 8, + "character": 12 + }, + "end": { + "index": 142, + "line": 8, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hcaptcha_params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid", + "severity": 1, + "start": { + "index": 125, + "line": 7, + "character": 28 + }, + "end": { + "index": 140, + "line": 7, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid", + "severity": 1, + "start": { + "index": 194, + "line": 9, + "character": 17 + }, + "end": { + "index": 197, + "line": 9, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid", + "severity": 1, + "start": { + "index": 310, + "line": 10, + "character": 66 + }, + "end": { + "index": 311, + "line": 10, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contracts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid", + "severity": 1, + "start": { + "index": 77, + "line": 1, + "character": 56 + }, + "end": { + "index": 86, + "line": 1, + "character": 65 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid", + "severity": 1, + "start": { + "index": 102, + "line": 1, + "character": 81 + }, + "end": { + "index": 114, + "line": 1, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_duration' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid", + "severity": 1, + "start": { + "index": 132, + "line": 1, + "character": 111 + }, + "end": { + "index": 146, + "line": 1, + "character": 125 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'test_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid", + "severity": 1, + "start": { + "index": 159, + "line": 1, + "character": 138 + }, + "end": { + "index": 168, + "line": 1, + "character": 147 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'test_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid", + "severity": 1, + "start": { + "index": 219, + "line": 4, + "character": 20 + }, + "end": { + "index": 228, + "line": 4, + "character": 29 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'page' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/events/search.liquid", + "severity": 1, + "start": { + "index": 26, + "line": 1, + "character": 16 + }, + "end": { + "index": 30, + "line": 1, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'uuids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/events/search.liquid", + "severity": 1, + "start": { + "index": 73, + "line": 2, + "character": 17 + }, + "end": { + "index": 78, + "line": 2, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'limit' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/events/search.liquid", + "severity": 1, + "start": { + "index": 147, + "line": 4, + "character": 51 + }, + "end": { + "index": 152, + "line": 4, + "character": 56 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/pages/profile/update.liquid", + "severity": 1, + "start": { + "index": 488, + "line": 10, + "character": 71 + }, + "end": { + "index": 494, + "line": 10, + "character": 77 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid", + "severity": 1, + "start": { + "index": 618, + "line": 15, + "character": 59 + }, + "end": { + "index": 627, + "line": 15, + "character": 68 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'entity' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid", + "severity": 1, + "start": { + "index": 637, + "line": 15, + "character": 78 + }, + "end": { + "index": 643, + "line": 15, + "character": 84 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'do' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid", + "severity": 1, + "start": { + "index": 649, + "line": 15, + "character": 90 + }, + "end": { + "index": 651, + "line": 15, + "character": 92 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'access_callback' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid", + "severity": 1, + "start": { + "index": 670, + "line": 15, + "character": 111 + }, + "end": { + "index": 685, + "line": 15, + "character": 126 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'return_url' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid", + "severity": 1, + "start": { + "index": 723, + "line": 17, + "character": 24 + }, + "end": { + "index": 733, + "line": 17, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid", + "severity": 1, + "start": { + "index": 141, + "line": 3, + "character": 51 + }, + "end": { + "index": 154, + "line": 3, + "character": 64 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid", + "severity": 1, + "start": { + "index": 251, + "line": 4, + "character": 96 + }, + "end": { + "index": 261, + "line": 4, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid", + "severity": 1, + "start": { + "index": 69, + "line": 2, + "character": 5 + }, + "end": { + "index": 81, + "line": 2, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/is_url.liquid", + "severity": 1, + "start": { + "index": 119, + "line": 7, + "character": 15 + }, + "end": { + "index": 122, + "line": 7, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'url' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/is_url.liquid", + "severity": 1, + "start": { + "index": 186, + "line": 8, + "character": 18 + }, + "end": { + "index": 189, + "line": 8, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/is_url.liquid", + "severity": 1, + "start": { + "index": 308, + "line": 11, + "character": 66 + }, + "end": { + "index": 309, + "line": 11, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/is_url.liquid", + "severity": 1, + "start": { + "index": 323, + "line": 11, + "character": 81 + }, + "end": { + "index": 333, + "line": 11, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid", + "severity": 1, + "start": { + "index": 145, + "line": 9, + "character": 38 + }, + "end": { + "index": 159, + "line": 9, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid", + "severity": 1, + "start": { + "index": 196, + "line": 10, + "character": 36 + }, + "end": { + "index": 209, + "line": 10, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid", + "severity": 1, + "start": { + "index": 178, + "line": 10, + "character": 18 + }, + "end": { + "index": 184, + "line": 10, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'values' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid", + "severity": 1, + "start": { + "index": 766, + "line": 25, + "character": 90 + }, + "end": { + "index": 778, + "line": 25, + "character": 102 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'limit' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/search.liquid", + "severity": 1, + "start": { + "index": 27, + "line": 1, + "character": 17 + }, + "end": { + "index": 32, + "line": 1, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'page' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/search.liquid", + "severity": 1, + "start": { + "index": 63, + "line": 2, + "character": 16 + }, + "end": { + "index": 67, + "line": 2, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/search.liquid", + "severity": 1, + "start": { + "index": 140, + "line": 4, + "character": 46 + }, + "end": { + "index": 142, + "line": 4, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'not_ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/search.liquid", + "severity": 1, + "start": { + "index": 153, + "line": 4, + "character": 59 + }, + "end": { + "index": 160, + "line": 4, + "character": 66 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/search.liquid", + "severity": 1, + "start": { + "index": 169, + "line": 4, + "character": 75 + }, + "end": { + "index": 174, + "line": 4, + "character": 80 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'sort' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/search.liquid", + "severity": 1, + "start": { + "index": 208, + "line": 4, + "character": 114 + }, + "end": { + "index": 212, + "line": 4, + "character": 118 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid", + "severity": 1, + "start": { + "index": 255, + "line": 3, + "character": 45 + }, + "end": { + "index": 262, + "line": 3, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid", + "severity": 1, + "start": { + "index": 268, + "line": 3, + "character": 58 + }, + "end": { + "index": 270, + "line": 3, + "character": 60 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'uuid' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid", + "severity": 1, + "start": { + "index": 278, + "line": 3, + "character": 68 + }, + "end": { + "index": 282, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'filters' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid", + "severity": 1, + "start": { + "index": 293, + "line": 3, + "character": 83 + }, + "end": { + "index": 300, + "line": 3, + "character": 90 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid", + "severity": 1, + "start": { + "index": 231, + "line": 3, + "character": 24 + }, + "end": { + "index": 242, + "line": 3, + "character": 35 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid", + "severity": 1, + "start": { + "index": 295, + "line": 4, + "character": 27 + }, + "end": { + "index": 309, + "line": 4, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid", + "severity": 1, + "start": { + "index": 351, + "line": 5, + "character": 27 + }, + "end": { + "index": 365, + "line": 5, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid", + "severity": 1, + "start": { + "index": 88, + "line": 1, + "character": 77 + }, + "end": { + "index": 94, + "line": 1, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid", + "severity": 1, + "start": { + "index": 85, + "line": 1, + "character": 75 + }, + "end": { + "index": 91, + "line": 1, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid", + "severity": 1, + "start": { + "index": 167, + "line": 7, + "character": 71 + }, + "end": { + "index": 169, + "line": 7, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/get.liquid", + "severity": 1, + "start": { + "index": 80, + "line": 2, + "character": 35 + }, + "end": { + "index": 83, + "line": 2, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/get.liquid", + "severity": 1, + "start": { + "index": 166, + "line": 4, + "character": 55 + }, + "end": { + "index": 169, + "line": 4, + "character": 58 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'clear' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/get.liquid", + "severity": 1, + "start": { + "index": 105, + "line": 3, + "character": 7 + }, + "end": { + "index": 110, + "line": 3, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/get.liquid", + "severity": 1, + "start": { + "index": 31, + "line": 1, + "character": 21 + }, + "end": { + "index": 34, + "line": 1, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_profile' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/profiles/slugs/build.liquid", + "severity": 1, + "start": { + "index": 48, + "line": 1, + "character": 38 + }, + "end": { + "index": 63, + "line": 1, + "character": 53 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'profile' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/profiles/slugs/build.liquid", + "severity": 1, + "start": { + "index": 29, + "line": 1, + "character": 19 + }, + "end": { + "index": 36, + "line": 1, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid", + "severity": 1, + "start": { + "index": 142, + "line": 4, + "character": 65 + }, + "end": { + "index": 148, + "line": 4, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid", + "severity": 1, + "start": { + "index": 61, + "line": 3, + "character": 5 + }, + "end": { + "index": 76, + "line": 3, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 278, + "line": 10, + "character": 17 + }, + "end": { + "index": 281, + "line": 10, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 400, + "line": 11, + "character": 70 + }, + "end": { + "index": 401, + "line": 11, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 415, + "line": 11, + "character": 85 + }, + "end": { + "index": 425, + "line": 11, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 242, + "line": 9, + "character": 9 + }, + "end": { + "index": 260, + "line": 9, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid", + "severity": 1, + "start": { + "index": 249, + "line": 9, + "character": 16 + }, + "end": { + "index": 259, + "line": 9, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 287, + "line": 10, + "character": 17 + }, + "end": { + "index": 290, + "line": 10, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 404, + "line": 11, + "character": 70 + }, + "end": { + "index": 405, + "line": 11, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 419, + "line": 11, + "character": 85 + }, + "end": { + "index": 429, + "line": 11, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 242, + "line": 9, + "character": 5 + }, + "end": { + "index": 260, + "line": 9, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid", + "severity": 1, + "start": { + "index": 249, + "line": 9, + "character": 12 + }, + "end": { + "index": 259, + "line": 9, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 286, + "line": 10, + "character": 17 + }, + "end": { + "index": 289, + "line": 10, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 402, + "line": 11, + "character": 70 + }, + "end": { + "index": 403, + "line": 11, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 417, + "line": 11, + "character": 85 + }, + "end": { + "index": 427, + "line": 11, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 242, + "line": 9, + "character": 5 + }, + "end": { + "index": 260, + "line": 9, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid", + "severity": 1, + "start": { + "index": 249, + "line": 9, + "character": 12 + }, + "end": { + "index": 259, + "line": 9, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hcaptcha_params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid", + "severity": 1, + "start": { + "index": 242, + "line": 8, + "character": 28 + }, + "end": { + "index": 257, + "line": 8, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid", + "severity": 1, + "start": { + "index": 311, + "line": 10, + "character": 17 + }, + "end": { + "index": 314, + "line": 10, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid", + "severity": 1, + "start": { + "index": 431, + "line": 11, + "character": 70 + }, + "end": { + "index": 432, + "line": 11, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/true.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/true.liquid", + "severity": 1, + "start": { + "index": 99, + "line": 3, + "character": 34 + }, + "end": { + "index": 117, + "line": 3, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/true.liquid", + "severity": 1, + "start": { + "index": 106, + "line": 3, + "character": 41 + }, + "end": { + "index": 116, + "line": 3, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/true.liquid", + "severity": 1, + "start": { + "index": 82, + "line": 3, + "character": 17 + }, + "end": { + "index": 87, + "line": 3, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/true.liquid", + "severity": 1, + "start": { + "index": 229, + "line": 5, + "character": 96 + }, + "end": { + "index": 239, + "line": 5, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid", + "severity": 1, + "start": { + "index": 99, + "line": 3, + "character": 34 + }, + "end": { + "index": 117, + "line": 3, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid", + "severity": 1, + "start": { + "index": 106, + "line": 3, + "character": 41 + }, + "end": { + "index": 116, + "line": 3, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid", + "severity": 1, + "start": { + "index": 82, + "line": 3, + "character": 17 + }, + "end": { + "index": 87, + "line": 3, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid", + "severity": 1, + "start": { + "index": 225, + "line": 5, + "character": 96 + }, + "end": { + "index": 235, + "line": 5, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 143, + "line": 8, + "character": 23 + }, + "end": { + "index": 161, + "line": 8, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 150, + "line": 8, + "character": 30 + }, + "end": { + "index": 160, + "line": 8, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 217, + "line": 10, + "character": 17 + }, + "end": { + "index": 220, + "line": 10, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 330, + "line": 11, + "character": 66 + }, + "end": { + "index": 331, + "line": 11, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 345, + "line": 11, + "character": 81 + }, + "end": { + "index": 355, + "line": 11, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object '_start' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/log_time.liquid", + "severity": 1, + "start": { + "index": 60, + "line": 2, + "character": 17 + }, + "end": { + "index": 66, + "line": 2, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/log_time.liquid", + "severity": 1, + "start": { + "index": 116, + "line": 4, + "character": 21 + }, + "end": { + "index": 120, + "line": 4, + "character": 25 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'env' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/log_time.liquid", + "severity": 1, + "start": { + "index": 127, + "line": 4, + "character": 32 + }, + "end": { + "index": 130, + "line": 4, + "character": 35 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/log_time.liquid", + "severity": 1, + "start": { + "index": 159, + "line": 6, + "character": 21 + }, + "end": { + "index": 163, + "line": 6, + "character": 25 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'env' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/log_time.liquid", + "severity": 1, + "start": { + "index": 91, + "line": 3, + "character": 5 + }, + "end": { + "index": 94, + "line": 3, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/sessions/new.liquid", + "severity": 1, + "start": { + "index": 134, + "line": 9, + "character": 36 + }, + "end": { + "index": 147, + "line": 9, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/sessions/new.liquid", + "severity": 1, + "start": { + "index": 116, + "line": 9, + "character": 18 + }, + "end": { + "index": 122, + "line": 9, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'values' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/sessions/new.liquid", + "severity": 1, + "start": { + "index": 604, + "line": 22, + "character": 69 + }, + "end": { + "index": 616, + "line": 22, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contracts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid", + "severity": 1, + "start": { + "index": 75, + "line": 1, + "character": 54 + }, + "end": { + "index": 84, + "line": 1, + "character": 63 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid", + "severity": 1, + "start": { + "index": 100, + "line": 1, + "character": 79 + }, + "end": { + "index": 112, + "line": 1, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_duration' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid", + "severity": 1, + "start": { + "index": 130, + "line": 1, + "character": 109 + }, + "end": { + "index": 144, + "line": 1, + "character": 123 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'test_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid", + "severity": 1, + "start": { + "index": 157, + "line": 1, + "character": 136 + }, + "end": { + "index": 166, + "line": 1, + "character": 145 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'test_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid", + "severity": 1, + "start": { + "index": 258, + "line": 5, + "character": 20 + }, + "end": { + "index": 267, + "line": 5, + "character": 29 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'valid_for' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid", + "severity": 1, + "start": { + "index": 31, + "line": 1, + "character": 21 + }, + "end": { + "index": 40, + "line": 1, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid", + "severity": 1, + "start": { + "index": 113, + "line": 2, + "character": 59 + }, + "end": { + "index": 118, + "line": 2, + "character": 64 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid", + "severity": 1, + "start": { + "index": 182, + "line": 7, + "character": 15 + }, + "end": { + "index": 187, + "line": 7, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'host' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid", + "severity": 1, + "start": { + "index": 267, + "line": 10, + "character": 15 + }, + "end": { + "index": 271, + "line": 10, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/equal.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'given' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/equal.liquid", + "severity": 1, + "start": { + "index": 146, + "line": 4, + "character": 58 + }, + "end": { + "index": 151, + "line": 4, + "character": 63 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'expected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/equal.liquid", + "severity": 1, + "start": { + "index": 163, + "line": 4, + "character": 75 + }, + "end": { + "index": 171, + "line": 4, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/equal.liquid", + "severity": 1, + "start": { + "index": 268, + "line": 5, + "character": 96 + }, + "end": { + "index": 278, + "line": 5, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'expected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/equal.liquid", + "severity": 1, + "start": { + "index": 79, + "line": 3, + "character": 14 + }, + "end": { + "index": 87, + "line": 3, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'given' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/equal.liquid", + "severity": 1, + "start": { + "index": 70, + "line": 3, + "character": 5 + }, + "end": { + "index": 75, + "line": 3, + "character": 10 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/events/status_created.liquid", + "severity": 1, + "start": { + "index": 225, + "line": 12, + "character": 66 + }, + "end": { + "index": 230, + "line": 12, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/events/status_created.liquid", + "severity": 1, + "start": { + "index": 317, + "line": 13, + "character": 66 + }, + "end": { + "index": 322, + "line": 13, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/events/status_created.liquid", + "severity": 1, + "start": { + "index": 417, + "line": 14, + "character": 66 + }, + "end": { + "index": 422, + "line": 14, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'selection' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/execute.liquid", + "severity": 1, + "start": { + "index": 31, + "line": 1, + "character": 21 + }, + "end": { + "index": 40, + "line": 1, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/execute.liquid", + "severity": 1, + "start": { + "index": 97, + "line": 3, + "character": 35 + }, + "end": { + "index": 103, + "line": 3, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'mutation_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/execute.liquid", + "severity": 1, + "start": { + "index": 76, + "line": 3, + "character": 14 + }, + "end": { + "index": 89, + "line": 3, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/new.liquid", + "severity": 1, + "start": { + "index": 128, + "line": 8, + "character": 38 + }, + "end": { + "index": 142, + "line": 8, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/new.liquid", + "severity": 1, + "start": { + "index": 179, + "line": 9, + "character": 36 + }, + "end": { + "index": 192, + "line": 9, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/new.liquid", + "severity": 1, + "start": { + "index": 161, + "line": 9, + "character": 18 + }, + "end": { + "index": 167, + "line": 9, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'page' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "severity": 1, + "start": { + "index": 481, + "line": 18, + "character": 16 + }, + "end": { + "index": 485, + "line": 18, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'limit' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "severity": 1, + "start": { + "index": 528, + "line": 19, + "character": 17 + }, + "end": { + "index": 533, + "line": 19, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "severity": 1, + "start": { + "index": 625, + "line": 21, + "character": 76 + }, + "end": { + "index": 627, + "line": 21, + "character": 78 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "severity": 1, + "start": { + "index": 635, + "line": 21, + "character": 86 + }, + "end": { + "index": 639, + "line": 21, + "character": 90 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'reference_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "severity": 1, + "start": { + "index": 655, + "line": 21, + "character": 106 + }, + "end": { + "index": 667, + "line": 21, + "character": 118 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "severity": 1, + "start": { + "index": 683, + "line": 21, + "character": 134 + }, + "end": { + "index": 695, + "line": 21, + "character": 146 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'reference_schema' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "severity": 1, + "start": { + "index": 715, + "line": 21, + "character": 166 + }, + "end": { + "index": 731, + "line": 21, + "character": 182 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'timestamp' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "severity": 1, + "start": { + "index": 744, + "line": 21, + "character": 195 + }, + "end": { + "index": 753, + "line": 21, + "character": 204 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid", + "severity": 1, + "start": { + "index": 96, + "line": 1, + "character": 86 + }, + "end": { + "index": 102, + "line": 1, + "character": 92 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid", + "severity": 1, + "start": { + "index": 161, + "line": 2, + "character": 58 + }, + "end": { + "index": 177, + "line": 2, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid", + "severity": 1, + "start": { + "index": 119, + "line": 2, + "character": 16 + }, + "end": { + "index": 136, + "line": 2, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'profile' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid", + "severity": 1, + "start": { + "index": 201, + "line": 3, + "character": 23 + }, + "end": { + "index": 211, + "line": 3, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid", + "severity": 1, + "start": { + "index": 227, + "line": 3, + "character": 49 + }, + "end": { + "index": 244, + "line": 3, + "character": 66 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid", + "severity": 1, + "start": { + "index": 259, + "line": 3, + "character": 81 + }, + "end": { + "index": 275, + "line": 3, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'profile' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid", + "severity": 1, + "start": { + "index": 329, + "line": 3, + "character": 151 + }, + "end": { + "index": 342, + "line": 3, + "character": 164 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid", + "severity": 1, + "start": { + "index": 213, + "line": 4, + "character": 66 + }, + "end": { + "index": 219, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 254, + "line": 9, + "character": 23 + }, + "end": { + "index": 272, + "line": 9, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 261, + "line": 9, + "character": 30 + }, + "end": { + "index": 271, + "line": 9, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 328, + "line": 11, + "character": 17 + }, + "end": { + "index": 331, + "line": 11, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 445, + "line": 12, + "character": 70 + }, + "end": { + "index": 446, + "line": 12, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid", + "severity": 1, + "start": { + "index": 460, + "line": 12, + "character": 85 + }, + "end": { + "index": 470, + "line": 12, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid", + "severity": 1, + "start": { + "index": 213, + "line": 4, + "character": 66 + }, + "end": { + "index": 219, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid", + "severity": 1, + "start": { + "index": 213, + "line": 4, + "character": 66 + }, + "end": { + "index": 219, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 171, + "line": 10, + "character": 24 + }, + "end": { + "index": 189, + "line": 10, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 178, + "line": 10, + "character": 31 + }, + "end": { + "index": 188, + "line": 10, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 267, + "line": 13, + "character": 17 + }, + "end": { + "index": 270, + "line": 13, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 391, + "line": 14, + "character": 66 + }, + "end": { + "index": 392, + "line": 14, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 406, + "line": 14, + "character": 81 + }, + "end": { + "index": 416, + "line": 14, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 226, + "line": 12, + "character": 21 + }, + "end": { + "index": 249, + "line": 12, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 233, + "line": 12, + "character": 28 + }, + "end": { + "index": 243, + "line": 12, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 171, + "line": 9, + "character": 34 + }, + "end": { + "index": 189, + "line": 9, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 178, + "line": 9, + "character": 41 + }, + "end": { + "index": 188, + "line": 9, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 154, + "line": 9, + "character": 17 + }, + "end": { + "index": 159, + "line": 9, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 237, + "line": 11, + "character": 17 + }, + "end": { + "index": 240, + "line": 11, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 357, + "line": 12, + "character": 66 + }, + "end": { + "index": 358, + "line": 12, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 372, + "line": 12, + "character": 81 + }, + "end": { + "index": 382, + "line": 12, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'array' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 199, + "line": 10, + "character": 9 + }, + "end": { + "index": 204, + "line": 10, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'payload' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid", + "severity": 1, + "start": { + "index": 62, + "line": 2, + "character": 14 + }, + "end": { + "index": 69, + "line": 2, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'payload' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid", + "severity": 1, + "start": { + "index": 291, + "line": 7, + "character": 74 + }, + "end": { + "index": 298, + "line": 7, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/find.liquid", + "severity": 1, + "start": { + "index": 24, + "line": 1, + "character": 14 + }, + "end": { + "index": 26, + "line": 1, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/find.liquid", + "severity": 1, + "start": { + "index": 44, + "line": 2, + "character": 17 + }, + "end": { + "index": 49, + "line": 2, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'with_token' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/find.liquid", + "severity": 1, + "start": { + "index": 72, + "line": 3, + "character": 22 + }, + "end": { + "index": 82, + "line": 3, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid", + "severity": 1, + "start": { + "index": 87, + "line": 1, + "character": 77 + }, + "end": { + "index": 93, + "line": 1, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid", + "severity": 1, + "start": { + "index": 109, + "line": 1, + "character": 99 + }, + "end": { + "index": 121, + "line": 1, + "character": 111 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid", + "severity": 1, + "start": { + "index": 221, + "line": 2, + "character": 99 + }, + "end": { + "index": 233, + "line": 2, + "character": 111 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid", + "severity": 1, + "start": { + "index": 238, + "line": 2, + "character": 116 + }, + "end": { + "index": 239, + "line": 2, + "character": 117 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid", + "severity": 1, + "start": { + "index": 85, + "line": 1, + "character": 75 + }, + "end": { + "index": 91, + "line": 1, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid", + "severity": 1, + "start": { + "index": 51, + "line": 1, + "character": 41 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'roles' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid", + "severity": 1, + "start": { + "index": 64, + "line": 1, + "character": 54 + }, + "end": { + "index": 69, + "line": 1, + "character": 59 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid", + "severity": 1, + "start": { + "index": 261, + "line": 5, + "character": 42 + }, + "end": { + "index": 263, + "line": 5, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'roles' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid", + "severity": 1, + "start": { + "index": 274, + "line": 5, + "character": 55 + }, + "end": { + "index": 279, + "line": 5, + "character": 60 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid", + "severity": 1, + "start": { + "index": 51, + "line": 1, + "character": 41 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'role' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid", + "severity": 1, + "start": { + "index": 63, + "line": 1, + "character": 53 + }, + "end": { + "index": 67, + "line": 1, + "character": 57 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid", + "severity": 1, + "start": { + "index": 262, + "line": 5, + "character": 42 + }, + "end": { + "index": 264, + "line": 5, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'role' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid", + "severity": 1, + "start": { + "index": 274, + "line": 5, + "character": 54 + }, + "end": { + "index": 278, + "line": 5, + "character": 58 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid", + "severity": 1, + "start": { + "index": 51, + "line": 1, + "character": 41 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'role' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid", + "severity": 1, + "start": { + "index": 63, + "line": 1, + "character": 53 + }, + "end": { + "index": 67, + "line": 1, + "character": 57 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid", + "severity": 1, + "start": { + "index": 262, + "line": 5, + "character": 42 + }, + "end": { + "index": 264, + "line": 5, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'role' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid", + "severity": 1, + "start": { + "index": 274, + "line": 5, + "character": 54 + }, + "end": { + "index": 278, + "line": 5, + "character": 58 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid", + "severity": 1, + "start": { + "index": 85, + "line": 1, + "character": 75 + }, + "end": { + "index": 91, + "line": 1, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'profile' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid", + "severity": 1, + "start": { + "index": 102, + "line": 1, + "character": 92 + }, + "end": { + "index": 109, + "line": 1, + "character": 99 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 301, + "line": 10, + "character": 24 + }, + "end": { + "index": 319, + "line": 10, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 308, + "line": 10, + "character": 31 + }, + "end": { + "index": 318, + "line": 10, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 397, + "line": 13, + "character": 17 + }, + "end": { + "index": 400, + "line": 13, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 525, + "line": 14, + "character": 70 + }, + "end": { + "index": 526, + "line": 14, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 540, + "line": 14, + "character": 85 + }, + "end": { + "index": 550, + "line": 14, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 356, + "line": 12, + "character": 21 + }, + "end": { + "index": 379, + "line": 12, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid", + "severity": 1, + "start": { + "index": 363, + "line": 12, + "character": 28 + }, + "end": { + "index": 373, + "line": 12, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 288, + "line": 10, + "character": 34 + }, + "end": { + "index": 306, + "line": 10, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 295, + "line": 10, + "character": 41 + }, + "end": { + "index": 305, + "line": 10, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 271, + "line": 10, + "character": 17 + }, + "end": { + "index": 276, + "line": 10, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 354, + "line": 12, + "character": 17 + }, + "end": { + "index": 357, + "line": 12, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 478, + "line": 13, + "character": 70 + }, + "end": { + "index": 479, + "line": 13, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 493, + "line": 13, + "character": 85 + }, + "end": { + "index": 503, + "line": 13, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'array' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid", + "severity": 1, + "start": { + "index": 316, + "line": 11, + "character": 9 + }, + "end": { + "index": 321, + "line": 11, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid", + "severity": 1, + "start": { + "index": 33, + "line": 1, + "character": 23 + }, + "end": { + "index": 38, + "line": 1, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'token' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 20, + "line": 1, + "character": 10 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid", + "severity": 1, + "start": { + "index": 132, + "line": 5, + "character": 59 + }, + "end": { + "index": 137, + "line": 5, + "character": 64 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'token' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid", + "severity": 1, + "start": { + "index": 176, + "line": 8, + "character": 27 + }, + "end": { + "index": 181, + "line": 8, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 218, + "line": 11, + "character": 19 + }, + "end": { + "index": 221, + "line": 11, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 389, + "line": 13, + "character": 68 + }, + "end": { + "index": 390, + "line": 13, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 404, + "line": 13, + "character": 83 + }, + "end": { + "index": 414, + "line": 13, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'array' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 180, + "line": 10, + "character": 11 + }, + "end": { + "index": 185, + "line": 10, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 150, + "line": 9, + "character": 13 + }, + "end": { + "index": 168, + "line": 9, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 157, + "line": 9, + "character": 20 + }, + "end": { + "index": 167, + "line": 9, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/otp.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 20, + "line": 1, + "character": 10 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/otp.liquid", + "severity": 1, + "start": { + "index": 221, + "line": 7, + "character": 46 + }, + "end": { + "index": 226, + "line": 7, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/otp.liquid", + "severity": 1, + "start": { + "index": 294, + "line": 10, + "character": 36 + }, + "end": { + "index": 298, + "line": 10, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/delete.liquid", + "severity": 1, + "start": { + "index": 155, + "line": 7, + "character": 49 + }, + "end": { + "index": 157, + "line": 7, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/delete.liquid", + "severity": 1, + "start": { + "index": 418, + "line": 14, + "character": 39 + }, + "end": { + "index": 420, + "line": 14, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid", + "severity": 1, + "start": { + "index": 86, + "line": 1, + "character": 76 + }, + "end": { + "index": 92, + "line": 1, + "character": 82 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "severity": 1, + "start": { + "index": 114, + "line": 2, + "character": 63 + }, + "end": { + "index": 128, + "line": 2, + "character": 77 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "severity": 1, + "start": { + "index": 74, + "line": 2, + "character": 23 + }, + "end": { + "index": 89, + "line": 2, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "severity": 1, + "start": { + "index": 159, + "line": 3, + "character": 30 + }, + "end": { + "index": 169, + "line": 3, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "severity": 1, + "start": { + "index": 184, + "line": 3, + "character": 55 + }, + "end": { + "index": 199, + "line": 3, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "severity": 1, + "start": { + "index": 213, + "line": 3, + "character": 84 + }, + "end": { + "index": 227, + "line": 3, + "character": 98 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "severity": 1, + "start": { + "index": 330, + "line": 5, + "character": 73 + }, + "end": { + "index": 345, + "line": 5, + "character": 88 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "severity": 1, + "start": { + "index": 358, + "line": 5, + "character": 101 + }, + "end": { + "index": 372, + "line": 5, + "character": 115 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "severity": 1, + "start": { + "index": 381, + "line": 5, + "character": 124 + }, + "end": { + "index": 391, + "line": 5, + "character": 134 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contracts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid", + "severity": 1, + "start": { + "index": 78, + "line": 3, + "character": 18 + }, + "end": { + "index": 87, + "line": 3, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid", + "severity": 1, + "start": { + "index": 323, + "line": 10, + "character": 52 + }, + "end": { + "index": 335, + "line": 10, + "character": 64 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid", + "severity": 1, + "start": { + "index": 251, + "line": 9, + "character": 6 + }, + "end": { + "index": 263, + "line": 9, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid", + "severity": 1, + "start": { + "index": 442, + "line": 17, + "character": 8 + }, + "end": { + "index": 454, + "line": 17, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid", + "severity": 1, + "start": { + "index": 617, + "line": 22, + "character": 36 + }, + "end": { + "index": 629, + "line": 22, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_duration' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid", + "severity": 1, + "start": { + "index": 643, + "line": 22, + "character": 62 + }, + "end": { + "index": 657, + "line": 22, + "character": 76 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params_to_modify' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid", + "severity": 1, + "start": { + "index": 327, + "line": 9, + "character": 27 + }, + "end": { + "index": 343, + "line": 9, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid", + "severity": 1, + "start": { + "index": 393, + "line": 11, + "character": 35 + }, + "end": { + "index": 397, + "line": 11, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params_to_modify' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid", + "severity": 1, + "start": { + "index": 590, + "line": 15, + "character": 56 + }, + "end": { + "index": 606, + "line": 15, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid", + "severity": 1, + "start": { + "index": 616, + "line": 15, + "character": 82 + }, + "end": { + "index": 622, + "line": 15, + "character": 88 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid", + "severity": 1, + "start": { + "index": 624, + "line": 9, + "character": 66 + }, + "end": { + "index": 632, + "line": 9, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/lib/test/commands/user/roles/append_test.liquid", + "severity": 1, + "start": { + "index": 616, + "line": 7, + "character": 66 + }, + "end": { + "index": 624, + "line": 7, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/lib/test/commands/user/roles/set_test.liquid", + "severity": 1, + "start": { + "index": 612, + "line": 9, + "character": 66 + }, + "end": { + "index": 620, + "line": 9, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid", + "severity": 1, + "start": { + "index": 150, + "line": 9, + "character": 38 + }, + "end": { + "index": 164, + "line": 9, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid", + "severity": 1, + "start": { + "index": 201, + "line": 10, + "character": 36 + }, + "end": { + "index": 214, + "line": 10, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid", + "severity": 1, + "start": { + "index": 183, + "line": 10, + "character": 18 + }, + "end": { + "index": 189, + "line": 10, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'otp_enabled' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid", + "severity": 1, + "start": { + "index": 1464, + "line": 33, + "character": 10 + }, + "end": { + "index": 1475, + "line": 33, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 353, + "line": 12, + "character": 19 + }, + "end": { + "index": 356, + "line": 12, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 528, + "line": 14, + "character": 72 + }, + "end": { + "index": 529, + "line": 14, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 543, + "line": 14, + "character": 87 + }, + "end": { + "index": 553, + "line": 14, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'array' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 315, + "line": 11, + "character": 11 + }, + "end": { + "index": 320, + "line": 11, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 285, + "line": 10, + "character": 13 + }, + "end": { + "index": 303, + "line": 10, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid", + "severity": 1, + "start": { + "index": 292, + "line": 10, + "character": 20 + }, + "end": { + "index": 302, + "line": 10, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params_to_modify' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid", + "severity": 1, + "start": { + "index": 441, + "line": 10, + "character": 27 + }, + "end": { + "index": 457, + "line": 10, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid", + "severity": 1, + "start": { + "index": 507, + "line": 12, + "character": 35 + }, + "end": { + "index": 511, + "line": 12, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params_to_modify' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid", + "severity": 1, + "start": { + "index": 708, + "line": 16, + "character": 56 + }, + "end": { + "index": 724, + "line": 16, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid", + "severity": 1, + "start": { + "index": 734, + "line": 16, + "character": 82 + }, + "end": { + "index": 740, + "line": 16, + "character": 88 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'given' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 352, + "line": 13, + "character": 69 + }, + "end": { + "index": 357, + "line": 13, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'expected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 369, + "line": 13, + "character": 86 + }, + "end": { + "index": 377, + "line": 13, + "character": 94 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'not_verbose' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 187, + "line": 10, + "character": 9 + }, + "end": { + "index": 198, + "line": 10, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 165, + "line": 9, + "character": 28 + }, + "end": { + "index": 168, + "line": 9, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 144, + "line": 9, + "character": 7 + }, + "end": { + "index": 151, + "line": 9, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 466, + "line": 16, + "character": 66 + }, + "end": { + "index": 467, + "line": 16, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 481, + "line": 16, + "character": 81 + }, + "end": { + "index": 491, + "line": 16, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 516, + "line": 16, + "character": 116 + }, + "end": { + "index": 519, + "line": 16, + "character": 119 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'expected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 127, + "line": 7, + "character": 14 + }, + "end": { + "index": 135, + "line": 7, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'given' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 118, + "line": 7, + "character": 5 + }, + "end": { + "index": 123, + "line": 7, + "character": 10 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/markdown.liquid", + "severity": 1, + "start": { + "index": 645, + "line": 16, + "character": 14 + }, + "end": { + "index": 647, + "line": 16, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/markdown.liquid", + "severity": 1, + "start": { + "index": 686, + "line": 17, + "character": 17 + }, + "end": { + "index": 691, + "line": 17, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minlength' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/markdown.liquid", + "severity": 1, + "start": { + "index": 728, + "line": 19, + "character": 21 + }, + "end": { + "index": 737, + "line": 19, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maxlength' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/markdown.liquid", + "severity": 1, + "start": { + "index": 772, + "line": 20, + "character": 21 + }, + "end": { + "index": 781, + "line": 20, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/markdown.liquid", + "severity": 1, + "start": { + "index": 976, + "line": 28, + "character": 13 + }, + "end": { + "index": 980, + "line": 28, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'presigned_upload' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/markdown.liquid", + "severity": 1, + "start": { + "index": 1010, + "line": 30, + "character": 24 + }, + "end": { + "index": 1037, + "line": 30, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'presigned_upload' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/markdown.liquid", + "severity": 1, + "start": { + "index": 1062, + "line": 31, + "character": 20 + }, + "end": { + "index": 1097, + "line": 31, + "character": 55 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid", + "severity": 1, + "start": { + "index": 96, + "line": 1, + "character": 86 + }, + "end": { + "index": 100, + "line": 1, + "character": 90 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid", + "severity": 1, + "start": { + "index": 119, + "line": 1, + "character": 109 + }, + "end": { + "index": 134, + "line": 1, + "character": 124 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 191, + "line": 9, + "character": 11 + }, + "end": { + "index": 192, + "line": 9, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 152, + "line": 8, + "character": 21 + }, + "end": { + "index": 170, + "line": 8, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 159, + "line": 8, + "character": 28 + }, + "end": { + "index": 169, + "line": 8, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'allow_blank' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 136, + "line": 8, + "character": 5 + }, + "end": { + "index": 147, + "line": 8, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'regexp' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 251, + "line": 12, + "character": 49 + }, + "end": { + "index": 257, + "line": 12, + "character": 55 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 221, + "line": 12, + "character": 19 + }, + "end": { + "index": 239, + "line": 12, + "character": 37 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 228, + "line": 12, + "character": 26 + }, + "end": { + "index": 238, + "line": 12, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 300, + "line": 14, + "character": 21 + }, + "end": { + "index": 307, + "line": 14, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 423, + "line": 15, + "character": 66 + }, + "end": { + "index": 424, + "line": 15, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 438, + "line": 15, + "character": 81 + }, + "end": { + "index": 448, + "line": 15, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid", + "severity": 1, + "start": { + "index": 96, + "line": 1, + "character": 86 + }, + "end": { + "index": 101, + "line": 1, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'host' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid", + "severity": 1, + "start": { + "index": 109, + "line": 1, + "character": 99 + }, + "end": { + "index": 113, + "line": 1, + "character": 103 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'valid_for' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid", + "severity": 1, + "start": { + "index": 126, + "line": 1, + "character": 116 + }, + "end": { + "index": 135, + "line": 1, + "character": 125 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hcaptcha_params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid", + "severity": 1, + "start": { + "index": 248, + "line": 2, + "character": 112 + }, + "end": { + "index": 263, + "line": 2, + "character": 127 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid", + "severity": 1, + "start": { + "index": 418, + "line": 6, + "character": 37 + }, + "end": { + "index": 423, + "line": 6, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "severity": 1, + "start": { + "index": 191, + "line": 5, + "character": 19 + }, + "end": { + "index": 196, + "line": 5, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contracts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "severity": 1, + "start": { + "index": 66, + "line": 3, + "character": 18 + }, + "end": { + "index": 75, + "line": 3, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "severity": 1, + "start": { + "index": 272, + "line": 10, + "character": 5 + }, + "end": { + "index": 284, + "line": 10, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'test_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "severity": 1, + "start": { + "index": 382, + "line": 16, + "character": 16 + }, + "end": { + "index": 391, + "line": 16, + "character": 25 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "severity": 1, + "start": { + "index": 448, + "line": 18, + "character": 19 + }, + "end": { + "index": 460, + "line": 18, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "severity": 1, + "start": { + "index": 409, + "line": 17, + "character": 6 + }, + "end": { + "index": 421, + "line": 17, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "severity": 1, + "start": { + "index": 513, + "line": 21, + "character": 36 + }, + "end": { + "index": 525, + "line": 21, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_duration' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "severity": 1, + "start": { + "index": 539, + "line": 21, + "character": 62 + }, + "end": { + "index": 553, + "line": 21, + "character": 76 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/email/send.liquid", + "severity": 1, + "start": { + "index": 80, + "line": 1, + "character": 70 + }, + "end": { + "index": 86, + "line": 1, + "character": 76 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid", + "severity": 1, + "start": { + "index": 96, + "line": 1, + "character": 86 + }, + "end": { + "index": 100, + "line": 1, + "character": 90 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid", + "severity": 1, + "start": { + "index": 119, + "line": 1, + "character": 109 + }, + "end": { + "index": 134, + "line": 1, + "character": 124 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'given' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 463, + "line": 14, + "character": 69 + }, + "end": { + "index": 468, + "line": 14, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'expected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 480, + "line": 14, + "character": 86 + }, + "end": { + "index": 488, + "line": 14, + "character": 94 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'not_verbose' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 298, + "line": 11, + "character": 9 + }, + "end": { + "index": 309, + "line": 11, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 276, + "line": 10, + "character": 28 + }, + "end": { + "index": 279, + "line": 10, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 255, + "line": 10, + "character": 7 + }, + "end": { + "index": 262, + "line": 10, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 581, + "line": 17, + "character": 70 + }, + "end": { + "index": 582, + "line": 17, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 596, + "line": 17, + "character": 85 + }, + "end": { + "index": 606, + "line": 17, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 631, + "line": 17, + "character": 120 + }, + "end": { + "index": 634, + "line": 17, + "character": 123 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'expected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 238, + "line": 8, + "character": 14 + }, + "end": { + "index": 246, + "line": 8, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'given' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "severity": 1, + "start": { + "index": 229, + "line": 8, + "character": 5 + }, + "end": { + "index": 234, + "line": 8, + "character": 10 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'limit' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 254, + "line": 3, + "character": 42 + }, + "end": { + "index": 259, + "line": 3, + "character": 47 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'uuid' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 267, + "line": 3, + "character": 55 + }, + "end": { + "index": 271, + "line": 3, + "character": 59 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 277, + "line": 3, + "character": 65 + }, + "end": { + "index": 279, + "line": 3, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 286, + "line": 3, + "character": 74 + }, + "end": { + "index": 289, + "line": 3, + "character": 77 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 303, + "line": 3, + "character": 91 + }, + "end": { + "index": 313, + "line": 3, + "character": 101 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 326, + "line": 3, + "character": 114 + }, + "end": { + "index": 335, + "line": 3, + "character": 123 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 346, + "line": 3, + "character": 134 + }, + "end": { + "index": 353, + "line": 3, + "character": 141 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'not_ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 364, + "line": 3, + "character": 152 + }, + "end": { + "index": 371, + "line": 3, + "character": 159 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'query' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 380, + "line": 3, + "character": 168 + }, + "end": { + "index": 385, + "line": 3, + "character": 173 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'emails' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 395, + "line": 3, + "character": 183 + }, + "end": { + "index": 401, + "line": 3, + "character": 189 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'sort' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 409, + "line": 3, + "character": 197 + }, + "end": { + "index": 413, + "line": 3, + "character": 201 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'page' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 421, + "line": 3, + "character": 209 + }, + "end": { + "index": 425, + "line": 3, + "character": 213 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'filters' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "severity": 1, + "start": { + "index": 436, + "line": 3, + "character": 224 + }, + "end": { + "index": 443, + "line": 3, + "character": 231 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'delay' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 20, + "line": 1, + "character": 10 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'max_attempts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "severity": 1, + "start": { + "index": 171, + "line": 4, + "character": 5 + }, + "end": { + "index": 183, + "line": 4, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "severity": 1, + "start": { + "index": 342, + "line": 8, + "character": 9 + }, + "end": { + "index": 346, + "line": 8, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "severity": 1, + "start": { + "index": 464, + "line": 12, + "character": 9 + }, + "end": { + "index": 470, + "line": 12, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "severity": 1, + "start": { + "index": 646, + "line": 17, + "character": 64 + }, + "end": { + "index": 650, + "line": 17, + "character": 68 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "severity": 1, + "start": { + "index": 660, + "line": 17, + "character": 78 + }, + "end": { + "index": 666, + "line": 17, + "character": 84 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'max_attempts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "severity": 1, + "start": { + "index": 693, + "line": 17, + "character": 111 + }, + "end": { + "index": 705, + "line": 17, + "character": 123 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'delay' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "severity": 1, + "start": { + "index": 725, + "line": 17, + "character": 143 + }, + "end": { + "index": 730, + "line": 17, + "character": 148 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'url' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 594, + "line": 19, + "character": 16 + }, + "end": { + "index": 597, + "line": 19, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'url' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 562, + "line": 18, + "character": 8 + }, + "end": { + "index": 565, + "line": 18, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 764, + "line": 23, + "character": 27 + }, + "end": { + "index": 785, + "line": 23, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 796, + "line": 23, + "character": 59 + }, + "end": { + "index": 818, + "line": 23, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 866, + "line": 24, + "character": 21 + }, + "end": { + "index": 882, + "line": 24, + "character": 37 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 898, + "line": 24, + "character": 53 + }, + "end": { + "index": 914, + "line": 24, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 925, + "line": 24, + "character": 80 + }, + "end": { + "index": 942, + "line": 24, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 1059, + "line": 26, + "character": 13 + }, + "end": { + "index": 1064, + "line": 26, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 1146, + "line": 28, + "character": 21 + }, + "end": { + "index": 1151, + "line": 28, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 662, + "line": 21, + "character": 10 + }, + "end": { + "index": 676, + "line": 21, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'title' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 1345, + "line": 32, + "character": 58 + }, + "end": { + "index": 1350, + "line": 32, + "character": 63 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'title' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 1278, + "line": 31, + "character": 10 + }, + "end": { + "index": 1283, + "line": 31, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'url' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 1385, + "line": 34, + "character": 10 + }, + "end": { + "index": 1388, + "line": 34, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'content' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 1430, + "line": 38, + "character": 5 + }, + "end": { + "index": 1437, + "line": 38, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'footer' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 1526, + "line": 42, + "character": 9 + }, + "end": { + "index": 1532, + "line": 42, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'footer' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 1462, + "line": 40, + "character": 8 + }, + "end": { + "index": 1468, + "line": 40, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'highlighted' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "severity": 1, + "start": { + "index": 486, + "line": 16, + "character": 31 + }, + "end": { + "index": 497, + "line": 16, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 306, + "line": 10, + "character": 11 + }, + "end": { + "index": 307, + "line": 10, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 267, + "line": 9, + "character": 21 + }, + "end": { + "index": 285, + "line": 9, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 274, + "line": 9, + "character": 28 + }, + "end": { + "index": 284, + "line": 9, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'allow_blank' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 251, + "line": 9, + "character": 5 + }, + "end": { + "index": 262, + "line": 9, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'regexp' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 366, + "line": 13, + "character": 49 + }, + "end": { + "index": 372, + "line": 13, + "character": 55 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 336, + "line": 13, + "character": 19 + }, + "end": { + "index": 354, + "line": 13, + "character": 37 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 343, + "line": 13, + "character": 26 + }, + "end": { + "index": 353, + "line": 13, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 415, + "line": 15, + "character": 21 + }, + "end": { + "index": 422, + "line": 15, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 542, + "line": 16, + "character": 70 + }, + "end": { + "index": 543, + "line": 16, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "severity": 1, + "start": { + "index": 557, + "line": 16, + "character": 85 + }, + "end": { + "index": 567, + "line": 16, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid", + "severity": 1, + "start": { + "index": 194, + "line": 2, + "character": 70 + }, + "end": { + "index": 200, + "line": 2, + "character": 76 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/partials/profile/index.liquid", + "severity": 1, + "start": { + "index": 1076, + "line": 21, + "character": 237 + }, + "end": { + "index": 1096, + "line": 21, + "character": 257 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/partials/profile/index.liquid", + "severity": 1, + "start": { + "index": 1192, + "line": 22, + "character": 91 + }, + "end": { + "index": 1212, + "line": 22, + "character": 111 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/partials/profile/index.liquid", + "severity": 1, + "start": { + "index": 1548, + "line": 27, + "character": 232 + }, + "end": { + "index": 1567, + "line": 27, + "character": 251 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/partials/profile/index.liquid", + "severity": 1, + "start": { + "index": 1662, + "line": 28, + "character": 90 + }, + "end": { + "index": 1681, + "line": 28, + "character": 109 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'otp_configured' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/partials/profile/index.liquid", + "severity": 1, + "start": { + "index": 2003, + "line": 42, + "character": 12 + }, + "end": { + "index": 2017, + "line": 42, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/partials/profile/index.liquid", + "severity": 1, + "start": { + "index": 2393, + "line": 56, + "character": 20 + }, + "end": { + "index": 2405, + "line": 56, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 881, + "line": 18, + "character": 59 + }, + "end": { + "index": 890, + "line": 18, + "character": 68 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'entity' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 900, + "line": 18, + "character": 78 + }, + "end": { + "index": 906, + "line": 18, + "character": 84 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'do' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 912, + "line": 18, + "character": 90 + }, + "end": { + "index": 914, + "line": 18, + "character": 92 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'access_callback' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 933, + "line": 18, + "character": 111 + }, + "end": { + "index": 948, + "line": 18, + "character": 126 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'anonymous_return_to' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 1064, + "line": 21, + "character": 26 + }, + "end": { + "index": 1083, + "line": 21, + "character": 45 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'forbidden_partial' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 1355, + "line": 27, + "character": 16 + }, + "end": { + "index": 1372, + "line": 27, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'forbidden_partial' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 1321, + "line": 26, + "character": 9 + }, + "end": { + "index": 1338, + "line": 26, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'redirect_anonymous_to_login' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 1010, + "line": 20, + "character": 48 + }, + "end": { + "index": 1037, + "line": 20, + "character": 75 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "severity": 1, + "start": { + "index": 969, + "line": 20, + "character": 7 + }, + "end": { + "index": 984, + "line": 20, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 182, + "line": 9, + "character": 15 + }, + "end": { + "index": 185, + "line": 9, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 221, + "line": 10, + "character": 19 + }, + "end": { + "index": 228, + "line": 10, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 338, + "line": 17, + "character": 18 + }, + "end": { + "index": 353, + "line": 17, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 386, + "line": 19, + "character": 31 + }, + "end": { + "index": 396, + "line": 19, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 473, + "line": 22, + "character": 16 + }, + "end": { + "index": 483, + "line": 22, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 155, + "line": 8, + "character": 34 + }, + "end": { + "index": 173, + "line": 8, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 162, + "line": 8, + "character": 41 + }, + "end": { + "index": 172, + "line": 8, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 138, + "line": 8, + "character": 17 + }, + "end": { + "index": 143, + "line": 8, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'check_function' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 213, + "line": 10, + "character": 28 + }, + "end": { + "index": 227, + "line": 10, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 345, + "line": 12, + "character": 68 + }, + "end": { + "index": 346, + "line": 12, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 360, + "line": 12, + "character": 83 + }, + "end": { + "index": 370, + "line": 12, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 437, + "line": 13, + "character": 26 + }, + "end": { + "index": 447, + "line": 13, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 180, + "line": 9, + "character": 15 + }, + "end": { + "index": 183, + "line": 9, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 219, + "line": 10, + "character": 19 + }, + "end": { + "index": 226, + "line": 10, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 336, + "line": 17, + "character": 18 + }, + "end": { + "index": 351, + "line": 17, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 384, + "line": 19, + "character": 31 + }, + "end": { + "index": 394, + "line": 19, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 458, + "line": 22, + "character": 16 + }, + "end": { + "index": 468, + "line": 22, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'uuid' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "severity": 1, + "start": { + "index": 52, + "line": 1, + "character": 42 + }, + "end": { + "index": 56, + "line": 1, + "character": 46 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 38, + "line": 1, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 22, + "line": 1, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "severity": 1, + "start": { + "index": 224, + "line": 6, + "character": 60 + }, + "end": { + "index": 231, + "line": 6, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "severity": 1, + "start": { + "index": 237, + "line": 6, + "character": 73 + }, + "end": { + "index": 239, + "line": 6, + "character": 75 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "severity": 1, + "start": { + "index": 253, + "line": 6, + "character": 89 + }, + "end": { + "index": 263, + "line": 6, + "character": 99 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "severity": 1, + "start": { + "index": 276, + "line": 6, + "character": 112 + }, + "end": { + "index": 285, + "line": 6, + "character": 121 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'uuid' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "severity": 1, + "start": { + "index": 293, + "line": 6, + "character": 129 + }, + "end": { + "index": 297, + "line": 6, + "character": 133 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 180, + "line": 9, + "character": 15 + }, + "end": { + "index": 183, + "line": 9, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 219, + "line": 10, + "character": 19 + }, + "end": { + "index": 226, + "line": 10, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 336, + "line": 17, + "character": 18 + }, + "end": { + "index": 351, + "line": 17, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 384, + "line": 19, + "character": 31 + }, + "end": { + "index": 394, + "line": 19, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid", + "severity": 1, + "start": { + "index": 458, + "line": 22, + "character": 16 + }, + "end": { + "index": 468, + "line": 22, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid", + "severity": 1, + "start": { + "index": 215, + "line": 4, + "character": 66 + }, + "end": { + "index": 221, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid", + "severity": 1, + "start": { + "index": 313, + "line": 5, + "character": 66 + }, + "end": { + "index": 319, + "line": 5, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid", + "severity": 1, + "start": { + "index": 414, + "line": 6, + "character": 66 + }, + "end": { + "index": 420, + "line": 6, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid", + "severity": 1, + "start": { + "index": 215, + "line": 4, + "character": 66 + }, + "end": { + "index": 221, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid", + "severity": 1, + "start": { + "index": 306, + "line": 5, + "character": 66 + }, + "end": { + "index": 312, + "line": 5, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid", + "severity": 1, + "start": { + "index": 401, + "line": 6, + "character": 66 + }, + "end": { + "index": 407, + "line": 6, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid", + "severity": 1, + "start": { + "index": 215, + "line": 4, + "character": 66 + }, + "end": { + "index": 221, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid", + "severity": 1, + "start": { + "index": 306, + "line": 5, + "character": 66 + }, + "end": { + "index": 312, + "line": 5, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid", + "severity": 1, + "start": { + "index": 401, + "line": 6, + "character": 66 + }, + "end": { + "index": 407, + "line": 6, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/registry/search.liquid", + "severity": 1, + "start": { + "index": 223, + "line": 8, + "character": 7 + }, + "end": { + "index": 227, + "line": 8, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 280, + "line": 9, + "character": 34 + }, + "end": { + "index": 298, + "line": 9, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 287, + "line": 9, + "character": 41 + }, + "end": { + "index": 297, + "line": 9, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 263, + "line": 9, + "character": 17 + }, + "end": { + "index": 268, + "line": 9, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'check_function' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 338, + "line": 11, + "character": 28 + }, + "end": { + "index": 352, + "line": 11, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 474, + "line": 13, + "character": 72 + }, + "end": { + "index": 475, + "line": 13, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 489, + "line": 13, + "character": 87 + }, + "end": { + "index": 499, + "line": 13, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid", + "severity": 1, + "start": { + "index": 566, + "line": 14, + "character": 26 + }, + "end": { + "index": 576, + "line": 14, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid", + "severity": 1, + "start": { + "index": 227, + "line": 8, + "character": 7 + }, + "end": { + "index": 231, + "line": 8, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "severity": 1, + "start": { + "index": 50, + "line": 1, + "character": 40 + }, + "end": { + "index": 65, + "line": 1, + "character": 55 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'autohide' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "severity": 1, + "start": { + "index": 30, + "line": 1, + "character": 20 + }, + "end": { + "index": 38, + "line": 1, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "severity": 1, + "start": { + "index": 100, + "line": 2, + "character": 34 + }, + "end": { + "index": 112, + "line": 2, + "character": 46 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'delay' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "severity": 1, + "start": { + "index": 83, + "line": 2, + "character": 17 + }, + "end": { + "index": 88, + "line": 2, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "severity": 1, + "start": { + "index": 167, + "line": 3, + "character": 38 + }, + "end": { + "index": 181, + "line": 3, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "severity": 1, + "start": { + "index": 148, + "line": 3, + "character": 19 + }, + "end": { + "index": 155, + "line": 3, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "severity": 1, + "start": { + "index": 238, + "line": 4, + "character": 40 + }, + "end": { + "index": 253, + "line": 4, + "character": 55 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'severity' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "severity": 1, + "start": { + "index": 218, + "line": 4, + "character": 20 + }, + "end": { + "index": 226, + "line": 4, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'default' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/variable/find.liquid", + "severity": 1, + "start": { + "index": 272, + "line": 9, + "character": 52 + }, + "end": { + "index": 279, + "line": 9, + "character": 59 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/variable/find.liquid", + "severity": 1, + "start": { + "index": 255, + "line": 9, + "character": 35 + }, + "end": { + "index": 259, + "line": 9, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/variable/find.liquid", + "severity": 1, + "start": { + "index": 307, + "line": 11, + "character": 7 + }, + "end": { + "index": 311, + "line": 11, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 61, + "line": 1, + "character": 51 + }, + "end": { + "index": 70, + "line": 1, + "character": 60 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 26, + "line": 1, + "character": 16 + }, + "end": { + "index": 36, + "line": 1, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'imageSrc' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 253, + "line": 8, + "character": 87 + }, + "end": { + "index": 261, + "line": 8, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'url' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 128, + "line": 7, + "character": 14 + }, + "end": { + "index": 131, + "line": 7, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'job_title' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 381, + "line": 14, + "character": 9 + }, + "end": { + "index": 390, + "line": 14, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'job_title' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 350, + "line": 13, + "character": 10 + }, + "end": { + "index": 359, + "line": 13, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'employer' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 502, + "line": 17, + "character": 61 + }, + "end": { + "index": 510, + "line": 17, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'location' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 544, + "line": 17, + "character": 103 + }, + "end": { + "index": 552, + "line": 17, + "character": 111 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'location' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 519, + "line": 17, + "character": 78 + }, + "end": { + "index": 527, + "line": 17, + "character": 86 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'employer' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 420, + "line": 16, + "character": 10 + }, + "end": { + "index": 428, + "line": 16, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'url' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 691, + "line": 24, + "character": 24 + }, + "end": { + "index": 694, + "line": 24, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'my_profile' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 653, + "line": 23, + "character": 12 + }, + "end": { + "index": 663, + "line": 23, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'profile_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 1006, + "line": 30, + "character": 104 + }, + "end": { + "index": 1016, + "line": 30, + "character": 114 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'allow_to_follow' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "severity": 1, + "start": { + "index": 850, + "line": 27, + "character": 12 + }, + "end": { + "index": 865, + "line": 27, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid", + "severity": 1, + "start": { + "index": 216, + "line": 4, + "character": 66 + }, + "end": { + "index": 222, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid", + "severity": 1, + "start": { + "index": 309, + "line": 5, + "character": 66 + }, + "end": { + "index": 315, + "line": 5, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hcaptcha_params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid", + "severity": 1, + "start": { + "index": 464, + "line": 8, + "character": 77 + }, + "end": { + "index": 479, + "line": 8, + "character": 92 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'default' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/variable/find.liquid", + "severity": 1, + "start": { + "index": 272, + "line": 9, + "character": 52 + }, + "end": { + "index": 279, + "line": 9, + "character": 59 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/variable/find.liquid", + "severity": 1, + "start": { + "index": 255, + "line": 9, + "character": 35 + }, + "end": { + "index": 259, + "line": 9, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/variable/find.liquid", + "severity": 1, + "start": { + "index": 307, + "line": 11, + "character": 7 + }, + "end": { + "index": 311, + "line": 11, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/views/pages/index.liquid", + "severity": 1, + "start": { + "index": 2069, + "line": 63, + "character": 26 + }, + "end": { + "index": 2081, + "line": 63, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/constants/find.liquid", + "severity": 1, + "start": { + "index": 67, + "line": 1, + "character": 40 + }, + "end": { + "index": 71, + "line": 1, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/constants/find.liquid", + "severity": 1, + "start": { + "index": 109, + "line": 3, + "character": 22 + }, + "end": { + "index": 113, + "line": 3, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/constants/find.liquid", + "severity": 1, + "start": { + "index": 330, + "line": 15, + "character": 7 + }, + "end": { + "index": 334, + "line": 15, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'error' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 66, + "line": 2, + "character": 19 + }, + "end": { + "index": 71, + "line": 2, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'error' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 25, + "line": 1, + "character": 15 + }, + "end": { + "index": 30, + "line": 1, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'error' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 20, + "line": 1, + "character": 10 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'notice' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 144, + "line": 6, + "character": 20 + }, + "end": { + "index": 150, + "line": 6, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'notice' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 101, + "line": 5, + "character": 16 + }, + "end": { + "index": 107, + "line": 5, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'notice' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 90, + "line": 5, + "character": 5 + }, + "end": { + "index": 96, + "line": 5, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'info' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 217, + "line": 10, + "character": 18 + }, + "end": { + "index": 221, + "line": 10, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'info' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 178, + "line": 9, + "character": 14 + }, + "end": { + "index": 182, + "line": 9, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'info' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 169, + "line": 9, + "character": 5 + }, + "end": { + "index": 173, + "line": 9, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'force_clear' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "severity": 1, + "start": { + "index": 433, + "line": 20, + "character": 14 + }, + "end": { + "index": 444, + "line": 20, + "character": 25 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "severity": 1, + "start": { + "index": 550, + "line": 16, + "character": 73 + }, + "end": { + "index": 554, + "line": 16, + "character": 77 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'timestamp' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "severity": 1, + "start": { + "index": 567, + "line": 16, + "character": 90 + }, + "end": { + "index": 576, + "line": 16, + "character": 99 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'reference_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "severity": 1, + "start": { + "index": 592, + "line": 16, + "character": 115 + }, + "end": { + "index": 604, + "line": 16, + "character": 127 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'reference_schema' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "severity": 1, + "start": { + "index": 624, + "line": 16, + "character": 147 + }, + "end": { + "index": 640, + "line": 16, + "character": 163 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'payload' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "severity": 1, + "start": { + "index": 651, + "line": 16, + "character": 174 + }, + "end": { + "index": 658, + "line": 16, + "character": 181 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "severity": 1, + "start": { + "index": 674, + "line": 16, + "character": 197 + }, + "end": { + "index": 686, + "line": 16, + "character": 209 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'delay' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "severity": 1, + "start": { + "index": 1030, + "line": 22, + "character": 106 + }, + "end": { + "index": 1035, + "line": 22, + "character": 111 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'max_attempts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "severity": 1, + "start": { + "index": 1051, + "line": 22, + "character": 127 + }, + "end": { + "index": 1063, + "line": 22, + "character": 139 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid", + "severity": 1, + "start": { + "index": 215, + "line": 4, + "character": 68 + }, + "end": { + "index": 221, + "line": 4, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid", + "severity": 1, + "start": { + "index": 376, + "line": 5, + "character": 64 + }, + "end": { + "index": 382, + "line": 5, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid", + "severity": 1, + "start": { + "index": 499, + "line": 6, + "character": 64 + }, + "end": { + "index": 505, + "line": 6, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid", + "severity": 1, + "start": { + "index": 628, + "line": 7, + "character": 64 + }, + "end": { + "index": 634, + "line": 7, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create.liquid", + "severity": 1, + "start": { + "index": 80, + "line": 1, + "character": 70 + }, + "end": { + "index": 84, + "line": 1, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create.liquid", + "severity": 1, + "start": { + "index": 94, + "line": 1, + "character": 84 + }, + "end": { + "index": 100, + "line": 1, + "character": 90 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create.liquid", + "severity": 1, + "start": { + "index": 186, + "line": 2, + "character": 85 + }, + "end": { + "index": 190, + "line": 2, + "character": 89 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create.liquid", + "severity": 1, + "start": { + "index": 385, + "line": 6, + "character": 76 + }, + "end": { + "index": 389, + "line": 6, + "character": 80 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'deprecated_max_attempts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create.liquid", + "severity": 1, + "start": { + "index": 499, + "line": 7, + "character": 109 + }, + "end": { + "index": 522, + "line": 7, + "character": 132 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'deprecated_delay' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create.liquid", + "severity": 1, + "start": { + "index": 542, + "line": 7, + "character": 152 + }, + "end": { + "index": 558, + "line": 7, + "character": 168 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid", + "severity": 1, + "start": { + "index": 213, + "line": 4, + "character": 66 + }, + "end": { + "index": 219, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid", + "severity": 1, + "start": { + "index": 310, + "line": 5, + "character": 66 + }, + "end": { + "index": 316, + "line": 5, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid", + "severity": 1, + "start": { + "index": 416, + "line": 6, + "character": 62 + }, + "end": { + "index": 431, + "line": 6, + "character": 77 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid", + "severity": 1, + "start": { + "index": 443, + "line": 6, + "character": 89 + }, + "end": { + "index": 471, + "line": 6, + "character": 117 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid", + "severity": 1, + "start": { + "index": 674, + "line": 7, + "character": 77 + }, + "end": { + "index": 680, + "line": 7, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'error' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/flash.liquid", + "severity": 1, + "start": { + "index": 27, + "line": 1, + "character": 17 + }, + "end": { + "index": 32, + "line": 1, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'notice' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/flash.liquid", + "severity": 1, + "start": { + "index": 51, + "line": 2, + "character": 18 + }, + "end": { + "index": 57, + "line": 2, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'info' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/flash.liquid", + "severity": 1, + "start": { + "index": 74, + "line": 3, + "character": 16 + }, + "end": { + "index": 78, + "line": 3, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'force_clear' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/flash.liquid", + "severity": 1, + "start": { + "index": 102, + "line": 4, + "character": 23 + }, + "end": { + "index": 113, + "line": 4, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid", + "severity": 1, + "start": { + "index": 385, + "line": 13, + "character": 5 + }, + "end": { + "index": 397, + "line": 13, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contracts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid", + "severity": 1, + "start": { + "index": 515, + "line": 19, + "character": 30 + }, + "end": { + "index": 529, + "line": 19, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid", + "severity": 1, + "start": { + "index": 613, + "line": 21, + "character": 31 + }, + "end": { + "index": 625, + "line": 21, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_duration' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid", + "severity": 1, + "start": { + "index": 656, + "line": 22, + "character": 30 + }, + "end": { + "index": 670, + "line": 22, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid", + "severity": 1, + "start": { + "index": 36, + "line": 1, + "character": 26 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid", + "severity": 1, + "start": { + "index": 259, + "line": 8, + "character": 72 + }, + "end": { + "index": 269, + "line": 8, + "character": 82 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'given' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid", + "severity": 1, + "start": { + "index": 408, + "line": 11, + "character": 9 + }, + "end": { + "index": 418, + "line": 11, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'given' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid", + "severity": 1, + "start": { + "index": 167, + "line": 7, + "character": 7 + }, + "end": { + "index": 177, + "line": 7, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object_contains' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid", + "severity": 1, + "start": { + "index": 83, + "line": 3, + "character": 18 + }, + "end": { + "index": 98, + "line": 3, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid", + "severity": 1, + "start": { + "index": 119, + "line": 3, + "character": 63 + }, + "end": { + "index": 125, + "line": 3, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid", + "severity": 1, + "start": { + "index": 213, + "line": 4, + "character": 66 + }, + "end": { + "index": 219, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid", + "severity": 1, + "start": { + "index": 307, + "line": 5, + "character": 66 + }, + "end": { + "index": 313, + "line": 5, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid", + "severity": 1, + "start": { + "index": 414, + "line": 8, + "character": 62 + }, + "end": { + "index": 420, + "line": 8, + "character": 68 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid", + "severity": 1, + "start": { + "index": 220, + "line": 4, + "character": 68 + }, + "end": { + "index": 226, + "line": 4, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid", + "severity": 1, + "start": { + "index": 385, + "line": 5, + "character": 66 + }, + "end": { + "index": 391, + "line": 5, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid", + "severity": 1, + "start": { + "index": 476, + "line": 6, + "character": 64 + }, + "end": { + "index": 482, + "line": 6, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid", + "severity": 1, + "start": { + "index": 599, + "line": 7, + "character": 64 + }, + "end": { + "index": 605, + "line": 7, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid", + "severity": 1, + "start": { + "index": 728, + "line": 8, + "character": 64 + }, + "end": { + "index": 734, + "line": 8, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'merge_to_object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid", + "severity": 1, + "start": { + "index": 256, + "line": 9, + "character": 5 + }, + "end": { + "index": 271, + "line": 9, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid", + "severity": 1, + "start": { + "index": 371, + "line": 15, + "character": 35 + }, + "end": { + "index": 375, + "line": 15, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid", + "severity": 1, + "start": { + "index": 549, + "line": 19, + "character": 56 + }, + "end": { + "index": 555, + "line": 19, + "character": 62 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'merge_to_object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid", + "severity": 1, + "start": { + "index": 905, + "line": 31, + "character": 34 + }, + "end": { + "index": 920, + "line": 31, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'merge_to_object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid", + "severity": 1, + "start": { + "index": 256, + "line": 9, + "character": 5 + }, + "end": { + "index": 271, + "line": 9, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid", + "severity": 1, + "start": { + "index": 371, + "line": 15, + "character": 35 + }, + "end": { + "index": 375, + "line": 15, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid", + "severity": 1, + "start": { + "index": 553, + "line": 19, + "character": 56 + }, + "end": { + "index": 559, + "line": 19, + "character": 62 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'merge_to_object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid", + "severity": 1, + "start": { + "index": 909, + "line": 31, + "character": 34 + }, + "end": { + "index": 924, + "line": 31, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 26, + "line": 1, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid", + "severity": 1, + "start": { + "index": 199, + "line": 7, + "character": 39 + }, + "end": { + "index": 210, + "line": 7, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'deprecated_max_attempts' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid", + "severity": 1, + "start": { + "index": 616, + "line": 16, + "character": 69 + }, + "end": { + "index": 639, + "line": 16, + "character": 92 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'deprecated_delay' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid", + "severity": 1, + "start": { + "index": 708, + "line": 17, + "character": 55 + }, + "end": { + "index": 724, + "line": 17, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create.liquid", + "severity": 1, + "start": { + "index": 370, + "line": 15, + "character": 75 + }, + "end": { + "index": 380, + "line": 15, + "character": 85 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create.liquid", + "severity": 1, + "start": { + "index": 393, + "line": 15, + "character": 98 + }, + "end": { + "index": 402, + "line": 15, + "character": 107 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create.liquid", + "severity": 1, + "start": { + "index": 411, + "line": 15, + "character": 116 + }, + "end": { + "index": 416, + "line": 15, + "character": 121 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'password' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create.liquid", + "severity": 1, + "start": { + "index": 428, + "line": 15, + "character": 133 + }, + "end": { + "index": 436, + "line": 15, + "character": 141 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook_params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create.liquid", + "severity": 1, + "start": { + "index": 451, + "line": 15, + "character": 156 + }, + "end": { + "index": 462, + "line": 15, + "character": 167 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'roles' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create.liquid", + "severity": 1, + "start": { + "index": 471, + "line": 15, + "character": 176 + }, + "end": { + "index": 476, + "line": 15, + "character": 181 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 42, + "line": 1, + "character": 32 + }, + "end": { + "index": 53, + "line": 1, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'size' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 26, + "line": 1, + "character": 16 + }, + "end": { + "index": 30, + "line": 1, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 104, + "line": 2, + "character": 34 + }, + "end": { + "index": 116, + "line": 2, + "character": 46 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'class' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 87, + "line": 2, + "character": 17 + }, + "end": { + "index": 92, + "line": 2, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 149, + "line": 3, + "character": 32 + }, + "end": { + "index": 160, + "line": 3, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 133, + "line": 3, + "character": 16 + }, + "end": { + "index": 137, + "line": 3, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 201, + "line": 4, + "character": 40 + }, + "end": { + "index": 216, + "line": 4, + "character": 55 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'imageSrc' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "severity": 1, + "start": { + "index": 181, + "line": 4, + "character": 20 + }, + "end": { + "index": 189, + "line": 4, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'property_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 312, + "line": 15, + "character": 25 + }, + "end": { + "index": 325, + "line": 15, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'property_value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 366, + "line": 16, + "character": 26 + }, + "end": { + "index": 380, + "line": 16, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'scope_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 417, + "line": 17, + "character": 22 + }, + "end": { + "index": 427, + "line": 17, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'scope_value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 465, + "line": 18, + "character": 23 + }, + "end": { + "index": 476, + "line": 18, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'exclude_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 515, + "line": 19, + "character": 24 + }, + "end": { + "index": 527, + "line": 19, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'exclude_value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 567, + "line": 20, + "character": 25 + }, + "end": { + "index": 580, + "line": 20, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 610, + "line": 21, + "character": 15 + }, + "end": { + "index": 613, + "line": 21, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 711, + "line": 23, + "character": 49 + }, + "end": { + "index": 714, + "line": 23, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'not_ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 725, + "line": 23, + "character": 63 + }, + "end": { + "index": 732, + "line": 23, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'table' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 803, + "line": 23, + "character": 141 + }, + "end": { + "index": 808, + "line": 23, + "character": 146 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 1041, + "line": 27, + "character": 66 + }, + "end": { + "index": 1042, + "line": 27, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 1056, + "line": 27, + "character": 81 + }, + "end": { + "index": 1066, + "line": 27, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'image_editor_enabled' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 958, + "line": 19, + "character": 32 + }, + "end": { + "index": 978, + "line": 19, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'allowed_file_types' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 1026, + "line": 20, + "character": 30 + }, + "end": { + "index": 1044, + "line": 20, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'max_number_of_files' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 1092, + "line": 21, + "character": 31 + }, + "end": { + "index": 1111, + "line": 21, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'aspect_ratio' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 1152, + "line": 22, + "character": 24 + }, + "end": { + "index": 1164, + "line": 22, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 1903, + "line": 45, + "character": 34 + }, + "end": { + "index": 1907, + "line": 45, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 2033, + "line": 49, + "character": 34 + }, + "end": { + "index": 2037, + "line": 49, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 2169, + "line": 54, + "character": 36 + }, + "end": { + "index": 2173, + "line": 54, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'files' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 2097, + "line": 52, + "character": 17 + }, + "end": { + "index": 2102, + "line": 52, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 1222, + "line": 29, + "character": 9 + }, + "end": { + "index": 1224, + "line": 29, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'presigned_upload' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 1618, + "line": 36, + "character": 22 + }, + "end": { + "index": 1645, + "line": 36, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'presigned_upload' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "severity": 1, + "start": { + "index": 1668, + "line": 37, + "character": 18 + }, + "end": { + "index": 1703, + "line": 37, + "character": 53 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'page' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 26, + "line": 1, + "character": 16 + }, + "end": { + "index": 30, + "line": 1, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'not_ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 61, + "line": 2, + "character": 5 + }, + "end": { + "index": 68, + "line": 2, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'limit' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 166, + "line": 6, + "character": 53 + }, + "end": { + "index": 171, + "line": 6, + "character": 58 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'uuid' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 179, + "line": 6, + "character": 66 + }, + "end": { + "index": 183, + "line": 6, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 189, + "line": 6, + "character": 76 + }, + "end": { + "index": 191, + "line": 6, + "character": 78 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 198, + "line": 6, + "character": 85 + }, + "end": { + "index": 201, + "line": 6, + "character": 88 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'first_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 215, + "line": 6, + "character": 102 + }, + "end": { + "index": 225, + "line": 6, + "character": 112 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'last_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 239, + "line": 6, + "character": 126 + }, + "end": { + "index": 248, + "line": 6, + "character": 135 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'user_id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 260, + "line": 6, + "character": 147 + }, + "end": { + "index": 267, + "line": 6, + "character": 154 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'query' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 294, + "line": 6, + "character": 181 + }, + "end": { + "index": 299, + "line": 6, + "character": 186 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'emails' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 309, + "line": 6, + "character": 196 + }, + "end": { + "index": 315, + "line": 6, + "character": 202 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'sort' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "severity": 1, + "start": { + "index": 323, + "line": 6, + "character": 210 + }, + "end": { + "index": 327, + "line": 6, + "character": 214 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid", + "severity": 1, + "start": { + "index": 216, + "line": 4, + "character": 66 + }, + "end": { + "index": 222, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid", + "severity": 1, + "start": { + "index": 313, + "line": 5, + "character": 66 + }, + "end": { + "index": 319, + "line": 5, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid", + "severity": 1, + "start": { + "index": 462, + "line": 8, + "character": 104 + }, + "end": { + "index": 468, + "line": 8, + "character": 110 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'property_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 435, + "line": 16, + "character": 25 + }, + "end": { + "index": 448, + "line": 16, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'property_value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 489, + "line": 17, + "character": 26 + }, + "end": { + "index": 503, + "line": 17, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'scope_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 540, + "line": 18, + "character": 22 + }, + "end": { + "index": 550, + "line": 18, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'scope_value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 588, + "line": 19, + "character": 23 + }, + "end": { + "index": 599, + "line": 19, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'exclude_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 638, + "line": 20, + "character": 24 + }, + "end": { + "index": 650, + "line": 20, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'exclude_value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 690, + "line": 21, + "character": 25 + }, + "end": { + "index": 703, + "line": 21, + "character": 38 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 733, + "line": 22, + "character": 15 + }, + "end": { + "index": 736, + "line": 22, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 834, + "line": 24, + "character": 49 + }, + "end": { + "index": 837, + "line": 24, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'not_ids' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 848, + "line": 24, + "character": 63 + }, + "end": { + "index": 855, + "line": 24, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'table' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 926, + "line": 24, + "character": 141 + }, + "end": { + "index": 931, + "line": 24, + "character": 146 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 1168, + "line": 28, + "character": 70 + }, + "end": { + "index": 1169, + "line": 28, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "severity": 1, + "start": { + "index": 1183, + "line": 28, + "character": 85 + }, + "end": { + "index": 1193, + "line": 28, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 32, + "line": 1, + "character": 22 + }, + "end": { + "index": 37, + "line": 1, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 741, + "line": 16, + "character": 22 + }, + "end": { + "index": 751, + "line": 16, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 775, + "line": 16, + "character": 56 + }, + "end": { + "index": 792, + "line": 16, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 886, + "line": 19, + "character": 13 + }, + "end": { + "index": 896, + "line": 19, + "character": 23 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 1119, + "line": 30, + "character": 52 + }, + "end": { + "index": 1129, + "line": 30, + "character": 62 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 1343, + "line": 36, + "character": 16 + }, + "end": { + "index": 1353, + "line": 36, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 1614, + "line": 48, + "character": 25 + }, + "end": { + "index": 1624, + "line": 48, + "character": 35 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 1673, + "line": 49, + "character": 25 + }, + "end": { + "index": 1683, + "line": 49, + "character": 35 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'event' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "severity": 1, + "start": { + "index": 650, + "line": 14, + "character": 18 + }, + "end": { + "index": 660, + "line": 14, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 281, + "line": 9, + "character": 22 + }, + "end": { + "index": 296, + "line": 9, + "character": 37 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 622, + "line": 15, + "character": 72 + }, + "end": { + "index": 623, + "line": 15, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 1333, + "line": 30, + "character": 68 + }, + "end": { + "index": 1339, + "line": 30, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update.liquid", + "severity": 1, + "start": { + "index": 342, + "line": 12, + "character": 67 + }, + "end": { + "index": 344, + "line": 12, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update.liquid", + "severity": 1, + "start": { + "index": 353, + "line": 12, + "character": 78 + }, + "end": { + "index": 358, + "line": 12, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'password' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update.liquid", + "severity": 1, + "start": { + "index": 370, + "line": 12, + "character": 95 + }, + "end": { + "index": 378, + "line": 12, + "character": 103 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook_params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update.liquid", + "severity": 1, + "start": { + "index": 664, + "line": 19, + "character": 66 + }, + "end": { + "index": 675, + "line": 19, + "character": 77 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'container_class' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 212, + "line": 9, + "character": 27 + }, + "end": { + "index": 227, + "line": 9, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'button_attrs' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 354, + "line": 10, + "character": 24 + }, + "end": { + "index": 366, + "line": 10, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'collection' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 417, + "line": 11, + "character": 24 + }, + "end": { + "index": 440, + "line": 11, + "character": 47 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'page_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 487, + "line": 12, + "character": 21 + }, + "end": { + "index": 496, + "line": 12, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'collection' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 755, + "line": 19, + "character": 12 + }, + "end": { + "index": 783, + "line": 19, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'collection' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 1265, + "line": 34, + "character": 59 + }, + "end": { + "index": 1287, + "line": 34, + "character": 81 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'collection' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 1853, + "line": 51, + "character": 12 + }, + "end": { + "index": 1877, + "line": 51, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'collection' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 557, + "line": 15, + "character": 38 + }, + "end": { + "index": 581, + "line": 15, + "character": 62 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'collection' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "severity": 1, + "start": { + "index": 525, + "line": 15, + "character": 6 + }, + "end": { + "index": 553, + "line": 15, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 121, + "line": 2, + "character": 66 + }, + "end": { + "index": 127, + "line": 2, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 212, + "line": 3, + "character": 63 + }, + "end": { + "index": 218, + "line": 3, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 374, + "line": 5, + "character": 68 + }, + "end": { + "index": 386, + "line": 5, + "character": 80 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'current_user' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 287, + "line": 4, + "character": 47 + }, + "end": { + "index": 305, + "line": 4, + "character": 65 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 271, + "line": 4, + "character": 31 + }, + "end": { + "index": 283, + "line": 4, + "character": 43 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 245, + "line": 4, + "character": 5 + }, + "end": { + "index": 257, + "line": 4, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 638, + "line": 11, + "character": 66 + }, + "end": { + "index": 644, + "line": 11, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 811, + "line": 13, + "character": 121 + }, + "end": { + "index": 817, + "line": 13, + "character": 127 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "severity": 1, + "start": { + "index": 674, + "line": 12, + "character": 5 + }, + "end": { + "index": 689, + "line": 12, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 420, + "line": 13, + "character": 22 + }, + "end": { + "index": 435, + "line": 13, + "character": 37 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 485, + "line": 15, + "character": 8 + }, + "end": { + "index": 494, + "line": 15, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 681, + "line": 20, + "character": 47 + }, + "end": { + "index": 690, + "line": 20, + "character": 56 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'entity' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 700, + "line": 20, + "character": 66 + }, + "end": { + "index": 706, + "line": 20, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'do' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 712, + "line": 20, + "character": 78 + }, + "end": { + "index": 714, + "line": 20, + "character": 80 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'access_callback' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 653, + "line": 20, + "character": 19 + }, + "end": { + "index": 668, + "line": 20, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'access_callback' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 618, + "line": 19, + "character": 5 + }, + "end": { + "index": 633, + "line": 19, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 1057, + "line": 29, + "character": 10 + }, + "end": { + "index": 1066, + "line": 29, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'do' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 1202, + "line": 34, + "character": 37 + }, + "end": { + "index": 1204, + "line": 34, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'requester' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "severity": 1, + "start": { + "index": 864, + "line": 26, + "character": 14 + }, + "end": { + "index": 879, + "line": 26, + "character": 29 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 25, + "line": 1, + "character": 15 + }, + "end": { + "index": 28, + "line": 1, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 89, + "line": 2, + "character": 17 + }, + "end": { + "index": 107, + "line": 2, + "character": 35 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 96, + "line": 2, + "character": 24 + }, + "end": { + "index": 106, + "line": 2, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 177, + "line": 5, + "character": 23 + }, + "end": { + "index": 186, + "line": 5, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 135, + "line": 4, + "character": 7 + }, + "end": { + "index": 144, + "line": 4, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 255, + "line": 8, + "character": 27 + }, + "end": { + "index": 273, + "line": 8, + "character": 45 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'scope_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 262, + "line": 8, + "character": 34 + }, + "end": { + "index": 272, + "line": 8, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'scope_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 217, + "line": 7, + "character": 7 + }, + "end": { + "index": 227, + "line": 7, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 372, + "line": 14, + "character": 29 + }, + "end": { + "index": 392, + "line": 14, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'exclude_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 379, + "line": 14, + "character": 36 + }, + "end": { + "index": 391, + "line": 14, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'exclude_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 330, + "line": 13, + "character": 7 + }, + "end": { + "index": 342, + "line": 13, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 505, + "line": 19, + "character": 61 + }, + "end": { + "index": 515, + "line": 19, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'table' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 565, + "line": 19, + "character": 121 + }, + "end": { + "index": 570, + "line": 19, + "character": 126 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 808, + "line": 23, + "character": 68 + }, + "end": { + "index": 809, + "line": 23, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 823, + "line": 23, + "character": 83 + }, + "end": { + "index": 833, + "line": 23, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'key' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 146, + "line": 2, + "character": 15 + }, + "end": { + "index": 149, + "line": 2, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 210, + "line": 3, + "character": 17 + }, + "end": { + "index": 228, + "line": 3, + "character": 35 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 217, + "line": 3, + "character": 24 + }, + "end": { + "index": 227, + "line": 3, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 298, + "line": 6, + "character": 23 + }, + "end": { + "index": 307, + "line": 6, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 256, + "line": 5, + "character": 7 + }, + "end": { + "index": 265, + "line": 5, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 376, + "line": 9, + "character": 27 + }, + "end": { + "index": 394, + "line": 9, + "character": 45 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'scope_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 383, + "line": 9, + "character": 34 + }, + "end": { + "index": 393, + "line": 9, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'scope_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 338, + "line": 8, + "character": 7 + }, + "end": { + "index": 348, + "line": 8, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 493, + "line": 15, + "character": 29 + }, + "end": { + "index": 513, + "line": 15, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'exclude_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 500, + "line": 15, + "character": 36 + }, + "end": { + "index": 512, + "line": 15, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'exclude_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 451, + "line": 14, + "character": 7 + }, + "end": { + "index": 463, + "line": 14, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 626, + "line": 20, + "character": 61 + }, + "end": { + "index": 636, + "line": 20, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'table' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 686, + "line": 20, + "character": 121 + }, + "end": { + "index": 691, + "line": 20, + "character": 126 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 933, + "line": 24, + "character": 72 + }, + "end": { + "index": 934, + "line": 24, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "severity": 1, + "start": { + "index": 948, + "line": 24, + "character": 87 + }, + "end": { + "index": 958, + "line": 24, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 96, + "line": 1, + "character": 86 + }, + "end": { + "index": 102, + "line": 1, + "character": 92 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 149, + "line": 3, + "character": 16 + }, + "end": { + "index": 160, + "line": 3, + "character": 27 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 239, + "line": 4, + "character": 58 + }, + "end": { + "index": 255, + "line": 4, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 197, + "line": 4, + "character": 16 + }, + "end": { + "index": 214, + "line": 4, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 288, + "line": 6, + "character": 31 + }, + "end": { + "index": 305, + "line": 6, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 320, + "line": 6, + "character": 63 + }, + "end": { + "index": 336, + "line": 6, + "character": 79 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 349, + "line": 6, + "character": 92 + }, + "end": { + "index": 363, + "line": 6, + "character": 106 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 374, + "line": 6, + "character": 117 + }, + "end": { + "index": 386, + "line": 6, + "character": 129 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 644, + "line": 13, + "character": 24 + }, + "end": { + "index": 656, + "line": 13, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 718, + "line": 15, + "character": 21 + }, + "end": { + "index": 730, + "line": 15, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 797, + "line": 17, + "character": 21 + }, + "end": { + "index": 809, + "line": 17, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 829, + "line": 19, + "character": 10 + }, + "end": { + "index": 841, + "line": 19, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "severity": 1, + "start": { + "index": 450, + "line": 7, + "character": 5 + }, + "end": { + "index": 462, + "line": 7, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 324, + "line": 15, + "character": 76 + }, + "end": { + "index": 331, + "line": 15, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 413, + "line": 16, + "character": 68 + }, + "end": { + "index": 414, + "line": 16, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 428, + "line": 16, + "character": 83 + }, + "end": { + "index": 438, + "line": 16, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 240, + "line": 14, + "character": 34 + }, + "end": { + "index": 247, + "line": 14, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 213, + "line": 14, + "character": 7 + }, + "end": { + "index": 220, + "line": 14, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 586, + "line": 20, + "character": 76 + }, + "end": { + "index": 593, + "line": 20, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 748, + "line": 22, + "character": 83 + }, + "end": { + "index": 758, + "line": 22, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 502, + "line": 19, + "character": 34 + }, + "end": { + "index": 509, + "line": 19, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 475, + "line": 19, + "character": 7 + }, + "end": { + "index": 482, + "line": 19, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 892, + "line": 26, + "character": 71 + }, + "end": { + "index": 894, + "line": 26, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 991, + "line": 27, + "character": 83 + }, + "end": { + "index": 1001, + "line": 27, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 818, + "line": 25, + "character": 30 + }, + "end": { + "index": 820, + "line": 25, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 795, + "line": 25, + "character": 7 + }, + "end": { + "index": 797, + "line": 25, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 159, + "line": 10, + "character": 12 + }, + "end": { + "index": 177, + "line": 10, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 166, + "line": 10, + "character": 19 + }, + "end": { + "index": 176, + "line": 10, + "character": 29 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 121, + "line": 2, + "character": 66 + }, + "end": { + "index": 127, + "line": 2, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 220, + "line": 3, + "character": 66 + }, + "end": { + "index": 226, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 318, + "line": 4, + "character": 66 + }, + "end": { + "index": 324, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 426, + "line": 5, + "character": 77 + }, + "end": { + "index": 432, + "line": 5, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 534, + "line": 6, + "character": 66 + }, + "end": { + "index": 540, + "line": 6, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 673, + "line": 7, + "character": 64 + }, + "end": { + "index": 679, + "line": 7, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 795, + "line": 8, + "character": 63 + }, + "end": { + "index": 801, + "line": 8, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 955, + "line": 11, + "character": 59 + }, + "end": { + "index": 967, + "line": 11, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "severity": 1, + "start": { + "index": 874, + "line": 10, + "character": 5 + }, + "end": { + "index": 886, + "line": 10, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 462, + "line": 15, + "character": 76 + }, + "end": { + "index": 469, + "line": 15, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 555, + "line": 16, + "character": 72 + }, + "end": { + "index": 556, + "line": 16, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 570, + "line": 16, + "character": 87 + }, + "end": { + "index": 580, + "line": 16, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 378, + "line": 14, + "character": 34 + }, + "end": { + "index": 385, + "line": 14, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 351, + "line": 14, + "character": 7 + }, + "end": { + "index": 358, + "line": 14, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 728, + "line": 20, + "character": 76 + }, + "end": { + "index": 735, + "line": 20, + "character": 83 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 894, + "line": 22, + "character": 87 + }, + "end": { + "index": 904, + "line": 22, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 644, + "line": 19, + "character": 34 + }, + "end": { + "index": 651, + "line": 19, + "character": 41 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 617, + "line": 19, + "character": 7 + }, + "end": { + "index": 624, + "line": 19, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 1038, + "line": 26, + "character": 71 + }, + "end": { + "index": 1040, + "line": 26, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 1141, + "line": 27, + "character": 87 + }, + "end": { + "index": 1151, + "line": 27, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 964, + "line": 25, + "character": 30 + }, + "end": { + "index": 966, + "line": 25, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 941, + "line": 25, + "character": 7 + }, + "end": { + "index": 943, + "line": 25, + "character": 9 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 297, + "line": 10, + "character": 12 + }, + "end": { + "index": 315, + "line": 10, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "severity": 1, + "start": { + "index": 304, + "line": 10, + "character": 19 + }, + "end": { + "index": 314, + "line": 10, + "character": 29 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid", + "severity": 1, + "start": { + "index": 122, + "line": 3, + "character": 66 + }, + "end": { + "index": 128, + "line": 3, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid", + "severity": 1, + "start": { + "index": 215, + "line": 4, + "character": 66 + }, + "end": { + "index": 221, + "line": 4, + "character": 72 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid", + "severity": 1, + "start": { + "index": 279, + "line": 6, + "character": 36 + }, + "end": { + "index": 290, + "line": 6, + "character": 47 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid", + "severity": 1, + "start": { + "index": 744, + "line": 17, + "character": 61 + }, + "end": { + "index": 750, + "line": 17, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid", + "severity": 1, + "start": { + "index": 940, + "line": 23, + "character": 58 + }, + "end": { + "index": 951, + "line": 23, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid", + "severity": 1, + "start": { + "index": 1010, + "line": 23, + "character": 128 + }, + "end": { + "index": 1021, + "line": 23, + "character": 139 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'type' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid", + "severity": 1, + "start": { + "index": 1103, + "line": 24, + "character": 81 + }, + "end": { + "index": 1107, + "line": 24, + "character": 85 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_pages' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid", + "severity": 1, + "start": { + "index": 1083, + "line": 39, + "character": 22 + }, + "end": { + "index": 1094, + "line": 39, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_pages' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid", + "severity": 1, + "start": { + "index": 1447, + "line": 51, + "character": 21 + }, + "end": { + "index": 1458, + "line": 51, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'total_pages' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid", + "severity": 1, + "start": { + "index": 621, + "line": 26, + "character": 6 + }, + "end": { + "index": 632, + "line": 26, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'class' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/icon.liquid", + "severity": 1, + "start": { + "index": 159, + "line": 12, + "character": 17 + }, + "end": { + "index": 164, + "line": 12, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'icon' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/icon.liquid", + "severity": 1, + "start": { + "index": 31738, + "line": 152, + "character": 83 + }, + "end": { + "index": 31742, + "line": 152, + "character": 87 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'icon' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/icon.liquid", + "severity": 1, + "start": { + "index": 367, + "line": 25, + "character": 8 + }, + "end": { + "index": 371, + "line": 25, + "character": 12 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 142, + "line": 8, + "character": 22 + }, + "end": { + "index": 157, + "line": 8, + "character": 37 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 177, + "line": 9, + "character": 19 + }, + "end": { + "index": 184, + "line": 9, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 217, + "line": 10, + "character": 19 + }, + "end": { + "index": 224, + "line": 10, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 262, + "line": 11, + "character": 22 + }, + "end": { + "index": 272, + "line": 11, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 612, + "line": 17, + "character": 68 + }, + "end": { + "index": 613, + "line": 17, + "character": 69 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid", + "severity": 1, + "start": { + "index": 1311, + "line": 32, + "character": 64 + }, + "end": { + "index": 1317, + "line": 32, + "character": 70 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'url' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "severity": 1, + "start": { + "index": 15, + "line": 1, + "character": 5 + }, + "end": { + "index": 18, + "line": 1, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'default' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "severity": 1, + "start": { + "index": 648, + "line": 16, + "character": 21 + }, + "end": { + "index": 655, + "line": 16, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'notice' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "severity": 1, + "start": { + "index": 828, + "line": 21, + "character": 56 + }, + "end": { + "index": 834, + "line": 21, + "character": 62 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'error' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "severity": 1, + "start": { + "index": 843, + "line": 21, + "character": 71 + }, + "end": { + "index": 848, + "line": 21, + "character": 76 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'info' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "severity": 1, + "start": { + "index": 856, + "line": 21, + "character": 84 + }, + "end": { + "index": 860, + "line": 21, + "character": 88 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "severity": 1, + "start": { + "index": 1002, + "line": 26, + "character": 7 + }, + "end": { + "index": 1014, + "line": 26, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'format' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "severity": 1, + "start": { + "index": 918, + "line": 24, + "character": 5 + }, + "end": { + "index": 924, + "line": 24, + "character": 11 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/new.liquid", + "severity": 1, + "start": { + "index": 166, + "line": 11, + "character": 36 + }, + "end": { + "index": 179, + "line": 11, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'values' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/new.liquid", + "severity": 1, + "start": { + "index": 148, + "line": 11, + "character": 18 + }, + "end": { + "index": 154, + "line": 11, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/new.liquid", + "severity": 1, + "start": { + "index": 216, + "line": 12, + "character": 36 + }, + "end": { + "index": 229, + "line": 12, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'errors' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/new.liquid", + "severity": 1, + "start": { + "index": 198, + "line": 12, + "character": 18 + }, + "end": { + "index": 204, + "line": 12, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'registration_fields' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/new.liquid", + "severity": 1, + "start": { + "index": 539, + "line": 21, + "character": 20 + }, + "end": { + "index": 558, + "line": 21, + "character": 39 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1545, + "line": 28, + "character": 31 + }, + "end": { + "index": 1547, + "line": 28, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'list' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1495, + "line": 26, + "character": 10 + }, + "end": { + "index": 1499, + "line": 26, + "character": 14 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'list' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1639, + "line": 35, + "character": 16 + }, + "end": { + "index": 1643, + "line": 35, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'selected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1700, + "line": 38, + "character": 22 + }, + "end": { + "index": 1708, + "line": 38, + "character": 30 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'selected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1666, + "line": 37, + "character": 5 + }, + "end": { + "index": 1677, + "line": 37, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'view' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1750, + "line": 41, + "character": 16 + }, + "end": { + "index": 1754, + "line": 41, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'placeholder' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1797, + "line": 43, + "character": 23 + }, + "end": { + "index": 1808, + "line": 43, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'placeholder_filter' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1887, + "line": 44, + "character": 30 + }, + "end": { + "index": 1905, + "line": 44, + "character": 48 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'placeholder_empty' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 1991, + "line": 45, + "character": 29 + }, + "end": { + "index": 2008, + "line": 45, + "character": 46 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'combine_selected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 2525, + "line": 54, + "character": 10 + }, + "end": { + "index": 2541, + "line": 54, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 2337, + "line": 50, + "character": 47 + }, + "end": { + "index": 2339, + "line": 50, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'showFilter' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 3792, + "line": 78, + "character": 10 + }, + "end": { + "index": 3802, + "line": 78, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 4069, + "line": 84, + "character": 42 + }, + "end": { + "index": 4073, + "line": 84, + "character": 46 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'form' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 4128, + "line": 84, + "character": 101 + }, + "end": { + "index": 4132, + "line": 84, + "character": 105 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'form' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 4111, + "line": 84, + "character": 84 + }, + "end": { + "index": 4115, + "line": 84, + "character": 88 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 4230, + "line": 84, + "character": 203 + }, + "end": { + "index": 4232, + "line": 84, + "character": 205 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 4312, + "line": 84, + "character": 285 + }, + "end": { + "index": 4314, + "line": 84, + "character": 287 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'showFilter' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 4414, + "line": 88, + "character": 10 + }, + "end": { + "index": 4424, + "line": 88, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 3759, + "line": 77, + "character": 58 + }, + "end": { + "index": 3761, + "line": 77, + "character": 60 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'required' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 2083, + "line": 48, + "character": 11 + }, + "end": { + "index": 2091, + "line": 48, + "character": 19 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'multiline' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 2150, + "line": 48, + "character": 78 + }, + "end": { + "index": 2159, + "line": 48, + "character": 87 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'combine_selected' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 2212, + "line": 48, + "character": 140 + }, + "end": { + "index": 2228, + "line": 48, + "character": 156 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'id' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "severity": 1, + "start": { + "index": 2281, + "line": 48, + "character": 209 + }, + "end": { + "index": 2283, + "line": 48, + "character": 211 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'inert' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/navigation/collapsible.liquid", + "severity": 1, + "start": { + "index": 27, + "line": 1, + "character": 17 + }, + "end": { + "index": 32, + "line": 1, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'active' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/navigation/collapsible.liquid", + "severity": 1, + "start": { + "index": 68, + "line": 2, + "character": 18 + }, + "end": { + "index": 74, + "line": 2, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'items' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/navigation/collapsible.liquid", + "severity": 1, + "start": { + "index": 204, + "line": 10, + "character": 19 + }, + "end": { + "index": 209, + "line": 10, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'validate_password' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create.liquid", + "severity": 1, + "start": { + "index": 421, + "line": 16, + "character": 5 + }, + "end": { + "index": 438, + "line": 16, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'skip_otp' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create.liquid", + "severity": 1, + "start": { + "index": 496, + "line": 20, + "character": 5 + }, + "end": { + "index": 504, + "line": 20, + "character": 13 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'email' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create.liquid", + "severity": 1, + "start": { + "index": 645, + "line": 25, + "character": 73 + }, + "end": { + "index": 650, + "line": 25, + "character": 78 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'password' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create.liquid", + "severity": 1, + "start": { + "index": 662, + "line": 25, + "character": 90 + }, + "end": { + "index": 670, + "line": 25, + "character": 98 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'hook_params' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create.liquid", + "severity": 1, + "start": { + "index": 1351, + "line": 42, + "character": 55 + }, + "end": { + "index": 1362, + "line": 42, + "character": 66 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 256, + "line": 12, + "character": 34 + }, + "end": { + "index": 274, + "line": 12, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 263, + "line": 12, + "character": 41 + }, + "end": { + "index": 273, + "line": 12, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 239, + "line": 12, + "character": 17 + }, + "end": { + "index": 244, + "line": 12, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 316, + "line": 14, + "character": 14 + }, + "end": { + "index": 318, + "line": 14, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 354, + "line": 15, + "character": 19 + }, + "end": { + "index": 361, + "line": 15, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 397, + "line": 16, + "character": 19 + }, + "end": { + "index": 404, + "line": 16, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'allow_blank' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 427, + "line": 18, + "character": 5 + }, + "end": { + "index": 438, + "line": 18, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 567, + "line": 22, + "character": 57 + }, + "end": { + "index": 568, + "line": 22, + "character": 58 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 578, + "line": 22, + "character": 68 + }, + "end": { + "index": 584, + "line": 22, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 598, + "line": 22, + "character": 88 + }, + "end": { + "index": 608, + "line": 22, + "character": 98 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 679, + "line": 26, + "character": 21 + }, + "end": { + "index": 694, + "line": 26, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 861, + "line": 27, + "character": 81 + }, + "end": { + "index": 871, + "line": 27, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 960, + "line": 31, + "character": 21 + }, + "end": { + "index": 975, + "line": 31, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 1142, + "line": 32, + "character": 81 + }, + "end": { + "index": 1152, + "line": 32, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 1232, + "line": 36, + "character": 21 + }, + "end": { + "index": 1242, + "line": 36, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 1399, + "line": 37, + "character": 81 + }, + "end": { + "index": 1409, + "line": 37, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'contract' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/app/lib/test/commands/user/create_test.liquid", + "severity": 1, + "start": { + "index": 530, + "line": 8, + "character": 66 + }, + "end": { + "index": 538, + "line": 8, + "character": 74 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'test_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 94, + "line": 3, + "character": 35 + }, + "end": { + "index": 103, + "line": 3, + "character": 44 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'format' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 389, + "line": 10, + "character": 11 + }, + "end": { + "index": 395, + "line": 10, + "character": 17 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'tests' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 362, + "line": 9, + "character": 5 + }, + "end": { + "index": 372, + "line": 9, + "character": 15 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'test_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 795, + "line": 21, + "character": 22 + }, + "end": { + "index": 804, + "line": 21, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'format' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 1458, + "line": 37, + "character": 26 + }, + "end": { + "index": 1464, + "line": 37, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'test_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "severity": 1, + "start": { + "index": 1693, + "line": 39, + "character": 119 + }, + "end": { + "index": 1702, + "line": 39, + "character": 128 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 369, + "line": 13, + "character": 34 + }, + "end": { + "index": 387, + "line": 13, + "character": 52 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 376, + "line": 13, + "character": 41 + }, + "end": { + "index": 386, + "line": 13, + "character": 51 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'value' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 352, + "line": 13, + "character": 17 + }, + "end": { + "index": 357, + "line": 13, + "character": 22 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 429, + "line": 15, + "character": 14 + }, + "end": { + "index": 431, + "line": 15, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 467, + "line": 16, + "character": 19 + }, + "end": { + "index": 474, + "line": 16, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 510, + "line": 17, + "character": 19 + }, + "end": { + "index": 517, + "line": 17, + "character": 26 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'allow_blank' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 540, + "line": 19, + "character": 5 + }, + "end": { + "index": 551, + "line": 19, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_blank' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 667, + "line": 24, + "character": 23 + }, + "end": { + "index": 680, + "line": 24, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 807, + "line": 25, + "character": 72 + }, + "end": { + "index": 808, + "line": 25, + "character": 73 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 822, + "line": 25, + "character": 87 + }, + "end": { + "index": 832, + "line": 25, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_minimum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 931, + "line": 30, + "character": 21 + }, + "end": { + "index": 946, + "line": 30, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 1117, + "line": 31, + "character": 85 + }, + "end": { + "index": 1127, + "line": 31, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_maximum' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 1216, + "line": 35, + "character": 21 + }, + "end": { + "index": 1231, + "line": 35, + "character": 36 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 1402, + "line": 36, + "character": 85 + }, + "end": { + "index": 1412, + "line": 36, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_is' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 1492, + "line": 40, + "character": 21 + }, + "end": { + "index": 1502, + "line": 40, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "severity": 1, + "start": { + "index": 1663, + "line": 41, + "character": 85 + }, + "end": { + "index": 1673, + "line": 41, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'i' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid", + "severity": 1, + "start": { + "index": 18903, + "line": 436, + "character": 20 + }, + "end": { + "index": 18904, + "line": 436, + "character": 21 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 330, + "line": 13, + "character": 36 + }, + "end": { + "index": 348, + "line": 13, + "character": 54 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 337, + "line": 13, + "character": 43 + }, + "end": { + "index": 347, + "line": 13, + "character": 53 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'number' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 312, + "line": 13, + "character": 18 + }, + "end": { + "index": 318, + "line": 13, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 508, + "line": 19, + "character": 21 + }, + "end": { + "index": 515, + "line": 19, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 653, + "line": 20, + "character": 66 + }, + "end": { + "index": 654, + "line": 20, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 668, + "line": 20, + "character": 81 + }, + "end": { + "index": 678, + "line": 20, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 880, + "line": 28, + "character": 91 + }, + "end": { + "index": 882, + "line": 28, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 810, + "line": 28, + "character": 21 + }, + "end": { + "index": 820, + "line": 28, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 979, + "line": 29, + "character": 81 + }, + "end": { + "index": 989, + "line": 29, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 786, + "line": 27, + "character": 30 + }, + "end": { + "index": 788, + "line": 27, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 761, + "line": 27, + "character": 5 + }, + "end": { + "index": 763, + "line": 27, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1022, + "line": 32, + "character": 5 + }, + "end": { + "index": 1025, + "line": 32, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1110, + "line": 36, + "character": 21 + }, + "end": { + "index": 1121, + "line": 36, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1282, + "line": 37, + "character": 81 + }, + "end": { + "index": 1292, + "line": 37, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1444, + "line": 41, + "character": 91 + }, + "end": { + "index": 1446, + "line": 41, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1374, + "line": 41, + "character": 21 + }, + "end": { + "index": 1384, + "line": 41, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1543, + "line": 42, + "character": 81 + }, + "end": { + "index": 1553, + "line": 42, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1350, + "line": 40, + "character": 30 + }, + "end": { + "index": 1352, + "line": 40, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1325, + "line": 40, + "character": 5 + }, + "end": { + "index": 1327, + "line": 40, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1708, + "line": 46, + "character": 93 + }, + "end": { + "index": 1711, + "line": 46, + "character": 96 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1636, + "line": 46, + "character": 21 + }, + "end": { + "index": 1647, + "line": 46, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1808, + "line": 47, + "character": 81 + }, + "end": { + "index": 1818, + "line": 47, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1611, + "line": 45, + "character": 30 + }, + "end": { + "index": 1614, + "line": 45, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1586, + "line": 45, + "character": 5 + }, + "end": { + "index": 1589, + "line": 45, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'eq' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1970, + "line": 51, + "character": 91 + }, + "end": { + "index": 1972, + "line": 51, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_eq' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1900, + "line": 51, + "character": 21 + }, + "end": { + "index": 1910, + "line": 51, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2069, + "line": 52, + "character": 81 + }, + "end": { + "index": 2079, + "line": 52, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'eq' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1876, + "line": 50, + "character": 30 + }, + "end": { + "index": 1878, + "line": 50, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'eq' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1851, + "line": 50, + "character": 5 + }, + "end": { + "index": 1853, + "line": 50, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ne' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2231, + "line": 56, + "character": 91 + }, + "end": { + "index": 2233, + "line": 56, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_ne' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2161, + "line": 56, + "character": 21 + }, + "end": { + "index": 2171, + "line": 56, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2330, + "line": 57, + "character": 81 + }, + "end": { + "index": 2340, + "line": 57, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ne' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2137, + "line": 55, + "character": 30 + }, + "end": { + "index": 2139, + "line": 55, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ne' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2112, + "line": 55, + "character": 5 + }, + "end": { + "index": 2114, + "line": 55, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 330, + "line": 13, + "character": 36 + }, + "end": { + "index": 348, + "line": 13, + "character": 54 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 337, + "line": 13, + "character": 43 + }, + "end": { + "index": 347, + "line": 13, + "character": 53 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'number' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 312, + "line": 13, + "character": 18 + }, + "end": { + "index": 318, + "line": 13, + "character": 24 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 621, + "line": 20, + "character": 21 + }, + "end": { + "index": 628, + "line": 20, + "character": 28 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 770, + "line": 21, + "character": 70 + }, + "end": { + "index": 771, + "line": 21, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 785, + "line": 21, + "character": 85 + }, + "end": { + "index": 795, + "line": 21, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 997, + "line": 29, + "character": 91 + }, + "end": { + "index": 999, + "line": 29, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 927, + "line": 29, + "character": 21 + }, + "end": { + "index": 937, + "line": 29, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1100, + "line": 30, + "character": 85 + }, + "end": { + "index": 1110, + "line": 30, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 903, + "line": 28, + "character": 30 + }, + "end": { + "index": 905, + "line": 28, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 878, + "line": 28, + "character": 5 + }, + "end": { + "index": 880, + "line": 28, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1143, + "line": 33, + "character": 5 + }, + "end": { + "index": 1146, + "line": 33, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1231, + "line": 37, + "character": 21 + }, + "end": { + "index": 1242, + "line": 37, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1407, + "line": 38, + "character": 85 + }, + "end": { + "index": 1417, + "line": 38, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1569, + "line": 42, + "character": 91 + }, + "end": { + "index": 1571, + "line": 42, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1499, + "line": 42, + "character": 21 + }, + "end": { + "index": 1509, + "line": 42, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1672, + "line": 43, + "character": 85 + }, + "end": { + "index": 1682, + "line": 43, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1475, + "line": 41, + "character": 30 + }, + "end": { + "index": 1477, + "line": 41, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1450, + "line": 41, + "character": 5 + }, + "end": { + "index": 1452, + "line": 41, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1837, + "line": 47, + "character": 93 + }, + "end": { + "index": 1840, + "line": 47, + "character": 96 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1765, + "line": 47, + "character": 21 + }, + "end": { + "index": 1776, + "line": 47, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1941, + "line": 48, + "character": 85 + }, + "end": { + "index": 1951, + "line": 48, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1740, + "line": 46, + "character": 30 + }, + "end": { + "index": 1743, + "line": 46, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1715, + "line": 46, + "character": 5 + }, + "end": { + "index": 1718, + "line": 46, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'eq' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2103, + "line": 52, + "character": 91 + }, + "end": { + "index": 2105, + "line": 52, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_eq' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2033, + "line": 52, + "character": 21 + }, + "end": { + "index": 2043, + "line": 52, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2206, + "line": 53, + "character": 85 + }, + "end": { + "index": 2216, + "line": 53, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'eq' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2009, + "line": 51, + "character": 30 + }, + "end": { + "index": 2011, + "line": 51, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'eq' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 1984, + "line": 51, + "character": 5 + }, + "end": { + "index": 1986, + "line": 51, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ne' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2368, + "line": 57, + "character": 91 + }, + "end": { + "index": 2370, + "line": 57, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_ne' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2298, + "line": 57, + "character": 21 + }, + "end": { + "index": 2308, + "line": 57, + "character": 31 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2471, + "line": 58, + "character": 85 + }, + "end": { + "index": 2481, + "line": 58, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ne' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2274, + "line": 56, + "character": 30 + }, + "end": { + "index": 2276, + "line": 56, + "character": 32 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'ne' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "severity": 1, + "start": { + "index": 2249, + "line": 56, + "character": 5 + }, + "end": { + "index": 2251, + "line": 56, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 165, + "line": 8, + "character": 32 + }, + "end": { + "index": 183, + "line": 8, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 172, + "line": 8, + "character": 39 + }, + "end": { + "index": 182, + "line": 8, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'date' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 149, + "line": 8, + "character": 16 + }, + "end": { + "index": 153, + "line": 8, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'can_be_past' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 504, + "line": 20, + "character": 107 + }, + "end": { + "index": 515, + "line": 20, + "character": 118 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_can_be_past' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 418, + "line": 20, + "character": 21 + }, + "end": { + "index": 437, + "line": 20, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 595, + "line": 21, + "character": 66 + }, + "end": { + "index": 596, + "line": 21, + "character": 67 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 610, + "line": 21, + "character": 81 + }, + "end": { + "index": 620, + "line": 21, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'can_be_past' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 364, + "line": 19, + "character": 5 + }, + "end": { + "index": 375, + "line": 19, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'can_be_future' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 801, + "line": 25, + "character": 111 + }, + "end": { + "index": 814, + "line": 25, + "character": 124 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_can_be_future' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 711, + "line": 25, + "character": 21 + }, + "end": { + "index": 732, + "line": 25, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 909, + "line": 26, + "character": 81 + }, + "end": { + "index": 919, + "line": 26, + "character": 91 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'can_be_future' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 653, + "line": 24, + "character": 5 + }, + "end": { + "index": 666, + "line": 24, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 979, + "line": 30, + "character": 16 + }, + "end": { + "index": 981, + "line": 30, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1070, + "line": 33, + "character": 23 + }, + "end": { + "index": 1080, + "line": 33, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1248, + "line": 34, + "character": 83 + }, + "end": { + "index": 1258, + "line": 34, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 952, + "line": 29, + "character": 5 + }, + "end": { + "index": 954, + "line": 29, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1330, + "line": 39, + "character": 17 + }, + "end": { + "index": 1333, + "line": 39, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1423, + "line": 42, + "character": 23 + }, + "end": { + "index": 1434, + "line": 42, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1603, + "line": 43, + "character": 83 + }, + "end": { + "index": 1613, + "line": 43, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1301, + "line": 38, + "character": 5 + }, + "end": { + "index": 1304, + "line": 38, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1683, + "line": 48, + "character": 16 + }, + "end": { + "index": 1685, + "line": 48, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1774, + "line": 51, + "character": 23 + }, + "end": { + "index": 1784, + "line": 51, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1952, + "line": 52, + "character": 83 + }, + "end": { + "index": 1962, + "line": 52, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1656, + "line": 47, + "character": 5 + }, + "end": { + "index": 1658, + "line": 47, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2034, + "line": 57, + "character": 17 + }, + "end": { + "index": 2037, + "line": 57, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2127, + "line": 60, + "character": 23 + }, + "end": { + "index": 2138, + "line": 60, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2307, + "line": 61, + "character": 83 + }, + "end": { + "index": 2317, + "line": 61, + "character": 93 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2005, + "line": 56, + "character": 5 + }, + "end": { + "index": 2008, + "line": 56, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'object' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 274, + "line": 9, + "character": 32 + }, + "end": { + "index": 292, + "line": 9, + "character": 50 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 281, + "line": 9, + "character": 39 + }, + "end": { + "index": 291, + "line": 9, + "character": 49 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'date' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 258, + "line": 9, + "character": 16 + }, + "end": { + "index": 262, + "line": 9, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'can_be_past' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 613, + "line": 21, + "character": 107 + }, + "end": { + "index": 624, + "line": 21, + "character": 118 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_can_be_past' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 527, + "line": 21, + "character": 21 + }, + "end": { + "index": 546, + "line": 21, + "character": 40 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'c' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 708, + "line": 22, + "character": 70 + }, + "end": { + "index": 709, + "line": 22, + "character": 71 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 723, + "line": 22, + "character": 85 + }, + "end": { + "index": 733, + "line": 22, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'can_be_past' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 473, + "line": 20, + "character": 5 + }, + "end": { + "index": 484, + "line": 20, + "character": 16 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'can_be_future' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 914, + "line": 26, + "character": 111 + }, + "end": { + "index": 927, + "line": 26, + "character": 124 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_can_be_future' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 824, + "line": 26, + "character": 21 + }, + "end": { + "index": 845, + "line": 26, + "character": 42 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1026, + "line": 27, + "character": 85 + }, + "end": { + "index": 1036, + "line": 27, + "character": 95 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'can_be_future' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 766, + "line": 25, + "character": 5 + }, + "end": { + "index": 779, + "line": 25, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1096, + "line": 31, + "character": 16 + }, + "end": { + "index": 1098, + "line": 31, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1187, + "line": 34, + "character": 23 + }, + "end": { + "index": 1197, + "line": 34, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1369, + "line": 35, + "character": 87 + }, + "end": { + "index": 1379, + "line": 35, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1069, + "line": 30, + "character": 5 + }, + "end": { + "index": 1071, + "line": 30, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1451, + "line": 40, + "character": 17 + }, + "end": { + "index": 1454, + "line": 40, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1544, + "line": 43, + "character": 23 + }, + "end": { + "index": 1555, + "line": 43, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1728, + "line": 44, + "character": 87 + }, + "end": { + "index": 1738, + "line": 44, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'lte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1422, + "line": 39, + "character": 5 + }, + "end": { + "index": 1425, + "line": 39, + "character": 8 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1808, + "line": 49, + "character": 16 + }, + "end": { + "index": 1810, + "line": 49, + "character": 18 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1899, + "line": 52, + "character": 23 + }, + "end": { + "index": 1909, + "line": 52, + "character": 33 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2081, + "line": 53, + "character": 87 + }, + "end": { + "index": 2091, + "line": 53, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gt' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 1781, + "line": 48, + "character": 5 + }, + "end": { + "index": 1783, + "line": 48, + "character": 7 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2163, + "line": 58, + "character": 17 + }, + "end": { + "index": 2166, + "line": 58, + "character": 20 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'message_gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2256, + "line": 61, + "character": 23 + }, + "end": { + "index": 2267, + "line": 61, + "character": 34 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'field_name' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2440, + "line": 62, + "character": 87 + }, + "end": { + "index": 2450, + "line": 62, + "character": 97 + } + }, + { + "type": "LiquidHtml", + "check": "UndefinedObject", + "message": "Unknown object 'gte' used.", + "uri": "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "severity": 1, + "start": { + "index": 2134, + "line": 57, + "character": 5 + }, + "end": { + "index": 2137, + "line": 57, + "character": 8 + } + } +] +{ + "settings": { + "DeprecatedFilter": { + "enabled": true, + "severity": 1 + }, + "DeprecatedTag": { + "enabled": true, + "severity": 1 + }, + "DuplicateFunctionArguments": { + "enabled": true, + "severity": 1 + }, + "DuplicateRenderPartialArguments": { + "enabled": true, + "severity": 1 + }, + "GraphQLCheck": { + "enabled": true, + "severity": 0 + }, + "GraphQLVariablesCheck": { + "enabled": true, + "severity": 0 + }, + "ImgWidthAndHeight": { + "enabled": true, + "severity": 0 + }, + "InvalidHashAssignTarget": { + "enabled": true, + "severity": 0 + }, + "JSONSyntaxError": { + "enabled": true, + "severity": 0 + }, + "LiquidHTMLSyntaxError": { + "enabled": true, + "severity": 0 + }, + "MatchingTranslations": { + "enabled": true, + "severity": 0 + }, + "MetadataParamsCheck": { + "enabled": true, + "severity": 0 + }, + "MissingAsset": { + "enabled": true, + "severity": 0 + }, + "MissingPartial": { + "enabled": true, + "severity": 0, + "ignoreMissing": [] + }, + "undefined": { + "enabled": true, + "severity": 1 + }, + "OrphanedPartial": { + "enabled": true, + "severity": 1 + }, + "ParserBlockingScript": { + "enabled": true, + "severity": 0 + }, + "TranslationKeyExists": { + "enabled": true, + "severity": 0 + }, + "UnclosedHTMLElement": { + "enabled": true, + "severity": 1 + }, + "UndefinedObject": { + "enabled": true, + "severity": 1 + }, + "UniqueDocParamNames": { + "enabled": true, + "severity": 0 + }, + "UnknownFilter": { + "enabled": true, + "severity": 0 + }, + "UnknownProperty": { + "enabled": true, + "severity": 0 + }, + "UnrecognizedRenderPartialArguments": { + "enabled": true, + "severity": 1 + }, + "UnusedAssign": { + "enabled": true, + "severity": 1 + }, + "UnusedDocParam": { + "enabled": true, + "severity": 1 + }, + "ValidDocParamTypes": { + "enabled": true, + "severity": 0 + }, + "ValidHTMLTranslation": { + "enabled": true, + "severity": 1 + }, + "ValidJSON": { + "enabled": true, + "severity": 0 + }, + "ValidRenderPartialArgumentTypes": { + "enabled": true, + "severity": 1 + }, + "VariableName": { + "enabled": true, + "severity": 1, + "format": "snake_case" + } + }, + "checks": [ + { + "meta": { + "code": "DeprecatedFilter", + "aliases": [ + "DeprecatedFilters" + ], + "name": "Deprecated Filter", + "docs": { + "description": "Discourages using deprecated filters.", + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/deprecated-filter", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "DeprecatedTag", + "aliases": [ + "DeprecatedTags" + ], + "name": "Deprecated Tag", + "docs": { + "description": "This check is aimed at eliminating the use of deprecated tags.", + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/deprecated-tag", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "DuplicateFunctionArguments", + "name": "Duplicate Function Arguments", + "aliases": [], + "docs": { + "description": "This check ensures that no duplicate argument names are provided when invoking partial as a function.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/duplicate-function-arguments" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "DuplicateRenderPartialArguments", + "name": "Duplicate Render Partial Arguments", + "aliases": [ + "DuplicateRenderPartialParams" + ], + "docs": { + "description": "This check ensures that no duplicate argument names are provided when rendering a partial.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/duplicate-render-partial-arguments" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "ImgWidthAndHeight", + "name": "Width and height attributes on image tags", + "docs": { + "description": "This check is aimed at eliminating content layout shift by enforcing the use of the width and height attributes on img tags.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/img-width-and-height" + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "JSONSyntaxError", + "name": "Enforce valid JSON", + "docs": { + "description": "This check exists to prevent invalid JSON files in apps.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/json-syntax-error" + }, + "type": "JSON", + "severity": 0, + "schema": {}, + "targets": [], + "deprecated": true + } + }, + { + "meta": { + "code": "LiquidHTMLSyntaxError", + "aliases": [ + "SyntaxError", + "HtmlParsingError" + ], + "name": "Prevent LiquidHTML Syntax Errors", + "docs": { + "description": "This check exists to inform the user of Liquid HTML syntax errors.", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "MatchingTranslations", + "name": "Translation files should have the same keys", + "docs": { + "description": "TODO", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/matching-translations" + }, + "type": "YAML", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "MissingAsset", + "name": "Avoid rendering missing asset files", + "docs": { + "description": "Reports missing asset files", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/missing-asset" + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "MissingPartial", + "name": "Avoid rendering missing partials", + "docs": { + "description": "Reports missing partial liquid file", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/missing-partial" + }, + "type": "LiquidHtml", + "severity": 0, + "schema": { + "ignoreMissing": { + "options": { + "type": "array", + "defaultValue": [], + "itemType": { + "options": { + "type": "string" + } + } + } + } + }, + "targets": [] + } + }, + { + "meta": { + "code": "OrphanedPartial", + "name": "Prevent orphaned partials", + "docs": { + "description": "This check exists to prevent orphaned partials in platformOS apps.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/orphaned-partial" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "ParserBlockingScript", + "aliases": [ + "ParserBlockingScriptTag" + ], + "name": "Avoid parser blocking scripts", + "docs": { + "description": "Parser-blocking scripts delay page rendering by blocking the HTML parser.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/parser-blocking-script" + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "TranslationKeyExists", + "name": "Reports missing translation keys", + "docs": { + "description": "Reports missing translation keys", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/translation-key-exists" + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "UnclosedHTMLElement", + "aliases": [ + "UnclosedHTMLElement" + ], + "name": "Unclosed HTML Element", + "docs": { + "description": "Warns you of unbalanced HTML tags in branching code", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/unclosed-html-element" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "UndefinedObject", + "name": "Undefined Object", + "docs": { + "description": "This check exists to identify references to undefined Liquid objects.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/undefined-object" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "UniqueDocParamNames", + "name": "Unique doc parameter names", + "docs": { + "description": "This check exists to ensure any parameter names defined in the `doc` tag are unique.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/unique-doc-param-names" + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "UnknownFilter", + "name": "Prevent use of unknown filters", + "docs": { + "description": "This check is aimed at preventing the use of unknown filters.", + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/unknown-filter", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "UnrecognizedRenderPartialArguments", + "name": "Unrecognized Render Partial Arguments", + "aliases": [ + "UnrecognizedRenderPartialParams" + ], + "docs": { + "description": "This check ensures that no unknown arguments are used when rendering a partial.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/unrecognized-render-partial-arguments" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "UnusedAssign", + "name": "Prevent unused assigns", + "docs": { + "description": "This check exists to prevent bloat by surfacing variable definitions that are not used.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/unused-assign" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "UnusedDocParam", + "name": "Prevent unused doc parameters", + "docs": { + "description": "This check exists to ensure any parameters defined in the `doc` tag are used within the partial.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/unused-doc-param" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "ValidHTMLTranslation", + "name": "Valid HTML Translation", + "docs": { + "description": "This check exists to prevent invalid HTML inside translations.", + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/valid-html-translation", + "recommended": true + }, + "type": "YAML", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "ValidJSON", + "aliases": [ + "ValidJson" + ], + "name": "Enforce valid JSON", + "docs": { + "description": "This check exists to prevent invalid JSON files in apps. Will check against schema if available.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/json-syntax-error" + }, + "type": "JSON", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "ValidDocParamTypes", + "name": "Valid doc parameter types", + "docs": { + "description": "This check exists to ensure any parameter types defined in the `doc` tag are valid.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/valid-doc-param-types" + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "ValidRenderPartialArgumentTypes", + "name": "Valid Render Partial Argument Types", + "aliases": [ + "ValidRenderPartialParamTypes" + ], + "docs": { + "description": "This check ensures that arguments passed to partial match the expected types defined in the liquidDoc header if present.", + "recommended": true, + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/valid-render-partial-argument-types" + }, + "type": "LiquidHtml", + "severity": 1, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "VariableName", + "name": "Invalid variable naming format", + "docs": { + "description": "This check is aimed at using certain variable naming conventions", + "url": "https://documentation.platformos.com/developer-guide/platformos-check/checks/variable-name", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 1, + "schema": { + "format": { + "options": { + "type": "string", + "defaultValue": "snake_case" + } + } + }, + "targets": [] + } + }, + { + "meta": { + "code": "MetadataParamsCheck", + "name": "Metadata Params Check", + "docs": { + "description": "Ensures that parameters referenced in the document exist in metadata.params or in the doc tag.", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "GraphQLVariablesCheck", + "name": "GraphQL Variables Check", + "docs": { + "description": "Ensures that parameters referenced in the document exist in the GraphQL query or mutation.", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "GraphQLCheck", + "name": "GraphQL Check", + "docs": { + "description": "Ensures that GraphQL query or mutation is valid and matches predefined schema.", + "recommended": true + }, + "type": "GraphQL", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "UnknownProperty", + "name": "Unknown property access", + "docs": { + "description": "Reports errors when accessing properties that do not exist on variables with known structure.", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + }, + { + "meta": { + "code": "InvalidHashAssignTarget", + "name": "Invalid hash_assign target", + "docs": { + "description": "Reports errors when hash_assign is used on a variable that is not an object type (e.g., number, string, boolean, array).", + "recommended": true + }, + "type": "LiquidHtml", + "severity": 0, + "schema": {}, + "targets": [] + } + } + ], + "ignore": [ + "node_modules/**" + ], + "rootUri": "file:///workspaces/pos-modules/pos-module-user" +} +[ + "file:///workspaces/pos-modules/pos-module-user/package.json", + "file:///workspaces/pos-modules/pos-module-user/package-lock.json", + "file:///workspaces/pos-modules/pos-module-user/app/pos-modules.lock.json", + "file:///workspaces/pos-modules/pos-module-user/app/pos-modules.json", + "file:///workspaces/pos-modules/pos-module-user/app/config.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/template-values.json", + "file:///workspaces/pos-modules/pos-module-user/modules/user/package.json", + "file:///workspaces/pos-modules/pos-module-user/modules/user/package-lock.json", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/template-values.json", + "file:///workspaces/pos-modules/pos-module-user/modules/core/template-values.json", + "file:///workspaces/pos-modules/pos-module-user/modules/core/package.json", + "file:///workspaces/pos-modules/pos-module-user/modules/core/package-lock.json", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/template-values.json", + "file:///workspaces/pos-modules/pos-module-user/app/migrations/20241012150157_setup_user_default_role.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/migrations/20241009125747_enable_complex_passwords.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/views/pages/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/views/layouts/application.liquid", + "file:///workspaces/pos-modules/pos-module-user/tests/post_import/app/migrations/20241202183257_set_superadmin_role.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/schema/profile.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/schema/oauth.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/api_call.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/schema/status.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/emails/generic.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/api_calls/generic_x_form_encoded.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/api_calls/generic.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/translations/en.yml", + "file:///workspaces/pos-modules/pos-module-user/app/views/partials/profile/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/views/pages/profile/update.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/views/pages/profile/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/views/pages/subscription/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/views/pages/admin/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/validation.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/users.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/sessions.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/passwords.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/oauth.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/emails.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/authorization.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/authentication_links.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/translations/en/2fa.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/api_call.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/user_from_temporary_token.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/table_name.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/get_available_oauth_providers.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/get_assigned_oauth_providers.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/flash.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/current_profile.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_unauthorized.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do_or_redirect.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/can_do.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_updated.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_signed_in.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_roles_set.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_role_removed.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_role_appended.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_logout.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_deleted.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/user_created.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/password_created.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/impersonation_started.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/impersonation_ended.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/events/authentication_link_created.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/verify_password_for_user_id.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/verify_password.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/verify_otp.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/update_password.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/update.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/search.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/otp.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/load.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/list.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/find.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/emails_count.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/email_update.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/delete.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/create.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/user/count.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/session/destroy.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/profiles/update.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/profiles/search.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/profiles/mark_otp.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/profiles/delete.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/profiles/create.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/oauth/find_by_user_id.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/oauth/find_by_sub.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/oauth/delete.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/oauth/create.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/layouts/test.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/layouts/mailer.html.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/translations/en/should.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/commands/run.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/true.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/presence.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/equal.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/assertions/blank.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/graphql/test_files/search.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/graphql/test_files/count.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/graphql/sent_mails/search.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/layouts/mailer.html.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/layouts/basic.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/translations/en/validation.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/translations/en/common.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/variable/set.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/statuses/search.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/statuses/delete.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/statuses/create.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/session/set.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/session/delete.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/records/count.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/hook/search.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/events/search.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/events/events_checks.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/events/create.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/events/consumers.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/email/send.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/graphql/api_calls/send.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/valid_object.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/uniqueness.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/unique_elements.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/truthy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/presence.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/password_complexity.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/number.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/not_null.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/matches.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/length.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/is_url.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/included.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/hcaptcha.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/exist_in_db.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/equal.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/email.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/elements_included.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/each_element_length.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/validations/date.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/register_error.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/redirect_to.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/log_time.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/authenticity_token.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/events/status_created.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/execute.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/generators/crud/templates/config.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/tip.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/pagination.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/init.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/icon.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/pages/style-guide.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/layouts/style-guide.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/views/partials/subscription/home/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/views/partials/admin/home/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/lib/test/commands/user/create_test.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/new.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/sessions/new.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/reset.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/passwords/new.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/oauth/providers.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/oauth/listing.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/admin_pages/list.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/verify.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/setup.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/2fa/disable.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/new.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/new.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/destroy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/2fa.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/passwords/reset.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/passwords/new.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/passwords/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/unassign.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/start.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/oauth/callback.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/authentication_links/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/otp.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/load.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/get_all.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/find.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/current.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/user/count.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/roles/custom.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/roles/all.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/role_permissions/permissions.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/registration_fields/load.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search_proxy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find_proxy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/find.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/filters_proxy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/queries/profiles/filters.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/destroy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/delete.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update_proxy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/tokenize_names.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/delete.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create_validate_proxy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create_validate.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create_proxy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/oauth/create_user.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/emails/auth-link.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/profiles/roles/set.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/profiles/roles/remove.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/graphql/profiles/roles/append.graphql", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/test_report_text.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/tests/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/partials/sent_mails/list.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/index.html.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/queries/sent_mails/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/lib/queries/sent_mails/find.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/show.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/list.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/events/event_card.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/pages/_events/trigger.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/pages/_events/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/variable/get.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/variable/find.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/statuses/find.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/registry/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/registry/get.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/module/exists.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/hook/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/headscripts/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/headscripts/get.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/events/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/events/find.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/queries/constants/find.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_offset.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/timezone/get_by_name.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/timezone/get_all.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/helpers/flash/publish.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/variable/set.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/delete.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/set.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/get.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/session/clear.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/fire.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/hook/alter.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/email/send.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/publish.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/broadcast.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/generators/crud/templates/translations/model.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/core/generators/crud/templates/schema/model.yml", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/card.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/user/avatar.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/upload.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/toasts.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/text-styles.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/tags.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/tables.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/spacings.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/navigation.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/links.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/initialization.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/icons.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/headings.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/gradients.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/forms.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/fonts.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/colors.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/buttons.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/style-guide/boxes.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/navigation/collapsible.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/upload.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/password.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/multiselect.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/markdown.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/hcaptcha.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/error_list.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/forms/error_input_handler.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/dialog.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/card.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/common-styling/public/views/partials/content/alert.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/lib/test/commands/user/roles/set_test.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/lib/test/commands/user/roles/remove_test.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/lib/test/commands/user/roles/append_test.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/users/email/edit.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/emails/passwords/reset.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/partials/components/pages/403.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/email/update.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/users/email/edit.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/impersonation/destroy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/sessions/impersonation/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/profiles/2fa/new.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/profiles/2fa/disable.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/profiles/2fa/delete.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/views/pages/profiles/2fa/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/helpers/profiles/slugs/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/create/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_password/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/verify_otp/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/update/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/email_update/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/user/create/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/execute.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/passwords/create/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/update/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/set.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/remove.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/roles/append.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/mark_otp/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/delete/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/delete/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/profiles/create/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/execute.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/authentication_links/create/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/sent_mails/show.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/tests/public/views/pages/_tests/sent_mails/index.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/helpers/register_error.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/valid_object.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/uniqueness.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/unique_elements.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/truthy.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/presence.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/password_complexity.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/number.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/not_null.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/matches.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/length.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/included.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/hcaptcha.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/exist_in_db.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/equal.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/email.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/elements_included.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/each_element_length.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/validations/date.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/delete/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/delete/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/statuses/create/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/email/send/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/email/send/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/execute.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/lib/commands/events/create/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/app/modules/user/public/lib/queries/role_permissions/permissions.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/destroy/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/user/public/lib/commands/session/impersonation/create/build.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/variable/get.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/variable/find.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/registry/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/registry/get.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/module/exists.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/hook/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/search.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/queries/headscripts/get.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/variable/set.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/fire.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/hook/alter.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/email/send.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/check.liquid", + "file:///workspaces/pos-modules/pos-module-user/modules/core/public/views/partials/lib/commands/email/send/build.liquid" +] From 4d3ec196715200a20607b78232c534b89a2d9d95 Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Fri, 13 Mar 2026 10:20:54 +0000 Subject: [PATCH 39/44] oauth modules --- .../modules/core/generators/command/index.js | 46 + .../command/templates/graphql/create.graphql | 20 + .../templates/lib/commands/create.liquid | 10 + .../lib/commands/create/build.liquid | 4 + .../lib/commands/create/check.liquid | 12 + .../modules/core/generators/crud/index.js | 116 + .../core/generators/crud/templates/config.yml | 16 + .../crud/templates/graphql/create.graphql | 25 + .../crud/templates/graphql/delete.graphql | 6 + .../crud/templates/graphql/search.graphql | 39 + .../crud/templates/graphql/update.graphql | 27 + .../lib/commands/model/create.liquid | 10 + .../lib/commands/model/create/build.liquid | 16 + .../lib/commands/model/create/check.liquid | 12 + .../lib/commands/model/delete.liquid | 9 + .../lib/commands/model/delete/check.liquid | 10 + .../lib/commands/model/update.liquid | 10 + .../lib/commands/model/update/build.liquid | 16 + .../lib/commands/model/update/check.liquid | 13 + .../templates/lib/queries/model/find.liquid | 9 + .../templates/lib/queries/model/search.liquid | 4 + .../crud/templates/schema/model.yml | 6 + .../crud/templates/translations/model.yml | 15 + .../templates/views/pages/model/create.liquid | 14 + .../templates/views/pages/model/delete.liquid | 16 + .../templates/views/pages/model/edit.liquid | 5 + .../templates/views/pages/model/index.liquid | 5 + .../templates/views/pages/model/new.liquid | 4 + .../templates/views/pages/model/show.liquid | 13 + .../templates/views/pages/model/update.liquid | 14 + .../partials/theme/simple/field_error.liquid | 5 + .../partials/theme/simple/model/edit.liquid | 5 + .../theme/simple/model/empty_state.liquid | 9 + .../partials/theme/simple/model/form.liquid | 27 + .../partials/theme/simple/model/index.liquid | 49 + .../partials/theme/simple/model/new.liquid | 4 + .../partials/theme/simple/model/show.liquid | 15 + .../modules/core/package-lock.json | 3225 +++++++++++++++++ .../modules/core/package.json | 32 + .../core/public/api_calls/generic.liquid | 6 + .../api_calls/generic_x_form_encoded.liquid | 10 + .../modules/core/public/emails/.keep | 0 .../modules/core/public/emails/generic.liquid | 13 + .../modules/core/public/graphql/.keep | 0 .../public/graphql/api_calls/send.graphql | 12 + .../core/public/graphql/email/send.graphql | 9 + .../public/graphql/events/consumers.graphql | 15 + .../core/public/graphql/events/create.graphql | 7 + .../graphql/events/events_checks.graphql | 11 + .../core/public/graphql/events/search.graphql | 14 + .../core/public/graphql/hook/search.graphql | 7 + .../core/public/graphql/records/count.graphql | 26 + .../public/graphql/session/delete.graphql | 5 + .../core/public/graphql/session/set.graphql | 6 + .../public/graphql/statuses/create.graphql | 34 + .../public/graphql/statuses/delete.graphql | 5 + .../public/graphql/statuses/search.graphql | 45 + .../core/public/graphql/variable/set.graphql | 6 + .../modules/core/public/lib/commands/.keep | 0 .../public/lib/commands/email/send.liquid | 21 + .../lib/commands/email/send/build.liquid | 13 + .../lib/commands/email/send/check.liquid | 16 + .../lib/commands/events/broadcast.liquid | 29 + .../public/lib/commands/events/create.liquid | 23 + .../lib/commands/events/create/build.liquid | 12 + .../lib/commands/events/create/check.liquid | 36 + .../lib/commands/events/create/execute.liquid | 11 + .../public/lib/commands/events/publish.liquid | 27 + .../core/public/lib/commands/execute.liquid | 17 + .../public/lib/commands/hook/alter.liquid | 18 + .../core/public/lib/commands/hook/fire.liquid | 38 + .../public/lib/commands/session/clear.liquid | 10 + .../public/lib/commands/session/get.liquid | 15 + .../public/lib/commands/session/set.liquid | 9 + .../lib/commands/statuses/create.liquid | 25 + .../lib/commands/statuses/create/build.liquid | 22 + .../lib/commands/statuses/create/check.liquid | 16 + .../lib/commands/statuses/delete.liquid | 13 + .../lib/commands/statuses/delete/build.liquid | 7 + .../lib/commands/statuses/delete/check.liquid | 13 + .../public/lib/commands/variable/set.liquid | 8 + .../public/lib/events/status_created.liquid | 21 + .../lib/helpers/authenticity_token.liquid | 9 + .../public/lib/helpers/flash/publish.liquid | 35 + .../lib/helpers/hash_to_x_form_encoded.liquid | 18 + .../core/public/lib/helpers/log_time.liquid | 16 + .../public/lib/helpers/redirect_to.liquid | 50 + .../public/lib/helpers/register_error.liquid | 26 + .../lib/helpers/timezone/get_all.liquid | 18 + .../lib/helpers/timezone/get_by_name.liquid | 9 + .../lib/helpers/timezone/get_by_offset.liquid | 9 + .../modules/core/public/lib/hooks/.keep | 0 .../modules/core/public/lib/queries/.keep | 0 .../public/lib/queries/constants/find.liquid | 38 + .../public/lib/queries/events/find.liquid | 12 + .../public/lib/queries/events/search.liquid | 15 + .../public/lib/queries/headscripts/get.liquid | 5 + .../lib/queries/headscripts/search.liquid | 5 + .../public/lib/queries/hook/search.liquid | 7 + .../public/lib/queries/module/exists.liquid | 14 + .../public/lib/queries/registry/get.liquid | 8 + .../public/lib/queries/registry/search.liquid | 26 + .../public/lib/queries/statuses/find.liquid | 12 + .../public/lib/queries/statuses/search.liquid | 18 + .../public/lib/queries/variable/find.liquid | 28 + .../public/lib/queries/variable/get.liquid | 10 + .../core/public/lib/validations/date.liquid | 78 + .../validations/each_element_length.liquid | 35 + .../lib/validations/elements_included.liquid | 19 + .../core/public/lib/validations/email.liquid | 14 + .../core/public/lib/validations/equal.liquid | 23 + .../public/lib/validations/exist_in_db.liquid | 31 + .../public/lib/validations/hcaptcha.liquid | 13 + .../public/lib/validations/included.liquid | 17 + .../core/public/lib/validations/is_url.liquid | 16 + .../core/public/lib/validations/length.liquid | 44 + .../public/lib/validations/matches.liquid | 20 + .../public/lib/validations/not_null.liquid | 13 + .../core/public/lib/validations/number.liquid | 69 + .../validations/password_complexity.liquid | 36 + .../public/lib/validations/presence.liquid | 13 + .../core/public/lib/validations/truthy.liquid | 13 + .../lib/validations/unique_elements.liquid | 17 + .../public/lib/validations/uniqueness.liquid | 37 + .../lib/validations/valid_object.liquid | 20 + .../modules/core/public/schema/status.yml | 14 + .../core/public/translations/en/common.yml | 4 + .../public/translations/en/validation.yml | 50 + .../core/public/views/layouts/basic.liquid | 154 + .../public/views/layouts/mailer.html.liquid | 46 + .../public/views/pages/_events/index.liquid | 11 + .../public/views/pages/_events/trigger.liquid | 20 + .../core/public/views/partials/.gitkeep | 0 .../views/partials/events/event_card.liquid | 56 + .../public/views/partials/events/list.liquid | 13 + .../public/views/partials/events/show.liquid | 6 + .../public/views/partials/lib/commands/.keep | 0 .../partials/lib/commands/email/send.liquid | 22 + .../lib/commands/email/send/build.liquid | 13 + .../lib/commands/email/send/check.liquid | 16 + .../partials/lib/commands/hook/alter.liquid | 19 + .../partials/lib/commands/hook/fire.liquid | 38 + .../partials/lib/commands/variable/set.liquid | 9 + .../lib/helpers/register_error.liquid | 26 + .../public/views/partials/lib/hooks/.keep | 0 .../public/views/partials/lib/queries/.keep | 0 .../lib/queries/headscripts/get.liquid | 6 + .../lib/queries/headscripts/search.liquid | 9 + .../partials/lib/queries/hook/search.liquid | 8 + .../partials/lib/queries/module/exists.liquid | 14 + .../partials/lib/queries/registry/get.liquid | 8 + .../lib/queries/registry/search.liquid | 26 + .../partials/lib/queries/variable/find.liquid | 28 + .../partials/lib/queries/variable/get.liquid | 10 + .../partials/lib/validations/date.liquid | 79 + .../validations/each_element_length.liquid | 35 + .../lib/validations/elements_included.liquid | 20 + .../partials/lib/validations/email.liquid | 15 + .../partials/lib/validations/equal.liquid | 24 + .../lib/validations/exist_in_db.liquid | 32 + .../partials/lib/validations/hcaptcha.liquid | 14 + .../partials/lib/validations/included.liquid | 18 + .../partials/lib/validations/length.liquid | 49 + .../partials/lib/validations/matches.liquid | 21 + .../partials/lib/validations/not_null.liquid | 14 + .../partials/lib/validations/number.liquid | 70 + .../validations/password_complexity.liquid | 31 + .../partials/lib/validations/presence.liquid | 14 + .../partials/lib/validations/truthy.liquid | 14 + .../lib/validations/unique_elements.liquid | 17 + .../lib/validations/uniqueness.liquid | 38 + .../lib/validations/valid_object.liquid | 21 + .../modules/core/template-values.json | 7 + .../lib/commands/get_token/build.liquid | 4 + .../lib/commands/get_token/check.liquid | 13 +- .../lib/commands/get_user_info/check.liquid | 7 +- .../lib/helpers/get_redirect_url.liquid | 6 +- .../public/lib/helpers/get_user_info.liquid | 3 + .../modules/core/generators/command/index.js | 46 + .../command/templates/graphql/create.graphql | 20 + .../templates/lib/commands/create.liquid | 10 + .../lib/commands/create/build.liquid | 4 + .../lib/commands/create/check.liquid | 12 + .../modules/core/generators/crud/index.js | 116 + .../core/generators/crud/templates/config.yml | 16 + .../crud/templates/graphql/create.graphql | 25 + .../crud/templates/graphql/delete.graphql | 6 + .../crud/templates/graphql/search.graphql | 39 + .../crud/templates/graphql/update.graphql | 27 + .../lib/commands/model/create.liquid | 10 + .../lib/commands/model/create/build.liquid | 16 + .../lib/commands/model/create/check.liquid | 12 + .../lib/commands/model/delete.liquid | 9 + .../lib/commands/model/delete/check.liquid | 10 + .../lib/commands/model/update.liquid | 10 + .../lib/commands/model/update/build.liquid | 16 + .../lib/commands/model/update/check.liquid | 13 + .../templates/lib/queries/model/find.liquid | 9 + .../templates/lib/queries/model/search.liquid | 4 + .../crud/templates/schema/model.yml | 6 + .../crud/templates/translations/model.yml | 15 + .../templates/views/pages/model/create.liquid | 14 + .../templates/views/pages/model/delete.liquid | 16 + .../templates/views/pages/model/edit.liquid | 5 + .../templates/views/pages/model/index.liquid | 5 + .../templates/views/pages/model/new.liquid | 4 + .../templates/views/pages/model/show.liquid | 13 + .../templates/views/pages/model/update.liquid | 14 + .../partials/theme/simple/field_error.liquid | 5 + .../partials/theme/simple/model/edit.liquid | 5 + .../theme/simple/model/empty_state.liquid | 9 + .../partials/theme/simple/model/form.liquid | 27 + .../partials/theme/simple/model/index.liquid | 49 + .../partials/theme/simple/model/new.liquid | 4 + .../partials/theme/simple/model/show.liquid | 15 + .../modules/core/package-lock.json | 3225 +++++++++++++++++ .../modules/core/package.json | 32 + .../core/public/api_calls/generic.liquid | 6 + .../api_calls/generic_x_form_encoded.liquid | 10 + .../modules/core/public/emails/.keep | 0 .../modules/core/public/emails/generic.liquid | 13 + .../modules/core/public/graphql/.keep | 0 .../public/graphql/api_calls/send.graphql | 12 + .../core/public/graphql/email/send.graphql | 9 + .../public/graphql/events/consumers.graphql | 15 + .../core/public/graphql/events/create.graphql | 7 + .../graphql/events/events_checks.graphql | 11 + .../core/public/graphql/events/search.graphql | 14 + .../core/public/graphql/hook/search.graphql | 7 + .../core/public/graphql/records/count.graphql | 26 + .../public/graphql/session/delete.graphql | 5 + .../core/public/graphql/session/set.graphql | 6 + .../public/graphql/statuses/create.graphql | 34 + .../public/graphql/statuses/delete.graphql | 5 + .../public/graphql/statuses/search.graphql | 45 + .../core/public/graphql/variable/set.graphql | 6 + .../modules/core/public/lib/commands/.keep | 0 .../public/lib/commands/email/send.liquid | 21 + .../lib/commands/email/send/build.liquid | 13 + .../lib/commands/email/send/check.liquid | 16 + .../lib/commands/events/broadcast.liquid | 29 + .../public/lib/commands/events/create.liquid | 23 + .../lib/commands/events/create/build.liquid | 12 + .../lib/commands/events/create/check.liquid | 36 + .../lib/commands/events/create/execute.liquid | 11 + .../public/lib/commands/events/publish.liquid | 27 + .../core/public/lib/commands/execute.liquid | 17 + .../public/lib/commands/hook/alter.liquid | 18 + .../core/public/lib/commands/hook/fire.liquid | 38 + .../public/lib/commands/session/clear.liquid | 10 + .../public/lib/commands/session/get.liquid | 15 + .../public/lib/commands/session/set.liquid | 9 + .../lib/commands/statuses/create.liquid | 25 + .../lib/commands/statuses/create/build.liquid | 22 + .../lib/commands/statuses/create/check.liquid | 16 + .../lib/commands/statuses/delete.liquid | 13 + .../lib/commands/statuses/delete/build.liquid | 7 + .../lib/commands/statuses/delete/check.liquid | 13 + .../public/lib/commands/variable/set.liquid | 8 + .../public/lib/events/status_created.liquid | 21 + .../lib/helpers/authenticity_token.liquid | 9 + .../public/lib/helpers/flash/publish.liquid | 35 + .../lib/helpers/hash_to_x_form_encoded.liquid | 18 + .../core/public/lib/helpers/log_time.liquid | 16 + .../public/lib/helpers/redirect_to.liquid | 50 + .../public/lib/helpers/register_error.liquid | 26 + .../lib/helpers/timezone/get_all.liquid | 18 + .../lib/helpers/timezone/get_by_name.liquid | 9 + .../lib/helpers/timezone/get_by_offset.liquid | 9 + .../modules/core/public/lib/hooks/.keep | 0 .../modules/core/public/lib/queries/.keep | 0 .../public/lib/queries/constants/find.liquid | 38 + .../public/lib/queries/events/find.liquid | 12 + .../public/lib/queries/events/search.liquid | 15 + .../public/lib/queries/headscripts/get.liquid | 5 + .../lib/queries/headscripts/search.liquid | 5 + .../public/lib/queries/hook/search.liquid | 7 + .../public/lib/queries/module/exists.liquid | 14 + .../public/lib/queries/registry/get.liquid | 8 + .../public/lib/queries/registry/search.liquid | 26 + .../public/lib/queries/statuses/find.liquid | 12 + .../public/lib/queries/statuses/search.liquid | 18 + .../public/lib/queries/variable/find.liquid | 28 + .../public/lib/queries/variable/get.liquid | 10 + .../core/public/lib/validations/date.liquid | 78 + .../validations/each_element_length.liquid | 35 + .../lib/validations/elements_included.liquid | 19 + .../core/public/lib/validations/email.liquid | 14 + .../core/public/lib/validations/equal.liquid | 23 + .../public/lib/validations/exist_in_db.liquid | 31 + .../public/lib/validations/hcaptcha.liquid | 13 + .../public/lib/validations/included.liquid | 17 + .../core/public/lib/validations/is_url.liquid | 16 + .../core/public/lib/validations/length.liquid | 44 + .../public/lib/validations/matches.liquid | 20 + .../public/lib/validations/not_null.liquid | 13 + .../core/public/lib/validations/number.liquid | 69 + .../validations/password_complexity.liquid | 36 + .../public/lib/validations/presence.liquid | 13 + .../core/public/lib/validations/truthy.liquid | 13 + .../lib/validations/unique_elements.liquid | 17 + .../public/lib/validations/uniqueness.liquid | 37 + .../lib/validations/valid_object.liquid | 20 + .../modules/core/public/schema/status.yml | 14 + .../core/public/translations/en/common.yml | 4 + .../public/translations/en/validation.yml | 50 + .../core/public/views/layouts/basic.liquid | 154 + .../public/views/layouts/mailer.html.liquid | 46 + .../public/views/pages/_events/index.liquid | 11 + .../public/views/pages/_events/trigger.liquid | 20 + .../core/public/views/partials/.gitkeep | 0 .../views/partials/events/event_card.liquid | 56 + .../public/views/partials/events/list.liquid | 13 + .../public/views/partials/events/show.liquid | 6 + .../public/views/partials/lib/commands/.keep | 0 .../partials/lib/commands/email/send.liquid | 22 + .../lib/commands/email/send/build.liquid | 13 + .../lib/commands/email/send/check.liquid | 16 + .../partials/lib/commands/hook/alter.liquid | 19 + .../partials/lib/commands/hook/fire.liquid | 38 + .../partials/lib/commands/variable/set.liquid | 9 + .../lib/helpers/register_error.liquid | 26 + .../public/views/partials/lib/hooks/.keep | 0 .../public/views/partials/lib/queries/.keep | 0 .../lib/queries/headscripts/get.liquid | 6 + .../lib/queries/headscripts/search.liquid | 9 + .../partials/lib/queries/hook/search.liquid | 8 + .../partials/lib/queries/module/exists.liquid | 14 + .../partials/lib/queries/registry/get.liquid | 8 + .../lib/queries/registry/search.liquid | 26 + .../partials/lib/queries/variable/find.liquid | 28 + .../partials/lib/queries/variable/get.liquid | 10 + .../partials/lib/validations/date.liquid | 79 + .../validations/each_element_length.liquid | 35 + .../lib/validations/elements_included.liquid | 20 + .../partials/lib/validations/email.liquid | 15 + .../partials/lib/validations/equal.liquid | 24 + .../lib/validations/exist_in_db.liquid | 32 + .../partials/lib/validations/hcaptcha.liquid | 14 + .../partials/lib/validations/included.liquid | 18 + .../partials/lib/validations/length.liquid | 49 + .../partials/lib/validations/matches.liquid | 21 + .../partials/lib/validations/not_null.liquid | 14 + .../partials/lib/validations/number.liquid | 70 + .../validations/password_complexity.liquid | 31 + .../partials/lib/validations/presence.liquid | 14 + .../partials/lib/validations/truthy.liquid | 14 + .../lib/validations/unique_elements.liquid | 17 + .../lib/validations/uniqueness.liquid | 38 + .../lib/validations/valid_object.liquid | 21 + .../modules/core/template-values.json | 7 + .../lib/commands/get_token/build.liquid | 4 + .../lib/commands/get_token/check.liquid | 13 +- .../lib/commands/get_user_info/check.liquid | 7 +- .../lib/helpers/get_redirect_url.liquid | 6 +- .../public/lib/helpers/get_user_info.liquid | 3 + 356 files changed, 13288 insertions(+), 16 deletions(-) create mode 100644 pos-module-oauth-facebook/modules/core/generators/command/index.js create mode 100644 pos-module-oauth-facebook/modules/core/generators/command/templates/graphql/create.graphql create mode 100644 pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create/build.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/index.js create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/config.yml create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/create.graphql create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/delete.graphql create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/search.graphql create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/update.graphql create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/delete.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/queries/model/find.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/queries/model/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/schema/model.yml create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/translations/model.yml create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/create.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/delete.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/edit.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/index.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/new.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/show.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/update.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid create mode 100644 pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid create mode 100644 pos-module-oauth-facebook/modules/core/package-lock.json create mode 100644 pos-module-oauth-facebook/modules/core/package.json create mode 100644 pos-module-oauth-facebook/modules/core/public/api_calls/generic.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/api_calls/generic_x_form_encoded.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/emails/.keep create mode 100644 pos-module-oauth-facebook/modules/core/public/emails/generic.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/.keep create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/api_calls/send.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/email/send.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/events/consumers.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/events/create.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/events/events_checks.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/events/search.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/hook/search.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/records/count.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/session/delete.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/session/set.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/statuses/create.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/statuses/delete.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/statuses/search.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/graphql/variable/set.graphql create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/.keep create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/email/send.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/email/send/build.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/email/send/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/events/broadcast.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/events/create.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/build.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/execute.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/events/publish.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/execute.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/hook/alter.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/hook/fire.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/session/clear.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/session/get.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/session/set.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create/build.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete/build.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/commands/variable/set.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/events/status_created.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/authenticity_token.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/flash/publish.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/log_time.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/redirect_to.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/register_error.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_all.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_by_name.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_by_offset.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/hooks/.keep create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/.keep create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/constants/find.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/events/find.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/events/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/headscripts/get.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/headscripts/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/hook/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/module/exists.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/registry/get.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/registry/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/statuses/find.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/statuses/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/variable/find.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/queries/variable/get.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/date.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/each_element_length.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/elements_included.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/email.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/equal.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/exist_in_db.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/hcaptcha.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/included.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/is_url.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/length.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/matches.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/not_null.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/number.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/password_complexity.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/presence.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/truthy.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/unique_elements.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/uniqueness.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/lib/validations/valid_object.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/schema/status.yml create mode 100644 pos-module-oauth-facebook/modules/core/public/translations/en/common.yml create mode 100644 pos-module-oauth-facebook/modules/core/public/translations/en/validation.yml create mode 100644 pos-module-oauth-facebook/modules/core/public/views/layouts/basic.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/layouts/mailer.html.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/pages/_events/index.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/pages/_events/trigger.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/.gitkeep create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/events/event_card.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/events/list.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/events/show.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/.keep create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send/build.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send/check.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/hook/alter.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/hook/fire.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/variable/set.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/helpers/register_error.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/hooks/.keep create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/.keep create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/headscripts/get.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/headscripts/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/hook/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/module/exists.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/registry/get.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/registry/search.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/variable/find.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/variable/get.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/date.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/each_element_length.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/elements_included.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/email.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/equal.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/exist_in_db.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/hcaptcha.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/included.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/length.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/matches.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/not_null.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/number.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/password_complexity.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/presence.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/truthy.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/unique_elements.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/uniqueness.liquid create mode 100644 pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/valid_object.liquid create mode 100644 pos-module-oauth-facebook/modules/core/template-values.json create mode 100644 pos-module-oauth-google/modules/core/generators/command/index.js create mode 100644 pos-module-oauth-google/modules/core/generators/command/templates/graphql/create.graphql create mode 100644 pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create/build.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create/check.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/index.js create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/config.yml create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/graphql/create.graphql create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/graphql/delete.graphql create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/graphql/search.graphql create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/graphql/update.graphql create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/delete.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/queries/model/find.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/lib/queries/model/search.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/schema/model.yml create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/translations/model.yml create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/create.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/delete.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/edit.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/index.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/new.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/show.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/update.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid create mode 100644 pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid create mode 100644 pos-module-oauth-google/modules/core/package-lock.json create mode 100644 pos-module-oauth-google/modules/core/package.json create mode 100644 pos-module-oauth-google/modules/core/public/api_calls/generic.liquid create mode 100644 pos-module-oauth-google/modules/core/public/api_calls/generic_x_form_encoded.liquid create mode 100644 pos-module-oauth-google/modules/core/public/emails/.keep create mode 100644 pos-module-oauth-google/modules/core/public/emails/generic.liquid create mode 100644 pos-module-oauth-google/modules/core/public/graphql/.keep create mode 100644 pos-module-oauth-google/modules/core/public/graphql/api_calls/send.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/email/send.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/events/consumers.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/events/create.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/events/events_checks.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/events/search.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/hook/search.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/records/count.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/session/delete.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/session/set.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/statuses/create.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/statuses/delete.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/statuses/search.graphql create mode 100644 pos-module-oauth-google/modules/core/public/graphql/variable/set.graphql create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/.keep create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/email/send.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/email/send/build.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/email/send/check.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/events/broadcast.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/events/create.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/events/create/build.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/events/create/check.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/events/create/execute.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/events/publish.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/execute.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/hook/alter.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/hook/fire.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/session/clear.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/session/get.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/session/set.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/statuses/create.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/statuses/create/build.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/statuses/create/check.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete/build.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete/check.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/commands/variable/set.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/events/status_created.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/authenticity_token.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/flash/publish.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/log_time.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/redirect_to.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/register_error.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_all.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_by_name.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_by_offset.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/hooks/.keep create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/.keep create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/constants/find.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/events/find.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/events/search.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/headscripts/get.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/headscripts/search.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/hook/search.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/module/exists.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/registry/get.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/registry/search.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/statuses/find.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/statuses/search.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/variable/find.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/queries/variable/get.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/date.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/each_element_length.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/elements_included.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/email.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/equal.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/exist_in_db.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/hcaptcha.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/included.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/is_url.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/length.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/matches.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/not_null.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/number.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/password_complexity.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/presence.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/truthy.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/unique_elements.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/uniqueness.liquid create mode 100644 pos-module-oauth-google/modules/core/public/lib/validations/valid_object.liquid create mode 100644 pos-module-oauth-google/modules/core/public/schema/status.yml create mode 100644 pos-module-oauth-google/modules/core/public/translations/en/common.yml create mode 100644 pos-module-oauth-google/modules/core/public/translations/en/validation.yml create mode 100644 pos-module-oauth-google/modules/core/public/views/layouts/basic.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/layouts/mailer.html.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/pages/_events/index.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/pages/_events/trigger.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/.gitkeep create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/events/event_card.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/events/list.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/events/show.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/commands/.keep create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send/build.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send/check.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/commands/hook/alter.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/commands/hook/fire.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/commands/variable/set.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/helpers/register_error.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/hooks/.keep create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/.keep create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/headscripts/get.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/headscripts/search.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/hook/search.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/module/exists.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/registry/get.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/registry/search.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/variable/find.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/queries/variable/get.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/date.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/each_element_length.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/elements_included.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/email.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/equal.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/exist_in_db.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/hcaptcha.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/included.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/length.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/matches.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/not_null.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/number.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/password_complexity.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/presence.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/truthy.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/unique_elements.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/uniqueness.liquid create mode 100644 pos-module-oauth-google/modules/core/public/views/partials/lib/validations/valid_object.liquid create mode 100644 pos-module-oauth-google/modules/core/template-values.json diff --git a/pos-module-oauth-facebook/modules/core/generators/command/index.js b/pos-module-oauth-facebook/modules/core/generators/command/index.js new file mode 100644 index 0000000..29fb67e --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/command/index.js @@ -0,0 +1,46 @@ +import Generator from 'yeoman-generator'; +import path from 'path'; +import pluralize from 'pluralize'; +import fs from 'fs'; + +export default class extends Generator { + constructor(args, opts) { + super(args, opts); + + this.description = 'Generate basic command files with build and check phase'; + this.argument('commandName', { type: String, required: true, description: 'name of the command' }); + this.props = { + commandName: this.options.commandName, + actionName: this.options.commandName.split('/').pop(), + modelName: this.options.commandName.split('/')[0] + }; + } + + writing() { + try{ + this.fs.copyTpl( + this.templatePath('./lib/commands/create.liquid'), + this.destinationPath(`app/lib/commands/${this.props.commandName}.liquid`), + this.props + ) + + this.fs.copyTpl( + this.templatePath('./lib/commands/create/'), + this.destinationPath(`app/lib/commands/${this.props.commandName}/`), + this.props + ) + + this.fs.copyTpl( + this.templatePath('./graphql/create.graphql'), + this.destinationPath(`app/graphql/${this.props.commandName}.graphql`), + this.props + ) + } catch (e) { + console.error(e); + } + } + + end() { + console.log('Command generated'); + } +}; diff --git a/pos-module-oauth-facebook/modules/core/generators/command/templates/graphql/create.graphql b/pos-module-oauth-facebook/modules/core/generators/command/templates/graphql/create.graphql new file mode 100644 index 0000000..0ffb1e5 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/command/templates/graphql/create.graphql @@ -0,0 +1,20 @@ +mutation <%= actionName %>( + # some arguments + # $foo: String! +) { + record: record_create( + record: { + table: "<%= modelName %>" + properties: [ + # { name: "foo" property: $foo } + ] + } + ){ + id + created_at + deleted_at + type: table + + # foo: (name: "foo") + } +} diff --git a/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create.liquid b/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create.liquid new file mode 100644 index 0000000..6d7102e --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= commandName %>/build', object: object + function object = 'commands/<%= commandName %>/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= commandName %>' object: object + endif + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create/build.liquid b/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create/build.liquid new file mode 100644 index 0000000..1fc2591 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create/build.liquid @@ -0,0 +1,4 @@ +{% liquid + assign data = {"id": object.id, "name": object.name} + return data +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create/check.liquid b/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create/check.liquid new file mode 100644 index 0000000..2c53a6c --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/command/templates/lib/commands/create/check.liquid @@ -0,0 +1,12 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' + + assign object.valid = c.valid + + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/index.js b/pos-module-oauth-facebook/modules/core/generators/crud/index.js new file mode 100644 index 0000000..dd839bc --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/index.js @@ -0,0 +1,116 @@ +import Generator from 'yeoman-generator'; +import pluralize from 'pluralize'; +import startCase from 'lodash.startcase'; + +export default class extends Generator { + constructor(args, opts) { + super(args, opts); + + this.description = 'Generate table definition and commands for CRUD with graphql files'; + this.argument('modelName', { type: String, required: true, description: 'name of the table' }); + this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: "[]" }); + this.option('include-views', { type: Boolean, default: false, description: 'generate pages and partials', hide: 'no' }); + + const attributes = this.options.attributes.map((attr) => { + const values = attr.split(':'); + return { + name: values[0], + nameHuman: startCase(values[0]), + type: values[1] + }; + }); + this.props = { + modelName: this.options.modelName, + modelNamePlural: pluralize(this.options.modelName), + attributes: attributes, + graphqlArgumentMap: { + string: "String", + text: "String", + integer: "Int", + boolean: "Boolean", + float: "Float", + date: "String", + datetime: "String", + array: "[String]" + }, + graphqlArgumentValueMap: { + string: "value", + text: "value", + integer: "value_int", + boolean: "value_boolean", + float: "value_float", + date: "value", + datetime: "value", + array: "value_array" + }, + graphqlPropertyMap: { + string: "property", + text: "property", + integer: "property_int", + boolean: "property_boolean", + float: "property_float", + date: "property", + datetime: "property", + array: "property_array" + } + }; + } + + writing() { + try{ + this.fs.copyTpl( + this.templatePath('./translations/model.yml'), + this.destinationPath(`app/translations/en/${this.props.modelNamePlural}.yml`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./schema/model.yml'), + this.destinationPath(`app/schema/${this.props.modelName}.yml`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./graphql/*.graphql'), + this.destinationPath(`app/graphql/${this.props.modelNamePlural}/`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./lib/queries/model'), + this.destinationPath(`app/lib/queries/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./lib/commands/model'), + this.destinationPath(`app/lib/commands/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./config.yml'), + this.destinationPath(`app/config.yml`), + this.props + ) + if(this.options['include-views']){ + this.fs.copyTpl( + this.templatePath('./views/pages/model'), + this.destinationPath(`app/views/pages/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./views/partials/theme/simple/model'), + this.destinationPath(`app/views/partials/theme/simple/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./views/partials/theme/simple/field_error.liquid'), + this.destinationPath(`app/views/partials/theme/simple/field_error.liquid`), + this.props + ) + } + } catch (e) { + console.error(e); + } + } + + end() { + console.log('CRUD generated'); + } +}; diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/config.yml b/pos-module-oauth-facebook/modules/core/generators/crud/templates/config.yml new file mode 100644 index 0000000..45cd4ce --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/config.yml @@ -0,0 +1,16 @@ +--- +escape_output_instead_of_sanitize: true +graphql_argument_type_mismatch_mode: 'error' +liquid_add_old_variables: false +liquid_check_mode: 'error' +liquid_raise_mode: true +require_table_for_record_delete_mutation: true +safe_translate: true +skip_elasticsearch: false +slug_exact_match: true +websockets_require_csrf_token: true +maintenance: + enabled: false + password_constant: 'MAINTENANCE_PASSWORD' + partial: 'maintenance' +--- diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/create.graphql b/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/create.graphql new file mode 100644 index 0000000..67905af --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/create.graphql @@ -0,0 +1,25 @@ +mutation create_<%= modelName %>( +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: <%= graphqlArgumentMap[attr.type] %>! +<% }); -%> +) { + record: record_create( + record: { + table: "<%= modelName %>" + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" <%= graphqlArgumentValueMap[attr.type] %>: $<%= attr.name %> } + <% }); -%> + ] + } + ){ + id + created_at + deleted_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } +} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/delete.graphql b/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/delete.graphql new file mode 100644 index 0000000..c77948f --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/delete.graphql @@ -0,0 +1,6 @@ +mutation delete($id: ID!) { + record: record_delete( + table: "<%= modelName %>" + id: $id + ){ id } +} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/search.graphql b/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/search.graphql new file mode 100644 index 0000000..a22b2fd --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/search.graphql @@ -0,0 +1,39 @@ +query search( + $id: ID + $limit: Int = 20 + $page: Int = 1 +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: String +<% }); -%> +) { + <%= modelNamePlural %>: records( + per_page: $limit + page: $page + filter: { + id: { value: $id } + table: { value: "<%= modelName %>" } + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" value: $<%= attr.name %> } + <% }); -%> + ] + } + sort: [ + { created_at: { order: DESC }} + ] + ){ + total_entries + total_pages + has_previous_page + has_next_page + results { + id + created_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } + } +} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/update.graphql b/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/update.graphql new file mode 100644 index 0000000..73e4556 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/graphql/update.graphql @@ -0,0 +1,27 @@ +mutation update_<%= modelName %>( + $id: ID! +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: <%= graphqlArgumentMap[attr.type] %> +<% }); -%> +) { + record: record_update( + id: $id + record: { + table: "<%= modelName %>" + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" <%= graphqlArgumentValueMap[attr.type] %>: $<%= attr.name %> } + <% }); -%> + ] + } + ){ + id + created_at + updated_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } +} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create.liquid new file mode 100644 index 0000000..26b0a03 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/create/build', object: object + function object = 'commands/<%= modelNamePlural %>/create/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/create' object: object + endif + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid new file mode 100644 index 0000000..94a17bf --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid @@ -0,0 +1,16 @@ +{% parse_json object %} + { + "id": {{ object.id | json }}, +<% attributes.forEach((attr, i) => { -%> + <% if (attr.type == 'integer' || attr.type == 'float') { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | plus: 0 | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <%} else { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <% } %> +<% }); -%> + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid new file mode 100644 index 0000000..caf4d8d --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid @@ -0,0 +1,12 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + +<% attributes.forEach((attr, i) => { -%> + function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' +<% }); -%> + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/delete.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/delete.liquid new file mode 100644 index 0000000..1ce0a60 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/delete.liquid @@ -0,0 +1,9 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/delete/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/delete', object: object + endif + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid new file mode 100644 index 0000000..4fada40 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid @@ -0,0 +1,10 @@ +{% liquid + assign c = { "valid": true, "errors": {} } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update.liquid new file mode 100644 index 0000000..29a229c --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/update/build', object: object + function object = 'commands/<%= modelNamePlural %>/update/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/update' object: object + endif + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid new file mode 100644 index 0000000..94a17bf --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid @@ -0,0 +1,16 @@ +{% parse_json object %} + { + "id": {{ object.id | json }}, +<% attributes.forEach((attr, i) => { -%> + <% if (attr.type == 'integer' || attr.type == 'float') { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | plus: 0 | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <%} else { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <% } %> +<% }); -%> + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid new file mode 100644 index 0000000..cffe564 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid @@ -0,0 +1,13 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' +<% attributes.forEach((attr, i) => { -%> + function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' +<% }); -%> + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/queries/model/find.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/queries/model/find.liquid new file mode 100644 index 0000000..7f84e12 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/queries/model/find.liquid @@ -0,0 +1,9 @@ +{% liquid + if id == blank + return null + endif + + graphql r = '<%= modelNamePlural %>/search', id: id, limit: 1 + + return r.<%= modelNamePlural %>.results.first +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/queries/model/search.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/queries/model/search.liquid new file mode 100644 index 0000000..369ec37 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/lib/queries/model/search.liquid @@ -0,0 +1,4 @@ +{% liquid + graphql r = '<%= modelNamePlural %>/search', limit: limit, page: 1 + return r.<%= modelNamePlural %> +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/schema/model.yml b/pos-module-oauth-facebook/modules/core/generators/crud/templates/schema/model.yml new file mode 100644 index 0000000..380c67b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/schema/model.yml @@ -0,0 +1,6 @@ +name: <%= modelName %> +properties: +<% attributes.forEach((attr) => { -%> + - name: <%= attr.name %> + type: <%= attr.type %> +<% }); -%> diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/translations/model.yml b/pos-module-oauth-facebook/modules/core/generators/crud/templates/translations/model.yml new file mode 100644 index 0000000..879b076 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/translations/model.yml @@ -0,0 +1,15 @@ +en: + app: + <%= modelNamePlural %>: + new: + new: New <%= modelName %> + edit: + edit: Edit <%= modelName %> + list: + add: Add <%= modelName %> + empty_state: You haven't added any <%= modelNamePlural %> yet.
    Create your first one now! + edit: Edit + attr: + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= attr.nameHuman %> + <% }); -%> diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/create.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/create.liquid new file mode 100644 index 0000000..cf27c95 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/create.liquid @@ -0,0 +1,14 @@ +--- +slug: <%= modelNamePlural %> +method: post +--- +{% liquid + function object = 'commands/<%= modelNamePlural %>/create', object: context.params.<%= modelName %> + if object.valid + # platformos-check-disable ConvertIncludeToRender + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>' + # platformos-check-enable ConvertIncludeToRender + else + render 'theme/simple/<%= modelNamePlural %>/new', object: object + endif +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/delete.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/delete.liquid new file mode 100644 index 0000000..bb26a02 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/delete.liquid @@ -0,0 +1,16 @@ +--- +slug: <%= modelNamePlural %> +method: delete +--- +{% liquid + function object = 'queries/<%= modelNamePlural %>/find', id: context.params.id + function object = 'commands/<%= modelNamePlural %>/delete', object: object + + # platformos-check-disable ConvertIncludeToRender + if object.valid + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>', notice: 'modules/core/common.deleted' + else + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>', error: 'modules/core/common.delete_failed' + endif + # platformos-check-enable ConvertIncludeToRender +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/edit.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/edit.liquid new file mode 100644 index 0000000..b098d38 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/edit.liquid @@ -0,0 +1,5 @@ +{% liquid + function object = 'queries/<%= modelNamePlural %>/find', id: context.params.id + + render 'theme/simple/<%= modelNamePlural %>/edit', object: object +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/index.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/index.liquid new file mode 100644 index 0000000..75290a7 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/index.liquid @@ -0,0 +1,5 @@ +{% liquid + function <%= modelNamePlural %> = 'queries/<%= modelNamePlural %>/search', limit: 100 + + render 'theme/simple/<%= modelNamePlural %>/index', <%= modelNamePlural %>: <%= modelNamePlural %> +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/new.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/new.liquid new file mode 100644 index 0000000..43c1b24 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/new.liquid @@ -0,0 +1,4 @@ +{% liquid + assign object = {} + render 'theme/simple/<%= modelNamePlural %>/new', object: object + %} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/show.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/show.liquid new file mode 100644 index 0000000..c9672cc --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/show.liquid @@ -0,0 +1,13 @@ +--- +slug: <%= modelNamePlural %>/:id +--- +{% liquid + + assign <%= modelName %>_id = context.params.id | split: '-' | last + function <%= modelName %> = 'queries/<%= modelNamePlural %>/find', id: <%= modelName %>_id + if <%= modelName %>.id + render 'theme/simple/<%= modelNamePlural %>/show', <%= modelName %>: <%= modelName %> + else + response_status 404 + endif +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/update.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/update.liquid new file mode 100644 index 0000000..06644bd --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/pages/model/update.liquid @@ -0,0 +1,14 @@ +--- +slug: <%= modelNamePlural %> +method: put +--- +{% liquid + function object = 'commands/<%= modelNamePlural %>/update', object: context.params.<%= modelName %> + if object.valid + # platformos-check-disable ConvertIncludeToRender + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>' + # platformos-check-enable ConvertIncludeToRender + else + render 'theme/simple/<%= modelNamePlural %>/edit', object: object + endif +%} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid new file mode 100644 index 0000000..16d306b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid @@ -0,0 +1,5 @@ +{% if errors %} + + {{ errors | join: ', ' }} + +{% endif %} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid new file mode 100644 index 0000000..6bd91f2 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid @@ -0,0 +1,5 @@ +
    +

    {{ 'app.<%= modelNamePlural %>.edit.edit' | t }} {{ object.name }}

    +
    + +{% render 'theme/simple/<%= modelNamePlural %>/form', object: object %} diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid new file mode 100644 index 0000000..5abe317 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid @@ -0,0 +1,9 @@ +
    +

    + {{ 'app.<%= modelNamePlural %>.list.empty_state' | t }} +

    + + + {{ 'app.<%= modelNamePlural %>.list.add' | t }} + +
    diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid new file mode 100644 index 0000000..e12d1ee --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid @@ -0,0 +1,27 @@ +{% liquid + if object.id + assign method = 'put' + else + assign method = 'post' + endif +%} +
    +
    + + + + {% if object.id %} + + {% endif %} + +<% attributes.forEach((attr) => { -%> +
    + + + {% render 'theme/simple/field_error', errors: object.errors.<%= attr.name %> %} +
    +<% }); -%> + + +
    +
    diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid new file mode 100644 index 0000000..352f7a0 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid @@ -0,0 +1,49 @@ +
    + +
    + {% if <%= modelNamePlural %>.results.size > 0 %} + + + +<% attributes.forEach((attr) => { -%> + +<% }); -%> + + + + {% for <%= modelName %> in <%= modelNamePlural %>.results %} + +<% attributes.forEach((attr) => { -%> + +<% }); -%> + + + {% endfor %} + +
    + {{ "app.<%= modelNamePlural %>.attr.<%= attr.name %>" | t }} +
    + + {{ <%= modelName %>.<%= attr.name %> }} + + + + {{ 'app.<%= modelNamePlural %>.list.edit' | t }} + +
    + + + + + +
    +
    + {% else %} + {% render 'theme/simple/<%= modelNamePlural %>/empty_state' %} + {% endif %} +
    +
    diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid new file mode 100644 index 0000000..e15a8d4 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid @@ -0,0 +1,4 @@ +
    +

    {{ 'app.<%= modelNamePlural %>.new.new' | t }}

    + {% render 'theme/simple/<%= modelNamePlural %>/form', object: object %} +
    diff --git a/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid new file mode 100644 index 0000000..483dd89 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid @@ -0,0 +1,15 @@ +
    +

    + <%= modelName %> - {{ <%= modelName %>.id }} +

    + + <% attributes.forEach((attr) => { -%> + + {{ 'app.<%= modelNamePlural %>.attr.<%= attr.name %>' | t }} + +

    + {{ <%= modelName %>.<%= attr.name %> }} +

    + + <% }); -%> +
    diff --git a/pos-module-oauth-facebook/modules/core/package-lock.json b/pos-module-oauth-facebook/modules/core/package-lock.json new file mode 100644 index 0000000..655962c --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/package-lock.json @@ -0,0 +1,3225 @@ +{ + "name": "pos-module-core", + "version": "1.2.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "pos-module-core", + "version": "1.2.1", + "license": "MIT", + "devDependencies": { + "auto-changelog": "^2.4.0", + "lodash.startcase": "^4.4.0", + "pluralize": "^8.0.0" + }, + "peerDependencies": { + "yeoman-generator": "^7.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", + "license": "MIT", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "license": "MIT", + "dependencies": { + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.10.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.10.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, + "node_modules/@octokit/request": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", + "license": "MIT", + "dependencies": { + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", + "license": "MIT" + }, + "node_modules/@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "license": "MIT" + }, + "node_modules/@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "license": "MIT", + "dependencies": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "node_modules/@yeoman/namespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.1.tgz", + "integrity": "sha512-XGdYL0HCoPvrzW7T8bxD6RbCY/B8uvR2jpOzJc/yEwTueKHwoVhjSLjVXkokQAO0LNl8nQFLVZ1aKfr2eFWZeA==", + "license": "MIT", + "engines": { + "node": "^16.13.0 || >=18.12.0" + } + }, + "node_modules/@yeoman/types": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.9.1.tgz", + "integrity": "sha512-5BMdA/zMzLv/ahnL1ktaV46nSXorb4sU4kQPQKDhIcK8ERbx9TAbGAE+XAlCXKioNIiOrihYj6gW1d/GEfU9Zw==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^16.13.0 || >=18.12.0" + }, + "peerDependencies": { + "@types/node": ">=16.18.26", + "@yeoman/adapter": "^1.6.0 || ^2.0.0-beta.0 || ^3.0.0 || ^4.0.0", + "mem-fs": "^3.0.0 || ^4.0.0-beta.1", + "mem-fs-editor": "^10.0.2 || >=10.0.2" + }, + "peerDependenciesMeta": { + "@yeoman/adapter": { + "optional": true + }, + "mem-fs": { + "optional": true + }, + "mem-fs-editor": { + "optional": true + } + } + }, + "node_modules/array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/auto-changelog": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz", + "integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==", + "dev": true, + "dependencies": { + "commander": "^7.2.0", + "handlebars": "^4.7.7", + "node-fetch": "^2.6.1", + "parse-github-url": "^1.0.2", + "semver": "^7.3.5" + }, + "bin": { + "auto-changelog": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "license": "Apache-2.0" + }, + "node_modules/binaryextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "license": "Artistic-2.0", + "dependencies": { + "version-range": "^4.15.0" + }, + "engines": { + "ecmascript": ">= es5", + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-username": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-9.0.0.tgz", + "integrity": "sha512-lY7+mymwQUEhRwWTLxieKkxcZkVNnUh8iAGnl30DMB1ZtYODHkMAckZk8Jx5dLQs1YKPYM2ibnzQu02aCLFcYQ==", + "license": "MIT", + "dependencies": { + "@octokit/rest": "^21.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "license": "MIT" + }, + "node_modules/isbinaryfile": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.3.tgz", + "integrity": "sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==", + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/ky": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", + "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/ky?sponsor=1" + } + }, + "node_modules/latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", + "license": "MIT", + "dependencies": { + "package-json": "^10.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/mem-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.3.tgz", + "integrity": "sha512-+2zSUVKcDWgcF90mPPwyH4J814uRI1PJcVt2RZ4/E8VggPEiIEL7ikMTlPR91P2ZySkyPgD0YGrccwo55SZvnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/mem-fs-editor": { + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.1.4.tgz", + "integrity": "sha512-Z4QX14Ev6eOVTuVSayS5rdiOua6C3gHcFw+n9Qc7WiaVTbC+H8b99c32MYGmbQN9UFHJeI/p3lf3LAxiIzwEmA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/ejs": "^3.1.4", + "@types/node": ">=18", + "binaryextensions": "^6.11.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.10", + "globby": "^14.0.2", + "isbinaryfile": "5.0.3", + "minimatch": "^9.0.3", + "multimatch": "^7.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^6.11.0", + "vinyl": "^3.0.0" + }, + "acceptDependencies": { + "isbinaryfile": "^5.0.3" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "mem-fs": "^4.0.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multimatch": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-7.0.0.tgz", + "integrity": "sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==", + "license": "MIT", + "dependencies": { + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^9.0.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", + "license": "MIT", + "dependencies": { + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "dev": true, + "bin": { + "parse-github-url": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "license": "MIT", + "dependencies": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/registry-auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^3.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC" + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-git": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", + "license": "MIT", + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sort-keys": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "license": "CC0-1.0" + }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "license": "MIT", + "dependencies": { + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/textextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==", + "license": "Artistic-2.0", + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "license": "MIT", + "dependencies": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/vinyl-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", + "license": "MIT", + "dependencies": { + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/yeoman-generator": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.5.1.tgz", + "integrity": "sha512-MYncRvzSTd71BMwiUMAVhfX00sDD8DZDrmPzRxQkWuWQ0V1Qt4Rd0gS/Nee2QDTWvRjvCa+KBfiAVrtOySq+JA==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@types/lodash-es": "^4.17.9", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", + "debug": "^4.1.1", + "execa": "^8.0.1", + "github-username": "^9.0.0", + "json-schema": "^0.4.0", + "latest-version": "^9.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.1", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", + "text-table": "^0.2.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "peerDependencies": { + "@types/node": ">=18.18.5", + "@yeoman/types": "^1.1.1", + "mem-fs": "^4.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "requires": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" + }, + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "requires": { + "debug": "^4.1.1" + } + }, + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@octokit/auth-token": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==" + }, + "@octokit/core": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", + "peer": true, + "requires": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + } + }, + "@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "requires": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + } + }, + "@octokit/graphql": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "requires": { + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" + } + }, + "@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==" + }, + "@octokit/plugin-paginate-rest": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", + "requires": { + "@octokit/types": "^13.10.0" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" + }, + "@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "requires": { + "@octokit/openapi-types": "^24.2.0" + } + } + } + }, + "@octokit/plugin-request-log": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", + "requires": {} + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==", + "requires": { + "@octokit/types": "^13.10.0" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" + }, + "@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "requires": { + "@octokit/openapi-types": "^24.2.0" + } + } + } + }, + "@octokit/request": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", + "requires": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + } + }, + "@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "requires": { + "@octokit/types": "^14.0.0" + } + }, + "@octokit/rest": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", + "requires": { + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" + } + }, + "@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "requires": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==" + }, + "@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "requires": { + "graceful-fs": "4.2.10" + } + }, + "@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "requires": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + } + }, + "@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==" + }, + "@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==" + }, + "@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" + }, + "@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "peer": true, + "requires": { + "undici-types": "~7.16.0" + } + }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" + }, + "@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "requires": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "@yeoman/namespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.1.tgz", + "integrity": "sha512-XGdYL0HCoPvrzW7T8bxD6RbCY/B8uvR2jpOzJc/yEwTueKHwoVhjSLjVXkokQAO0LNl8nQFLVZ1aKfr2eFWZeA==" + }, + "@yeoman/types": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.9.1.tgz", + "integrity": "sha512-5BMdA/zMzLv/ahnL1ktaV46nSXorb4sU4kQPQKDhIcK8ERbx9TAbGAE+XAlCXKioNIiOrihYj6gW1d/GEfU9Zw==", + "peer": true, + "requires": {} + }, + "array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==" + }, + "array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==" + }, + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "auto-changelog": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz", + "integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==", + "dev": true, + "requires": { + "commander": "^7.2.0", + "handlebars": "^4.7.7", + "node-fetch": "^2.6.1", + "parse-github-url": "^1.0.2", + "semver": "^7.3.5" + } + }, + "b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "requires": {} + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "requires": {} + }, + "before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, + "binaryextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "requires": { + "editions": "^6.21.0" + } + }, + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, + "chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==" + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "requires": { + "ms": "^2.1.3" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "requires": { + "version-range": "^4.15.0" + } + }, + "ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "requires": { + "jake": "^10.8.5" + } + }, + "events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "requires": { + "bare-events": "^2.7.0" + } + }, + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + } + }, + "fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==" + }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + } + }, + "fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==" + }, + "first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==" + }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" + }, + "github-username": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-9.0.0.tgz", + "integrity": "sha512-lY7+mymwQUEhRwWTLxieKkxcZkVNnUh8iAGnl30DMB1ZtYODHkMAckZk8Jx5dLQs1YKPYM2ibnzQu02aCLFcYQ==", + "requires": { + "@octokit/rest": "^21.1.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "requires": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "requires": { + "lru-cache": "^10.0.1" + } + }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" + }, + "ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==" + }, + "index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + }, + "isbinaryfile": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.3.tgz", + "integrity": "sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "requires": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "ky": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", + "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==" + }, + "latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", + "requires": { + "package-json": "^10.0.0" + } + }, + "lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" + }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "mem-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.3.tgz", + "integrity": "sha512-+2zSUVKcDWgcF90mPPwyH4J814uRI1PJcVt2RZ4/E8VggPEiIEL7ikMTlPR91P2ZySkyPgD0YGrccwo55SZvnw==", + "peer": true, + "requires": { + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" + } + }, + "mem-fs-editor": { + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.1.4.tgz", + "integrity": "sha512-Z4QX14Ev6eOVTuVSayS5rdiOua6C3gHcFw+n9Qc7WiaVTbC+H8b99c32MYGmbQN9UFHJeI/p3lf3LAxiIzwEmA==", + "peer": true, + "requires": { + "@types/ejs": "^3.1.4", + "@types/node": ">=18", + "binaryextensions": "^6.11.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.10", + "globby": "^14.0.2", + "isbinaryfile": "5.0.3", + "minimatch": "^9.0.3", + "multimatch": "^7.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^6.11.0", + "vinyl": "^3.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "multimatch": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-7.0.0.tgz", + "integrity": "sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==", + "requires": { + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^9.0.3" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "requires": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "requires": { + "path-key": "^4.0.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" + } + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", + "requires": { + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" + } + }, + "parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "dev": true + }, + "parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "requires": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==" + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "requires": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + } + }, + "read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "requires": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "dependencies": { + "unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==" + } + } + }, + "registry-auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", + "requires": { + "@pnpm/npm-conf": "^3.0.2" + } + }, + "registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "requires": { + "rc": "1.2.8" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + }, + "replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==" + }, + "reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, + "simple-git": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", + "requires": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.4.0" + } + }, + "slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==" + }, + "sort-keys": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", + "requires": { + "is-plain-obj": "^4.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==" + }, + "streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "requires": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", + "requires": { + "is-utf8": "^0.2.1" + } + }, + "strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "requires": { + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" + } + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + }, + "teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "requires": { + "streamx": "^2.12.5" + } + }, + "text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "requires": { + "b4a": "^1.6.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "textextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "requires": { + "editions": "^6.21.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==" + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true + }, + "undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" + }, + "unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==" + }, + "universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==" + }, + "vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "requires": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + } + }, + "vinyl-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", + "requires": { + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "yeoman-generator": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.5.1.tgz", + "integrity": "sha512-MYncRvzSTd71BMwiUMAVhfX00sDD8DZDrmPzRxQkWuWQ0V1Qt4Rd0gS/Nee2QDTWvRjvCa+KBfiAVrtOySq+JA==", + "peer": true, + "requires": { + "@types/lodash-es": "^4.17.9", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", + "debug": "^4.1.1", + "execa": "^8.0.1", + "github-username": "^9.0.0", + "json-schema": "^0.4.0", + "latest-version": "^9.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.1", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", + "text-table": "^0.2.0" + } + } + } +} diff --git a/pos-module-oauth-facebook/modules/core/package.json b/pos-module-oauth-facebook/modules/core/package.json new file mode 100644 index 0000000..49515a0 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/package.json @@ -0,0 +1,32 @@ +{ + "name": "pos-module-core", + "version": "1.2.1", + "description": "Module description", + "type": "module", + "scripts": { + "version": "(cd ../../ && pos-cli modules version core -p) && git add template-values.json && auto-changelog -p && git add CHANGELOG.md" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Platform-OS/pos-module-core.git" + }, + "author": "", + "license": "MIT", + "bugs": { + "url": "https://github.com/Platform-OS/pos-module-core/issues" + }, + "homepage": "https://github.com/Platform-OS/pos-module-core#readme", + "peerDependencies": { + "yeoman-generator": "^7.0.0" + }, + "devDependencies": { + "auto-changelog": "^2.4.0", + "lodash.startcase": "^4.4.0", + "pluralize": "^8.0.0" + }, + "auto-changelog": { + "template": "changelog-template.hbs", + "unreleased": true, + "commitLimit": false + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/api_calls/generic.liquid b/pos-module-oauth-facebook/modules/core/public/api_calls/generic.liquid new file mode 100644 index 0000000..0a3289b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/api_calls/generic.liquid @@ -0,0 +1,6 @@ +--- +request_type: "{{ data.request_type }}" +request_headers: '{{ data.headers | json }}' +to: "{{ data.to }}" +--- +{{ data.payload }} diff --git a/pos-module-oauth-facebook/modules/core/public/api_calls/generic_x_form_encoded.liquid b/pos-module-oauth-facebook/modules/core/public/api_calls/generic_x_form_encoded.liquid new file mode 100644 index 0000000..4085222 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/api_calls/generic_x_form_encoded.liquid @@ -0,0 +1,10 @@ +--- +request_type: "{{ data.request_type }}" +request_headers: '{{ data.headers | json }}' +to: "{{ data.to }}" +--- +{% liquid + function url = 'modules/core/helpers/hash_to_x_form_encoded', payload: data.payload + print url +%} + diff --git a/pos-module-oauth-facebook/modules/core/public/emails/.keep b/pos-module-oauth-facebook/modules/core/public/emails/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/emails/generic.liquid b/pos-module-oauth-facebook/modules/core/public/emails/generic.liquid new file mode 100644 index 0000000..240ce94 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/emails/generic.liquid @@ -0,0 +1,13 @@ +--- +from: "{{ data.from }}" +layout: "{{ data.layout }}" +to: "{{ data.to }}" +cc: "{{ data.cc }}" +bcc: "{{ data.bcc }}" +subject: "{{ data.subject }}" +--- +{% liquid + # platformos-check-disable + include data.partial, data: data.data + # platformos-check-enable +%} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/.keep b/pos-module-oauth-facebook/modules/core/public/graphql/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/api_calls/send.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/api_calls/send.graphql new file mode 100644 index 0000000..b26d03f --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/api_calls/send.graphql @@ -0,0 +1,12 @@ +mutation ($template: String!, $data: HashObject!, $options: ApiCallSendOptions) { + api_call: api_call_send( + data: $data + template: { name: $template } + options: $options + ) { + response{ status body } + errors { + message + } + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/email/send.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/email/send.graphql new file mode 100644 index 0000000..2f9fc39 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/email/send.graphql @@ -0,0 +1,9 @@ +mutation ($data: HashObject!, $template: String!){ + email_send( + template: { name: $template } + data: $data + ){ + is_scheduled_to_send + errors { message } + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/events/consumers.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/events/consumers.graphql new file mode 100644 index 0000000..b13d23b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/events/consumers.graphql @@ -0,0 +1,15 @@ +query consumers($name: String) { + admin_liquid_partials( + filter: { + path: { contains: $name } + } + sort: { + path: { order: ASC } + } + ) { + results { + path + metadata + } + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/events/create.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/events/create.graphql new file mode 100644 index 0000000..77bc1d9 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/events/create.graphql @@ -0,0 +1,7 @@ +mutation create_event($payload: ActivityStreamsPayload!) { + activity_create( + payload: $payload + ) { + payload + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/events/events_checks.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/events/events_checks.graphql new file mode 100644 index 0000000..c326d87 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/events/events_checks.graphql @@ -0,0 +1,11 @@ +query events_checks($name: String) { + admin_liquid_partials( + filter: { + path: { ends_with: $name } + } + ) { + results { + path + } + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/events/search.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/events/search.graphql new file mode 100644 index 0000000..4e78dd2 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/events/search.graphql @@ -0,0 +1,14 @@ +query ac($limit: Int = 100 $page: Int = 1 $uuids: [String!]) { + activities: activities( + per_page: $limit, + page: $page + uuids: $uuids + sort: { created_at: { order: DESC } } + ){ + total_entries + total_pages + results { + payload + } + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/hook/search.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/hook/search.graphql new file mode 100644 index 0000000..37e31e2 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/hook/search.graphql @@ -0,0 +1,7 @@ +query ($hook: String) { + admin_liquid_partials(filter: { path: { ends_with: $hook } }) { + results { + path + } + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/records/count.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/records/count.graphql new file mode 100644 index 0000000..9a21894 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/records/count.graphql @@ -0,0 +1,26 @@ +query records_count( + $property_name: String! + $property_value: String! + $scope_name: String! + $scope_value: String + $table: String! + $not_ids: [ID!] + $ids: [ID!] + $exclude_name: String! + $exclude_value: String +) { + records( + per_page: 1 + filter: { + id: { not_value_in: $not_ids, value_in: $ids } + table: { value: $table } + properties: [ + { name: $property_name, value: $property_value } + { name: $scope_name, value: $scope_value } + { name: $exclude_name, not_value: $exclude_value } + ] + } + ) { + total_entries + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/session/delete.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/session/delete.graphql new file mode 100644 index 0000000..c83de59 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/session/delete.graphql @@ -0,0 +1,5 @@ +mutation ($name: String!){ + session_delete_field( + name: $name + ) +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/session/set.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/session/set.graphql new file mode 100644 index 0000000..9069f25 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/session/set.graphql @@ -0,0 +1,6 @@ +mutation ($name: String!, $value: Any!){ + session_create_field( + name: $name + value: $value + ) +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/statuses/create.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/statuses/create.graphql new file mode 100644 index 0000000..7274afc --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/statuses/create.graphql @@ -0,0 +1,34 @@ +mutation create_status( + $name: String! + $timestamp: String! + $reference_id: String! + $reference_schema: String + $payload: String + $requester_id: String! +) { + record: record_create( + record: { + table: "modules/core/status" + properties: [ + { name: "name", value: $name } + { name: "timestamp", value: $timestamp } + { name: "reference_id", value: $reference_id } + { name: "reference_schema", value: $reference_schema } + { name: "payload", value: $payload } + { name: "requester_id", value: $requester_id } + ] + } + ) { + id + created_at + deleted_at + type: table + + name: property(name: "name") + timestamp: property(name: "timestamp") + reference_id: property(name: "reference_id") + reference_schema: property(name: "reference_schema") + payload: property(name: "payload") + requester_id: property(name: "requester_id") + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/statuses/delete.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/statuses/delete.graphql new file mode 100644 index 0000000..fb333ab --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/statuses/delete.graphql @@ -0,0 +1,5 @@ +mutation delete_status($id: ID!) { + record_delete(table: "modules/core/status", id: $id) { + id + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/statuses/search.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/statuses/search.graphql new file mode 100644 index 0000000..8beffdc --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/statuses/search.graphql @@ -0,0 +1,45 @@ +query search( + $id: ID + $limit: Int! + $page: Int! + $name: String + $timestamp: String + $reference_id: String + $reference_schema: String + $requester_id: String +) { + statuses: records( + per_page: $limit + page: $page + filter: { + id: { value: $id } + table: { value: "modules/core/status" } + properties: [ + { name: "name", value: $name } + { name: "timestamp", value: $timestamp } + { name: "reference_id", value: $reference_id } + { name: "reference_schema", value: $reference_schema } + { name: "requester_id", value: $requester_id } + ] + } + sort: [{ created_at: { order: DESC } }] + ) { + total_entries + has_next_page + has_previous_page + current_page + + results { + id + created_at + type: table + + name: property(name: "name") + timestamp: property(name: "timestamp") + reference_id: property(name: "reference_id") + reference_schema: property(name: "reference_schema") + payload: property(name: "payload") + requester_id: property(name: "requester_id") + } + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/graphql/variable/set.graphql b/pos-module-oauth-facebook/modules/core/public/graphql/variable/set.graphql new file mode 100644 index 0000000..3c7b0d9 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/graphql/variable/set.graphql @@ -0,0 +1,6 @@ +mutation ($name: String!, $value: String!) { + variable: constant_set(name: $name, value: $value) { + name + value + } +} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/.keep b/pos-module-oauth-facebook/modules/core/public/lib/commands/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send.liquid new file mode 100644 index 0000000..1fc5273 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + function object = 'modules/core/commands/email/send/build', object: object + function object = 'modules/core/commands/email/send/check', object: object + + if object.valid + graphql r = 'modules/core/email/send', template: 'modules/core/generic', data: object + if r.errors + log r.errors, type: 'errors.graphql.invalid' + + assign object.valid = false + assign object.errors = r.errors + endif + else + log object.errors, type: 'payload validation error in core: commands/email' + endif + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send/build.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send/build.liquid new file mode 100644 index 0000000..5e57d28 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send/build.liquid @@ -0,0 +1,13 @@ +{% parse_json object %} + { + "layout": {{ object.layout | default: 'modules/core/mailer' | json }}, + "from": {{ object.from | json }}, + "to": {{ object.to | json }}, + "subject": {{ object.subject | json }}, + "cc": {{ object.cc | json }}, + "bcc": {{ object.bcc | json }}, + "partial": {{ object.partial | json }}, + "data": {{ object.data | json }} + } +{% endparse_json %} +{% return object %} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send/check.liquid new file mode 100644 index 0000000..50c8aec --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/email/send/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/broadcast.liquid new file mode 100644 index 0000000..ec2b6bd --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/broadcast.liquid @@ -0,0 +1,29 @@ +{% doc %} + @param {object} object - The object to process + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} +{% liquid + if object.type == blank + log 'ERROR: events broadcast type blank' + return null + endif + assign priorities = 'low,default,high' | split: ',' + + assign name = 'consumers/' | append: object.type | append: '/' + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" + + assign object.consumers = consumers + for consumer in consumers + assign priority = 'default' + if priorities contains consumer.metadata.priority + assign priority = consumer.metadata.priority + endif + assign max_attempts = consumer.metadata.max_attempts | default: deprecated_max_attempts | default: 9 + assign delay = consumer.metadata.delay | default: deprecated_delay | default: 0 + + background _id = consumer.path, event: object, priority: priority, delay: delay, max_attempts: max_attempts + endfor + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create.liquid new file mode 100644 index 0000000..c32c970 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create.liquid @@ -0,0 +1,23 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} +{% liquid + function event = 'modules/core/commands/events/create/build', type: type, object: object + function event = 'modules/core/commands/events/create/check', object: event, type: type + if event.valid + function event = 'modules/core/commands/events/create/execute', object: event + if event.valid + assign source_name = 'modules/core/commands/events/create:' | append: type + background _job_id = 'modules/core/commands/events/broadcast', object: event, deprecated_max_attempts: deprecated_max_attempts, deprecated_delay: deprecated_delay, source_name: source_name, priority: 'high' + else + log event, type: 'ERROR: modules/core/commands/events invalid' + endif + else + log event, type: 'ERROR: modules/core/commands/events invalid' + endif + + return event +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/build.liquid new file mode 100644 index 0000000..32e10ed --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/build.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} +{% liquid + assign now = 'now' | to_time + assign data = object + assign data.type = type + assign data.date = now + + return data +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/check.liquid new file mode 100644 index 0000000..a11a644 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/check.liquid @@ -0,0 +1,36 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date', key: null + + assign name = 'events/' | append: object.type + graphql event_check_partials = 'modules/core/events/events_checks', name: name | dig: "admin_liquid_partials", "results" + for partial in event_check_partials + assign is_event_definition = partial.path | matches: '^(modules/[^/]+/events/[^/]++|events/[^/]+)$' + if is_event_definition + assign event_check_partial = partial + break + endif + endfor + + if event_check_partial + function event_result = event_check_partial.path, event: object + if event_result.valid != true + assign c.errors.object = event_result.errors + assign c.valid = false + endif + else + assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type + function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message, key: null + endif + + assign object.valid = c.valid + + assign object.errors = c.errors + return object + %} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/execute.liquid new file mode 100644 index 0000000..d94fff4 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/create/execute.liquid @@ -0,0 +1,11 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + graphql r = 'modules/core/events/create', payload: object + + assign object = r.activity_create.payload + assign object.valid = true + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/events/publish.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/publish.liquid new file mode 100644 index 0000000..586ad27 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/events/publish.liquid @@ -0,0 +1,27 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts +{% enddoc %} +{% liquid + if delay > 0 + log 'use metadata.delay in the consumer file instead of passing it to modules/core/commands/events/publish', type: 'DEPRECATION' + endif + if max_attempts + log 'use metadata.max_attempts in the consumer file instead of passing it to modules/core/commands/events/publish', type: 'DEPRECATION' + endif + + unless type + log 'type is required', type: 'ERROR: modules/core/commands/events publish' + return null + endunless + unless object + log 'object is required', type: 'ERROR: modules/core/commands/events publish' + return null + endunless + + function event = "modules/core/commands/events/create", type: type, object: object, deprecated_max_attempts: max_attempts, deprecated_delay: delay + + return event +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/execute.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/execute.liquid new file mode 100644 index 0000000..e0510a4 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/execute.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {string} mutation_name - The GraphQL mutation name + @param {object} object - The object to process + @param {string} selection - The GraphQL result selection key +{% enddoc %} +{% liquid + assign selection = selection | default: 'record' + + graphql r = mutation_name, args: object + if r.errors + log r, type: "ERROR: modules/core/commands/execute" + endif + + assign object = r[selection] + assign object.valid = true + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/hook/alter.liquid new file mode 100644 index 0000000..19f42fb --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/hook/alter.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} +{% liquid + assign original_params = params_to_modify | deep_clone + + assign hook = '/hook_' | append: hook | append: '_alter' + function implementations = 'modules/core/queries/hook/search', hook: hook + + for implementation in implementations + function _ = implementation.path, params_to_modify: params_to_modify, params: params + endfor + + assign result = { "original_params": original_params } + return result +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/hook/fire.liquid new file mode 100644 index 0000000..0b35c38 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/hook/fire.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + if merge_to_object + assign results = {} + else + assign results = [] + endif + + assign hook = '/hook_' | append: hook + function implementations = 'modules/core/queries/hook/search', hook: hook + + for implementation in implementations + function hook_result = implementation.path, params: params + if hook_result != nil + comment + Check if the result is an array and merge the values one by one. + endcomment + if hook_result[0] + for h_result in hook_result + assign results << h_result + endfor + comment + Check if the result is an object. + endcomment + elsif hook_result.first and merge_to_object + assign results = results | hash_merge: hook_result + else + assign results << hook_result + endif + endif + endfor + + return results +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/session/clear.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/session/clear.liquid new file mode 100644 index 0000000..b823fa5 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/session/clear.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if context.session[key] != blank + graphql _ = 'modules/core/session/delete', name: key + return true + endif + return false +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/session/get.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/session/get.liquid new file mode 100644 index 0000000..02b8240 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/session/get.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {boolean} clear - If true, clear the session value after reading + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if context.session[key] != blank + assign value = context.session[key] | parse_json + if clear + graphql _ = 'modules/core/session/delete', name: key + endif + + return value + endif + return null +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/session/set.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/session/set.liquid new file mode 100644 index 0000000..3441120 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/session/set.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | json + graphql _ = 'modules/core/session/set', name: key, value: value + return true +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create.liquid new file mode 100644 index 0000000..dc5f46d --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create.liquid @@ -0,0 +1,25 @@ +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% liquid + function object = 'modules/core/commands/statuses/create/build', name: name, timestamp: timestamp, reference_id: reference_id, reference_schema: reference_schema, payload: payload, requester_id: requester_id + function object = 'modules/core/commands/statuses/create/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/create' object: object, selection: null + if object.valid + function _ = 'modules/core/commands/events/publish', type: 'status_created', object: object, delay: delay, max_attempts: max_attempts + endif + else + log object, 'showme STATUS-INVALID' + endif + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create/build.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create/build.liquid new file mode 100644 index 0000000..b46956a --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create/build.liquid @@ -0,0 +1,22 @@ +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% parse_json object %} + { + "name": {{ name | json }}, + "timestamp": {{ timestamp | default: 'now' | to_time | json }}, + "reference_id": {{ reference_id | json }}, + "reference_schema": {{ reference_schema | json }}, + "payload": {{ payload | json }}, + "requester_id": {{ requester_id | json }} + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create/check.liquid new file mode 100644 index 0000000..61a2d21 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/create/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete.liquid new file mode 100644 index 0000000..5c79d78 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + function object = 'modules/core/commands/statuses/delete/build', id: id + function object = 'modules/core/commands/statuses/delete/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/delete', selection: 'record_delete', object: object + endif + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete/build.liquid new file mode 100644 index 0000000..29c1322 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -0,0 +1,7 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + assign object = {"id": id} + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete/check.liquid new file mode 100644 index 0000000..737a3fd --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "valid": true, "errors": {} } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/commands/variable/set.liquid b/pos-module-oauth-facebook/modules/core/public/lib/commands/variable/set.liquid new file mode 100644 index 0000000..cdbc3b8 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/commands/variable/set.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} +{% liquid + graphql result = 'modules/core/variable/set', name: name, value: value + return result.variable +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/events/status_created.liquid b/pos-module-oauth-facebook/modules/core/public/lib/events/status_created.liquid new file mode 100644 index 0000000..02541f7 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/events/status_created.liquid @@ -0,0 +1,21 @@ +--- +metadata: + event: + name + reference_id + reference_schema + requester_id + payload +--- +{% doc %} + @param {object} event - The event object +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'requester_id', key: null + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/authenticity_token.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/authenticity_token.liquid new file mode 100644 index 0000000..6262ed4 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/authenticity_token.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} authenticity_token - The authenticity token from the form + @param {string} token - The authenticity token value +{% enddoc %} +{% assign token = token | default: authenticity_token | default: context.authenticity_token %} +{% unless token %} + Liquid Error AuthenticityTokenNotFound +{% endunless %} + diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/flash/publish.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/flash/publish.liquid new file mode 100644 index 0000000..cd5847d --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/flash/publish.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {boolean} force_clear - If true, clear flash messages immediately +{% enddoc %} +{% liquid + if error and error contains 'app.' + assign error = error | t + endif + + if notice and notice contains 'app.' + assign notice = notice | t + endif + + if info and info contains 'app.' + assign info = info | t + endif +%} + +{% parse_json flash %} + { + "error": {{ error | json }}, + "notice": {{ notice | json }}, + "info": {{ info | json }}, + "from": {{ context.location.pathname | json }}, + "now": {{ force_clear | default: false }} + } +{% endparse_json %} + +{% liquid + assign sflash = flash | json + session sflash = sflash +%} + diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid new file mode 100644 index 0000000..05d1820 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {object} payload - The payload data +{% enddoc %} +{% liquid + assign parameters = '' | split: ',' + for pair in payload + assign component = pair[0] | append: '={' | append: pair[0] | append: '}' + assign parameters << component + endfor + if parameters.size > 0 + assign x_form_encoded = parameters | join: '&' | expand_url_template: payload + else + assign x_form_encoded = '' + endif + + return x_form_encoded +%} + diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/log_time.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/log_time.liquid new file mode 100644 index 0000000..447397a --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/log_time.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {string} _start - The start time for measuring elapsed time + @param {string} type - The type identifier + @param {string} env - The environment name for logging +{% enddoc %} +{% liquid + assign _stop = 'now' | to_time + assign _diff = _start | time_diff: _stop + if env + log _diff, type: type, env: env + else + log _diff, type: type + endif + + return true +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/redirect_to.liquid new file mode 100644 index 0000000..8f14d81 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/redirect_to.liquid @@ -0,0 +1,50 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {object} object - The object to process + @param {string} default - The default value + @param {string} format - The response format + @param {string} url - The URL to redirect to +{% enddoc %} +{% liquid + if url == blank and context.session.return_to != blank + assign url = context.session.return_to + session return_to = null + endif + + if context.params.return_to != blank or context.params.redirect_to != blank and url == blank + assign url = context.params.return_to | default: context.params.redirect_to | url_decode + assign not_start_with_slash = url | matches: '^(?!\/)(.+)' + + # for security reasons, we do not allow redirecting to external URLs based on unsafe user input + assign wrong_url = url | matches: '^\/\/' + if not_start_with_slash or wrong_url + assign url = '/' + endif + else + assign default = default | default: '/' + assign url = url | default: default + endif + + # platformos-check-disable DeprecatedTag + include 'modules/core/helpers/flash/publish', notice: notice, error: error, info: info, force_clear: null + # platformos-check-enable DeprecatedTag + + if format == 'json' + assign response_json = {"type": "redirect", "url": url} + if object.valid + echo response_json + else + response_status 422 + assign res = { "errors": response_json.errors } + + echo res + endif + + else + redirect_to url + endif + + break +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/register_error.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/register_error.liquid new file mode 100644 index 0000000..f016b3e --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/register_error.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + assign key = key | default: null + assign message = message | default: null + if key + assign msg = key | t + else + assign msg = message + endif + + assign errors = contract.errors + + assign default = [] + assign field_errors = errors[field_name] | default: default + assign field_errors << msg + + assign errors[field_name] = field_errors + assign contract.valid = false + + return contract +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_all.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_all.liquid new file mode 100644 index 0000000..7ed01d5 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_all.liquid @@ -0,0 +1,18 @@ +{% comment %} + we need the to_json | parse_json hack because time_zones.all is an array of TimeZoneDrop (not an object) + this prevents us from using array filters or pass the timezone as reference (return it from a function, etc) + should be fixed on the platform level +{% endcomment %} +{% comment %} +Returns an array of timezone objects in the following format: +{ + "formatted_name":"(GMT-12:00) International Date Line West", + "formatted_offset":"-12:00", + "name":"International Date Line West", + "utc_offset":-43200, + "abbreviation":"-12", + "friendly_name_with_region":"Etc - GMT+12", + "friendly_name_without_region":"GMT+12" +} +{% endcomment %} +{% return context.globals.time_zones.all | parse_json %} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_by_name.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_by_name.liquid new file mode 100644 index 0000000..20f429d --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_by_name.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} name - The name identifier +{% enddoc %} +{% liquid + function timezones = 'modules/core/helpers/timezone/get_all' + assign timezone = timezones | array_detect: name: name + + return timezone +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_by_offset.liquid b/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_by_offset.liquid new file mode 100644 index 0000000..478d3ae --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/helpers/timezone/get_by_offset.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {number} offset +{% enddoc %} +{% liquid + function timezones = 'modules/core/helpers/timezone/get_all' + assign timezone = timezones | array_detect: formatted_offset: offset + + return timezone +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/hooks/.keep b/pos-module-oauth-facebook/modules/core/public/lib/hooks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/.keep b/pos-module-oauth-facebook/modules/core/public/lib/queries/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/constants/find.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/constants/find.liquid new file mode 100644 index 0000000..84fe8d8 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/constants/find.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% if context.constants %} + {% assign value = context.constants[name] %} +{% else %} + {% graphql r, name: name %} + query get_constant($name: String!) { + constant(filter: { name: $name }) { + name + value + } + } + {% endgraphql %} + {% assign value = r.constant.value %} +{% endif %} + +{% liquid + case type + when "boolean" + if value == "true" + return true + else + return false + endif + when "integer" + assign value = value | plus: 0 + return value + when "array" + assign value = value | split: ',' + return value + when "time" + return value | to_time + else + return value + endcase +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/events/find.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/events/find.liquid new file mode 100644 index 0000000..c3d264a --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/events/find.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {string} uuid - The UUID identifier +{% enddoc %} +{% liquid + if uuid == blank + return null + endif + + function events = 'modules/core/queries/events/search', limit: 1, uuids: uuid, page: null + + return events.results.first.payload +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/events/search.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/events/search.liquid new file mode 100644 index 0000000..2569598 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/events/search.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} uuids - List of UUID identifiers +{% enddoc %} +{% liquid + assign page = page | to_positive_integer: 1 + assign uuids = uuids | default: null + + graphql r = 'modules/core/events/search', limit: limit, page: page, uuids: uuids + + assign events = r.activities + + return events +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/headscripts/get.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/headscripts/get.liquid new file mode 100644 index 0000000..e2453ef --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/headscripts/get.liquid @@ -0,0 +1,5 @@ +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/queries/headscripts/search', merge_to_object: null + return res +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/headscripts/search.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/headscripts/search.liquid new file mode 100644 index 0000000..989f536 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/headscripts/search.liquid @@ -0,0 +1,5 @@ +{% liquid + function headscript_implementations = 'modules/core/commands/hook/fire', hook: 'headscripts', merge_to_object: false, params: null + assign results = headscript_implementations | join: '' + return results | html_safe +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/hook/search.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/hook/search.liquid new file mode 100644 index 0000000..5b49f62 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/hook/search.liquid @@ -0,0 +1,7 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} +{% liquid + graphql implementations = 'modules/core/hook/search', hook: hook + return implementations.admin_liquid_partials.results +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/module/exists.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/module/exists.liquid new file mode 100644 index 0000000..474665d --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/module/exists.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function modules = 'modules/core/queries/registry/search', type: type + assign module = modules | array_detect: machine_name: name + + if module + return true + endif + + return false +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/registry/get.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/registry/get.liquid new file mode 100644 index 0000000..aa3524a --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/registry/get.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function registry = 'modules/core/queries/registry/search', type: type + return registry +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/registry/search.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/registry/search.liquid new file mode 100644 index 0000000..96116a4 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/registry/search.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function registry = 'modules/core/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null + + case type + when 'module' + assign modules = [] + for module in registry + if module.type == 'module' + assign modules << module + endif + endfor + return modules + when 'theme' + assign themes = [] + for module in registry + if module.type == 'theme' + assign themes << module + endif + endfor + return themes + endcase + return registry +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/statuses/find.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/statuses/find.liquid new file mode 100644 index 0000000..b7cf078 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/statuses/find.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + if id == blank + return null + endif + + graphql r = 'modules/core/statuses/search', id: id, limit: 1, page: 1 + + return r.statuses.results.first +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/statuses/search.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/statuses/search.liquid new file mode 100644 index 0000000..f4f79d8 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/statuses/search.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} id - The record ID + @param {string} name - The name identifier + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% liquid + assign page = page | to_positive_integer: 1 + assign limit = limit | default: 20 + + graphql r = 'modules/core/statuses/search', limit: limit, page: page, id: id, name: name, reference_id: reference_id, requester_id: requester_id, reference_schema: reference_schema, timestamp: timestamp + + return r.statuses +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/variable/find.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/variable/find.liquid new file mode 100644 index 0000000..c2ec54c --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/variable/find.liquid @@ -0,0 +1,28 @@ +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} +{% liquid + assign value = context.constants[name] | default: default, allow_false: true + + case type + when 'boolean' + if value == 'true' or value == true + return true + else + return false + endif + when 'integer' + assign value = value | plus: 0 + return value + when 'float' + assign value = value | plus: 0 + return value + when 'array' + assign value = value | split: ',' + return value + else + return value + endcase +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/queries/variable/get.liquid b/pos-module-oauth-facebook/modules/core/public/lib/queries/variable/get.liquid new file mode 100644 index 0000000..e51e5de --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/queries/variable/get.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/queries/variable/find', name: name, default: default, type: type + return res +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/date.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/date.liquid new file mode 100644 index 0000000..7125e98 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/date.liquid @@ -0,0 +1,78 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} +{% liquid + assign date = date | default: object[field_name] | to_date + + assign is_past = date | is_date_in_past + assign now = 'now' | to_date + + if date > now + assign is_future = true + else + assign is_future = false + endif + + if can_be_past == false and is_past + assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if can_be_future == false and is_future + assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lt != null + assign lt = lt | to_date + if date >= lt + assign localized_date = lt | l + assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if lte != null + assign lte = lte | to_date + if date > lte + assign localized_date = lte | l + assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gt != null + assign gt = gt | to_date + if date <= gt + assign localized_date = gt | l + assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gte != null + assign gte = gte | to_date + if date < gte + assign localized_date = gte | l + assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/each_element_length.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/each_element_length.liquid new file mode 100644 index 0000000..85f5315 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/each_element_length.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + + for el in object[field_name] + + assign size = el.size + + if minimum != null and size < minimum + assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size + assign message = el | append: ' ' | append: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + endfor + + return c + +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/elements_included.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/elements_included.liquid new file mode 100644 index 0000000..6b58bde --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/elements_included.liquid @@ -0,0 +1,19 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + for val in object[field_name] + unless array contains val + assign key = key | default: "modules/core/validation.array.not_included" + assign message = key | t: value: val + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endunless + endfor + + return c +%} + diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/email.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/email.liquid new file mode 100644 index 0000000..39c8029 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/email.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign valid_email = object[field_name] | is_email_valid + unless valid_email + assign key = key | default: "modules/core/validation.email" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/equal.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/equal.liquid new file mode 100644 index 0000000..6b367e4 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/equal.liquid @@ -0,0 +1,23 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} +{% liquid + if given != expected + + if message == blank and key == blank + if not_verbose + assign message = 'modules/core/validation.equal_not_verbose' | t + else + assign message = 'modules/core/validation.equal' | t: given: given, expected: expected + endif + endif + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: key + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/exist_in_db.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/exist_in_db.liquid new file mode 100644 index 0000000..abc8a51 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/exist_in_db.liquid @@ -0,0 +1,31 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} +{% liquid + assign property_name = property_name | default: '' + assign property_value = property_value | default: '' + assign scope_name = scope_name | default: '' + assign scope_value = scope_value | default: '' + assign exclude_name = exclude_name | default: '' + assign exclude_value = exclude_value | default: '' + assign key = key | default: 'modules/core/validation.not_exist' + + graphql r = 'modules/core/records/count', ids: ids, not_ids: not_ids, property_name: property_name, property_value: property_value, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count == 0 + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/hcaptcha.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/hcaptcha.liquid new file mode 100644 index 0000000..21289c9 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/hcaptcha.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign hcaptcha_solved = hcaptcha_params | hcaptcha + unless hcaptcha_solved + assign key = key | default: "modules/core/validation.hcaptcha" + function c = 'modules/core/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/included.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/included.liquid new file mode 100644 index 0000000..a432b8c --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/included.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + unless array contains value + assign key = key | default: "modules/core/validation.not_included" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} + diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/is_url.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/is_url.liquid new file mode 100644 index 0000000..8ffaa46 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/is_url.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} url - The URL to redirect to + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign key = key | default: 'modules/core/validation.not_url' + assign is_url = url | matches: '^https?:\/\/[\S]+' + + if is_url != true + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} \ No newline at end of file diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/length.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/length.liquid new file mode 100644 index 0000000..fba5e45 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/length.liquid @@ -0,0 +1,44 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + assign size = value.size + assign is = is | default: null + assign minimum = minimum | default: null + assign maximum = maximum | default: null + + if allow_blank == null + assign allow_blank = true + endif + if allow_blank != true + function c = 'modules/core/validations/presence', c: c, object: object, field_name: field_name, key: null + endif + + if minimum != null and size < minimum + assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/matches.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/matches.liquid new file mode 100644 index 0000000..19a1c8a --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/matches.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + if allow_blank and object[field_name] == blank + return c + endif + + assign matches = object[field_name] | matches: regexp + if matches != true + assign message = message | default: 'modules/core/validation.matches' | t + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/not_null.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/not_null.liquid new file mode 100644 index 0000000..810b5f8 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/not_null.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if object[field_name] == null + assign key = key | default: "modules/core/validation.null" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/number.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/number.liquid new file mode 100644 index 0000000..d39591f --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/number.liquid @@ -0,0 +1,69 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} +{% liquid + assign number = number | default: object[field_name] +%} +{% capture test1 %}{{ number }}{% endcapture %} +{% capture test2 %}{{ test1 | plus: 0 }}{% endcapture %} +{% liquid + if test1 != test2 + assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + + return c + endif + + assign number = number | plus: 0 + + if lt != null and number >= lt + assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lte == blank + assign lte = 2147483647 + endif + if number > lte + assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gt != null and number <= gt + assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gte != null and number < gte + assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if eq != null and number != eq + assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if ne != null and number == ne + assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/password_complexity.liquid new file mode 100644 index 0000000..634daa6 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/password_complexity.liquid @@ -0,0 +1,36 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process + @param {string} field_name - The name of the field to validate + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + assign decoded_pw = object.password + assign minimum = minimum | default: 6 + assign maximum = maximum | default: 256 + assign field_name = field_name | default: 'password' + + function complex_password = 'modules/core/queries/variable/find', name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null + if complex_password + assign has_lowercase = decoded_pw | matches: '[a-z]' + unless has_lowercase + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.lowercase', message: null + endunless + + assign has_uppercase = decoded_pw | matches: '[A-Z]' + unless has_uppercase + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.uppercase', message: null + endunless + + assign has_number = decoded_pw | matches: '\d' + unless has_number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.number', message: null + endunless + endif + + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null, is: null, message_is: null, message_maximum: null + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/presence.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/presence.liquid new file mode 100644 index 0000000..6526d2b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/presence.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if object[field_name] == blank + assign key = key | default: "modules/core/validation.blank" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/truthy.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/truthy.liquid new file mode 100644 index 0000000..86b428e --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/truthy.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + unless object[field_name] + assign key = key | default: "modules/core/validation.not_truthy" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/unique_elements.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/unique_elements.liquid new file mode 100644 index 0000000..4bca1e8 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/unique_elements.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + + assign unique_count = object[field_name] | uniq | size + + if unique_count != object[field_name].size + assign key = key | default: 'modules/core/validation.array.not_unique' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/uniqueness.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/uniqueness.liquid new file mode 100644 index 0000000..76a9948 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/uniqueness.liquid @@ -0,0 +1,37 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} +{% liquid + assign key = key | default: 'modules/core/validation.taken' + assign value = object[field_name] + if value != blank + if object.id != blank + assign not_ids = object.id | split: ',' + endif + if scope_name + assign scope_value = object[scope_name] + else + assign scope_name = '' + endif + + if exclude_name + assign exclude_value = object[exclude_name] + else + assign exclude_name = '' + endif + + graphql r = 'modules/core/records/count', property_name: field_name, property_value: value, not_ids: not_ids, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count > 0 + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/lib/validations/valid_object.liquid b/pos-module-oauth-facebook/modules/core/public/lib/validations/valid_object.liquid new file mode 100644 index 0000000..6693ec3 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/lib/validations/valid_object.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + if value + function check_object = check_function, object: value + if check_object.valid != true + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null + assign errors_key = field_name | append: '_errors' + assign c.errors[errors_key] = check_object.errors + endif + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/schema/status.yml b/pos-module-oauth-facebook/modules/core/public/schema/status.yml new file mode 100644 index 0000000..5a8a0de --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/schema/status.yml @@ -0,0 +1,14 @@ +name: status +properties: + - name: name + type: string + - name: timestamp + type: datetime + - name: reference_id + type: string + - name: reference_schema + type: string + - name: payload + type: string + - name: requester_id + type: string diff --git a/pos-module-oauth-facebook/modules/core/public/translations/en/common.yml b/pos-module-oauth-facebook/modules/core/public/translations/en/common.yml new file mode 100644 index 0000000..19ed613 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/translations/en/common.yml @@ -0,0 +1,4 @@ +en: + common: + deleted: 'Deleted' + deleted_failed: 'Deleted failed' diff --git a/pos-module-oauth-facebook/modules/core/public/translations/en/validation.yml b/pos-module-oauth-facebook/modules/core/public/translations/en/validation.yml new file mode 100644 index 0000000..06a1a48 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/translations/en/validation.yml @@ -0,0 +1,50 @@ +--- +en: + validation: + disallowed: is not valid + not_url: is not valid url + blank: cannot be blank + email: must be a valid email + equal: expected %{given} to equal %{expected} + equal_not_verbose: does not match + array: + not_included: '`%{value}` is not a valid value' + not_unique: elements must be unique + hcaptcha: Captcha has not been solved properly, please try again + length: + minimum: is too short (minimum is %{count} characters) + maximum: is too long (maximum is %{count} characters) + is: is the wrong length (should be %{count} characters) + blank: is blank + number: + invalid: '`%{value}` is not a number' + greater_than: must be greater than %{count} + greater_than_or_equal: must be greater than or equal to %{count} + less_than: must be less than %{count} + less_than_or_equal: must be less than or equal to %{count} + equal_to: must be equal to %{count} + gt: must be greater than %{count} + gte: must be greater than or equal to %{count} + lt: must be less than %{count} + lte: must be less than or equal to %{count} + eq: must be equal to %{count} + ne: must be not equal to %{count} + date: + can_be_past: The date cannot be in the past + can_be_future: The date cannot be in the future + lt: must be before %{date} + lte: must be before %{date} + gt: must be after %{date} + gte: must be after or equal to %{date} + too_short: has to be longer than %{value} characters + taken: already taken + not_uniq: not unique + matches: not valid format + not_truthy: not true + not_null: not null + password: + lowercase: must include at least one lower case + uppercase: must include at least one upper case + number: must include at least one number + invalid: invalid + not_exist: not exist diff --git a/pos-module-oauth-facebook/modules/core/public/views/layouts/basic.liquid b/pos-module-oauth-facebook/modules/core/public/views/layouts/basic.liquid new file mode 100644 index 0000000..6b57c72 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/layouts/basic.liquid @@ -0,0 +1,154 @@ + + + + + + + +
    +
    + {{ content_for_layout }} +
    +
    + + diff --git a/pos-module-oauth-facebook/modules/core/public/views/layouts/mailer.html.liquid b/pos-module-oauth-facebook/modules/core/public/views/layouts/mailer.html.liquid new file mode 100644 index 0000000..510f6a1 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/layouts/mailer.html.liquid @@ -0,0 +1,46 @@ +{% liquid + assign rtl_languages = 'ar,arc,dv,fa,ha,he,khw,ks,ku,ps,ur,yi' | split: ',' + if rtl_languages contains context.language + assign direction = 'rtl' + else + assign direction = 'ltr' + endif + assign url = 'https://' | append: context.location.host +%} + + + + + + + + +
    + {{ content_for_layout }} + + +
    + + + diff --git a/pos-module-oauth-facebook/modules/core/public/views/pages/_events/index.liquid b/pos-module-oauth-facebook/modules/core/public/views/pages/_events/index.liquid new file mode 100644 index 0000000..e5c90c8 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/pages/_events/index.liquid @@ -0,0 +1,11 @@ +--- +layout: modules/core/basic +slug: _events +--- +{% liquid + if context.environment == 'staging' or context.environment == 'development' + function events = 'modules/core/queries/events/search', limit: 50, page: null, uuids: null + + render 'modules/core/events/list', events: events + endif +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-oauth-facebook/modules/core/public/views/pages/_events/trigger.liquid new file mode 100644 index 0000000..85099b8 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/pages/_events/trigger.liquid @@ -0,0 +1,20 @@ +--- +layout: modules/core/basic +slug: _events/:uuid/trigger +--- +{% liquid + if context.environment == 'staging' or context.environment == 'development' + function event = 'modules/core/queries/events/find', uuid: context.params.uuid + + if context.params.trigger + function event = 'modules/core/commands/events/broadcast', object: event, deprecated_delay: null, deprecated_max_attempts: null + echo 'BROADCASTED' + else + assign name = 'consumers/' | append: event.type | append: '/' + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" + assign event.consumers = consumers + endif + + render 'modules/core/events/show', event: event + endif +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/.gitkeep b/pos-module-oauth-facebook/modules/core/public/views/partials/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/events/event_card.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/events/event_card.liquid new file mode 100644 index 0000000..fcee8e2 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/events/event_card.liquid @@ -0,0 +1,56 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %} +{% liquid + assign event_slim = event | deep_clone + assign _ = event_slim | hash_delete_key: 'object' + assign _ = event_slim | hash_delete_key: 'actor' + assign _ = event_slim | hash_delete_key: 'target' + assign _ = event_slim | hash_delete_key: 'id' + assign _ = event_slim | hash_delete_key: 'uuid' + assign _ = event_slim | hash_delete_key: 'date' + assign _ = event_slim | hash_delete_key: 'valid' + assign _ = event_slim | hash_delete_key: 'errors' + assign _ = event_slim | hash_delete_key: 'attributed_to' + assign _ = event_slim | hash_delete_key: 'type' + assign consumers = event_slim | hash_delete_key: 'consumers' +%} +
    +
    + Event: {{ event.type }} {{ event.object.name | replace: "app.statuses.", "" }} +
    +
    + Date: {{ event.date | l }} +
    +
    + Attributes:
    + + + +
    
    +    
    + + +
    +
    UUID: {{ event.uuid }}
    + {% if consumers %} +
    + Consumers: +
      + {% for consumer in consumers %} +
    • {{ consumer.path }}
    • + {% endfor %} +
    +
    + {% endif %} + + show | + broadcast | + + +
    diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/events/list.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/events/list.liquid new file mode 100644 index 0000000..d6c0c4a --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/events/list.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} events - The events collection +{% enddoc %} +
    +

    Events

    + {{ events.results.size }} / {{ events.total_entries }} + {% for event in events.results %} + {% render 'modules/core/events/event_card', event: event.payload %} +
    + {% else %} +

    no events found

    + {% endfor %} +
    diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/events/show.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/events/show.liquid new file mode 100644 index 0000000..665a505 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/events/show.liquid @@ -0,0 +1,6 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %} +

    Event

    +<< List +{% render 'modules/core/events/event_card', event: event %} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/.keep b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send.liquid new file mode 100644 index 0000000..f03248b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -0,0 +1,22 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + log 'Use modules/core/commands/email/send instead of modules/core/lib/commands/email/send', type: 'DEPRECATION' + function object = 'modules/core/commands/email/send/build', object: object + function object = 'modules/core/commands/email/send/check', object: object + + if object.valid + graphql r = 'modules/core/email/send', template: 'modules/core/generic', data: object + if r.errors + log r.errors, type: 'errors.graphql.invalid' + + assign object.valid = false + assign object.errors = r.errors + endif + else + log object.errors, type: 'payload validation error in core: lib/commands/email' + endif + + return object +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send/build.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send/build.liquid new file mode 100644 index 0000000..5e57d28 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send/build.liquid @@ -0,0 +1,13 @@ +{% parse_json object %} + { + "layout": {{ object.layout | default: 'modules/core/mailer' | json }}, + "from": {{ object.from | json }}, + "to": {{ object.to | json }}, + "subject": {{ object.subject | json }}, + "cc": {{ object.cc | json }}, + "bcc": {{ object.bcc | json }}, + "partial": {{ object.partial | json }}, + "data": {{ object.data | json }} + } +{% endparse_json %} +{% return object %} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send/check.liquid new file mode 100644 index 0000000..50c8aec --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/hook/alter.liquid new file mode 100644 index 0000000..43fbfa5 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -0,0 +1,19 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} +{% liquid + log 'Use modules/core/commands/hook/alter instead of modules/core/lib/commands/hook/alter', type: 'DEPRECATION' + assign original_params = params_to_modify | deep_clone + + assign hook = '/hook_' | append: hook | append: '_alter' + function implementations = 'modules/core/lib/queries/hook/search', hook: hook + + for implementation in implementations + function _ = implementation.path, params_to_modify: params_to_modify, params: params + endfor + + assign result = { "original_params": original_params } + return result +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/hook/fire.liquid new file mode 100644 index 0000000..48cd149 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + if merge_to_object + assign results = {} + else + assign results = [] + endif + + assign hook = '/hook_' | append: hook + function implementations = 'modules/core/lib/queries/hook/search', hook: hook + + for implementation in implementations + function hook_result = implementation.path, params: params + if hook_result != nil + comment + Check if the result is an array and merge the values one by one. + endcomment + if hook_result[0] + for h_result in hook_result + assign results << h_result + endfor + comment + Check if the result is an object. + endcomment + elsif hook_result.first and merge_to_object + assign results = results | hash_merge: hook_result + else + assign results << hook_result + endif + endif + endfor + + return results +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/variable/set.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/variable/set.liquid new file mode 100644 index 0000000..dc2577b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/commands/variable/set.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/commands/variable/set instead of modules/core/lib/commands/variable/set', type: 'DEPRECATION' + graphql result = 'modules/core/variable/set', name: name, value: value + return result.variable +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/helpers/register_error.liquid new file mode 100644 index 0000000..f016b3e --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + assign key = key | default: null + assign message = message | default: null + if key + assign msg = key | t + else + assign msg = message + endif + + assign errors = contract.errors + + assign default = [] + assign field_errors = errors[field_name] | default: default + assign field_errors << msg + + assign errors[field_name] = field_errors + assign contract.valid = false + + return contract +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/hooks/.keep b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/hooks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/.keep b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/headscripts/get.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/headscripts/get.liquid new file mode 100644 index 0000000..37efd30 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/headscripts/get.liquid @@ -0,0 +1,6 @@ +{% liquid + # TODO: remove after rewriting dependent modules + log 'Use queries/headscripts/get instead of lib/queries/headscripts/get', type: 'DEPRECATION' + function res = 'modules/core/lib/queries/headscripts/search', merge_to_object: false + return res +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/headscripts/search.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/headscripts/search.liquid new file mode 100644 index 0000000..72607a4 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/headscripts/search.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + log 'Use queries/headscripts/search instead of lib/queries/headscripts/search', type: 'DEPRECATION' + function headscript_implementations = 'modules/core/lib/commands/hook/fire', hook: 'headscripts', merge_to_object: merge_to_object, params: null + assign results = headscript_implementations | join: '' + return results | html_safe +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/hook/search.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/hook/search.liquid new file mode 100644 index 0000000..f97ad06 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/hook/search.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} +{% liquid + log 'Use modules/core/queries/hook/search instead of modules/core/lib/queries/hook/search', type: 'DEPRECATION' + graphql implementations = 'modules/core/hook/search', hook: hook + return implementations.admin_liquid_partials.results +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/module/exists.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/module/exists.liquid new file mode 100644 index 0000000..9801f78 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/module/exists.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function modules = 'modules/core/lib/queries/registry/search', type: type + assign module = modules | array_detect: machine_name: name + + if module + return true + endif + + return false +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/registry/get.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/registry/get.liquid new file mode 100644 index 0000000..adbdeda --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/registry/get.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function registry = 'modules/core/lib/queries/registry/search', type: type + return registry +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/registry/search.liquid new file mode 100644 index 0000000..ae8f96c --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function registry = 'modules/core/lib/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null + + case type + when 'module' + assign modules = [] + for module in registry + if module.type == 'module' + assign modules << module + endif + endfor + return modules + when 'theme' + assign themes = [] + for module in registry + if module.type == 'theme' + assign themes << module + endif + endfor + return themes + endcase + return registry +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/variable/find.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/variable/find.liquid new file mode 100644 index 0000000..c2ec54c --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/variable/find.liquid @@ -0,0 +1,28 @@ +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} +{% liquid + assign value = context.constants[name] | default: default, allow_false: true + + case type + when 'boolean' + if value == 'true' or value == true + return true + else + return false + endif + when 'integer' + assign value = value | plus: 0 + return value + when 'float' + assign value = value | plus: 0 + return value + when 'array' + assign value = value | split: ',' + return value + else + return value + endcase +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/variable/get.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/variable/get.liquid new file mode 100644 index 0000000..f6ba482 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/queries/variable/get.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/lib/queries/variable/find', name: name, default: default, type: type + return res +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/date.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/date.liquid new file mode 100644 index 0000000..e4d6a7b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/date.liquid @@ -0,0 +1,79 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} +{% liquid + log 'Use modules/core/validations/date instead of modules/core/lib/validations/date ', type: 'DEPRECATION' + assign date = date | default: object[field_name] | to_date + + assign is_past = date | is_date_in_past + assign now = 'now' | to_date + + if date > now + assign is_future = true + else + assign is_future = false + endif + + if can_be_past == false and is_past + assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if can_be_future == false and is_future + assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lt != null + assign lt = lt | to_date + if date >= lt + assign localized_date = lt | l + assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if lte != null + assign lte = lte | to_date + if date > lte + assign localized_date = lte | l + assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gt != null + assign gt = gt | to_date + if date <= gt + assign localized_date = gt | l + assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gte != null + assign gte = gte | to_date + if date < gte + assign localized_date = gte | l + assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/each_element_length.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/each_element_length.liquid new file mode 100644 index 0000000..2c7f107 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/each_element_length.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/each_element_length instead of modules/core/lib/validations/each_element_length ', type: 'DEPRECATION' + for el in object[field_name] + + assign size = el.size + + if minimum != null and size < minimum + assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size + assign message = el | append: ' ' | append: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + endfor + + return c + +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/elements_included.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/elements_included.liquid new file mode 100644 index 0000000..bd8035b --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/elements_included.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/elements_included instead of modules/core/lib/validations/elements_included ', type: 'DEPRECATION' + for val in object[field_name] + unless array contains val + assign key = key | default: "modules/core/validation.array.not_included" + assign message = key | t: value: val + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endunless + endfor + + return c +%} + diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/email.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/email.liquid new file mode 100644 index 0000000..6699b19 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/email.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/email instead of modules/core/lib/validations/email ', type: 'DEPRECATION' + assign valid_email = object[field_name] | is_email_valid + unless valid_email + assign key = key | default: "modules/core/validation.email" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/equal.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/equal.liquid new file mode 100644 index 0000000..97284b8 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/equal.liquid @@ -0,0 +1,24 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} +{% liquid + log 'Use modules/core/validations/equal instead of modules/core/lib/validations/equal ', type: 'DEPRECATION' + if given != expected + + if message == blank and key == blank + if not_verbose + assign message = 'modules/core/validation.equal_not_verbose' | t + else + assign message = 'modules/core/validation.equal' | t: given: given, expected: expected + endif + endif + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: key + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/exist_in_db.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/exist_in_db.liquid new file mode 100644 index 0000000..c86b2fc --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/exist_in_db.liquid @@ -0,0 +1,32 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} +{% liquid + log 'Use modules/core/validations/exist_in_db instead of modules/core/lib/validations/exist_in_db ', type: 'DEPRECATION' + assign property_name = property_name | default: '' + assign property_value = property_value | default: '' + assign scope_name = scope_name | default: '' + assign scope_value = scope_value | default: '' + assign exclude_name = exclude_name | default: '' + assign exclude_value = exclude_value | default: '' + assign key = key | default: 'modules/core/validation.not_exist' + + graphql r = 'modules/core/records/count', ids: ids, not_ids: not_ids, property_name: property_name, property_value: property_value, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count == 0 + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/hcaptcha.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/hcaptcha.liquid new file mode 100644 index 0000000..7693b5a --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/hcaptcha.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/hcaptcha instead of modules/core/lib/validations/hcaptcha ', type: 'DEPRECATION' + assign hcaptcha_solved = hcaptcha_params | hcaptcha + unless hcaptcha_solved + assign key = key | default: "modules/core/validation.hcaptcha" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/included.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/included.liquid new file mode 100644 index 0000000..85b4d16 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/included.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/included instead of modules/core/lib/validations/included ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + unless array contains value + assign key = key | default: "modules/core/validation.not_included" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} + diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/length.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/length.liquid new file mode 100644 index 0000000..403a064 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/length.liquid @@ -0,0 +1,49 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_blank - Custom error message for blank validation + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/length instead of modules/core/lib/validations/length ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + assign size = value.size + assign is = is | default: null + assign minimum = minimum | default: null + assign maximum = maximum | default: null + + if allow_blank == null + assign allow_blank = true + endif + if allow_blank != true + if size == blank + assign message = message_blank | default: 'modules/core/validation.length.blank' | t + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if minimum != null and size < minimum + assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/matches.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/matches.liquid new file mode 100644 index 0000000..fb47b05 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/matches.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + log 'Use modules/core/validations/matches instead of modules/core/lib/validations/matches ', type: 'DEPRECATION' + if allow_blank and object[field_name] == blank + return c + endif + + assign matches = object[field_name] | matches: regexp + if matches != true + assign message = message | default: 'modules/core/validation.matches' | t + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/not_null.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/not_null.liquid new file mode 100644 index 0000000..23d6bd0 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/not_null.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/not_null instead of modules/core/lib/validations/not_null ', type: 'DEPRECATION' + if object[field_name] == null + assign key = key | default: "modules/core/validation.null" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/number.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/number.liquid new file mode 100644 index 0000000..6a11fe0 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/number.liquid @@ -0,0 +1,70 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} +{% liquid + assign number = number | default: object[field_name] + log 'Use modules/core/validations/number instead of modules/core/lib/validations/number ', type: 'DEPRECATION' +%} +{% capture test1 %}{{ number }}{% endcapture %} +{% capture test2 %}{{ test1 | plus: 0 }}{% endcapture %} +{% liquid + if test1 != test2 + assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + + return c + endif + + assign number = number | plus: 0 + + if lt != null and number >= lt + assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lte == blank + assign lte = 2147483647 + endif + if number > lte + assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gt != null and number <= gt + assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gte != null and number < gte + assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if eq != null and number != eq + assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if ne != null and number == ne + assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/password_complexity.liquid new file mode 100644 index 0000000..04bb51c --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -0,0 +1,31 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process +{% enddoc %} +{% liquid + log 'Use modules/core/validations/password_complexity instead of modules/core/lib/validations/password_complexity ', type: 'DEPRECATION' + assign decoded_pw = object.password + + function complex_password = 'modules/core/lib/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null + if complex_password + assign has_lowercase = decoded_pw | matches: '[a-z]' + unless has_lowercase + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.lowercase', message: null + endunless + + assign has_uppercase = decoded_pw | matches: '[A-Z]' + unless has_uppercase + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.uppercase', message: null + endunless + + assign has_number = decoded_pw | matches: '\d' + unless has_number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.number', message: null + endunless + endif + + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null, is: null, message_blank: null, message_is: null, message_maximum: null + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/presence.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/presence.liquid new file mode 100644 index 0000000..06862bd --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/presence.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/presence instead of modules/core/lib/validations/presence ', type: 'DEPRECATION' + if object[field_name] == blank + assign key = key | default: "modules/core/validation.blank" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/truthy.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/truthy.liquid new file mode 100644 index 0000000..9b2a93e --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/truthy.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/truthy instead of modules/core/lib/validations/truthy ', type: 'DEPRECATION' + unless object[field_name] + assign key = key | default: "modules/core/validation.not_truthy" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/unique_elements.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/unique_elements.liquid new file mode 100644 index 0000000..f052483 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/unique_elements.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/unique_elements instead of modules/core/lib/validations/unique_elements ', type: 'DEPRECATION' + assign unique_count = object[field_name] | uniq | size + + if unique_count != object[field_name].size + assign key = key | default: 'modules/core/validation.array.not_unique' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/uniqueness.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/uniqueness.liquid new file mode 100644 index 0000000..66d62c7 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/uniqueness.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} +{% liquid + log 'Use modules/core/validations/uniqueness instead of modules/core/lib/validations/uniqueness ', type: 'DEPRECATION' + assign key = key | default: 'modules/core/validation.taken' + assign value = object[field_name] + if value != blank + if object.id != blank + assign not_ids = object.id | split: ',' + endif + if scope_name + assign scope_value = object[scope_name] + else + assign scope_name = '' + endif + + if exclude_name + assign exclude_value = object[exclude_name] + else + assign exclude_name = '' + endif + + graphql r = 'modules/core/records/count', property_name: field_name, property_value: value, not_ids: not_ids, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count > 0 + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + endif + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/valid_object.liquid new file mode 100644 index 0000000..690addf --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/valid_object instead of modules/core/lib/validations/valid_object ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + if value + function check_object = check_function, object: value + if check_object.valid != true + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null + assign errors_key = field_name | append: '_errors' + assign c.errors[errors_key] = check_object.errors + endif + endif + + return c +%} diff --git a/pos-module-oauth-facebook/modules/core/template-values.json b/pos-module-oauth-facebook/modules/core/template-values.json new file mode 100644 index 0000000..d386e90 --- /dev/null +++ b/pos-module-oauth-facebook/modules/core/template-values.json @@ -0,0 +1,7 @@ +{ + "name": "Pos Module Core", + "machine_name": "core", + "type": "module", + "version": "2.1.5", + "dependencies": {} +} diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/build.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/build.liquid index ffe94d3..c762a1b 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/build.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} object - The object containing token request data + @param {string} location - The redirect URI location +{% enddoc %} {% parse_json object %} { "grant_type": "authorization_code", diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid index e354770..e19496b 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_token/check.liquid @@ -1,11 +1,14 @@ +{% doc %} + @param {object} object - The object to validate +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'redirect_uri' +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'redirect_uri', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid index 7f08c2e..dfda33e 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/commands/get_user_info/check.liquid @@ -1,8 +1,11 @@ +{% doc %} + @param {object} object - The object to validate +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_redirect_url.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_redirect_url.liquid index 19f4ef0..d0b949d 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_redirect_url.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_redirect_url.liquid @@ -1,4 +1,8 @@ -{% liquid +{% doc %} + @param {object} provider - The OAuth provider configuration + @param {string} state - The OAuth state parameter +{% enddoc %} +{% liquid assign data = { "scope": "email,public_profile", "client_id": provider.client_id, "state": state } assign location = "https://" | append: context.location.host | append: '/oauth/facebook/callback' log location, type: "LOCATION" diff --git a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid index 2b5cf6f..929a2c0 100644 --- a/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid +++ b/pos-module-oauth-facebook/modules/oauth_facebook/public/lib/helpers/get_user_info.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} provider - The OAuth provider configuration +{% enddoc %} {% liquid # fetch token and get user data assign get_token_request = { "client_id": provider.client_id, "client_secret": provider.secret_value, "code": context.params.code } diff --git a/pos-module-oauth-google/modules/core/generators/command/index.js b/pos-module-oauth-google/modules/core/generators/command/index.js new file mode 100644 index 0000000..29fb67e --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/command/index.js @@ -0,0 +1,46 @@ +import Generator from 'yeoman-generator'; +import path from 'path'; +import pluralize from 'pluralize'; +import fs from 'fs'; + +export default class extends Generator { + constructor(args, opts) { + super(args, opts); + + this.description = 'Generate basic command files with build and check phase'; + this.argument('commandName', { type: String, required: true, description: 'name of the command' }); + this.props = { + commandName: this.options.commandName, + actionName: this.options.commandName.split('/').pop(), + modelName: this.options.commandName.split('/')[0] + }; + } + + writing() { + try{ + this.fs.copyTpl( + this.templatePath('./lib/commands/create.liquid'), + this.destinationPath(`app/lib/commands/${this.props.commandName}.liquid`), + this.props + ) + + this.fs.copyTpl( + this.templatePath('./lib/commands/create/'), + this.destinationPath(`app/lib/commands/${this.props.commandName}/`), + this.props + ) + + this.fs.copyTpl( + this.templatePath('./graphql/create.graphql'), + this.destinationPath(`app/graphql/${this.props.commandName}.graphql`), + this.props + ) + } catch (e) { + console.error(e); + } + } + + end() { + console.log('Command generated'); + } +}; diff --git a/pos-module-oauth-google/modules/core/generators/command/templates/graphql/create.graphql b/pos-module-oauth-google/modules/core/generators/command/templates/graphql/create.graphql new file mode 100644 index 0000000..0ffb1e5 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/command/templates/graphql/create.graphql @@ -0,0 +1,20 @@ +mutation <%= actionName %>( + # some arguments + # $foo: String! +) { + record: record_create( + record: { + table: "<%= modelName %>" + properties: [ + # { name: "foo" property: $foo } + ] + } + ){ + id + created_at + deleted_at + type: table + + # foo: (name: "foo") + } +} diff --git a/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create.liquid b/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create.liquid new file mode 100644 index 0000000..6d7102e --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= commandName %>/build', object: object + function object = 'commands/<%= commandName %>/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= commandName %>' object: object + endif + + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create/build.liquid b/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create/build.liquid new file mode 100644 index 0000000..1fc2591 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create/build.liquid @@ -0,0 +1,4 @@ +{% liquid + assign data = {"id": object.id, "name": object.name} + return data +%} diff --git a/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create/check.liquid b/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create/check.liquid new file mode 100644 index 0000000..2c53a6c --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/command/templates/lib/commands/create/check.liquid @@ -0,0 +1,12 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name' + + assign object.valid = c.valid + + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/index.js b/pos-module-oauth-google/modules/core/generators/crud/index.js new file mode 100644 index 0000000..dd839bc --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/index.js @@ -0,0 +1,116 @@ +import Generator from 'yeoman-generator'; +import pluralize from 'pluralize'; +import startCase from 'lodash.startcase'; + +export default class extends Generator { + constructor(args, opts) { + super(args, opts); + + this.description = 'Generate table definition and commands for CRUD with graphql files'; + this.argument('modelName', { type: String, required: true, description: 'name of the table' }); + this.argument('attributes', { type: Array, required: false, description: 'table column names with types', default: "[]" }); + this.option('include-views', { type: Boolean, default: false, description: 'generate pages and partials', hide: 'no' }); + + const attributes = this.options.attributes.map((attr) => { + const values = attr.split(':'); + return { + name: values[0], + nameHuman: startCase(values[0]), + type: values[1] + }; + }); + this.props = { + modelName: this.options.modelName, + modelNamePlural: pluralize(this.options.modelName), + attributes: attributes, + graphqlArgumentMap: { + string: "String", + text: "String", + integer: "Int", + boolean: "Boolean", + float: "Float", + date: "String", + datetime: "String", + array: "[String]" + }, + graphqlArgumentValueMap: { + string: "value", + text: "value", + integer: "value_int", + boolean: "value_boolean", + float: "value_float", + date: "value", + datetime: "value", + array: "value_array" + }, + graphqlPropertyMap: { + string: "property", + text: "property", + integer: "property_int", + boolean: "property_boolean", + float: "property_float", + date: "property", + datetime: "property", + array: "property_array" + } + }; + } + + writing() { + try{ + this.fs.copyTpl( + this.templatePath('./translations/model.yml'), + this.destinationPath(`app/translations/en/${this.props.modelNamePlural}.yml`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./schema/model.yml'), + this.destinationPath(`app/schema/${this.props.modelName}.yml`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./graphql/*.graphql'), + this.destinationPath(`app/graphql/${this.props.modelNamePlural}/`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./lib/queries/model'), + this.destinationPath(`app/lib/queries/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./lib/commands/model'), + this.destinationPath(`app/lib/commands/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./config.yml'), + this.destinationPath(`app/config.yml`), + this.props + ) + if(this.options['include-views']){ + this.fs.copyTpl( + this.templatePath('./views/pages/model'), + this.destinationPath(`app/views/pages/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./views/partials/theme/simple/model'), + this.destinationPath(`app/views/partials/theme/simple/${this.props.modelNamePlural}`), + this.props + ) + this.fs.copyTpl( + this.templatePath('./views/partials/theme/simple/field_error.liquid'), + this.destinationPath(`app/views/partials/theme/simple/field_error.liquid`), + this.props + ) + } + } catch (e) { + console.error(e); + } + } + + end() { + console.log('CRUD generated'); + } +}; diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/config.yml b/pos-module-oauth-google/modules/core/generators/crud/templates/config.yml new file mode 100644 index 0000000..45cd4ce --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/config.yml @@ -0,0 +1,16 @@ +--- +escape_output_instead_of_sanitize: true +graphql_argument_type_mismatch_mode: 'error' +liquid_add_old_variables: false +liquid_check_mode: 'error' +liquid_raise_mode: true +require_table_for_record_delete_mutation: true +safe_translate: true +skip_elasticsearch: false +slug_exact_match: true +websockets_require_csrf_token: true +maintenance: + enabled: false + password_constant: 'MAINTENANCE_PASSWORD' + partial: 'maintenance' +--- diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/create.graphql b/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/create.graphql new file mode 100644 index 0000000..67905af --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/create.graphql @@ -0,0 +1,25 @@ +mutation create_<%= modelName %>( +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: <%= graphqlArgumentMap[attr.type] %>! +<% }); -%> +) { + record: record_create( + record: { + table: "<%= modelName %>" + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" <%= graphqlArgumentValueMap[attr.type] %>: $<%= attr.name %> } + <% }); -%> + ] + } + ){ + id + created_at + deleted_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } +} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/delete.graphql b/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/delete.graphql new file mode 100644 index 0000000..c77948f --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/delete.graphql @@ -0,0 +1,6 @@ +mutation delete($id: ID!) { + record: record_delete( + table: "<%= modelName %>" + id: $id + ){ id } +} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/search.graphql b/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/search.graphql new file mode 100644 index 0000000..a22b2fd --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/search.graphql @@ -0,0 +1,39 @@ +query search( + $id: ID + $limit: Int = 20 + $page: Int = 1 +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: String +<% }); -%> +) { + <%= modelNamePlural %>: records( + per_page: $limit + page: $page + filter: { + id: { value: $id } + table: { value: "<%= modelName %>" } + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" value: $<%= attr.name %> } + <% }); -%> + ] + } + sort: [ + { created_at: { order: DESC }} + ] + ){ + total_entries + total_pages + has_previous_page + has_next_page + results { + id + created_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } + } +} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/update.graphql b/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/update.graphql new file mode 100644 index 0000000..73e4556 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/graphql/update.graphql @@ -0,0 +1,27 @@ +mutation update_<%= modelName %>( + $id: ID! +<% attributes.forEach((attr) => { -%> + $<%= attr.name %>: <%= graphqlArgumentMap[attr.type] %> +<% }); -%> +) { + record: record_update( + id: $id + record: { + table: "<%= modelName %>" + properties: [ + <% attributes.forEach((attr) => { -%> + { name: "<%= attr.name %>" <%= graphqlArgumentValueMap[attr.type] %>: $<%= attr.name %> } + <% }); -%> + ] + } + ){ + id + created_at + updated_at + type: table + + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= graphqlPropertyMap[attr.type] %>(name: "<%= attr.name %>") + <% }); -%> + } +} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create.liquid new file mode 100644 index 0000000..26b0a03 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/create/build', object: object + function object = 'commands/<%= modelNamePlural %>/create/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/create' object: object + endif + + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid new file mode 100644 index 0000000..94a17bf --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create/build.liquid @@ -0,0 +1,16 @@ +{% parse_json object %} + { + "id": {{ object.id | json }}, +<% attributes.forEach((attr, i) => { -%> + <% if (attr.type == 'integer' || attr.type == 'float') { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | plus: 0 | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <%} else { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <% } %> +<% }); -%> + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid new file mode 100644 index 0000000..caf4d8d --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/create/check.liquid @@ -0,0 +1,12 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + +<% attributes.forEach((attr, i) => { -%> + function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' +<% }); -%> + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/delete.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/delete.liquid new file mode 100644 index 0000000..1ce0a60 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/delete.liquid @@ -0,0 +1,9 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/delete/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/delete', object: object + endif + + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid new file mode 100644 index 0000000..4fada40 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/delete/check.liquid @@ -0,0 +1,10 @@ +{% liquid + assign c = { "valid": true, "errors": {} } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update.liquid new file mode 100644 index 0000000..29a229c --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update.liquid @@ -0,0 +1,10 @@ +{% liquid + function object = 'commands/<%= modelNamePlural %>/update/build', object: object + function object = 'commands/<%= modelNamePlural %>/update/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: '<%= modelNamePlural %>/update' object: object + endif + + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid new file mode 100644 index 0000000..94a17bf --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update/build.liquid @@ -0,0 +1,16 @@ +{% parse_json object %} + { + "id": {{ object.id | json }}, +<% attributes.forEach((attr, i) => { -%> + <% if (attr.type == 'integer' || attr.type == 'float') { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | plus: 0 | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <%} else { %> + "<%= attr.name %>": {{ object.<%= attr.name %> | json }}<% if (i+1 < attributes.length){ %>,<% } %> + <% } %> +<% }); -%> + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid new file mode 100644 index 0000000..cffe564 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/commands/model/update/check.liquid @@ -0,0 +1,13 @@ +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id' +<% attributes.forEach((attr, i) => { -%> + function c = 'modules/core/validations/presence', c: c, object: object, field_name: '<%= attr.name %>' +<% }); -%> + + assign object.valid = c.valid + assign object.errors = c.errors + + return object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/queries/model/find.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/queries/model/find.liquid new file mode 100644 index 0000000..7f84e12 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/queries/model/find.liquid @@ -0,0 +1,9 @@ +{% liquid + if id == blank + return null + endif + + graphql r = '<%= modelNamePlural %>/search', id: id, limit: 1 + + return r.<%= modelNamePlural %>.results.first +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/lib/queries/model/search.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/queries/model/search.liquid new file mode 100644 index 0000000..369ec37 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/lib/queries/model/search.liquid @@ -0,0 +1,4 @@ +{% liquid + graphql r = '<%= modelNamePlural %>/search', limit: limit, page: 1 + return r.<%= modelNamePlural %> +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/schema/model.yml b/pos-module-oauth-google/modules/core/generators/crud/templates/schema/model.yml new file mode 100644 index 0000000..380c67b --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/schema/model.yml @@ -0,0 +1,6 @@ +name: <%= modelName %> +properties: +<% attributes.forEach((attr) => { -%> + - name: <%= attr.name %> + type: <%= attr.type %> +<% }); -%> diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/translations/model.yml b/pos-module-oauth-google/modules/core/generators/crud/templates/translations/model.yml new file mode 100644 index 0000000..879b076 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/translations/model.yml @@ -0,0 +1,15 @@ +en: + app: + <%= modelNamePlural %>: + new: + new: New <%= modelName %> + edit: + edit: Edit <%= modelName %> + list: + add: Add <%= modelName %> + empty_state: You haven't added any <%= modelNamePlural %> yet.
    Create your first one now! + edit: Edit + attr: + <% attributes.forEach((attr) => { -%> + <%= attr.name %>: <%= attr.nameHuman %> + <% }); -%> diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/create.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/create.liquid new file mode 100644 index 0000000..cf27c95 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/create.liquid @@ -0,0 +1,14 @@ +--- +slug: <%= modelNamePlural %> +method: post +--- +{% liquid + function object = 'commands/<%= modelNamePlural %>/create', object: context.params.<%= modelName %> + if object.valid + # platformos-check-disable ConvertIncludeToRender + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>' + # platformos-check-enable ConvertIncludeToRender + else + render 'theme/simple/<%= modelNamePlural %>/new', object: object + endif +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/delete.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/delete.liquid new file mode 100644 index 0000000..bb26a02 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/delete.liquid @@ -0,0 +1,16 @@ +--- +slug: <%= modelNamePlural %> +method: delete +--- +{% liquid + function object = 'queries/<%= modelNamePlural %>/find', id: context.params.id + function object = 'commands/<%= modelNamePlural %>/delete', object: object + + # platformos-check-disable ConvertIncludeToRender + if object.valid + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>', notice: 'modules/core/common.deleted' + else + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>', error: 'modules/core/common.delete_failed' + endif + # platformos-check-enable ConvertIncludeToRender +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/edit.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/edit.liquid new file mode 100644 index 0000000..b098d38 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/edit.liquid @@ -0,0 +1,5 @@ +{% liquid + function object = 'queries/<%= modelNamePlural %>/find', id: context.params.id + + render 'theme/simple/<%= modelNamePlural %>/edit', object: object +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/index.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/index.liquid new file mode 100644 index 0000000..75290a7 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/index.liquid @@ -0,0 +1,5 @@ +{% liquid + function <%= modelNamePlural %> = 'queries/<%= modelNamePlural %>/search', limit: 100 + + render 'theme/simple/<%= modelNamePlural %>/index', <%= modelNamePlural %>: <%= modelNamePlural %> +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/new.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/new.liquid new file mode 100644 index 0000000..43c1b24 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/new.liquid @@ -0,0 +1,4 @@ +{% liquid + assign object = {} + render 'theme/simple/<%= modelNamePlural %>/new', object: object + %} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/show.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/show.liquid new file mode 100644 index 0000000..c9672cc --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/show.liquid @@ -0,0 +1,13 @@ +--- +slug: <%= modelNamePlural %>/:id +--- +{% liquid + + assign <%= modelName %>_id = context.params.id | split: '-' | last + function <%= modelName %> = 'queries/<%= modelNamePlural %>/find', id: <%= modelName %>_id + if <%= modelName %>.id + render 'theme/simple/<%= modelNamePlural %>/show', <%= modelName %>: <%= modelName %> + else + response_status 404 + endif +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/update.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/update.liquid new file mode 100644 index 0000000..06644bd --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/pages/model/update.liquid @@ -0,0 +1,14 @@ +--- +slug: <%= modelNamePlural %> +method: put +--- +{% liquid + function object = 'commands/<%= modelNamePlural %>/update', object: context.params.<%= modelName %> + if object.valid + # platformos-check-disable ConvertIncludeToRender + include 'modules/core/helpers/redirect_to', url: '/<%= modelNamePlural %>' + # platformos-check-enable ConvertIncludeToRender + else + render 'theme/simple/<%= modelNamePlural %>/edit', object: object + endif +%} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid new file mode 100644 index 0000000..16d306b --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/field_error.liquid @@ -0,0 +1,5 @@ +{% if errors %} + + {{ errors | join: ', ' }} + +{% endif %} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid new file mode 100644 index 0000000..6bd91f2 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/edit.liquid @@ -0,0 +1,5 @@ +
    +

    {{ 'app.<%= modelNamePlural %>.edit.edit' | t }} {{ object.name }}

    +
    + +{% render 'theme/simple/<%= modelNamePlural %>/form', object: object %} diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid new file mode 100644 index 0000000..5abe317 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/empty_state.liquid @@ -0,0 +1,9 @@ +
    +

    + {{ 'app.<%= modelNamePlural %>.list.empty_state' | t }} +

    + + + {{ 'app.<%= modelNamePlural %>.list.add' | t }} + +
    diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid new file mode 100644 index 0000000..e12d1ee --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/form.liquid @@ -0,0 +1,27 @@ +{% liquid + if object.id + assign method = 'put' + else + assign method = 'post' + endif +%} +
    +
    + + + + {% if object.id %} + + {% endif %} + +<% attributes.forEach((attr) => { -%> +
    + + + {% render 'theme/simple/field_error', errors: object.errors.<%= attr.name %> %} +
    +<% }); -%> + + +
    +
    diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid new file mode 100644 index 0000000..352f7a0 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/index.liquid @@ -0,0 +1,49 @@ +
    + +
    + {% if <%= modelNamePlural %>.results.size > 0 %} + + + +<% attributes.forEach((attr) => { -%> + +<% }); -%> + + + + {% for <%= modelName %> in <%= modelNamePlural %>.results %} + +<% attributes.forEach((attr) => { -%> + +<% }); -%> + + + {% endfor %} + +
    + {{ "app.<%= modelNamePlural %>.attr.<%= attr.name %>" | t }} +
    + + {{ <%= modelName %>.<%= attr.name %> }} + + + + {{ 'app.<%= modelNamePlural %>.list.edit' | t }} + +
    + + + + + +
    +
    + {% else %} + {% render 'theme/simple/<%= modelNamePlural %>/empty_state' %} + {% endif %} +
    +
    diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid new file mode 100644 index 0000000..e15a8d4 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/new.liquid @@ -0,0 +1,4 @@ +
    +

    {{ 'app.<%= modelNamePlural %>.new.new' | t }}

    + {% render 'theme/simple/<%= modelNamePlural %>/form', object: object %} +
    diff --git a/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid new file mode 100644 index 0000000..483dd89 --- /dev/null +++ b/pos-module-oauth-google/modules/core/generators/crud/templates/views/partials/theme/simple/model/show.liquid @@ -0,0 +1,15 @@ +
    +

    + <%= modelName %> - {{ <%= modelName %>.id }} +

    + + <% attributes.forEach((attr) => { -%> + + {{ 'app.<%= modelNamePlural %>.attr.<%= attr.name %>' | t }} + +

    + {{ <%= modelName %>.<%= attr.name %> }} +

    + + <% }); -%> +
    diff --git a/pos-module-oauth-google/modules/core/package-lock.json b/pos-module-oauth-google/modules/core/package-lock.json new file mode 100644 index 0000000..655962c --- /dev/null +++ b/pos-module-oauth-google/modules/core/package-lock.json @@ -0,0 +1,3225 @@ +{ + "name": "pos-module-core", + "version": "1.2.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "pos-module-core", + "version": "1.2.1", + "license": "MIT", + "devDependencies": { + "auto-changelog": "^2.4.0", + "lodash.startcase": "^4.4.0", + "pluralize": "^8.0.0" + }, + "peerDependencies": { + "yeoman-generator": "^7.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "license": "MIT", + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@octokit/auth-token": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==", + "license": "MIT", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "license": "MIT", + "dependencies": { + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.10.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.10.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, + "node_modules/@octokit/request": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^14.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", + "license": "MIT", + "dependencies": { + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "license": "MIT", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "license": "MIT", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "license": "MIT", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", + "license": "MIT" + }, + "node_modules/@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "license": "MIT", + "peer": true, + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "license": "MIT" + }, + "node_modules/@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "license": "MIT", + "dependencies": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "node_modules/@yeoman/namespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.1.tgz", + "integrity": "sha512-XGdYL0HCoPvrzW7T8bxD6RbCY/B8uvR2jpOzJc/yEwTueKHwoVhjSLjVXkokQAO0LNl8nQFLVZ1aKfr2eFWZeA==", + "license": "MIT", + "engines": { + "node": "^16.13.0 || >=18.12.0" + } + }, + "node_modules/@yeoman/types": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.9.1.tgz", + "integrity": "sha512-5BMdA/zMzLv/ahnL1ktaV46nSXorb4sU4kQPQKDhIcK8ERbx9TAbGAE+XAlCXKioNIiOrihYj6gW1d/GEfU9Zw==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^16.13.0 || >=18.12.0" + }, + "peerDependencies": { + "@types/node": ">=16.18.26", + "@yeoman/adapter": "^1.6.0 || ^2.0.0-beta.0 || ^3.0.0 || ^4.0.0", + "mem-fs": "^3.0.0 || ^4.0.0-beta.1", + "mem-fs-editor": "^10.0.2 || >=10.0.2" + }, + "peerDependenciesMeta": { + "@yeoman/adapter": { + "optional": true + }, + "mem-fs": { + "optional": true + }, + "mem-fs-editor": { + "optional": true + } + } + }, + "node_modules/array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/auto-changelog": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz", + "integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==", + "dev": true, + "dependencies": { + "commander": "^7.2.0", + "handlebars": "^4.7.7", + "node-fetch": "^2.6.1", + "parse-github-url": "^1.0.2", + "semver": "^7.3.5" + }, + "bin": { + "auto-changelog": "src/index.js" + }, + "engines": { + "node": ">=8.3" + } + }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" + }, + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } + } + }, + "node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "license": "Apache-2.0" + }, + "node_modules/binaryextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "license": "MIT" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "license": "Artistic-2.0", + "dependencies": { + "version-range": "^4.15.0" + }, + "engines": { + "ecmascript": ">= es5", + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "license": "Apache-2.0", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "license": "Apache-2.0", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "license": "Apache-2.0", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-username": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-9.0.0.tgz", + "integrity": "sha512-lY7+mymwQUEhRwWTLxieKkxcZkVNnUh8iAGnl30DMB1ZtYODHkMAckZk8Jx5dLQs1YKPYM2ibnzQu02aCLFcYQ==", + "license": "MIT", + "dependencies": { + "@octokit/rest": "^21.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "license": "ISC" + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", + "license": "MIT" + }, + "node_modules/isbinaryfile": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.3.tgz", + "integrity": "sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==", + "license": "MIT", + "engines": { + "node": ">= 18.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "license": "Apache-2.0", + "dependencies": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/ky": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", + "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sindresorhus/ky?sponsor=1" + } + }, + "node_modules/latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", + "license": "MIT", + "dependencies": { + "package-json": "^10.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==", + "license": "MIT" + }, + "node_modules/lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/mem-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.3.tgz", + "integrity": "sha512-+2zSUVKcDWgcF90mPPwyH4J814uRI1PJcVt2RZ4/E8VggPEiIEL7ikMTlPR91P2ZySkyPgD0YGrccwo55SZvnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/mem-fs-editor": { + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.1.4.tgz", + "integrity": "sha512-Z4QX14Ev6eOVTuVSayS5rdiOua6C3gHcFw+n9Qc7WiaVTbC+H8b99c32MYGmbQN9UFHJeI/p3lf3LAxiIzwEmA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/ejs": "^3.1.4", + "@types/node": ">=18", + "binaryextensions": "^6.11.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.10", + "globby": "^14.0.2", + "isbinaryfile": "5.0.3", + "minimatch": "^9.0.3", + "multimatch": "^7.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^6.11.0", + "vinyl": "^3.0.0" + }, + "acceptDependencies": { + "isbinaryfile": "^5.0.3" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "mem-fs": "^4.0.0" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multimatch": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-7.0.0.tgz", + "integrity": "sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==", + "license": "MIT", + "dependencies": { + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^9.0.3" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", + "license": "MIT", + "dependencies": { + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "dev": true, + "bin": { + "parse-github-url": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "license": "ISC" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "license": "MIT", + "dependencies": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/registry-auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", + "license": "MIT", + "dependencies": { + "@pnpm/npm-conf": "^3.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "license": "MIT", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "license": "ISC" + }, + "node_modules/replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-git": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", + "license": "MIT", + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.4.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" + } + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/sort-keys": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "license": "CC0-1.0" + }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "license": "MIT", + "dependencies": { + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "license": "MIT", + "dependencies": { + "streamx": "^2.12.5" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "license": "Apache-2.0", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/textextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "license": "Artistic-2.0", + "dependencies": { + "editions": "^6.21.0" + }, + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==", + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "license": "ISC" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==", + "license": "Artistic-2.0", + "engines": { + "node": ">=4" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "license": "MIT", + "dependencies": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/vinyl-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", + "license": "MIT", + "dependencies": { + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/yeoman-generator": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.5.1.tgz", + "integrity": "sha512-MYncRvzSTd71BMwiUMAVhfX00sDD8DZDrmPzRxQkWuWQ0V1Qt4Rd0gS/Nee2QDTWvRjvCa+KBfiAVrtOySq+JA==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@types/lodash-es": "^4.17.9", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", + "debug": "^4.1.1", + "execa": "^8.0.1", + "github-username": "^9.0.0", + "json-schema": "^0.4.0", + "latest-version": "^9.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.1", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", + "text-table": "^0.2.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "peerDependencies": { + "@types/node": ">=18.18.5", + "@yeoman/types": "^1.1.1", + "mem-fs": "^4.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "requires": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==" + }, + "@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "requires": { + "debug": "^4.1.1" + } + }, + "@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==" + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@octokit/auth-token": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.2.tgz", + "integrity": "sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==" + }, + "@octokit/core": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.6.tgz", + "integrity": "sha512-kIU8SLQkYWGp3pVKiYzA5OSaNF5EE03P/R8zEmmrG6XwOg5oBjXyQVVIauQ0dgau4zYhpZEhJrvIYt6oM+zZZA==", + "peer": true, + "requires": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.2.2", + "@octokit/request": "^9.2.3", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + } + }, + "@octokit/endpoint": { + "version": "10.1.4", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.4.tgz", + "integrity": "sha512-OlYOlZIsfEVZm5HCSR8aSg02T2lbUWOsCQoPKfTXJwDzcHQBrVBGdGXb89dv2Kw2ToZaRtudp8O3ZIYoaOjKlA==", + "requires": { + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.2" + } + }, + "@octokit/graphql": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.2.2.tgz", + "integrity": "sha512-Yi8hcoqsrXGdt0yObxbebHXFOiUA+2v3n53epuOg1QUgOB6c4XzvisBNVXJSl8RYA5KrDuSL2yq9Qmqe5N0ryA==", + "requires": { + "@octokit/request": "^9.2.3", + "@octokit/types": "^14.0.0", + "universal-user-agent": "^7.0.0" + } + }, + "@octokit/openapi-types": { + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz", + "integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==" + }, + "@octokit/plugin-paginate-rest": { + "version": "11.6.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.6.0.tgz", + "integrity": "sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==", + "requires": { + "@octokit/types": "^13.10.0" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" + }, + "@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "requires": { + "@octokit/openapi-types": "^24.2.0" + } + } + } + }, + "@octokit/plugin-request-log": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", + "requires": {} + }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.5.0.tgz", + "integrity": "sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==", + "requires": { + "@octokit/types": "^13.10.0" + }, + "dependencies": { + "@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==" + }, + "@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "requires": { + "@octokit/openapi-types": "^24.2.0" + } + } + } + }, + "@octokit/request": { + "version": "9.2.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.4.tgz", + "integrity": "sha512-q8ybdytBmxa6KogWlNa818r0k1wlqzNC+yNkcQDECHvQo8Vmstrg18JwqJHdJdUiHD2sjlwBgSm9kHkOKe2iyA==", + "requires": { + "@octokit/endpoint": "^10.1.4", + "@octokit/request-error": "^6.1.8", + "@octokit/types": "^14.0.0", + "fast-content-type-parse": "^2.0.0", + "universal-user-agent": "^7.0.2" + } + }, + "@octokit/request-error": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.8.tgz", + "integrity": "sha512-WEi/R0Jmq+IJKydWlKDmryPcmdYSVjL3ekaiEL1L9eo1sUnqMJ+grqmC9cjk7CA7+b2/T397tO5d8YLOH3qYpQ==", + "requires": { + "@octokit/types": "^14.0.0" + } + }, + "@octokit/rest": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.1.1.tgz", + "integrity": "sha512-sTQV7va0IUVZcntzy1q3QqPm/r8rWtDCqpRAmb8eXXnKkjoQEtFe3Nt5GTVsHft+R6jJoHeSiVLcgcvhtue/rg==", + "requires": { + "@octokit/core": "^6.1.4", + "@octokit/plugin-paginate-rest": "^11.4.2", + "@octokit/plugin-request-log": "^5.3.1", + "@octokit/plugin-rest-endpoint-methods": "^13.3.0" + } + }, + "@octokit/types": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz", + "integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==", + "requires": { + "@octokit/openapi-types": "^25.1.0" + } + }, + "@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==" + }, + "@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "requires": { + "graceful-fs": "4.2.10" + } + }, + "@pnpm/npm-conf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-3.0.2.tgz", + "integrity": "sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==", + "requires": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + } + }, + "@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==" + }, + "@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==" + }, + "@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==" + }, + "@types/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-RDvF6wTulMPjrNdCoYRC8gNR880JNGT8uB+REUpC2Ns4pRqQJhGz90wh7rgdXDPpCczF3VGktDuFGVnz8zP7HA==" + }, + "@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "requires": { + "@types/lodash": "*" + } + }, + "@types/node": { + "version": "25.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.2.0.tgz", + "integrity": "sha512-DZ8VwRFUNzuqJ5khrvwMXHmvPe+zGayJhr2CDNiKB1WBE1ST8Djl00D0IC4vvNmHMdj6DlbYRIaFE7WHjlDl5w==", + "peer": true, + "requires": { + "undici-types": "~7.16.0" + } + }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==" + }, + "@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", + "requires": { + "@types/expect": "^1.20.4", + "@types/node": "*" + } + }, + "@yeoman/namespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@yeoman/namespace/-/namespace-1.0.1.tgz", + "integrity": "sha512-XGdYL0HCoPvrzW7T8bxD6RbCY/B8uvR2jpOzJc/yEwTueKHwoVhjSLjVXkokQAO0LNl8nQFLVZ1aKfr2eFWZeA==" + }, + "@yeoman/types": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@yeoman/types/-/types-1.9.1.tgz", + "integrity": "sha512-5BMdA/zMzLv/ahnL1ktaV46nSXorb4sU4kQPQKDhIcK8ERbx9TAbGAE+XAlCXKioNIiOrihYj6gW1d/GEfU9Zw==", + "peer": true, + "requires": {} + }, + "array-differ": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-4.0.0.tgz", + "integrity": "sha512-Q6VPTLMsmXZ47ENG3V+wQyZS1ZxXMxFyYzA+Z/GMrJ6yIutAIEf9wTyroTzmGjNfox9/h3GdGBCVh43GVFx4Uw==" + }, + "array-union": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-3.0.1.tgz", + "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==" + }, + "async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + }, + "auto-changelog": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/auto-changelog/-/auto-changelog-2.4.0.tgz", + "integrity": "sha512-vh17hko1c0ItsEcw6m7qPRf3m45u+XK5QyCrrBFViElZ8jnKrPC1roSznrd1fIB/0vR/zawdECCRJtTuqIXaJw==", + "dev": true, + "requires": { + "commander": "^7.2.0", + "handlebars": "^4.7.7", + "node-fetch": "^2.6.1", + "parse-github-url": "^1.0.2", + "semver": "^7.3.5" + } + }, + "b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "requires": {} + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "bare-events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz", + "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==", + "requires": {} + }, + "before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==" + }, + "binaryextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz", + "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==", + "requires": { + "editions": "^6.21.0" + } + }, + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "requires": { + "fill-range": "^7.1.1" + } + }, + "chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==" + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "requires": { + "ms": "^2.1.3" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, + "editions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz", + "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==", + "requires": { + "version-range": "^4.15.0" + } + }, + "ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "requires": { + "jake": "^10.8.5" + } + }, + "events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "requires": { + "bare-events": "^2.7.0" + } + }, + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + } + }, + "fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==" + }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + } + }, + "fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "requires": { + "minimatch": "^5.0.1" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up-simple": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz", + "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==" + }, + "first-chunk-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-5.0.0.tgz", + "integrity": "sha512-WdHo4ejd2cG2Dl+sLkW79SctU7mUQDfr4s1i26ffOZRs5mgv+BRttIM9gwcq0rDbemo0KlpVPaa3LBVLqPXzcQ==" + }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" + }, + "github-username": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/github-username/-/github-username-9.0.0.tgz", + "integrity": "sha512-lY7+mymwQUEhRwWTLxieKkxcZkVNnUh8iAGnl30DMB1ZtYODHkMAckZk8Jx5dLQs1YKPYM2ibnzQu02aCLFcYQ==", + "requires": { + "@octokit/rest": "^21.1.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + }, + "globby": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", + "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", + "requires": { + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.3", + "path-type": "^6.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.3.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "requires": { + "lru-cache": "^10.0.1" + } + }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" + }, + "ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==" + }, + "index-to-position": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.2.0.tgz", + "integrity": "sha512-Yg7+ztRkqslMAS2iFaU+Oa4KTSidr63OsFGlOrJoW981kIYO3CGCS3wA95P1mUi/IVSJkn0D479KTJpVpvFNuw==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==" + }, + "isbinaryfile": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.3.tgz", + "integrity": "sha512-VR4gNjFaDP8csJQvzInG20JvBj8MaHYLxNOMXysxRbGM7tcsHZwCjhch3FubFtZBkuDbN55i4dUukGeIrzF+6g==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "jake": { + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz", + "integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==", + "requires": { + "async": "^3.2.6", + "filelist": "^1.0.4", + "picocolors": "^1.1.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "ky": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/ky/-/ky-1.14.3.tgz", + "integrity": "sha512-9zy9lkjac+TR1c2tG+mkNSVlyOpInnWdSMiue4F+kq8TwJSgv6o8jhLRg8Ho6SnZ9wOYUq/yozts9qQCfk7bIw==" + }, + "latest-version": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-9.0.0.tgz", + "integrity": "sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==", + "requires": { + "package-json": "^10.0.0" + } + }, + "lodash-es": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz", + "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==" + }, + "lodash.startcase": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true + }, + "lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "mem-fs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/mem-fs/-/mem-fs-4.1.3.tgz", + "integrity": "sha512-+2zSUVKcDWgcF90mPPwyH4J814uRI1PJcVt2RZ4/E8VggPEiIEL7ikMTlPR91P2ZySkyPgD0YGrccwo55SZvnw==", + "peer": true, + "requires": { + "@types/node": ">=18", + "@types/vinyl": "^2.0.12", + "vinyl": "^3.0.0", + "vinyl-file": "^5.0.0" + } + }, + "mem-fs-editor": { + "version": "11.1.4", + "resolved": "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-11.1.4.tgz", + "integrity": "sha512-Z4QX14Ev6eOVTuVSayS5rdiOua6C3gHcFw+n9Qc7WiaVTbC+H8b99c32MYGmbQN9UFHJeI/p3lf3LAxiIzwEmA==", + "peer": true, + "requires": { + "@types/ejs": "^3.1.4", + "@types/node": ">=18", + "binaryextensions": "^6.11.0", + "commondir": "^1.0.1", + "deep-extend": "^0.6.0", + "ejs": "^3.1.10", + "globby": "^14.0.2", + "isbinaryfile": "5.0.3", + "minimatch": "^9.0.3", + "multimatch": "^7.0.0", + "normalize-path": "^3.0.0", + "textextensions": "^6.11.0", + "vinyl": "^3.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "multimatch": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-7.0.0.tgz", + "integrity": "sha512-SYU3HBAdF4psHEL/+jXDKHO95/m5P2RvboHT2Y0WtTttvJLP4H/2WS9WlQPFvF6C8d6SpLw8vjCnQOnVIVOSJQ==", + "requires": { + "array-differ": "^4.0.0", + "array-union": "^3.0.1", + "minimatch": "^9.0.3" + } + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dev": true, + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "requires": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "requires": { + "path-key": "^4.0.0" + }, + "dependencies": { + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" + } + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "package-json": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-10.0.1.tgz", + "integrity": "sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==", + "requires": { + "ky": "^1.2.0", + "registry-auth-token": "^5.0.2", + "registry-url": "^6.0.1", + "semver": "^7.6.0" + } + }, + "parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "dev": true + }, + "parse-json": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz", + "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==", + "requires": { + "@babel/code-frame": "^7.26.2", + "index-to-position": "^1.1.0", + "type-fest": "^4.39.1" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-type": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", + "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==" + }, + "picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "requires": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + } + }, + "read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "requires": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "dependencies": { + "unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==" + } + } + }, + "registry-auth-token": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.1.1.tgz", + "integrity": "sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==", + "requires": { + "@pnpm/npm-conf": "^3.0.2" + } + }, + "registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "requires": { + "rc": "1.2.8" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + }, + "replace-ext": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==" + }, + "reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, + "simple-git": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz", + "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==", + "requires": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.4.0" + } + }, + "slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==" + }, + "sort-keys": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", + "requires": { + "is-plain-obj": "^4.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==" + }, + "streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "requires": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "strip-bom-buf": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-bom-buf/-/strip-bom-buf-3.0.1.tgz", + "integrity": "sha512-iJaWw2WroigLHzQysdc5WWeUc99p7ea7AEgB6JkY8CMyiO1yTVAA1gIlJJgORElUIR+lcZJkNl1OGChMhvc2Cw==", + "requires": { + "is-utf8": "^0.2.1" + } + }, + "strip-bom-stream": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-5.0.0.tgz", + "integrity": "sha512-Yo472mU+3smhzqeKlIxClre4s4pwtYZEvDNQvY/sJpnChdaxmKuwU28UVx/v1ORKNMxkmj1GBuvxJQyBk6wYMQ==", + "requires": { + "first-chunk-stream": "^5.0.0", + "strip-bom-buf": "^3.0.0" + } + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + }, + "teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", + "requires": { + "streamx": "^2.12.5" + } + }, + "text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "requires": { + "b4a": "^1.6.4" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "textextensions": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz", + "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==", + "requires": { + "editions": "^6.21.0" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==" + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true + }, + "undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" + }, + "unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==" + }, + "universal-user-agent": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "version-range": { + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz", + "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==" + }, + "vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", + "requires": { + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" + } + }, + "vinyl-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vinyl-file/-/vinyl-file-5.0.0.tgz", + "integrity": "sha512-MvkPF/yA1EX7c6p+juVIvp9+Lxp70YUfNKzEWeHMKpUNVSnTZh2coaOqLxI0pmOe2V9nB+OkgFaMDkodaJUyGw==", + "requires": { + "@types/vinyl": "^2.0.7", + "strip-bom-buf": "^3.0.1", + "strip-bom-stream": "^5.0.0", + "vinyl": "^3.0.0" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "yeoman-generator": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/yeoman-generator/-/yeoman-generator-7.5.1.tgz", + "integrity": "sha512-MYncRvzSTd71BMwiUMAVhfX00sDD8DZDrmPzRxQkWuWQ0V1Qt4Rd0gS/Nee2QDTWvRjvCa+KBfiAVrtOySq+JA==", + "peer": true, + "requires": { + "@types/lodash-es": "^4.17.9", + "@yeoman/namespace": "^1.0.0", + "chalk": "^5.3.0", + "debug": "^4.1.1", + "execa": "^8.0.1", + "github-username": "^9.0.0", + "json-schema": "^0.4.0", + "latest-version": "^9.0.0", + "lodash-es": "^4.17.21", + "mem-fs-editor": "^11.0.1", + "minimist": "^1.2.8", + "read-package-up": "^11.0.0", + "semver": "^7.5.4", + "simple-git": "^3.20.0", + "sort-keys": "^5.0.0", + "text-table": "^0.2.0" + } + } + } +} diff --git a/pos-module-oauth-google/modules/core/package.json b/pos-module-oauth-google/modules/core/package.json new file mode 100644 index 0000000..49515a0 --- /dev/null +++ b/pos-module-oauth-google/modules/core/package.json @@ -0,0 +1,32 @@ +{ + "name": "pos-module-core", + "version": "1.2.1", + "description": "Module description", + "type": "module", + "scripts": { + "version": "(cd ../../ && pos-cli modules version core -p) && git add template-values.json && auto-changelog -p && git add CHANGELOG.md" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/Platform-OS/pos-module-core.git" + }, + "author": "", + "license": "MIT", + "bugs": { + "url": "https://github.com/Platform-OS/pos-module-core/issues" + }, + "homepage": "https://github.com/Platform-OS/pos-module-core#readme", + "peerDependencies": { + "yeoman-generator": "^7.0.0" + }, + "devDependencies": { + "auto-changelog": "^2.4.0", + "lodash.startcase": "^4.4.0", + "pluralize": "^8.0.0" + }, + "auto-changelog": { + "template": "changelog-template.hbs", + "unreleased": true, + "commitLimit": false + } +} diff --git a/pos-module-oauth-google/modules/core/public/api_calls/generic.liquid b/pos-module-oauth-google/modules/core/public/api_calls/generic.liquid new file mode 100644 index 0000000..0a3289b --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/api_calls/generic.liquid @@ -0,0 +1,6 @@ +--- +request_type: "{{ data.request_type }}" +request_headers: '{{ data.headers | json }}' +to: "{{ data.to }}" +--- +{{ data.payload }} diff --git a/pos-module-oauth-google/modules/core/public/api_calls/generic_x_form_encoded.liquid b/pos-module-oauth-google/modules/core/public/api_calls/generic_x_form_encoded.liquid new file mode 100644 index 0000000..4085222 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/api_calls/generic_x_form_encoded.liquid @@ -0,0 +1,10 @@ +--- +request_type: "{{ data.request_type }}" +request_headers: '{{ data.headers | json }}' +to: "{{ data.to }}" +--- +{% liquid + function url = 'modules/core/helpers/hash_to_x_form_encoded', payload: data.payload + print url +%} + diff --git a/pos-module-oauth-google/modules/core/public/emails/.keep b/pos-module-oauth-google/modules/core/public/emails/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/emails/generic.liquid b/pos-module-oauth-google/modules/core/public/emails/generic.liquid new file mode 100644 index 0000000..240ce94 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/emails/generic.liquid @@ -0,0 +1,13 @@ +--- +from: "{{ data.from }}" +layout: "{{ data.layout }}" +to: "{{ data.to }}" +cc: "{{ data.cc }}" +bcc: "{{ data.bcc }}" +subject: "{{ data.subject }}" +--- +{% liquid + # platformos-check-disable + include data.partial, data: data.data + # platformos-check-enable +%} diff --git a/pos-module-oauth-google/modules/core/public/graphql/.keep b/pos-module-oauth-google/modules/core/public/graphql/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/graphql/api_calls/send.graphql b/pos-module-oauth-google/modules/core/public/graphql/api_calls/send.graphql new file mode 100644 index 0000000..b26d03f --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/api_calls/send.graphql @@ -0,0 +1,12 @@ +mutation ($template: String!, $data: HashObject!, $options: ApiCallSendOptions) { + api_call: api_call_send( + data: $data + template: { name: $template } + options: $options + ) { + response{ status body } + errors { + message + } + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/email/send.graphql b/pos-module-oauth-google/modules/core/public/graphql/email/send.graphql new file mode 100644 index 0000000..2f9fc39 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/email/send.graphql @@ -0,0 +1,9 @@ +mutation ($data: HashObject!, $template: String!){ + email_send( + template: { name: $template } + data: $data + ){ + is_scheduled_to_send + errors { message } + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/events/consumers.graphql b/pos-module-oauth-google/modules/core/public/graphql/events/consumers.graphql new file mode 100644 index 0000000..b13d23b --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/events/consumers.graphql @@ -0,0 +1,15 @@ +query consumers($name: String) { + admin_liquid_partials( + filter: { + path: { contains: $name } + } + sort: { + path: { order: ASC } + } + ) { + results { + path + metadata + } + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/events/create.graphql b/pos-module-oauth-google/modules/core/public/graphql/events/create.graphql new file mode 100644 index 0000000..77bc1d9 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/events/create.graphql @@ -0,0 +1,7 @@ +mutation create_event($payload: ActivityStreamsPayload!) { + activity_create( + payload: $payload + ) { + payload + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/events/events_checks.graphql b/pos-module-oauth-google/modules/core/public/graphql/events/events_checks.graphql new file mode 100644 index 0000000..c326d87 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/events/events_checks.graphql @@ -0,0 +1,11 @@ +query events_checks($name: String) { + admin_liquid_partials( + filter: { + path: { ends_with: $name } + } + ) { + results { + path + } + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/events/search.graphql b/pos-module-oauth-google/modules/core/public/graphql/events/search.graphql new file mode 100644 index 0000000..4e78dd2 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/events/search.graphql @@ -0,0 +1,14 @@ +query ac($limit: Int = 100 $page: Int = 1 $uuids: [String!]) { + activities: activities( + per_page: $limit, + page: $page + uuids: $uuids + sort: { created_at: { order: DESC } } + ){ + total_entries + total_pages + results { + payload + } + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/hook/search.graphql b/pos-module-oauth-google/modules/core/public/graphql/hook/search.graphql new file mode 100644 index 0000000..37e31e2 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/hook/search.graphql @@ -0,0 +1,7 @@ +query ($hook: String) { + admin_liquid_partials(filter: { path: { ends_with: $hook } }) { + results { + path + } + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/records/count.graphql b/pos-module-oauth-google/modules/core/public/graphql/records/count.graphql new file mode 100644 index 0000000..9a21894 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/records/count.graphql @@ -0,0 +1,26 @@ +query records_count( + $property_name: String! + $property_value: String! + $scope_name: String! + $scope_value: String + $table: String! + $not_ids: [ID!] + $ids: [ID!] + $exclude_name: String! + $exclude_value: String +) { + records( + per_page: 1 + filter: { + id: { not_value_in: $not_ids, value_in: $ids } + table: { value: $table } + properties: [ + { name: $property_name, value: $property_value } + { name: $scope_name, value: $scope_value } + { name: $exclude_name, not_value: $exclude_value } + ] + } + ) { + total_entries + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/session/delete.graphql b/pos-module-oauth-google/modules/core/public/graphql/session/delete.graphql new file mode 100644 index 0000000..c83de59 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/session/delete.graphql @@ -0,0 +1,5 @@ +mutation ($name: String!){ + session_delete_field( + name: $name + ) +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/session/set.graphql b/pos-module-oauth-google/modules/core/public/graphql/session/set.graphql new file mode 100644 index 0000000..9069f25 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/session/set.graphql @@ -0,0 +1,6 @@ +mutation ($name: String!, $value: Any!){ + session_create_field( + name: $name + value: $value + ) +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/statuses/create.graphql b/pos-module-oauth-google/modules/core/public/graphql/statuses/create.graphql new file mode 100644 index 0000000..7274afc --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/statuses/create.graphql @@ -0,0 +1,34 @@ +mutation create_status( + $name: String! + $timestamp: String! + $reference_id: String! + $reference_schema: String + $payload: String + $requester_id: String! +) { + record: record_create( + record: { + table: "modules/core/status" + properties: [ + { name: "name", value: $name } + { name: "timestamp", value: $timestamp } + { name: "reference_id", value: $reference_id } + { name: "reference_schema", value: $reference_schema } + { name: "payload", value: $payload } + { name: "requester_id", value: $requester_id } + ] + } + ) { + id + created_at + deleted_at + type: table + + name: property(name: "name") + timestamp: property(name: "timestamp") + reference_id: property(name: "reference_id") + reference_schema: property(name: "reference_schema") + payload: property(name: "payload") + requester_id: property(name: "requester_id") + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/statuses/delete.graphql b/pos-module-oauth-google/modules/core/public/graphql/statuses/delete.graphql new file mode 100644 index 0000000..fb333ab --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/statuses/delete.graphql @@ -0,0 +1,5 @@ +mutation delete_status($id: ID!) { + record_delete(table: "modules/core/status", id: $id) { + id + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/statuses/search.graphql b/pos-module-oauth-google/modules/core/public/graphql/statuses/search.graphql new file mode 100644 index 0000000..8beffdc --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/statuses/search.graphql @@ -0,0 +1,45 @@ +query search( + $id: ID + $limit: Int! + $page: Int! + $name: String + $timestamp: String + $reference_id: String + $reference_schema: String + $requester_id: String +) { + statuses: records( + per_page: $limit + page: $page + filter: { + id: { value: $id } + table: { value: "modules/core/status" } + properties: [ + { name: "name", value: $name } + { name: "timestamp", value: $timestamp } + { name: "reference_id", value: $reference_id } + { name: "reference_schema", value: $reference_schema } + { name: "requester_id", value: $requester_id } + ] + } + sort: [{ created_at: { order: DESC } }] + ) { + total_entries + has_next_page + has_previous_page + current_page + + results { + id + created_at + type: table + + name: property(name: "name") + timestamp: property(name: "timestamp") + reference_id: property(name: "reference_id") + reference_schema: property(name: "reference_schema") + payload: property(name: "payload") + requester_id: property(name: "requester_id") + } + } +} diff --git a/pos-module-oauth-google/modules/core/public/graphql/variable/set.graphql b/pos-module-oauth-google/modules/core/public/graphql/variable/set.graphql new file mode 100644 index 0000000..3c7b0d9 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/graphql/variable/set.graphql @@ -0,0 +1,6 @@ +mutation ($name: String!, $value: String!) { + variable: constant_set(name: $name, value: $value) { + name + value + } +} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/.keep b/pos-module-oauth-google/modules/core/public/lib/commands/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/email/send.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/email/send.liquid new file mode 100644 index 0000000..1fc5273 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/email/send.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + function object = 'modules/core/commands/email/send/build', object: object + function object = 'modules/core/commands/email/send/check', object: object + + if object.valid + graphql r = 'modules/core/email/send', template: 'modules/core/generic', data: object + if r.errors + log r.errors, type: 'errors.graphql.invalid' + + assign object.valid = false + assign object.errors = r.errors + endif + else + log object.errors, type: 'payload validation error in core: commands/email' + endif + + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/email/send/build.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/email/send/build.liquid new file mode 100644 index 0000000..5e57d28 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/email/send/build.liquid @@ -0,0 +1,13 @@ +{% parse_json object %} + { + "layout": {{ object.layout | default: 'modules/core/mailer' | json }}, + "from": {{ object.from | json }}, + "to": {{ object.to | json }}, + "subject": {{ object.subject | json }}, + "cc": {{ object.cc | json }}, + "bcc": {{ object.bcc | json }}, + "partial": {{ object.partial | json }}, + "data": {{ object.data | json }} + } +{% endparse_json %} +{% return object %} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/email/send/check.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/email/send/check.liquid new file mode 100644 index 0000000..50c8aec --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/email/send/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/events/broadcast.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/events/broadcast.liquid new file mode 100644 index 0000000..ec2b6bd --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/events/broadcast.liquid @@ -0,0 +1,29 @@ +{% doc %} + @param {object} object - The object to process + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} +{% liquid + if object.type == blank + log 'ERROR: events broadcast type blank' + return null + endif + assign priorities = 'low,default,high' | split: ',' + + assign name = 'consumers/' | append: object.type | append: '/' + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" + + assign object.consumers = consumers + for consumer in consumers + assign priority = 'default' + if priorities contains consumer.metadata.priority + assign priority = consumer.metadata.priority + endif + assign max_attempts = consumer.metadata.max_attempts | default: deprecated_max_attempts | default: 9 + assign delay = consumer.metadata.delay | default: deprecated_delay | default: 0 + + background _id = consumer.path, event: object, priority: priority, delay: delay, max_attempts: max_attempts + endfor + + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/events/create.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/events/create.liquid new file mode 100644 index 0000000..c32c970 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/events/create.liquid @@ -0,0 +1,23 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} deprecated_delay - Deprecated: use metadata.delay in consumer file instead + @param {number} deprecated_max_attempts - Deprecated: use metadata.max_attempts in consumer file instead +{% enddoc %} +{% liquid + function event = 'modules/core/commands/events/create/build', type: type, object: object + function event = 'modules/core/commands/events/create/check', object: event, type: type + if event.valid + function event = 'modules/core/commands/events/create/execute', object: event + if event.valid + assign source_name = 'modules/core/commands/events/create:' | append: type + background _job_id = 'modules/core/commands/events/broadcast', object: event, deprecated_max_attempts: deprecated_max_attempts, deprecated_delay: deprecated_delay, source_name: source_name, priority: 'high' + else + log event, type: 'ERROR: modules/core/commands/events invalid' + endif + else + log event, type: 'ERROR: modules/core/commands/events invalid' + endif + + return event +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/events/create/build.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/events/create/build.liquid new file mode 100644 index 0000000..32e10ed --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/events/create/build.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} +{% liquid + assign now = 'now' | to_time + assign data = object + assign data.type = type + assign data.date = now + + return data +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/events/create/check.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/events/create/check.liquid new file mode 100644 index 0000000..a11a644 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/events/create/check.liquid @@ -0,0 +1,36 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'type', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'date', key: null + + assign name = 'events/' | append: object.type + graphql event_check_partials = 'modules/core/events/events_checks', name: name | dig: "admin_liquid_partials", "results" + for partial in event_check_partials + assign is_event_definition = partial.path | matches: '^(modules/[^/]+/events/[^/]++|events/[^/]+)$' + if is_event_definition + assign event_check_partial = partial + break + endif + endfor + + if event_check_partial + function event_result = event_check_partial.path, event: object + if event_result.valid != true + assign c.errors.object = event_result.errors + assign c.valid = false + endif + else + assign message = 'There is no such event: ' | append: object.type | append: '. Please add event check in events/' | append: object.type + function c = 'modules/core/helpers/register_error', contract: c, field_name: type, message: message, key: null + endif + + assign object.valid = c.valid + + assign object.errors = c.errors + return object + %} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/events/create/execute.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/events/create/execute.liquid new file mode 100644 index 0000000..d94fff4 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/events/create/execute.liquid @@ -0,0 +1,11 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + graphql r = 'modules/core/events/create', payload: object + + assign object = r.activity_create.payload + assign object.valid = true + + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/events/publish.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/events/publish.liquid new file mode 100644 index 0000000..586ad27 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/events/publish.liquid @@ -0,0 +1,27 @@ +{% doc %} + @param {object} object - The object to process + @param {string} type - The type identifier + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts +{% enddoc %} +{% liquid + if delay > 0 + log 'use metadata.delay in the consumer file instead of passing it to modules/core/commands/events/publish', type: 'DEPRECATION' + endif + if max_attempts + log 'use metadata.max_attempts in the consumer file instead of passing it to modules/core/commands/events/publish', type: 'DEPRECATION' + endif + + unless type + log 'type is required', type: 'ERROR: modules/core/commands/events publish' + return null + endunless + unless object + log 'object is required', type: 'ERROR: modules/core/commands/events publish' + return null + endunless + + function event = "modules/core/commands/events/create", type: type, object: object, deprecated_max_attempts: max_attempts, deprecated_delay: delay + + return event +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/execute.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/execute.liquid new file mode 100644 index 0000000..e0510a4 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/execute.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {string} mutation_name - The GraphQL mutation name + @param {object} object - The object to process + @param {string} selection - The GraphQL result selection key +{% enddoc %} +{% liquid + assign selection = selection | default: 'record' + + graphql r = mutation_name, args: object + if r.errors + log r, type: "ERROR: modules/core/commands/execute" + endif + + assign object = r[selection] + assign object.valid = true + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/hook/alter.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/hook/alter.liquid new file mode 100644 index 0000000..19f42fb --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/hook/alter.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} +{% liquid + assign original_params = params_to_modify | deep_clone + + assign hook = '/hook_' | append: hook | append: '_alter' + function implementations = 'modules/core/queries/hook/search', hook: hook + + for implementation in implementations + function _ = implementation.path, params_to_modify: params_to_modify, params: params + endfor + + assign result = { "original_params": original_params } + return result +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/hook/fire.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/hook/fire.liquid new file mode 100644 index 0000000..0b35c38 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/hook/fire.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + if merge_to_object + assign results = {} + else + assign results = [] + endif + + assign hook = '/hook_' | append: hook + function implementations = 'modules/core/queries/hook/search', hook: hook + + for implementation in implementations + function hook_result = implementation.path, params: params + if hook_result != nil + comment + Check if the result is an array and merge the values one by one. + endcomment + if hook_result[0] + for h_result in hook_result + assign results << h_result + endfor + comment + Check if the result is an object. + endcomment + elsif hook_result.first and merge_to_object + assign results = results | hash_merge: hook_result + else + assign results << hook_result + endif + endif + endfor + + return results +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/session/clear.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/session/clear.liquid new file mode 100644 index 0000000..b823fa5 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/session/clear.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if context.session[key] != blank + graphql _ = 'modules/core/session/delete', name: key + return true + endif + return false +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/session/get.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/session/get.liquid new file mode 100644 index 0000000..02b8240 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/session/get.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {boolean} clear - If true, clear the session value after reading + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if context.session[key] != blank + assign value = context.session[key] | parse_json + if clear + graphql _ = 'modules/core/session/delete', name: key + endif + + return value + endif + return null +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/session/set.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/session/set.liquid new file mode 100644 index 0000000..3441120 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/session/set.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | json + graphql _ = 'modules/core/session/set', name: key, value: value + return true +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create.liquid new file mode 100644 index 0000000..dc5f46d --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create.liquid @@ -0,0 +1,25 @@ +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} delay - Delay in minutes before processing + @param {number} max_attempts - Maximum number of retry attempts + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% liquid + function object = 'modules/core/commands/statuses/create/build', name: name, timestamp: timestamp, reference_id: reference_id, reference_schema: reference_schema, payload: payload, requester_id: requester_id + function object = 'modules/core/commands/statuses/create/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/create' object: object, selection: null + if object.valid + function _ = 'modules/core/commands/events/publish', type: 'status_created', object: object, delay: delay, max_attempts: max_attempts + endif + else + log object, 'showme STATUS-INVALID' + endif + + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create/build.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create/build.liquid new file mode 100644 index 0000000..b46956a --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create/build.liquid @@ -0,0 +1,22 @@ +{% doc %} + @param {string} name - The name identifier + @param {object} payload - The payload data + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% parse_json object %} + { + "name": {{ name | json }}, + "timestamp": {{ timestamp | default: 'now' | to_time | json }}, + "reference_id": {{ reference_id | json }}, + "reference_schema": {{ reference_schema | json }}, + "payload": {{ payload | json }}, + "requester_id": {{ requester_id | json }} + } +{% endparse_json %} + +{% liquid + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create/check.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create/check.liquid new file mode 100644 index 0000000..61a2d21 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/create/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'timestamp', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'requester_id', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete.liquid new file mode 100644 index 0000000..5c79d78 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + function object = 'modules/core/commands/statuses/delete/build', id: id + function object = 'modules/core/commands/statuses/delete/check', object: object + + if object.valid + function object = 'modules/core/commands/execute', mutation_name: 'modules/core/statuses/delete', selection: 'record_delete', object: object + endif + + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete/build.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete/build.liquid new file mode 100644 index 0000000..29c1322 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete/build.liquid @@ -0,0 +1,7 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + assign object = {"id": id} + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete/check.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete/check.liquid new file mode 100644 index 0000000..737a3fd --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/statuses/delete/check.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "valid": true, "errors": {} } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'id', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-google/modules/core/public/lib/commands/variable/set.liquid b/pos-module-oauth-google/modules/core/public/lib/commands/variable/set.liquid new file mode 100644 index 0000000..cdbc3b8 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/commands/variable/set.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} +{% liquid + graphql result = 'modules/core/variable/set', name: name, value: value + return result.variable +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/events/status_created.liquid b/pos-module-oauth-google/modules/core/public/lib/events/status_created.liquid new file mode 100644 index 0000000..02541f7 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/events/status_created.liquid @@ -0,0 +1,21 @@ +--- +metadata: + event: + name + reference_id + reference_schema + requester_id + payload +--- +{% doc %} + @param {object} event - The event object +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'name', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'reference_id', key: null + function c = 'modules/core/validations/presence', c: c, object: event, field_name: 'requester_id', key: null + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/authenticity_token.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/authenticity_token.liquid new file mode 100644 index 0000000..6262ed4 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/authenticity_token.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} authenticity_token - The authenticity token from the form + @param {string} token - The authenticity token value +{% enddoc %} +{% assign token = token | default: authenticity_token | default: context.authenticity_token %} +{% unless token %} + Liquid Error AuthenticityTokenNotFound +{% endunless %} + diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/flash/publish.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/flash/publish.liquid new file mode 100644 index 0000000..cd5847d --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/flash/publish.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {boolean} force_clear - If true, clear flash messages immediately +{% enddoc %} +{% liquid + if error and error contains 'app.' + assign error = error | t + endif + + if notice and notice contains 'app.' + assign notice = notice | t + endif + + if info and info contains 'app.' + assign info = info | t + endif +%} + +{% parse_json flash %} + { + "error": {{ error | json }}, + "notice": {{ notice | json }}, + "info": {{ info | json }}, + "from": {{ context.location.pathname | json }}, + "now": {{ force_clear | default: false }} + } +{% endparse_json %} + +{% liquid + assign sflash = flash | json + session sflash = sflash +%} + diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid new file mode 100644 index 0000000..05d1820 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/hash_to_x_form_encoded.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {object} payload - The payload data +{% enddoc %} +{% liquid + assign parameters = '' | split: ',' + for pair in payload + assign component = pair[0] | append: '={' | append: pair[0] | append: '}' + assign parameters << component + endfor + if parameters.size > 0 + assign x_form_encoded = parameters | join: '&' | expand_url_template: payload + else + assign x_form_encoded = '' + endif + + return x_form_encoded +%} + diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/log_time.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/log_time.liquid new file mode 100644 index 0000000..447397a --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/log_time.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {string} _start - The start time for measuring elapsed time + @param {string} type - The type identifier + @param {string} env - The environment name for logging +{% enddoc %} +{% liquid + assign _stop = 'now' | to_time + assign _diff = _start | time_diff: _stop + if env + log _diff, type: type, env: env + else + log _diff, type: type + endif + + return true +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/redirect_to.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/redirect_to.liquid new file mode 100644 index 0000000..8f14d81 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/redirect_to.liquid @@ -0,0 +1,50 @@ +{% doc %} + @param {string} error - The error flash message + @param {string} info - The info flash message + @param {string} notice - The notice flash message + @param {object} object - The object to process + @param {string} default - The default value + @param {string} format - The response format + @param {string} url - The URL to redirect to +{% enddoc %} +{% liquid + if url == blank and context.session.return_to != blank + assign url = context.session.return_to + session return_to = null + endif + + if context.params.return_to != blank or context.params.redirect_to != blank and url == blank + assign url = context.params.return_to | default: context.params.redirect_to | url_decode + assign not_start_with_slash = url | matches: '^(?!\/)(.+)' + + # for security reasons, we do not allow redirecting to external URLs based on unsafe user input + assign wrong_url = url | matches: '^\/\/' + if not_start_with_slash or wrong_url + assign url = '/' + endif + else + assign default = default | default: '/' + assign url = url | default: default + endif + + # platformos-check-disable DeprecatedTag + include 'modules/core/helpers/flash/publish', notice: notice, error: error, info: info, force_clear: null + # platformos-check-enable DeprecatedTag + + if format == 'json' + assign response_json = {"type": "redirect", "url": url} + if object.valid + echo response_json + else + response_status 422 + assign res = { "errors": response_json.errors } + + echo res + endif + + else + redirect_to url + endif + + break +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/register_error.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/register_error.liquid new file mode 100644 index 0000000..f016b3e --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/register_error.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + assign key = key | default: null + assign message = message | default: null + if key + assign msg = key | t + else + assign msg = message + endif + + assign errors = contract.errors + + assign default = [] + assign field_errors = errors[field_name] | default: default + assign field_errors << msg + + assign errors[field_name] = field_errors + assign contract.valid = false + + return contract +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_all.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_all.liquid new file mode 100644 index 0000000..7ed01d5 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_all.liquid @@ -0,0 +1,18 @@ +{% comment %} + we need the to_json | parse_json hack because time_zones.all is an array of TimeZoneDrop (not an object) + this prevents us from using array filters or pass the timezone as reference (return it from a function, etc) + should be fixed on the platform level +{% endcomment %} +{% comment %} +Returns an array of timezone objects in the following format: +{ + "formatted_name":"(GMT-12:00) International Date Line West", + "formatted_offset":"-12:00", + "name":"International Date Line West", + "utc_offset":-43200, + "abbreviation":"-12", + "friendly_name_with_region":"Etc - GMT+12", + "friendly_name_without_region":"GMT+12" +} +{% endcomment %} +{% return context.globals.time_zones.all | parse_json %} diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_by_name.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_by_name.liquid new file mode 100644 index 0000000..20f429d --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_by_name.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} name - The name identifier +{% enddoc %} +{% liquid + function timezones = 'modules/core/helpers/timezone/get_all' + assign timezone = timezones | array_detect: name: name + + return timezone +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_by_offset.liquid b/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_by_offset.liquid new file mode 100644 index 0000000..478d3ae --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/helpers/timezone/get_by_offset.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {number} offset +{% enddoc %} +{% liquid + function timezones = 'modules/core/helpers/timezone/get_all' + assign timezone = timezones | array_detect: formatted_offset: offset + + return timezone +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/hooks/.keep b/pos-module-oauth-google/modules/core/public/lib/hooks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/.keep b/pos-module-oauth-google/modules/core/public/lib/queries/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/constants/find.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/constants/find.liquid new file mode 100644 index 0000000..84fe8d8 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/constants/find.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% if context.constants %} + {% assign value = context.constants[name] %} +{% else %} + {% graphql r, name: name %} + query get_constant($name: String!) { + constant(filter: { name: $name }) { + name + value + } + } + {% endgraphql %} + {% assign value = r.constant.value %} +{% endif %} + +{% liquid + case type + when "boolean" + if value == "true" + return true + else + return false + endif + when "integer" + assign value = value | plus: 0 + return value + when "array" + assign value = value | split: ',' + return value + when "time" + return value | to_time + else + return value + endcase +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/events/find.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/events/find.liquid new file mode 100644 index 0000000..c3d264a --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/events/find.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {string} uuid - The UUID identifier +{% enddoc %} +{% liquid + if uuid == blank + return null + endif + + function events = 'modules/core/queries/events/search', limit: 1, uuids: uuid, page: null + + return events.results.first.payload +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/events/search.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/events/search.liquid new file mode 100644 index 0000000..2569598 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/events/search.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} uuids - List of UUID identifiers +{% enddoc %} +{% liquid + assign page = page | to_positive_integer: 1 + assign uuids = uuids | default: null + + graphql r = 'modules/core/events/search', limit: limit, page: page, uuids: uuids + + assign events = r.activities + + return events +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/headscripts/get.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/headscripts/get.liquid new file mode 100644 index 0000000..e2453ef --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/headscripts/get.liquid @@ -0,0 +1,5 @@ +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/queries/headscripts/search', merge_to_object: null + return res +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/headscripts/search.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/headscripts/search.liquid new file mode 100644 index 0000000..989f536 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/headscripts/search.liquid @@ -0,0 +1,5 @@ +{% liquid + function headscript_implementations = 'modules/core/commands/hook/fire', hook: 'headscripts', merge_to_object: false, params: null + assign results = headscript_implementations | join: '' + return results | html_safe +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/hook/search.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/hook/search.liquid new file mode 100644 index 0000000..5b49f62 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/hook/search.liquid @@ -0,0 +1,7 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} +{% liquid + graphql implementations = 'modules/core/hook/search', hook: hook + return implementations.admin_liquid_partials.results +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/module/exists.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/module/exists.liquid new file mode 100644 index 0000000..474665d --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/module/exists.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function modules = 'modules/core/queries/registry/search', type: type + assign module = modules | array_detect: machine_name: name + + if module + return true + endif + + return false +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/registry/get.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/registry/get.liquid new file mode 100644 index 0000000..aa3524a --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/registry/get.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function registry = 'modules/core/queries/registry/search', type: type + return registry +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/registry/search.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/registry/search.liquid new file mode 100644 index 0000000..96116a4 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/registry/search.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function registry = 'modules/core/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null + + case type + when 'module' + assign modules = [] + for module in registry + if module.type == 'module' + assign modules << module + endif + endfor + return modules + when 'theme' + assign themes = [] + for module in registry + if module.type == 'theme' + assign themes << module + endif + endfor + return themes + endcase + return registry +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/statuses/find.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/statuses/find.liquid new file mode 100644 index 0000000..b7cf078 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/statuses/find.liquid @@ -0,0 +1,12 @@ +{% doc %} + @param {string} id - The record ID +{% enddoc %} +{% liquid + if id == blank + return null + endif + + graphql r = 'modules/core/statuses/search', id: id, limit: 1, page: 1 + + return r.statuses.results.first +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/statuses/search.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/statuses/search.liquid new file mode 100644 index 0000000..f4f79d8 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/statuses/search.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} id - The record ID + @param {string} name - The name identifier + @param {string} reference_id - The reference record ID + @param {string} requester_id - The ID of the requester + @param {number} limit - Maximum number of results + @param {number} page - Page number for pagination + @param {string} reference_schema - The reference schema name + @param {string} timestamp - The timestamp +{% enddoc %} +{% liquid + assign page = page | to_positive_integer: 1 + assign limit = limit | default: 20 + + graphql r = 'modules/core/statuses/search', limit: limit, page: page, id: id, name: name, reference_id: reference_id, requester_id: requester_id, reference_schema: reference_schema, timestamp: timestamp + + return r.statuses +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/variable/find.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/variable/find.liquid new file mode 100644 index 0000000..c2ec54c --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/variable/find.liquid @@ -0,0 +1,28 @@ +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} +{% liquid + assign value = context.constants[name] | default: default, allow_false: true + + case type + when 'boolean' + if value == 'true' or value == true + return true + else + return false + endif + when 'integer' + assign value = value | plus: 0 + return value + when 'float' + assign value = value | plus: 0 + return value + when 'array' + assign value = value | split: ',' + return value + else + return value + endcase +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/queries/variable/get.liquid b/pos-module-oauth-google/modules/core/public/lib/queries/variable/get.liquid new file mode 100644 index 0000000..e51e5de --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/queries/variable/get.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/queries/variable/find', name: name, default: default, type: type + return res +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/date.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/date.liquid new file mode 100644 index 0000000..7125e98 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/date.liquid @@ -0,0 +1,78 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} +{% liquid + assign date = date | default: object[field_name] | to_date + + assign is_past = date | is_date_in_past + assign now = 'now' | to_date + + if date > now + assign is_future = true + else + assign is_future = false + endif + + if can_be_past == false and is_past + assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if can_be_future == false and is_future + assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lt != null + assign lt = lt | to_date + if date >= lt + assign localized_date = lt | l + assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if lte != null + assign lte = lte | to_date + if date > lte + assign localized_date = lte | l + assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gt != null + assign gt = gt | to_date + if date <= gt + assign localized_date = gt | l + assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gte != null + assign gte = gte | to_date + if date < gte + assign localized_date = gte | l + assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/each_element_length.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/each_element_length.liquid new file mode 100644 index 0000000..85f5315 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/each_element_length.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + + for el in object[field_name] + + assign size = el.size + + if minimum != null and size < minimum + assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size + assign message = el | append: ' ' | append: message + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + endfor + + return c + +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/elements_included.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/elements_included.liquid new file mode 100644 index 0000000..6b58bde --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/elements_included.liquid @@ -0,0 +1,19 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + for val in object[field_name] + unless array contains val + assign key = key | default: "modules/core/validation.array.not_included" + assign message = key | t: value: val + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endunless + endfor + + return c +%} + diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/email.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/email.liquid new file mode 100644 index 0000000..39c8029 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/email.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign valid_email = object[field_name] | is_email_valid + unless valid_email + assign key = key | default: "modules/core/validation.email" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/equal.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/equal.liquid new file mode 100644 index 0000000..6b367e4 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/equal.liquid @@ -0,0 +1,23 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} +{% liquid + if given != expected + + if message == blank and key == blank + if not_verbose + assign message = 'modules/core/validation.equal_not_verbose' | t + else + assign message = 'modules/core/validation.equal' | t: given: given, expected: expected + endif + endif + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: key + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/exist_in_db.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/exist_in_db.liquid new file mode 100644 index 0000000..abc8a51 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/exist_in_db.liquid @@ -0,0 +1,31 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} +{% liquid + assign property_name = property_name | default: '' + assign property_value = property_value | default: '' + assign scope_name = scope_name | default: '' + assign scope_value = scope_value | default: '' + assign exclude_name = exclude_name | default: '' + assign exclude_value = exclude_value | default: '' + assign key = key | default: 'modules/core/validation.not_exist' + + graphql r = 'modules/core/records/count', ids: ids, not_ids: not_ids, property_name: property_name, property_value: property_value, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count == 0 + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/hcaptcha.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/hcaptcha.liquid new file mode 100644 index 0000000..21289c9 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/hcaptcha.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign hcaptcha_solved = hcaptcha_params | hcaptcha + unless hcaptcha_solved + assign key = key | default: "modules/core/validation.hcaptcha" + function c = 'modules/core/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/included.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/included.liquid new file mode 100644 index 0000000..a432b8c --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/included.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + unless array contains value + assign key = key | default: "modules/core/validation.not_included" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} + diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/is_url.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/is_url.liquid new file mode 100644 index 0000000..8ffaa46 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/is_url.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} url - The URL to redirect to + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + assign key = key | default: 'modules/core/validation.not_url' + assign is_url = url | matches: '^https?:\/\/[\S]+' + + if is_url != true + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} \ No newline at end of file diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/length.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/length.liquid new file mode 100644 index 0000000..fba5e45 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/length.liquid @@ -0,0 +1,44 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + assign size = value.size + assign is = is | default: null + assign minimum = minimum | default: null + assign maximum = maximum | default: null + + if allow_blank == null + assign allow_blank = true + endif + if allow_blank != true + function c = 'modules/core/validations/presence', c: c, object: object, field_name: field_name, key: null + endif + + if minimum != null and size < minimum + assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/matches.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/matches.liquid new file mode 100644 index 0000000..19a1c8a --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/matches.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + if allow_blank and object[field_name] == blank + return c + endif + + assign matches = object[field_name] | matches: regexp + if matches != true + assign message = message | default: 'modules/core/validation.matches' | t + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/not_null.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/not_null.liquid new file mode 100644 index 0000000..810b5f8 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/not_null.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if object[field_name] == null + assign key = key | default: "modules/core/validation.null" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/number.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/number.liquid new file mode 100644 index 0000000..d39591f --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/number.liquid @@ -0,0 +1,69 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} +{% liquid + assign number = number | default: object[field_name] +%} +{% capture test1 %}{{ number }}{% endcapture %} +{% capture test2 %}{{ test1 | plus: 0 }}{% endcapture %} +{% liquid + if test1 != test2 + assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + + return c + endif + + assign number = number | plus: 0 + + if lt != null and number >= lt + assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lte == blank + assign lte = 2147483647 + endif + if number > lte + assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gt != null and number <= gt + assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gte != null and number < gte + assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if eq != null and number != eq + assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if ne != null and number == ne + assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/password_complexity.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/password_complexity.liquid new file mode 100644 index 0000000..634daa6 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/password_complexity.liquid @@ -0,0 +1,36 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process + @param {string} field_name - The name of the field to validate + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + assign decoded_pw = object.password + assign minimum = minimum | default: 6 + assign maximum = maximum | default: 256 + assign field_name = field_name | default: 'password' + + function complex_password = 'modules/core/queries/variable/find', name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null + if complex_password + assign has_lowercase = decoded_pw | matches: '[a-z]' + unless has_lowercase + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.lowercase', message: null + endunless + + assign has_uppercase = decoded_pw | matches: '[A-Z]' + unless has_uppercase + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.uppercase', message: null + endunless + + assign has_number = decoded_pw | matches: '\d' + unless has_number + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.password.number', message: null + endunless + endif + + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/validations/length', c: c, object: object, value: decoded_pw, field_name: field_name, maximum: maximum, minimum: minimum, message_minimum: message_minimum, allow_blank: null, is: null, message_is: null, message_maximum: null + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/presence.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/presence.liquid new file mode 100644 index 0000000..6526d2b --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/presence.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + if object[field_name] == blank + assign key = key | default: "modules/core/validation.blank" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/truthy.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/truthy.liquid new file mode 100644 index 0000000..86b428e --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/truthy.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + unless object[field_name] + assign key = key | default: "modules/core/validation.not_truthy" + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/unique_elements.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/unique_elements.liquid new file mode 100644 index 0000000..4bca1e8 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/unique_elements.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + + assign unique_count = object[field_name] | uniq | size + + if unique_count != object[field_name].size + assign key = key | default: 'modules/core/validation.array.not_unique' + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/uniqueness.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/uniqueness.liquid new file mode 100644 index 0000000..76a9948 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/uniqueness.liquid @@ -0,0 +1,37 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} +{% liquid + assign key = key | default: 'modules/core/validation.taken' + assign value = object[field_name] + if value != blank + if object.id != blank + assign not_ids = object.id | split: ',' + endif + if scope_name + assign scope_value = object[scope_name] + else + assign scope_name = '' + endif + + if exclude_name + assign exclude_value = object[exclude_name] + else + assign exclude_name = '' + endif + + graphql r = 'modules/core/records/count', property_name: field_name, property_value: value, not_ids: not_ids, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count > 0 + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/lib/validations/valid_object.liquid b/pos-module-oauth-google/modules/core/public/lib/validations/valid_object.liquid new file mode 100644 index 0000000..6693ec3 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/lib/validations/valid_object.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} +{% liquid + assign value = value | default: object[field_name] + if value + function check_object = check_function, object: value + if check_object.valid != true + function c = 'modules/core/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null + assign errors_key = field_name | append: '_errors' + assign c.errors[errors_key] = check_object.errors + endif + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/schema/status.yml b/pos-module-oauth-google/modules/core/public/schema/status.yml new file mode 100644 index 0000000..5a8a0de --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/schema/status.yml @@ -0,0 +1,14 @@ +name: status +properties: + - name: name + type: string + - name: timestamp + type: datetime + - name: reference_id + type: string + - name: reference_schema + type: string + - name: payload + type: string + - name: requester_id + type: string diff --git a/pos-module-oauth-google/modules/core/public/translations/en/common.yml b/pos-module-oauth-google/modules/core/public/translations/en/common.yml new file mode 100644 index 0000000..19ed613 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/translations/en/common.yml @@ -0,0 +1,4 @@ +en: + common: + deleted: 'Deleted' + deleted_failed: 'Deleted failed' diff --git a/pos-module-oauth-google/modules/core/public/translations/en/validation.yml b/pos-module-oauth-google/modules/core/public/translations/en/validation.yml new file mode 100644 index 0000000..06a1a48 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/translations/en/validation.yml @@ -0,0 +1,50 @@ +--- +en: + validation: + disallowed: is not valid + not_url: is not valid url + blank: cannot be blank + email: must be a valid email + equal: expected %{given} to equal %{expected} + equal_not_verbose: does not match + array: + not_included: '`%{value}` is not a valid value' + not_unique: elements must be unique + hcaptcha: Captcha has not been solved properly, please try again + length: + minimum: is too short (minimum is %{count} characters) + maximum: is too long (maximum is %{count} characters) + is: is the wrong length (should be %{count} characters) + blank: is blank + number: + invalid: '`%{value}` is not a number' + greater_than: must be greater than %{count} + greater_than_or_equal: must be greater than or equal to %{count} + less_than: must be less than %{count} + less_than_or_equal: must be less than or equal to %{count} + equal_to: must be equal to %{count} + gt: must be greater than %{count} + gte: must be greater than or equal to %{count} + lt: must be less than %{count} + lte: must be less than or equal to %{count} + eq: must be equal to %{count} + ne: must be not equal to %{count} + date: + can_be_past: The date cannot be in the past + can_be_future: The date cannot be in the future + lt: must be before %{date} + lte: must be before %{date} + gt: must be after %{date} + gte: must be after or equal to %{date} + too_short: has to be longer than %{value} characters + taken: already taken + not_uniq: not unique + matches: not valid format + not_truthy: not true + not_null: not null + password: + lowercase: must include at least one lower case + uppercase: must include at least one upper case + number: must include at least one number + invalid: invalid + not_exist: not exist diff --git a/pos-module-oauth-google/modules/core/public/views/layouts/basic.liquid b/pos-module-oauth-google/modules/core/public/views/layouts/basic.liquid new file mode 100644 index 0000000..6b57c72 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/layouts/basic.liquid @@ -0,0 +1,154 @@ + + + + + + + +
    +
    + {{ content_for_layout }} +
    +
    + + diff --git a/pos-module-oauth-google/modules/core/public/views/layouts/mailer.html.liquid b/pos-module-oauth-google/modules/core/public/views/layouts/mailer.html.liquid new file mode 100644 index 0000000..510f6a1 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/layouts/mailer.html.liquid @@ -0,0 +1,46 @@ +{% liquid + assign rtl_languages = 'ar,arc,dv,fa,ha,he,khw,ks,ku,ps,ur,yi' | split: ',' + if rtl_languages contains context.language + assign direction = 'rtl' + else + assign direction = 'ltr' + endif + assign url = 'https://' | append: context.location.host +%} + + + + + + + + +
    + {{ content_for_layout }} + + +
    + + + diff --git a/pos-module-oauth-google/modules/core/public/views/pages/_events/index.liquid b/pos-module-oauth-google/modules/core/public/views/pages/_events/index.liquid new file mode 100644 index 0000000..e5c90c8 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/pages/_events/index.liquid @@ -0,0 +1,11 @@ +--- +layout: modules/core/basic +slug: _events +--- +{% liquid + if context.environment == 'staging' or context.environment == 'development' + function events = 'modules/core/queries/events/search', limit: 50, page: null, uuids: null + + render 'modules/core/events/list', events: events + endif +%} diff --git a/pos-module-oauth-google/modules/core/public/views/pages/_events/trigger.liquid b/pos-module-oauth-google/modules/core/public/views/pages/_events/trigger.liquid new file mode 100644 index 0000000..85099b8 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/pages/_events/trigger.liquid @@ -0,0 +1,20 @@ +--- +layout: modules/core/basic +slug: _events/:uuid/trigger +--- +{% liquid + if context.environment == 'staging' or context.environment == 'development' + function event = 'modules/core/queries/events/find', uuid: context.params.uuid + + if context.params.trigger + function event = 'modules/core/commands/events/broadcast', object: event, deprecated_delay: null, deprecated_max_attempts: null + echo 'BROADCASTED' + else + assign name = 'consumers/' | append: event.type | append: '/' + graphql consumers = 'modules/core/events/consumers', name: name | dig: "admin_liquid_partials", "results" + assign event.consumers = consumers + endif + + render 'modules/core/events/show', event: event + endif +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/.gitkeep b/pos-module-oauth-google/modules/core/public/views/partials/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/views/partials/events/event_card.liquid b/pos-module-oauth-google/modules/core/public/views/partials/events/event_card.liquid new file mode 100644 index 0000000..fcee8e2 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/events/event_card.liquid @@ -0,0 +1,56 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %} +{% liquid + assign event_slim = event | deep_clone + assign _ = event_slim | hash_delete_key: 'object' + assign _ = event_slim | hash_delete_key: 'actor' + assign _ = event_slim | hash_delete_key: 'target' + assign _ = event_slim | hash_delete_key: 'id' + assign _ = event_slim | hash_delete_key: 'uuid' + assign _ = event_slim | hash_delete_key: 'date' + assign _ = event_slim | hash_delete_key: 'valid' + assign _ = event_slim | hash_delete_key: 'errors' + assign _ = event_slim | hash_delete_key: 'attributed_to' + assign _ = event_slim | hash_delete_key: 'type' + assign consumers = event_slim | hash_delete_key: 'consumers' +%} +
    +
    + Event: {{ event.type }} {{ event.object.name | replace: "app.statuses.", "" }} +
    +
    + Date: {{ event.date | l }} +
    +
    + Attributes:
    + + + +
    
    +    
    + + +
    +
    UUID: {{ event.uuid }}
    + {% if consumers %} +
    + Consumers: +
      + {% for consumer in consumers %} +
    • {{ consumer.path }}
    • + {% endfor %} +
    +
    + {% endif %} + + show | + broadcast | + + +
    diff --git a/pos-module-oauth-google/modules/core/public/views/partials/events/list.liquid b/pos-module-oauth-google/modules/core/public/views/partials/events/list.liquid new file mode 100644 index 0000000..d6c0c4a --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/events/list.liquid @@ -0,0 +1,13 @@ +{% doc %} + @param {object} events - The events collection +{% enddoc %} +
    +

    Events

    + {{ events.results.size }} / {{ events.total_entries }} + {% for event in events.results %} + {% render 'modules/core/events/event_card', event: event.payload %} +
    + {% else %} +

    no events found

    + {% endfor %} +
    diff --git a/pos-module-oauth-google/modules/core/public/views/partials/events/show.liquid b/pos-module-oauth-google/modules/core/public/views/partials/events/show.liquid new file mode 100644 index 0000000..665a505 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/events/show.liquid @@ -0,0 +1,6 @@ +{% doc %} + @param {object} event - The event object +{% enddoc %} +

    Event

    +<< List +{% render 'modules/core/events/event_card', event: event %} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/.keep b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send.liquid new file mode 100644 index 0000000..f03248b --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send.liquid @@ -0,0 +1,22 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + log 'Use modules/core/commands/email/send instead of modules/core/lib/commands/email/send', type: 'DEPRECATION' + function object = 'modules/core/commands/email/send/build', object: object + function object = 'modules/core/commands/email/send/check', object: object + + if object.valid + graphql r = 'modules/core/email/send', template: 'modules/core/generic', data: object + if r.errors + log r.errors, type: 'errors.graphql.invalid' + + assign object.valid = false + assign object.errors = r.errors + endif + else + log object.errors, type: 'payload validation error in core: lib/commands/email' + endif + + return object +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send/build.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send/build.liquid new file mode 100644 index 0000000..5e57d28 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send/build.liquid @@ -0,0 +1,13 @@ +{% parse_json object %} + { + "layout": {{ object.layout | default: 'modules/core/mailer' | json }}, + "from": {{ object.from | json }}, + "to": {{ object.to | json }}, + "subject": {{ object.subject | json }}, + "cc": {{ object.cc | json }}, + "bcc": {{ object.bcc | json }}, + "partial": {{ object.partial | json }}, + "data": {{ object.data | json }} + } +{% endparse_json %} +{% return object %} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send/check.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send/check.liquid new file mode 100644 index 0000000..50c8aec --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/email/send/check.liquid @@ -0,0 +1,16 @@ +{% doc %} + @param {object} object - The object to process +{% enddoc %} +{% liquid + assign c = { "errors": {}, "valid": true } + + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'from', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'to', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'layout', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'partial', key: null + + assign object.valid = c.valid + assign object.errors = c.errors + + return object + %} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/hook/alter.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/hook/alter.liquid new file mode 100644 index 0000000..43fbfa5 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/hook/alter.liquid @@ -0,0 +1,19 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {object} params_to_modify - The object to be modified by the alter hook +{% enddoc %} +{% liquid + log 'Use modules/core/commands/hook/alter instead of modules/core/lib/commands/hook/alter', type: 'DEPRECATION' + assign original_params = params_to_modify | deep_clone + + assign hook = '/hook_' | append: hook | append: '_alter' + function implementations = 'modules/core/lib/queries/hook/search', hook: hook + + for implementation in implementations + function _ = implementation.path, params_to_modify: params_to_modify, params: params + endfor + + assign result = { "original_params": original_params } + return result +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/hook/fire.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/hook/fire.liquid new file mode 100644 index 0000000..48cd149 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/hook/fire.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix + @param {object} params - Parameters to pass to the hook + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + if merge_to_object + assign results = {} + else + assign results = [] + endif + + assign hook = '/hook_' | append: hook + function implementations = 'modules/core/lib/queries/hook/search', hook: hook + + for implementation in implementations + function hook_result = implementation.path, params: params + if hook_result != nil + comment + Check if the result is an array and merge the values one by one. + endcomment + if hook_result[0] + for h_result in hook_result + assign results << h_result + endfor + comment + Check if the result is an object. + endcomment + elsif hook_result.first and merge_to_object + assign results = results | hash_merge: hook_result + else + assign results << hook_result + endif + endif + endfor + + return results +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/variable/set.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/variable/set.liquid new file mode 100644 index 0000000..dc2577b --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/commands/variable/set.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/commands/variable/set instead of modules/core/lib/commands/variable/set', type: 'DEPRECATION' + graphql result = 'modules/core/variable/set', name: name, value: value + return result.variable +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/helpers/register_error.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/helpers/register_error.liquid new file mode 100644 index 0000000..f016b3e --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/helpers/register_error.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {object} contract - The contract object for collecting errors + @param {string} field_name - The name of the field to validate + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + assign key = key | default: null + assign message = message | default: null + if key + assign msg = key | t + else + assign msg = message + endif + + assign errors = contract.errors + + assign default = [] + assign field_errors = errors[field_name] | default: default + assign field_errors << msg + + assign errors[field_name] = field_errors + assign contract.valid = false + + return contract +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/hooks/.keep b/pos-module-oauth-google/modules/core/public/views/partials/lib/hooks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/.keep b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/.keep new file mode 100644 index 0000000..e69de29 diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/headscripts/get.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/headscripts/get.liquid new file mode 100644 index 0000000..37efd30 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/headscripts/get.liquid @@ -0,0 +1,6 @@ +{% liquid + # TODO: remove after rewriting dependent modules + log 'Use queries/headscripts/get instead of lib/queries/headscripts/get', type: 'DEPRECATION' + function res = 'modules/core/lib/queries/headscripts/search', merge_to_object: false + return res +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/headscripts/search.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/headscripts/search.liquid new file mode 100644 index 0000000..72607a4 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/headscripts/search.liquid @@ -0,0 +1,9 @@ +{% doc %} + @param {boolean} merge_to_object - If true, merge results into one object instead of collecting in an array +{% enddoc %} +{% liquid + log 'Use queries/headscripts/search instead of lib/queries/headscripts/search', type: 'DEPRECATION' + function headscript_implementations = 'modules/core/lib/commands/hook/fire', hook: 'headscripts', merge_to_object: merge_to_object, params: null + assign results = headscript_implementations | join: '' + return results | html_safe +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/hook/search.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/hook/search.liquid new file mode 100644 index 0000000..f97ad06 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/hook/search.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} hook - The hook name without hook_ prefix +{% enddoc %} +{% liquid + log 'Use modules/core/queries/hook/search instead of modules/core/lib/queries/hook/search', type: 'DEPRECATION' + graphql implementations = 'modules/core/hook/search', hook: hook + return implementations.admin_liquid_partials.results +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/module/exists.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/module/exists.liquid new file mode 100644 index 0000000..9801f78 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/module/exists.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function modules = 'modules/core/lib/queries/registry/search', type: type + assign module = modules | array_detect: machine_name: name + + if module + return true + endif + + return false +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/registry/get.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/registry/get.liquid new file mode 100644 index 0000000..adbdeda --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/registry/get.liquid @@ -0,0 +1,8 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function registry = 'modules/core/lib/queries/registry/search', type: type + return registry +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/registry/search.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/registry/search.liquid new file mode 100644 index 0000000..ae8f96c --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/registry/search.liquid @@ -0,0 +1,26 @@ +{% doc %} + @param {string} type - The type identifier +{% enddoc %} +{% liquid + function registry = 'modules/core/lib/commands/hook/fire', hook: 'module_info', merge_to_object: false, params: null + + case type + when 'module' + assign modules = [] + for module in registry + if module.type == 'module' + assign modules << module + endif + endfor + return modules + when 'theme' + assign themes = [] + for module in registry + if module.type == 'theme' + assign themes << module + endif + endfor + return themes + endcase + return registry +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/variable/find.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/variable/find.liquid new file mode 100644 index 0000000..c2ec54c --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/variable/find.liquid @@ -0,0 +1,28 @@ +{% doc %} + @param {string} default - The default value + @param {string} type - The type identifier + @param {string} name - The name identifier +{% enddoc %} +{% liquid + assign value = context.constants[name] | default: default, allow_false: true + + case type + when 'boolean' + if value == 'true' or value == true + return true + else + return false + endif + when 'integer' + assign value = value | plus: 0 + return value + when 'float' + assign value = value | plus: 0 + return value + when 'array' + assign value = value | split: ',' + return value + else + return value + endcase +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/variable/get.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/variable/get.liquid new file mode 100644 index 0000000..f6ba482 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/queries/variable/get.liquid @@ -0,0 +1,10 @@ +{% doc %} + @param {string} default - The default value + @param {string} name - The name identifier + @param {string} type - The type identifier +{% enddoc %} +{% liquid + # TODO: remove after rewriting dependent modules + function res = 'modules/core/lib/queries/variable/find', name: name, default: default, type: type + return res +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/date.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/date.liquid new file mode 100644 index 0000000..e4d6a7b --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/date.liquid @@ -0,0 +1,79 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} can_be_future - Whether the date can be in the future + @param {boolean} can_be_past - Whether the date can be in the past + @param {string} date - The date to validate + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message_can_be_future - Custom error message for can_be_future validation + @param {string} message_can_be_past - Custom error message for can_be_past validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation +{% enddoc %} +{% liquid + log 'Use modules/core/validations/date instead of modules/core/lib/validations/date ', type: 'DEPRECATION' + assign date = date | default: object[field_name] | to_date + + assign is_past = date | is_date_in_past + assign now = 'now' | to_date + + if date > now + assign is_future = true + else + assign is_future = false + endif + + if can_be_past == false and is_past + assign message = message_can_be_past | default: 'modules/core/validation.date.can_be_past' | t: count: can_be_past, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if can_be_future == false and is_future + assign message = message_can_be_future | default: 'modules/core/validation.date.can_be_future' | t: count: can_be_future, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lt != null + assign lt = lt | to_date + if date >= lt + assign localized_date = lt | l + assign message = message_lt | default: 'modules/core/validation.date.lt' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if lte != null + assign lte = lte | to_date + if date > lte + assign localized_date = lte | l + assign message = message_lte | default: 'modules/core/validation.date.lte' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gt != null + assign gt = gt | to_date + if date <= gt + assign localized_date = gt | l + assign message = message_gt | default: 'modules/core/validation.date.gt' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if gte != null + assign gte = gte | to_date + if date < gte + assign localized_date = gte | l + assign message = message_gte | default: 'modules/core/validation.date.gte' | t: date: localized_date, value: date + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/each_element_length.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/each_element_length.liquid new file mode 100644 index 0000000..2c7f107 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/each_element_length.liquid @@ -0,0 +1,35 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {number} minimum - Minimum allowed value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/each_element_length instead of modules/core/lib/validations/each_element_length ', type: 'DEPRECATION' + for el in object[field_name] + + assign size = el.size + + if minimum != null and size < minimum + assign message = 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = 'modules/core/validation.length.maximum' | t: count: maximum, value: size + assign message = el | append: ' ' | append: message + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + endfor + + return c + +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/elements_included.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/elements_included.liquid new file mode 100644 index 0000000..bd8035b --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/elements_included.liquid @@ -0,0 +1,20 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/elements_included instead of modules/core/lib/validations/elements_included ', type: 'DEPRECATION' + for val in object[field_name] + unless array contains val + assign key = key | default: "modules/core/validation.array.not_included" + assign message = key | t: value: val + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endunless + endfor + + return c +%} + diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/email.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/email.liquid new file mode 100644 index 0000000..6699b19 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/email.liquid @@ -0,0 +1,15 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/email instead of modules/core/lib/validations/email ', type: 'DEPRECATION' + assign valid_email = object[field_name] | is_email_valid + unless valid_email + assign key = key | default: "modules/core/validation.email" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/equal.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/equal.liquid new file mode 100644 index 0000000..97284b8 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/equal.liquid @@ -0,0 +1,24 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} expected - The expected value to compare against + @param {string} field_name - The name of the field to validate + @param {string} given - The given value to compare + @param {string} key - The translation key for the error message + @param {string} message - Custom error message override + @param {boolean} not_verbose - If true, suppress detailed error output +{% enddoc %} +{% liquid + log 'Use modules/core/validations/equal instead of modules/core/lib/validations/equal ', type: 'DEPRECATION' + if given != expected + + if message == blank and key == blank + if not_verbose + assign message = 'modules/core/validation.equal_not_verbose' | t + else + assign message = 'modules/core/validation.equal' | t: given: given, expected: expected + endif + endif + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: key + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/exist_in_db.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/exist_in_db.liquid new file mode 100644 index 0000000..c86b2fc --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/exist_in_db.liquid @@ -0,0 +1,32 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} exclude_value - The property value to exclude + @param {string} ids - List of record IDs to include + @param {string} key - The translation key for the error message + @param {string} not_ids - List of record IDs to exclude + @param {string} property_name - The property name to check + @param {string} property_value - The property value to check + @param {string} scope_name - The scope property name for filtering + @param {string} scope_value - The scope property value for filtering +{% enddoc %} +{% liquid + log 'Use modules/core/validations/exist_in_db instead of modules/core/lib/validations/exist_in_db ', type: 'DEPRECATION' + assign property_name = property_name | default: '' + assign property_value = property_value | default: '' + assign scope_name = scope_name | default: '' + assign scope_value = scope_value | default: '' + assign exclude_name = exclude_name | default: '' + assign exclude_value = exclude_value | default: '' + assign key = key | default: 'modules/core/validation.not_exist' + + graphql r = 'modules/core/records/count', ids: ids, not_ids: not_ids, property_name: property_name, property_value: property_value, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count == 0 + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/hcaptcha.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/hcaptcha.liquid new file mode 100644 index 0000000..7693b5a --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/hcaptcha.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} hcaptcha_params - The hCaptcha verification parameters + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/hcaptcha instead of modules/core/lib/validations/hcaptcha ', type: 'DEPRECATION' + assign hcaptcha_solved = hcaptcha_params | hcaptcha + unless hcaptcha_solved + assign key = key | default: "modules/core/validation.hcaptcha" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'hcaptcha', key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/included.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/included.liquid new file mode 100644 index 0000000..85b4d16 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/included.liquid @@ -0,0 +1,18 @@ +{% doc %} + @param {string} array - The array of allowed values + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/included instead of modules/core/lib/validations/included ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + unless array contains value + assign key = key | default: "modules/core/validation.not_included" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} + diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/length.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/length.liquid new file mode 100644 index 0000000..403a064 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/length.liquid @@ -0,0 +1,49 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {boolean} allow_blank - Whether blank values are allowed + @param {number} is - Exact value to match + @param {number} maximum - Maximum allowed value + @param {string} message_blank - Custom error message for blank validation + @param {string} message_is - Custom error message for is validation + @param {string} message_maximum - Custom error message for maximum validation + @param {string} message_minimum - Custom error message for minimum validation + @param {number} minimum - Minimum allowed value + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/length instead of modules/core/lib/validations/length ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + assign size = value.size + assign is = is | default: null + assign minimum = minimum | default: null + assign maximum = maximum | default: null + + if allow_blank == null + assign allow_blank = true + endif + if allow_blank != true + if size == blank + assign message = message_blank | default: 'modules/core/validation.length.blank' | t + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + endif + + if minimum != null and size < minimum + assign message = message_minimum | default: 'modules/core/validation.length.minimum' | t: count: minimum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if maximum != null and size > maximum + assign message = message_maximum | default: 'modules/core/validation.length.maximum' | t: count: maximum, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if is != null and size != is + assign message = message_is | default: 'modules/core/validation.length.is' | t: count: is, value: size + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/matches.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/matches.liquid new file mode 100644 index 0000000..fb47b05 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/matches.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} regexp - The regular expression pattern to match against + @param {boolean} allow_blank - Whether blank values are allowed + @param {string} message - Custom error message override +{% enddoc %} +{% liquid + log 'Use modules/core/validations/matches instead of modules/core/lib/validations/matches ', type: 'DEPRECATION' + if allow_blank and object[field_name] == blank + return c + endif + + assign matches = object[field_name] | matches: regexp + if matches != true + assign message = message | default: 'modules/core/validation.matches' | t + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/not_null.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/not_null.liquid new file mode 100644 index 0000000..23d6bd0 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/not_null.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/not_null instead of modules/core/lib/validations/not_null ', type: 'DEPRECATION' + if object[field_name] == null + assign key = key | default: "modules/core/validation.null" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/number.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/number.liquid new file mode 100644 index 0000000..6a11fe0 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/number.liquid @@ -0,0 +1,70 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {number} eq - Must be equal to this value + @param {number} gt - Must be greater than this value + @param {number} gte - Must be greater than or equal to this value + @param {number} lt - Must be less than this value + @param {number} lte - Must be less than or equal to this value + @param {string} message - Custom error message override + @param {string} message_eq - Custom error message for eq validation + @param {string} message_gt - Custom error message for gt validation + @param {string} message_gte - Custom error message for gte validation + @param {string} message_lt - Custom error message for lt validation + @param {string} message_lte - Custom error message for lte validation + @param {string} message_ne - Custom error message for ne validation + @param {number} ne - Must not be equal to this value + @param {number} number - The number to validate +{% enddoc %} +{% liquid + assign number = number | default: object[field_name] + log 'Use modules/core/validations/number instead of modules/core/lib/validations/number ', type: 'DEPRECATION' +%} +{% capture test1 %}{{ number }}{% endcapture %} +{% capture test2 %}{{ test1 | plus: 0 }}{% endcapture %} +{% liquid + if test1 != test2 + assign message = message | default: 'modules/core/validation.number.invalid' | t: value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + + return c + endif + + assign number = number | plus: 0 + + if lt != null and number >= lt + assign message = message_lt | default: 'modules/core/validation.number.lt' | t: count: lt, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if lte == blank + assign lte = 2147483647 + endif + if number > lte + assign message = message_lte | default: 'modules/core/validation.number.lte' | t: count: lte, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gt != null and number <= gt + assign message = message_gt | default: 'modules/core/validation.number.gt' | t: count: gt, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if gte != null and number < gte + assign message = message_gte | default: 'modules/core/validation.number.gte' | t: count: gte, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if eq != null and number != eq + assign message = message_eq | default: 'modules/core/validation.number.eq' | t: count: eq, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + if ne != null and number == ne + assign message = message_ne | default: 'modules/core/validation.number.ne' | t: count: ne, value: number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, message: message, key: null + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/password_complexity.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/password_complexity.liquid new file mode 100644 index 0000000..04bb51c --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/password_complexity.liquid @@ -0,0 +1,31 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {object} object - The object to process +{% enddoc %} +{% liquid + log 'Use modules/core/validations/password_complexity instead of modules/core/lib/validations/password_complexity ', type: 'DEPRECATION' + assign decoded_pw = object.password + + function complex_password = 'modules/core/lib/queries/variable/find' name: "MODULES/CORE/USE_COMPLEX_PASSWORD", type: "boolean", default: null + if complex_password + assign has_lowercase = decoded_pw | matches: '[a-z]' + unless has_lowercase + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.lowercase', message: null + endunless + + assign has_uppercase = decoded_pw | matches: '[A-Z]' + unless has_uppercase + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.uppercase', message: null + endunless + + assign has_number = decoded_pw | matches: '\d' + unless has_number + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: 'password', key: 'modules/core/validation.password.number', message: null + endunless + endif + + assign message_minimum = 'modules/core/validation.too_short' + function c = 'modules/core/lib/validations/length', c: c, object: object, value: decoded_pw, field_name: 'password', maximum: 256, minimum: 6, message_minimum: message_minimum, allow_blank: null, is: null, message_blank: null, message_is: null, message_maximum: null + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/presence.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/presence.liquid new file mode 100644 index 0000000..06862bd --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/presence.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/presence instead of modules/core/lib/validations/presence ', type: 'DEPRECATION' + if object[field_name] == blank + assign key = key | default: "modules/core/validation.blank" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/truthy.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/truthy.liquid new file mode 100644 index 0000000..9b2a93e --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/truthy.liquid @@ -0,0 +1,14 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/truthy instead of modules/core/lib/validations/truthy ', type: 'DEPRECATION' + unless object[field_name] + assign key = key | default: "modules/core/validation.not_truthy" + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endunless + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/unique_elements.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/unique_elements.liquid new file mode 100644 index 0000000..f052483 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/unique_elements.liquid @@ -0,0 +1,17 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} key - The translation key for the error message +{% enddoc %} +{% liquid + log 'Use modules/core/validations/unique_elements instead of modules/core/lib/validations/unique_elements ', type: 'DEPRECATION' + assign unique_count = object[field_name] | uniq | size + + if unique_count != object[field_name].size + assign key = key | default: 'modules/core/validation.array.not_unique' + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/uniqueness.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/uniqueness.liquid new file mode 100644 index 0000000..66d62c7 --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/uniqueness.liquid @@ -0,0 +1,38 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} table - The database table name + @param {string} exclude_name - The property name to exclude + @param {string} key - The translation key for the error message + @param {string} scope_name - The scope property name for filtering +{% enddoc %} +{% liquid + log 'Use modules/core/validations/uniqueness instead of modules/core/lib/validations/uniqueness ', type: 'DEPRECATION' + assign key = key | default: 'modules/core/validation.taken' + assign value = object[field_name] + if value != blank + if object.id != blank + assign not_ids = object.id | split: ',' + endif + if scope_name + assign scope_value = object[scope_name] + else + assign scope_name = '' + endif + + if exclude_name + assign exclude_value = object[exclude_name] + else + assign exclude_name = '' + endif + + graphql r = 'modules/core/records/count', property_name: field_name, property_value: value, not_ids: not_ids, table: table, scope_name: scope_name, scope_value: scope_value, exclude_name: exclude_name, exclude_value: exclude_value + + assign count = r.records.total_entries + if count > 0 + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: key, message: null + endif + endif + return c +%} diff --git a/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/valid_object.liquid b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/valid_object.liquid new file mode 100644 index 0000000..690addf --- /dev/null +++ b/pos-module-oauth-google/modules/core/public/views/partials/lib/validations/valid_object.liquid @@ -0,0 +1,21 @@ +{% doc %} + @param {object} c - The contract object for collecting validation errors + @param {string} check_function - The validation function to call + @param {string} field_name - The name of the field to validate + @param {object} object - The object to process + @param {string} value - The value +{% enddoc %} +{% liquid + log 'Use modules/core/validations/valid_object instead of modules/core/lib/validations/valid_object ', type: 'DEPRECATION' + assign value = value | default: object[field_name] + if value + function check_object = check_function, object: value + if check_object.valid != true + function c = 'modules/core/lib/helpers/register_error', contract: c, field_name: field_name, key: 'modules/core/validation.invalid', message: null + assign errors_key = field_name | append: '_errors' + assign c.errors[errors_key] = check_object.errors + endif + endif + + return c +%} diff --git a/pos-module-oauth-google/modules/core/template-values.json b/pos-module-oauth-google/modules/core/template-values.json new file mode 100644 index 0000000..d386e90 --- /dev/null +++ b/pos-module-oauth-google/modules/core/template-values.json @@ -0,0 +1,7 @@ +{ + "name": "Pos Module Core", + "machine_name": "core", + "type": "module", + "version": "2.1.5", + "dependencies": {} +} diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/build.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/build.liquid index ffe94d3..c762a1b 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/build.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/build.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} object - The object containing token request data + @param {string} location - The redirect URI location +{% enddoc %} {% parse_json object %} { "grant_type": "authorization_code", diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid index e354770..e19496b 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_token/check.liquid @@ -1,11 +1,14 @@ +{% doc %} + @param {object} object - The object to validate +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret' -function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'redirect_uri' +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'grant_type', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'code', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_id', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'client_secret', key: null +function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'redirect_uri', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid index 7f08c2e..dfda33e 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/commands/get_user_info/check.liquid @@ -1,8 +1,11 @@ +{% doc %} + @param {object} object - The object to validate +{% enddoc %} {% liquid assign c = { "errors": {}, "valid": true } - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept' - function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization' + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Accept', key: null + function c = 'modules/core/validations/presence', c: c, object: object, field_name: 'Authorization', key: null assign object.valid = c.valid assign object.errors = c.errors diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_redirect_url.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_redirect_url.liquid index b74da06..16dee20 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_redirect_url.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_redirect_url.liquid @@ -1,4 +1,8 @@ -{% liquid +{% doc %} + @param {object} provider - The OAuth provider configuration + @param {string} state - The OAuth state parameter +{% enddoc %} +{% liquid assign data = { "scope": "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile openid", "client_id": provider.client_id, "state": state } assign location = "https://" | append: context.location.host | append: '/oauth/google/callback' log location, type: "LOCATION" diff --git a/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid b/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid index d1c6d80..9d0b3ad 100644 --- a/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid +++ b/pos-module-oauth-google/modules/oauth_google/public/lib/helpers/get_user_info.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} provider - The OAuth provider configuration +{% enddoc %} {% liquid # fetch token and get user data assign get_token_request = { "client_id": provider.client_id, "client_secret": provider.secret_value, "code": context.params.code } From f4ed2dfe6f2b16b33ffe33061f86e2c53bcd93ce Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Mon, 16 Mar 2026 08:31:55 +0000 Subject: [PATCH 40/44] Tests module cleanup --- pos-module-tests/app/lib/test/array_test.liquid | 3 +++ .../app/lib/test/example_test.liquid | 8 ++++++-- .../lib/test/examples/assertions_test.liquid | 5 ++++- .../app/lib/test/object_test.liquid | 5 ++++- .../app/lib/test/string_test.liquid | 5 ++++- .../tests/public/lib/assertions/blank.liquid | 5 +++++ .../tests/public/lib/assertions/equal.liquid | 8 +++++++- .../public/lib/assertions/invalid_object.liquid | 7 ++++++- .../public/lib/assertions/not_presence.liquid | 7 ++++++- .../tests/public/lib/assertions/not_true.liquid | 8 +++++++- .../lib/assertions/not_valid_object.liquid | 7 ++++++- .../assertions/object_contains_object.liquid | 10 ++++++++-- .../tests/public/lib/assertions/presence.liquid | 7 ++++++- .../tests/public/lib/assertions/true.liquid | 8 +++++++- .../public/lib/assertions/valid_object.liquid | 7 ++++++- .../tests/public/lib/commands/run.liquid | 17 +++++++++++------ .../public/lib/helpers/register_error.liquid | 14 ++++++-------- .../public/lib/queries/sent_mails/find.liquid | 3 +++ .../public/lib/queries/sent_mails/search.liquid | 4 ++++ .../public/views/layouts/mailer.html.liquid | 2 ++ .../public/views/pages/_tests/index.js.liquid | 2 ++ .../public/views/pages/_tests/run.html.liquid | 4 ++-- .../public/views/pages/_tests/run.js.liquid | 4 ++-- .../views/pages/_tests/run_async.js.liquid | 2 ++ .../public/views/pages/_tests/run_async.liquid | 2 ++ .../views/partials/sent_mails/list.liquid | 5 ++++- .../views/partials/sent_mails/pagination.liquid | 14 ++++++-------- .../views/partials/sent_mails/show.liquid | 3 +++ .../public/views/partials/tests/index.liquid | 3 +++ .../views/partials/tests/show_html.liquid | 5 +++++ .../public/views/partials/tests/show_js.liquid | 5 +++++ .../public/views/partials/tests/show_log.liquid | 6 ++++++ .../views/partials/tests/show_log_js.liquid | 8 +++++++- .../views/partials/tests/show_text.liquid | 7 +++++++ .../partials/tests/test_report_html.liquid | 4 ++++ .../partials/tests/test_report_text.liquid | 4 ++++ 36 files changed, 175 insertions(+), 43 deletions(-) diff --git a/pos-module-tests/app/lib/test/array_test.liquid b/pos-module-tests/app/lib/test/array_test.liquid index 2d19cda..1116876 100644 --- a/pos-module-tests/app/lib/test/array_test.liquid +++ b/pos-module-tests/app/lib/test/array_test.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} contract - test contract object tracking results +{% enddoc %} {% liquid # Test array-related assertions diff --git a/pos-module-tests/app/lib/test/example_test.liquid b/pos-module-tests/app/lib/test/example_test.liquid index 38b9689..e2c4597 100644 --- a/pos-module-tests/app/lib/test/example_test.liquid +++ b/pos-module-tests/app/lib/test/example_test.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} contract - test contract object tracking results +{% enddoc %} {% liquid # Example test demonstrating basic assertions @@ -12,7 +15,8 @@ # Test blank assertion assign empty_string = '' - function contract = 'modules/tests/assertions/blank', contract: contract, given: empty_string, field_name: 'empty string is blank' + assign blank_obj = { "blank_field": empty_string } + function contract = 'modules/tests/assertions/blank', contract: contract, object: blank_obj, field_name: 'blank_field' # Test presence assertion - expects object with field_name key assign obj_with_value = { "my_field": 'some value' } @@ -20,5 +24,5 @@ # Test true assertion - expects value parameter assign flag = true - function contract = 'modules/tests/assertions/true', contract: contract, value: flag, field_name: 'boolean true' + function contract = 'modules/tests/assertions/true', contract: contract, object: null, value: flag, field_name: 'boolean true' %} diff --git a/pos-module-tests/app/lib/test/examples/assertions_test.liquid b/pos-module-tests/app/lib/test/examples/assertions_test.liquid index 7f58397..8ab523d 100644 --- a/pos-module-tests/app/lib/test/examples/assertions_test.liquid +++ b/pos-module-tests/app/lib/test/examples/assertions_test.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} contract - test contract object tracking results +{% enddoc %} {% liquid # Example test demonstrating various assertions @@ -16,5 +19,5 @@ # Test true assertion assign flags = { "active": true } - function contract = 'modules/tests/assertions/true', contract: contract, object: flags, field_name: 'active' + function contract = 'modules/tests/assertions/true', contract: contract, object: flags, field_name: 'active', value: null %} diff --git a/pos-module-tests/app/lib/test/object_test.liquid b/pos-module-tests/app/lib/test/object_test.liquid index 489dcda..8295bfc 100644 --- a/pos-module-tests/app/lib/test/object_test.liquid +++ b/pos-module-tests/app/lib/test/object_test.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} contract - test contract object tracking results +{% enddoc %} {% liquid # Test object validation assertions @@ -12,5 +15,5 @@ # Test object contains object assign container = {"foo": "bar", "nested": {"a": 1, "b": 2}} assign subset = {"foo": "bar"} - function contract = 'modules/tests/assertions/object_contains_object', contract: contract, object: container, subset: subset, field_name: 'container has subset' + function contract = 'modules/tests/assertions/object_contains_object', contract: contract, given: container, object_contains: subset, field_name: 'container has subset' %} diff --git a/pos-module-tests/app/lib/test/string_test.liquid b/pos-module-tests/app/lib/test/string_test.liquid index 8e38861..b7bd338 100644 --- a/pos-module-tests/app/lib/test/string_test.liquid +++ b/pos-module-tests/app/lib/test/string_test.liquid @@ -1,9 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results +{% enddoc %} {% liquid # Test string-related assertions # Test not_true assertion assign flag = false - function contract = 'modules/tests/assertions/not_true', contract: contract, value: flag, field_name: 'boolean false' + function contract = 'modules/tests/assertions/not_true', contract: contract, object: null, value: flag, field_name: 'boolean false' # Test equal with strings assign greeting = 'Hello World' diff --git a/pos-module-tests/modules/tests/public/lib/assertions/blank.liquid b/pos-module-tests/modules/tests/public/lib/assertions/blank.liquid index 6920e76..02647a9 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/blank.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/blank.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check for blank field +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 unless object[field_name] == blank diff --git a/pos-module-tests/modules/tests/public/lib/assertions/equal.liquid b/pos-module-tests/modules/tests/public/lib/assertions/equal.liquid index 00ed31b..9b52a08 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/equal.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/equal.liquid @@ -1,9 +1,15 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} given - actual value to compare + @param {string} expected - expected value to compare against + @param {string} field_name - name of the field being tested +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if given != expected assign msg = 'modules/tests/should.equal' | t: given: given, expected: expected - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: msg + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: msg, key: null endif return contract %} diff --git a/pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid b/pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid index 0473897..71d0782 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/invalid_object.liquid @@ -1,7 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check invalidity of +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object.valid - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: object.errors + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: object.errors, key: null endif return contract %} diff --git a/pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid b/pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid index 3804424..108103a 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/not_presence.liquid @@ -1,7 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check for field absence +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object[field_name] != blank - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank', message: null endif return contract %} diff --git a/pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid b/pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid index 6eb5514..3db37f2 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/not_true.liquid @@ -1,9 +1,15 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {object} object - object containing the field to check + @param {string} field_name - name of the field being tested + @param {string} value - value to check for falsiness +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 assign value = value | default: object[field_name] if value - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_true' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_true', message: null endif return contract diff --git a/pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid b/pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid index 5a99069..62b7d72 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/not_valid_object.liquid @@ -1,7 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check invalidity of +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object.valid == true - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_valid' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_valid', message: null endif return contract %} diff --git a/pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid b/pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid index 9b1d223..92ff495 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/object_contains_object.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} given - object to check against + @param {object} object_contains - subset that should be contained in given +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 @@ -7,11 +13,11 @@ if given[key] == blank assign message = 'modules/tests/should.have_key' | t: field_name: field_name - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: key, message: message + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: key, message: message, key: null else if given[key] != value assign message = 'modules/tests/should.have_key_with_value' | t: value: value - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: key, message: message + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: key, message: message, key: null endif endif endfor diff --git a/pos-module-tests/modules/tests/public/lib/assertions/presence.liquid b/pos-module-tests/modules/tests/public/lib/assertions/presence.liquid index 6d21996..654355b 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/presence.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/presence.liquid @@ -1,7 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check for field presence +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object[field_name] == blank - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank', message: null endif return contract %} diff --git a/pos-module-tests/modules/tests/public/lib/assertions/true.liquid b/pos-module-tests/modules/tests/public/lib/assertions/true.liquid index 0159f94..396c8d7 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/true.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/true.liquid @@ -1,9 +1,15 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {object} object - object containing the field to check + @param {string} field_name - name of the field being tested + @param {string} value - value to check for truthiness +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 assign value = value | default: object[field_name] unless value - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.be_true' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.be_true', message: null endunless return contract diff --git a/pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid b/pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid index 33b405f..3c8233b 100644 --- a/pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid +++ b/pos-module-tests/modules/tests/public/lib/assertions/valid_object.liquid @@ -1,8 +1,13 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {object} object - object to check validity of + @param {string} field_name - name of the field being tested +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object.valid != true assign message = 'should be valid: ' | append: object.errors - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: message + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: message, key: null endif return contract %} diff --git a/pos-module-tests/modules/tests/public/lib/commands/run.liquid b/pos-module-tests/modules/tests/public/lib/commands/run.liquid index a82804b..8b9f928 100644 --- a/pos-module-tests/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-tests/modules/tests/public/lib/commands/run.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} test_name - name of the test to run + @param {string} format - output format for test results +{% enddoc %} {% liquid assign ctx = context assign ctx.tests = true @@ -7,6 +11,7 @@ graphql count_result = 'modules/tests/test_files/count', per_page: per_page, path: context.params.name assign total_pages = count_result | dig: "admin_liquid_partials" | dig: "total_pages" + assign tests = null if tests.size == 0 unless format == 'js' echo 'no tests found' @@ -16,15 +21,17 @@ assign contracts = '' | split: ',' for page in (1..total_pages) + # platformos-check-disable NestedGraphQLQuery graphql search_result = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page + # platformos-check-enable NestedGraphQLQuery assign tests = search_result | dig: "admin_liquid_partials" | dig: "results" for test in tests log test, type: test_name assign contract = { "errors": {}, "success": true, "total": 0 } - # platformos-check-disable ConvertIncludeToRender + # platformos-check-disable ConvertIncludeToRender, DeprecatedTag include test.path, registry: test.path, contract: contract - # platformos-check-enable ConvertIncludeToRender + # platformos-check-enable ConvertIncludeToRender, DeprecatedTag assign contract.test_path = test.path assign contracts << contract assign total_errors = total_errors | plus: contract.errors.size @@ -33,12 +40,10 @@ assign __stop = "now" | to_time assign total_duration = __start | time_diff: __stop, 'ms' | round - assign data = { "contracts": contracts, "total_errors": total_errors, "total_duration": total_duration } - assign test_formatter = format | default: 'html' | prepend: 'modules/tests/tests/show_' - # platformos-check-disable ConvertIncludeToRender + # platformos-check-disable ConvertIncludeToRender, DeprecatedTag include test_formatter, contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name - # platformos-check-enable ConvertIncludeToRender + # platformos-check-enable ConvertIncludeToRender, DeprecatedTag if total_errors > 0 response_status 500 endif diff --git a/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid b/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid index 9cde443..3519de8 100644 --- a/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid +++ b/pos-module-tests/modules/tests/public/lib/helpers/register_error.liquid @@ -1,11 +1,9 @@ -{% comment %} - @params - contract - { errors: {}, success: true } - field_name - message: - key: i18n to be resolved into message -{% endcomment %} - +{% doc %} + @param {string} key - i18n key to be resolved into message + @param {string} message - error message + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field with error +{% enddoc %} {% liquid assign key = key | default: null assign message = message | default: null diff --git a/pos-module-tests/modules/tests/public/lib/queries/sent_mails/find.liquid b/pos-module-tests/modules/tests/public/lib/queries/sent_mails/find.liquid index 4ab4a05..8f0ffab 100644 --- a/pos-module-tests/modules/tests/public/lib/queries/sent_mails/find.liquid +++ b/pos-module-tests/modules/tests/public/lib/queries/sent_mails/find.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} id - id of the sent mail to find +{% enddoc %} {% liquid if id == blank return null diff --git a/pos-module-tests/modules/tests/public/lib/queries/sent_mails/search.liquid b/pos-module-tests/modules/tests/public/lib/queries/sent_mails/search.liquid index 066ec06..648d9c5 100644 --- a/pos-module-tests/modules/tests/public/lib/queries/sent_mails/search.liquid +++ b/pos-module-tests/modules/tests/public/lib/queries/sent_mails/search.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {number} limit - maximum number of results to return + @param {number} page - page number for pagination +{% enddoc %} {% liquid graphql r = 'modules/tests/sent_mails/search', limit: limit, page: page return r.mails diff --git a/pos-module-tests/modules/tests/public/views/layouts/mailer.html.liquid b/pos-module-tests/modules/tests/public/views/layouts/mailer.html.liquid index 592a6b1..9ad2e52 100644 --- a/pos-module-tests/modules/tests/public/views/layouts/mailer.html.liquid +++ b/pos-module-tests/modules/tests/public/views/layouts/mailer.html.liquid @@ -149,7 +149,9 @@

    + {% comment %}platformos-check-disable TranslationKeyExists{% endcomment %} {{ 'app.title' | t: default: 'App' }} + {% comment %}platformos-check-enable TranslationKeyExists{% endcomment %}

    diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid index 46be7ea..c3fb479 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/index.js.liquid @@ -9,7 +9,9 @@ layout: '' assign result = [] for page in (1..total_pages) + # platformos-check-disable NestedGraphQLQuery graphql tests = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page | dig: "admin_liquid_partials" | dig: "results" + # platformos-check-enable NestedGraphQLQuery for test in tests assign test_name = test.path | remove_first: 'lib/test/' | remove_first: '_test' diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/run.html.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/run.html.liquid index 78ba8fb..810c933 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/run.html.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/run.html.liquid @@ -4,8 +4,8 @@ layout: modules/tests/test {% liquid if context.environment == 'staging' or context.environment == 'development' assign test_name = 5 | random_string | prepend: "liquid_test_" - # platformos-check-disable ConvertIncludeToRender + # platformos-check-disable ConvertIncludeToRender, DeprecatedTag include 'modules/tests/commands/run', format: context.params.formatter, test_name: test_name - # platformos-check-enable ConvertIncludeToRender + # platformos-check-enable ConvertIncludeToRender, DeprecatedTag endif %} diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/run.js.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/run.js.liquid index d36090c..6d123ab 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/run.js.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/run.js.liquid @@ -4,9 +4,9 @@ layout: '' {% liquid if context.environment == 'staging' or context.environment == 'development' assign test_name = 5 | random_string | prepend: "liquid_test_" - # platformos-check-disable ConvertIncludeToRender + # platformos-check-disable ConvertIncludeToRender, DeprecatedTag include 'modules/tests/commands/run', format: 'js', test_name: test_name - # platformos-check-enable ConvertIncludeToRender + # platformos-check-enable ConvertIncludeToRender, DeprecatedTag else echo '{"success":false,"error":"Tests can only be run in staging or development environment"}' endif diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid index 481743c..aa11aca 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.js.liquid @@ -4,7 +4,9 @@ layout: '' {% if context.environment == 'staging' or context.environment == 'development' %} {% assign test_name = 5 | random_string | prepend: "liquid_test_" %} {% background source_name: "liquid_tests", test_name: test_name %} + {% comment %}platformos-check-disable DeprecatedTag{% endcomment %} {% include 'modules/tests/commands/run', format: 'log_js', test_name: test_name %} + {% comment %}platformos-check-enable DeprecatedTag{% endcomment %} {% endbackground %} {% assign result = { "test_name": test_name } %} {{ result }} diff --git a/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.liquid b/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.liquid index 7cb08df..791a9e9 100644 --- a/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.liquid +++ b/pos-module-tests/modules/tests/public/views/pages/_tests/run_async.liquid @@ -4,7 +4,9 @@ layout: '' {% if context.environment == 'staging' %} {% assign test_name = 5 | random_string | prepend: "liquid_test_" %} {% background source_name: "liquid_tests", test_name: test_name %} + {% comment %}platformos-check-disable DeprecatedTag{% endcomment %} {% include 'modules/tests/commands/run', format: 'log', test_name: test_name %} + {% comment %}platformos-check-enable DeprecatedTag{% endcomment %} {% endbackground %} {{ test_name }} {% endif %} diff --git a/pos-module-tests/modules/tests/public/views/partials/sent_mails/list.liquid b/pos-module-tests/modules/tests/public/views/partials/sent_mails/list.liquid index eb8e245..176c391 100644 --- a/pos-module-tests/modules/tests/public/views/partials/sent_mails/list.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/sent_mails/list.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} mails - collection of sent mail objects +{% enddoc %}

    Sent mails

    @@ -17,4 +20,4 @@ {% endfor %}
    - {% render 'modules/tests/sent_mails/pagination', collection: mails %} + {% render 'modules/tests/sent_mails/pagination', collection: mails, container_class: null, button_attrs: null, page_name: null %} diff --git a/pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid b/pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid index 40be588..f58fd1e 100644 --- a/pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/sent_mails/pagination.liquid @@ -1,11 +1,9 @@ -{% comment %} - Required params: - collection: collection - current_page: integer - Optional params: - button_attrs: string - container_class: string -{% endcomment %} +{% doc %} + @param {string} container_class - CSS class for the pagination container + @param {string} button_attrs - HTML attributes for pagination buttons + @param {object} collection - paginated collection object + @param {string} page_name - name of the page query parameter +{% enddoc %} {% liquid assign container_class = container_class | default: "subtitle flex justify-center md:justify-end items-center mt-8 mx-auto md:mr-0 md:ms-auto" assign button_attrs = button_attrs | default: '' | html_safe diff --git a/pos-module-tests/modules/tests/public/views/partials/sent_mails/show.liquid b/pos-module-tests/modules/tests/public/views/partials/sent_mails/show.liquid index 2fad380..eb26c99 100644 --- a/pos-module-tests/modules/tests/public/views/partials/sent_mails/show.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/sent_mails/show.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} mail - sent mail object to display +{% enddoc %} Back

    Sent mail

    Sujbect: {{ mail.options.subject }}

    diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/index.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/index.liquid index 9434541..93f4439 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/index.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/index.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} tests - collection of test objects to display +{% enddoc %}
      Run Run Async diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/show_html.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/show_html.liquid index c2ce568..385222a 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/show_html.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/show_html.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {object} contracts - collection of test contracts + @param {number} total_errors - total number of errors + @param {number} total_duration - total test duration in ms +{% enddoc %}
      {% assign total = 0 %} {% liquid diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid index fab174d..a43633a 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/show_js.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {number} total_errors - total number of errors + @param {object} contracts - collection of test contracts + @param {number} total_duration - total test duration in ms +{% enddoc %} {% liquid assign result = {} assign total_assertions = 0 diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/show_log.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/show_log.liquid index 9abe2cc..f53c492 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/show_log.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/show_log.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} contracts - collection of test contracts + @param {number} total_errors - total number of errors + @param {number} total_duration - total test duration in ms + @param {string} test_name - name of the test run +{% enddoc %} {% capture result %} {% render 'modules/tests/tests/show_text', contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name %} {% endcapture %} diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/show_log_js.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/show_log_js.liquid index ffd51c6..55b4fd0 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/show_log_js.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/show_log_js.liquid @@ -1,5 +1,11 @@ +{% doc %} + @param {object} contracts - collection of test contracts + @param {number} total_errors - total number of errors + @param {number} total_duration - total test duration in ms + @param {string} test_name - name of the test run +{% enddoc %} {% capture result %} - {% render 'modules/tests/tests/show_js', contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name %} + {% render 'modules/tests/tests/show_js', contracts: contracts, total_errors: total_errors, total_duration: total_duration %} {% endcapture %} {% assign result = result | html_safe %} {% liquid diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/show_text.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/show_text.liquid index 3108c53..1068f1f 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/show_text.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/show_text.liquid @@ -1,6 +1,13 @@ +{% doc %} + @param {object} contracts - collection of test contracts + @param {number} total_errors - total number of errors + @param {string} test_name - name of the test run + @param {number} total_duration - total test duration in ms +{% enddoc %} Liquid tests ------------------------ {% liquid + assign total = 0 for contract in contracts render 'modules/tests/tests/test_report_text', name: contract.test_path, contract: contract assign total = total | plus: contract.total diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/test_report_html.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/test_report_html.liquid index 2ff1a43..d2570a7 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/test_report_html.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/test_report_html.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} name - test name path + @param {object} contract - test contract with results +{% enddoc %}
      {% assign test_name = name | replace: 'test/', '' %} diff --git a/pos-module-tests/modules/tests/public/views/partials/tests/test_report_text.liquid b/pos-module-tests/modules/tests/public/views/partials/tests/test_report_text.liquid index 29a8450..8527f6e 100644 --- a/pos-module-tests/modules/tests/public/views/partials/tests/test_report_text.liquid +++ b/pos-module-tests/modules/tests/public/views/partials/tests/test_report_text.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} name - test name path + @param {object} contract - test contract with results +{% enddoc %} {% assign test_name = name | replace: 'test/', '' %} {{ test_name }} {% for e in contract.errors %} From 0e249eec45834a90a50083b40277d2386721040d Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Mon, 16 Mar 2026 08:36:06 +0000 Subject: [PATCH 41/44] Tests module cleanup --- .../tests/public/lib/assertions/blank.liquid | 5 +++++ .../tests/public/lib/assertions/equal.liquid | 8 +++++++- .../lib/assertions/invalid_object.liquid | 7 ++++++- .../public/lib/assertions/not_presence.liquid | 7 ++++++- .../public/lib/assertions/not_true.liquid | 8 +++++++- .../lib/assertions/not_valid_object.liquid | 7 ++++++- .../assertions/object_contains_object.liquid | 10 ++++++++-- .../public/lib/assertions/presence.liquid | 7 ++++++- .../tests/public/lib/assertions/true.liquid | 8 +++++++- .../public/lib/assertions/valid_object.liquid | 7 ++++++- .../tests/public/lib/commands/run.liquid | 19 +++++++++++-------- .../public/lib/helpers/register_error.liquid | 14 ++++++-------- .../public/lib/queries/sent_mails/find.liquid | 3 +++ .../lib/queries/sent_mails/search.liquid | 4 ++++ .../public/views/layouts/mailer.html.liquid | 2 ++ .../public/views/pages/_tests/index.js.liquid | 2 ++ .../public/views/pages/_tests/run.html.liquid | 6 ++---- .../public/views/pages/_tests/run.js.liquid | 6 ++---- .../views/pages/_tests/run_async.js.liquid | 2 ++ .../views/pages/_tests/run_async.liquid | 2 ++ .../views/partials/sent_mails/list.liquid | 5 ++++- .../partials/sent_mails/pagination.liquid | 14 ++++++-------- .../views/partials/sent_mails/show.liquid | 3 +++ .../public/views/partials/tests/index.liquid | 3 +++ .../views/partials/tests/show_html.liquid | 5 +++++ .../views/partials/tests/show_js.liquid | 5 +++++ .../views/partials/tests/show_log.liquid | 6 ++++++ .../views/partials/tests/show_log_js.liquid | 8 +++++++- .../views/partials/tests/show_text.liquid | 7 +++++++ .../partials/tests/test_report_html.liquid | 4 ++++ .../partials/tests/test_report_text.liquid | 4 ++++ .../modules/tests/template-values.json | 2 +- 32 files changed, 155 insertions(+), 45 deletions(-) diff --git a/pos-module-user/modules/tests/public/lib/assertions/blank.liquid b/pos-module-user/modules/tests/public/lib/assertions/blank.liquid index 6920e76..02647a9 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/blank.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/blank.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check for blank field +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 unless object[field_name] == blank diff --git a/pos-module-user/modules/tests/public/lib/assertions/equal.liquid b/pos-module-user/modules/tests/public/lib/assertions/equal.liquid index 00ed31b..9b52a08 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/equal.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/equal.liquid @@ -1,9 +1,15 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} given - actual value to compare + @param {string} expected - expected value to compare against + @param {string} field_name - name of the field being tested +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if given != expected assign msg = 'modules/tests/should.equal' | t: given: given, expected: expected - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: msg + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: msg, key: null endif return contract %} diff --git a/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid b/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid index 0473897..71d0782 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/invalid_object.liquid @@ -1,7 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check invalidity of +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object.valid - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: object.errors + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: object.errors, key: null endif return contract %} diff --git a/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid b/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid index 3804424..108103a 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/not_presence.liquid @@ -1,7 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check for field absence +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object[field_name] != blank - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank', message: null endif return contract %} diff --git a/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid b/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid index 6eb5514..3db37f2 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/not_true.liquid @@ -1,9 +1,15 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {object} object - object containing the field to check + @param {string} field_name - name of the field being tested + @param {string} value - value to check for falsiness +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 assign value = value | default: object[field_name] if value - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_true' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_true', message: null endif return contract diff --git a/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid b/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid index 5a99069..62b7d72 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/not_valid_object.liquid @@ -1,7 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check invalidity of +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object.valid == true - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_valid' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_valid', message: null endif return contract %} diff --git a/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid b/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid index 9b1d223..92ff495 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/object_contains_object.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} given - object to check against + @param {object} object_contains - subset that should be contained in given +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 @@ -7,11 +13,11 @@ if given[key] == blank assign message = 'modules/tests/should.have_key' | t: field_name: field_name - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: key, message: message + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: key, message: message, key: null else if given[key] != value assign message = 'modules/tests/should.have_key_with_value' | t: value: value - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: key, message: message + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: key, message: message, key: null endif endif endfor diff --git a/pos-module-user/modules/tests/public/lib/assertions/presence.liquid b/pos-module-user/modules/tests/public/lib/assertions/presence.liquid index 6d21996..654355b 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/presence.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/presence.liquid @@ -1,7 +1,12 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field being tested + @param {object} object - object to check for field presence +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object[field_name] == blank - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.not.be_blank', message: null endif return contract %} diff --git a/pos-module-user/modules/tests/public/lib/assertions/true.liquid b/pos-module-user/modules/tests/public/lib/assertions/true.liquid index 0159f94..396c8d7 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/true.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/true.liquid @@ -1,9 +1,15 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {object} object - object containing the field to check + @param {string} field_name - name of the field being tested + @param {string} value - value to check for truthiness +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 assign value = value | default: object[field_name] unless value - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.be_true' + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, key: 'modules/tests/should.be_true', message: null endunless return contract diff --git a/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid b/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid index 33b405f..3c8233b 100644 --- a/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid +++ b/pos-module-user/modules/tests/public/lib/assertions/valid_object.liquid @@ -1,8 +1,13 @@ +{% doc %} + @param {object} contract - test contract object tracking results + @param {object} object - object to check validity of + @param {string} field_name - name of the field being tested +{% enddoc %} {% liquid assign contract.total = contract['total'] | plus: 1 if object.valid != true assign message = 'should be valid: ' | append: object.errors - function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: message + function contract = 'modules/tests/helpers/register_error', contract: contract, field_name: field_name, message: message, key: null endif return contract %} diff --git a/pos-module-user/modules/tests/public/lib/commands/run.liquid b/pos-module-user/modules/tests/public/lib/commands/run.liquid index 13af90a..8b9f928 100644 --- a/pos-module-user/modules/tests/public/lib/commands/run.liquid +++ b/pos-module-user/modules/tests/public/lib/commands/run.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} test_name - name of the test to run + @param {string} format - output format for test results +{% enddoc %} {% liquid assign ctx = context assign ctx.tests = true @@ -7,6 +11,7 @@ graphql count_result = 'modules/tests/test_files/count', per_page: per_page, path: context.params.name assign total_pages = count_result | dig: "admin_liquid_partials" | dig: "total_pages" + assign tests = null if tests.size == 0 unless format == 'js' echo 'no tests found' @@ -16,17 +21,17 @@ assign contracts = '' | split: ',' for page in (1..total_pages) + # platformos-check-disable NestedGraphQLQuery graphql search_result = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page + # platformos-check-enable NestedGraphQLQuery assign tests = search_result | dig: "admin_liquid_partials" | dig: "results" for test in tests log test, type: test_name assign contract = { "errors": {}, "success": true, "total": 0 } - # platformos-check-disable ConvertIncludeToRender - # platformos-check-disable DeprecatedTag + # platformos-check-disable ConvertIncludeToRender, DeprecatedTag include test.path, registry: test.path, contract: contract - # platformos-check-enable DeprecatedTag - # platformos-check-enable ConvertIncludeToRender + # platformos-check-enable ConvertIncludeToRender, DeprecatedTag assign contract.test_path = test.path assign contracts << contract assign total_errors = total_errors | plus: contract.errors.size @@ -36,11 +41,9 @@ assign total_duration = __start | time_diff: __stop, 'ms' | round assign test_formatter = format | default: 'html' | prepend: 'modules/tests/tests/show_' - # platformos-check-disable ConvertIncludeToRender - # platformos-check-disable DeprecatedTag + # platformos-check-disable ConvertIncludeToRender, DeprecatedTag include test_formatter, contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name - # platformos-check-enable DeprecatedTag - # platformos-check-enable ConvertIncludeToRender + # platformos-check-enable ConvertIncludeToRender, DeprecatedTag if total_errors > 0 response_status 500 endif diff --git a/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid b/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid index 9cde443..3519de8 100644 --- a/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid +++ b/pos-module-user/modules/tests/public/lib/helpers/register_error.liquid @@ -1,11 +1,9 @@ -{% comment %} - @params - contract - { errors: {}, success: true } - field_name - message: - key: i18n to be resolved into message -{% endcomment %} - +{% doc %} + @param {string} key - i18n key to be resolved into message + @param {string} message - error message + @param {object} contract - test contract object tracking results + @param {string} field_name - name of the field with error +{% enddoc %} {% liquid assign key = key | default: null assign message = message | default: null diff --git a/pos-module-user/modules/tests/public/lib/queries/sent_mails/find.liquid b/pos-module-user/modules/tests/public/lib/queries/sent_mails/find.liquid index 4ab4a05..8f0ffab 100644 --- a/pos-module-user/modules/tests/public/lib/queries/sent_mails/find.liquid +++ b/pos-module-user/modules/tests/public/lib/queries/sent_mails/find.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} id - id of the sent mail to find +{% enddoc %} {% liquid if id == blank return null diff --git a/pos-module-user/modules/tests/public/lib/queries/sent_mails/search.liquid b/pos-module-user/modules/tests/public/lib/queries/sent_mails/search.liquid index 066ec06..648d9c5 100644 --- a/pos-module-user/modules/tests/public/lib/queries/sent_mails/search.liquid +++ b/pos-module-user/modules/tests/public/lib/queries/sent_mails/search.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {number} limit - maximum number of results to return + @param {number} page - page number for pagination +{% enddoc %} {% liquid graphql r = 'modules/tests/sent_mails/search', limit: limit, page: page return r.mails diff --git a/pos-module-user/modules/tests/public/views/layouts/mailer.html.liquid b/pos-module-user/modules/tests/public/views/layouts/mailer.html.liquid index 592a6b1..9ad2e52 100644 --- a/pos-module-user/modules/tests/public/views/layouts/mailer.html.liquid +++ b/pos-module-user/modules/tests/public/views/layouts/mailer.html.liquid @@ -149,7 +149,9 @@

      + {% comment %}platformos-check-disable TranslationKeyExists{% endcomment %} {{ 'app.title' | t: default: 'App' }} + {% comment %}platformos-check-enable TranslationKeyExists{% endcomment %}

      diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid index 46be7ea..c3fb479 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/index.js.liquid @@ -9,7 +9,9 @@ layout: '' assign result = [] for page in (1..total_pages) + # platformos-check-disable NestedGraphQLQuery graphql tests = 'modules/tests/test_files/search', path: context.params.name, page: page, per_page: per_page | dig: "admin_liquid_partials" | dig: "results" + # platformos-check-enable NestedGraphQLQuery for test in tests assign test_name = test.path | remove_first: 'lib/test/' | remove_first: '_test' diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid index 9c78d7e..810c933 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run.html.liquid @@ -4,10 +4,8 @@ layout: modules/tests/test {% liquid if context.environment == 'staging' or context.environment == 'development' assign test_name = 5 | random_string | prepend: "liquid_test_" - # platformos-check-disable ConvertIncludeToRender - # platformos-check-disable DeprecatedTag + # platformos-check-disable ConvertIncludeToRender, DeprecatedTag include 'modules/tests/commands/run', format: context.params.formatter, test_name: test_name - # platformos-check-enable DeprecatedTag - # platformos-check-enable ConvertIncludeToRender + # platformos-check-enable ConvertIncludeToRender, DeprecatedTag endif %} diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid index 8ebadf0..6d123ab 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run.js.liquid @@ -4,11 +4,9 @@ layout: '' {% liquid if context.environment == 'staging' or context.environment == 'development' assign test_name = 5 | random_string | prepend: "liquid_test_" - # platformos-check-disable ConvertIncludeToRender - # platformos-check-disable DeprecatedTag + # platformos-check-disable ConvertIncludeToRender, DeprecatedTag include 'modules/tests/commands/run', format: 'js', test_name: test_name - # platformos-check-enable DeprecatedTag - # platformos-check-enable ConvertIncludeToRender + # platformos-check-enable ConvertIncludeToRender, DeprecatedTag else echo '{"success":false,"error":"Tests can only be run in staging or development environment"}' endif diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid index 481743c..aa11aca 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run_async.js.liquid @@ -4,7 +4,9 @@ layout: '' {% if context.environment == 'staging' or context.environment == 'development' %} {% assign test_name = 5 | random_string | prepend: "liquid_test_" %} {% background source_name: "liquid_tests", test_name: test_name %} + {% comment %}platformos-check-disable DeprecatedTag{% endcomment %} {% include 'modules/tests/commands/run', format: 'log_js', test_name: test_name %} + {% comment %}platformos-check-enable DeprecatedTag{% endcomment %} {% endbackground %} {% assign result = { "test_name": test_name } %} {{ result }} diff --git a/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid b/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid index 7cb08df..791a9e9 100644 --- a/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid +++ b/pos-module-user/modules/tests/public/views/pages/_tests/run_async.liquid @@ -4,7 +4,9 @@ layout: '' {% if context.environment == 'staging' %} {% assign test_name = 5 | random_string | prepend: "liquid_test_" %} {% background source_name: "liquid_tests", test_name: test_name %} + {% comment %}platformos-check-disable DeprecatedTag{% endcomment %} {% include 'modules/tests/commands/run', format: 'log', test_name: test_name %} + {% comment %}platformos-check-enable DeprecatedTag{% endcomment %} {% endbackground %} {{ test_name }} {% endif %} diff --git a/pos-module-user/modules/tests/public/views/partials/sent_mails/list.liquid b/pos-module-user/modules/tests/public/views/partials/sent_mails/list.liquid index eb8e245..176c391 100644 --- a/pos-module-user/modules/tests/public/views/partials/sent_mails/list.liquid +++ b/pos-module-user/modules/tests/public/views/partials/sent_mails/list.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} mails - collection of sent mail objects +{% enddoc %}

      Sent mails

      @@ -17,4 +20,4 @@ {% endfor %}
      - {% render 'modules/tests/sent_mails/pagination', collection: mails %} + {% render 'modules/tests/sent_mails/pagination', collection: mails, container_class: null, button_attrs: null, page_name: null %} diff --git a/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid b/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid index 40be588..f58fd1e 100644 --- a/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid +++ b/pos-module-user/modules/tests/public/views/partials/sent_mails/pagination.liquid @@ -1,11 +1,9 @@ -{% comment %} - Required params: - collection: collection - current_page: integer - Optional params: - button_attrs: string - container_class: string -{% endcomment %} +{% doc %} + @param {string} container_class - CSS class for the pagination container + @param {string} button_attrs - HTML attributes for pagination buttons + @param {object} collection - paginated collection object + @param {string} page_name - name of the page query parameter +{% enddoc %} {% liquid assign container_class = container_class | default: "subtitle flex justify-center md:justify-end items-center mt-8 mx-auto md:mr-0 md:ms-auto" assign button_attrs = button_attrs | default: '' | html_safe diff --git a/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid b/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid index 2fad380..eb26c99 100644 --- a/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid +++ b/pos-module-user/modules/tests/public/views/partials/sent_mails/show.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} mail - sent mail object to display +{% enddoc %} Back

      Sent mail

      Sujbect: {{ mail.options.subject }}

      diff --git a/pos-module-user/modules/tests/public/views/partials/tests/index.liquid b/pos-module-user/modules/tests/public/views/partials/tests/index.liquid index 9434541..93f4439 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/index.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/index.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {object} tests - collection of test objects to display +{% enddoc %}
        Run Run Async diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid index c2ce568..385222a 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_html.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {object} contracts - collection of test contracts + @param {number} total_errors - total number of errors + @param {number} total_duration - total test duration in ms +{% enddoc %}
        {% assign total = 0 %} {% liquid diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid index fab174d..a43633a 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_js.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {number} total_errors - total number of errors + @param {object} contracts - collection of test contracts + @param {number} total_duration - total test duration in ms +{% enddoc %} {% liquid assign result = {} assign total_assertions = 0 diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid index 9abe2cc..f53c492 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_log.liquid @@ -1,3 +1,9 @@ +{% doc %} + @param {object} contracts - collection of test contracts + @param {number} total_errors - total number of errors + @param {number} total_duration - total test duration in ms + @param {string} test_name - name of the test run +{% enddoc %} {% capture result %} {% render 'modules/tests/tests/show_text', contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name %} {% endcapture %} diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid index ffd51c6..55b4fd0 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_log_js.liquid @@ -1,5 +1,11 @@ +{% doc %} + @param {object} contracts - collection of test contracts + @param {number} total_errors - total number of errors + @param {number} total_duration - total test duration in ms + @param {string} test_name - name of the test run +{% enddoc %} {% capture result %} - {% render 'modules/tests/tests/show_js', contracts: contracts, total_errors: total_errors, total_duration: total_duration, test_name: test_name %} + {% render 'modules/tests/tests/show_js', contracts: contracts, total_errors: total_errors, total_duration: total_duration %} {% endcapture %} {% assign result = result | html_safe %} {% liquid diff --git a/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid b/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid index 3108c53..1068f1f 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/show_text.liquid @@ -1,6 +1,13 @@ +{% doc %} + @param {object} contracts - collection of test contracts + @param {number} total_errors - total number of errors + @param {string} test_name - name of the test run + @param {number} total_duration - total test duration in ms +{% enddoc %} Liquid tests ------------------------ {% liquid + assign total = 0 for contract in contracts render 'modules/tests/tests/test_report_text', name: contract.test_path, contract: contract assign total = total | plus: contract.total diff --git a/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid b/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid index 2ff1a43..d2570a7 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/test_report_html.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} name - test name path + @param {object} contract - test contract with results +{% enddoc %}
        {% assign test_name = name | replace: 'test/', '' %} diff --git a/pos-module-user/modules/tests/public/views/partials/tests/test_report_text.liquid b/pos-module-user/modules/tests/public/views/partials/tests/test_report_text.liquid index 29a8450..8527f6e 100644 --- a/pos-module-user/modules/tests/public/views/partials/tests/test_report_text.liquid +++ b/pos-module-user/modules/tests/public/views/partials/tests/test_report_text.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} name - test name path + @param {object} contract - test contract with results +{% enddoc %} {% assign test_name = name | replace: 'test/', '' %} {{ test_name }} {% for e in contract.errors %} diff --git a/pos-module-user/modules/tests/template-values.json b/pos-module-user/modules/tests/template-values.json index 9f70878..bb3979d 100644 --- a/pos-module-user/modules/tests/template-values.json +++ b/pos-module-user/modules/tests/template-values.json @@ -2,6 +2,6 @@ "name": "Pos Module Tests", "machine_name": "tests", "type": "module", - "version": "1.3.0", + "version": "1.3.1", "dependencies": {} } From 789426da2c316162e223767ee6769eb2f1b9d112 Mon Sep 17 00:00:00 2001 From: Wojciech Grzeszczak Date: Mon, 16 Mar 2026 08:51:27 +0000 Subject: [PATCH 42/44] Cleanup common-styling --- .../app/lib/queries/uploads/presign.liquid | 4 ++++ .../public/views/layouts/style-guide.liquid | 2 +- .../views/partials/content/alert.liquid | 14 ++++++++----- .../public/views/partials/content/card.liquid | 10 +++++++++- .../views/partials/content/dialog.liquid | 9 +++++++-- .../partials/forms/error_input_handler.liquid | 6 +++++- .../views/partials/forms/error_list.liquid | 4 ++++ .../views/partials/forms/markdown.liquid | 10 +++++++++- .../views/partials/forms/multiselect.liquid | 19 ++++++++++++++++-- .../views/partials/forms/password.liquid | 7 +++++++ .../public/views/partials/forms/upload.liquid | 10 ++++++++++ .../public/views/partials/icon.liquid | 4 ++++ .../public/views/partials/init.liquid | 3 +++ .../partials/navigation/collapsible.liquid | 7 ++++++- .../public/views/partials/pagination.liquid | 9 ++++++--- .../views/partials/style-guide/forms.liquid | 12 +++++------ .../views/partials/style-guide/icons.liquid | 4 ++-- .../partials/style-guide/navigation.liquid | 8 ++++---- .../views/partials/style-guide/upload.liquid | 13 ++++++++++-- .../public/views/partials/tip.liquid | 3 +++ .../public/views/partials/toasts.liquid | 8 ++++++++ .../public/views/partials/user/avatar.liquid | 13 +++++++++--- .../public/views/partials/user/card.liquid | 20 ++++++++++++++++++- 23 files changed, 164 insertions(+), 35 deletions(-) diff --git a/pos-module-common-styling/app/lib/queries/uploads/presign.liquid b/pos-module-common-styling/app/lib/queries/uploads/presign.liquid index 0ac9837..2cf77c9 100644 --- a/pos-module-common-styling/app/lib/queries/uploads/presign.liquid +++ b/pos-module-common-styling/app/lib/queries/uploads/presign.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} table - database table name + @param {string} property - property name for the upload +{% enddoc %} {% liquid graphql presign = 'uploads/presign', table: table, property: property diff --git a/pos-module-common-styling/modules/common-styling/public/views/layouts/style-guide.liquid b/pos-module-common-styling/modules/common-styling/public/views/layouts/style-guide.liquid index f0798bc..b4d5ccf 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/layouts/style-guide.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/layouts/style-guide.liquid @@ -19,7 +19,7 @@ {{ content_for_layout }} {% liquid - render 'modules/common-styling/toasts' + render 'modules/common-styling/toasts', autohide: null, delay: null, message: null, severity: null %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/content/alert.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/content/alert.liquid index 062fdbf..be22eb5 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/content/alert.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/content/alert.liquid @@ -1,4 +1,8 @@ -{% comment %} +{% doc %} + @param {string} type - one of success, error, warning, info + @param {string} content - alert content +{% enddoc %} +{% comment %} alert box @@ -18,13 +22,13 @@
        {% case type %} {% when 'info' %} - {% render 'modules/common-styling/icon', icon: 'info' %} + {% render 'modules/common-styling/icon', icon: 'info', class: null %} {% when 'warning' %} - {% render 'modules/common-styling/icon', icon: 'warning' %} + {% render 'modules/common-styling/icon', icon: 'warning', class: null %} {% when 'error' %} - {% render 'modules/common-styling/icon', icon: 'delete' %} + {% render 'modules/common-styling/icon', icon: 'delete', class: null %} {% when 'success' %} - {% render 'modules/common-styling/icon', icon: 'checkBadge' %} + {% render 'modules/common-styling/icon', icon: 'checkBadge', class: null %} {% endcase %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/content/card.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/content/card.liquid index d6773e8..5b4e744 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/content/card.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/content/card.liquid @@ -1,4 +1,12 @@ -{% comment %} +{% doc %} + @param {string} url - where the card should link to + @param {string} image - image object with versions or URL string + @param {string} title - card title + @param {string} content - card description + @param {string} footer - secondary related content + @param {boolean} highlighted - whether to distinguish the card +{% enddoc %} +{% comment %} content card with an image, title and a description diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/content/dialog.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/content/dialog.liquid index cb045bc..781b478 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/content/dialog.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/content/dialog.liquid @@ -1,4 +1,9 @@ -{% comment %} +{% doc %} + @param {string} title - dialog title + @param {string} content - html content for the dialog + @param {string} id - unique ID for the dialog +{% enddoc %} +{% comment %} modal dialog that is hidden by default and can be shown with a button @@ -17,7 +22,7 @@ {% endif %} {% print content %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/error_input_handler.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/error_input_handler.liquid index 2a8ca4b..3154bf1 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/error_input_handler.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/error_input_handler.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} name - form input name used for error element ID + @param {object} errors - list of validation errors +{% enddoc %} {% if errors %} - aria-invalid="true" aria-describedby="pos-form-{{ name }}-error" + aria-invalid="true" aria-describedby="pos-form-{{ name }}-error" {% endif %} \ No newline at end of file diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/error_list.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/error_list.liquid index 6a7656a..1e89efc 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/error_list.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/error_list.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {object} errors - list of validation errors to display + @param {string} name - form input name used for error element ID +{% enddoc %} {% if errors %}
          {% for error in errors %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/markdown.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/markdown.liquid index 1a1231a..2d38274 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/markdown.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/markdown.liquid @@ -1,3 +1,11 @@ +{% doc %} + @param {string} id - unique id for the module + @param {string} value - pre-filled content for the textarea + @param {number} minlength - minimum number of characters allowed + @param {number} maxlength - maximum number of characters allowed + @param {string} name - name for the textarea + @param {object} presigned_upload - presigned upload data for file uploads +{% enddoc %} {% comment %} Rich text editor @@ -9,7 +17,7 @@ - value (string) pre-filled content for the textarea - minlength (number) minimum number of characters allowed in the textarea - maxlength (number) maximum number of characters allowed in the textarea - + {% endcomment %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid index 4d9b614..8fb6c49 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/multiselect.liquid @@ -1,3 +1,18 @@ +{% doc %} + @param {string} id - unique ID of the input + @param {object} list - array of objects with value and label properties + @param {object} selected - array of selected values + @param {string} view - display view mode + @param {string} placeholder - translation key for placeholder + @param {string} placeholder_filter - translation key for filter placeholder + @param {string} placeholder_empty - translation key for empty filter results + @param {boolean} combine_selected - combine selected items into single element + @param {boolean} showFilter - show filter text input + @param {string} name - name for the multiselect checkboxes + @param {string} form - form element the multiselect belongs to + @param {boolean} required - whether at least one option is required + @param {boolean} multiline - extend list vertically for overflow +{% enddoc %} {% comment %} Multiselect input component @@ -57,7 +72,7 @@ 0 selected
        {% endif %} @@ -66,7 +81,7 @@ diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid index 7e798c9..8d594c8 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/password.liquid @@ -1,3 +1,10 @@ +{% doc %} + @param {string} name - form input name + @param {string} id - input id + @param {string} value - value in the input + @param {boolean} meter - whether to show password strength meter + @param {string} class - class list added to the input container +{% enddoc %} {% comment %} password input with an optional strength meter diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/upload.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/upload.liquid index ac10e62..8e218c3 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/forms/upload.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/forms/upload.liquid @@ -1,3 +1,13 @@ +{% doc %} + @param {boolean} image_editor_enabled - whether to enable image editor + @param {string} allowed_file_types - allowed file types + @param {number} max_number_of_files - maximum number of files to upload + @param {string} aspect_ratio - aspect ratio for image editor cropping + @param {string} name - name for the input with uploaded file URLs + @param {object} files - previously uploaded files to display + @param {string} id - unique id for the upload module + @param {object} presigned_upload - presigned upload data +{% enddoc %} {% comment %} File uploading diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/icon.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/icon.liquid index 3fb881d..8495f73 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/icon.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/icon.liquid @@ -1,3 +1,7 @@ +{% doc %} + @param {string} icon - name of the icon to render + @param {string} class - CSS class to apply to the icon +{% enddoc %} {% comment %} List of icons in SVG format diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid index 25d0a85..b0486c3 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/init.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {boolean} reset - whether to include the CSS reset stylesheet +{% enddoc %} {% if reset %} {% endif %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/navigation/collapsible.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/navigation/collapsible.liquid index 987eab0..6de9953 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/navigation/collapsible.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/navigation/collapsible.liquid @@ -1,3 +1,8 @@ +{% doc %} + @param {boolean} inert - whether to render without collapsible class + @param {boolean} active - active URL to highlight + @param {object} items - array of navigation items with url, label, children +{% enddoc %} {% liquid assign inert = inert | default: false assign active = active | default: false @@ -17,7 +22,7 @@ {% if item.children.size > 0 %} {% endif %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/pagination.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/pagination.liquid index c39331b..cd044ed 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/pagination.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/pagination.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {number} total_pages - how many total pages available +{% enddoc %} {% comment %} numbered pagination with arrows if the number of pages is large @@ -13,7 +16,7 @@ assign url = '?' if context.location.search assign query_string = context.location.search - assign removed = query_string | hash_delete_key: 'page' + assign _ = query_string | hash_delete_key: 'page' if query_string.size > 0 assign query_string = query_string | querify @@ -31,7 +34,7 @@ {% if current != 1 %} Go to page {{ current | minus: 1 }} - {% render 'modules/common-styling/icon', icon: 'dashLeft' %} + {% render 'modules/common-styling/icon', icon: 'dashLeft', class: null %} {% endif %} @@ -52,7 +55,7 @@ {% if current != total_pages %} Go to page {{ current | plus: 1 }} - {% render 'modules/common-styling/icon', icon: 'dashRight' %} + {% render 'modules/common-styling/icon', icon: 'dashRight', class: null %} {% endif %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid index 4d79f7e..2c9c03c 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/forms.liquid @@ -332,7 +332,7 @@

        Markdown editor

        - {% render 'modules/common-styling/forms/markdown', id: 'styleguide-markdown-editor', name: 'styleguide-markdown-editor' %} + {% render 'modules/common-styling/forms/markdown', id: 'styleguide-markdown-editor', name: 'styleguide-markdown-editor', value: null, minlength: null, maxlength: null, presigned_upload: null %} {% capture code %}{% raw %} {% render 'modules/common-styling/forms/markdown', @@ -434,7 +434,7 @@ {% liquid assign example_list = '' | split: '' - for i in (i..10) + for i in (0..10) assign value = 'value' | append: i assign label = 'Label for value ' | append: i assign example_item = {"value": value, "label": label} @@ -442,10 +442,10 @@ assign selected = ["value0", "value5", "value6"] endfor %} - {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-1', id: 'styleguide-form-multiselect-test-1', list: example_list, showFilter: true, combine_selected: true, selected: selected, required: null, multiline: null, form: null %} - {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-2', id: 'styleguide-form-multiselect-test-2', list: example_list, showFilter: true, selected: selected, required: null, multiline: null, combine_selected: null, form: null %} - {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-3', id: 'styleguide-form-multiselect-test-3', list: example_list, showFilter: false, multiline: true, selected: selected, required: null, combine_selected: null, form: null %} - {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-4', id: 'styleguide-form-multiselect-test-4', list: example_list, selected: selected, showFilter: true, combine_selected: true, required: null, multiline: null, form: null %} + {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-1', id: 'styleguide-form-multiselect-test-1', list: example_list, showFilter: true, combine_selected: true, selected: selected, required: null, multiline: null, form: null, view: null, placeholder: null, placeholder_filter: null, placeholder_empty: null %} + {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-2', id: 'styleguide-form-multiselect-test-2', list: example_list, showFilter: true, selected: selected, required: null, multiline: null, combine_selected: null, form: null, view: null, placeholder: null, placeholder_filter: null, placeholder_empty: null %} + {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-3', id: 'styleguide-form-multiselect-test-3', list: example_list, showFilter: false, multiline: true, selected: selected, required: null, combine_selected: null, form: null, view: null, placeholder: null, placeholder_filter: null, placeholder_empty: null %} + {% render 'modules/common-styling/forms/multiselect', name: 'styleguide-form-multiselect-test-4', id: 'styleguide-form-multiselect-test-4', list: example_list, selected: selected, showFilter: true, combine_selected: true, required: null, multiline: null, form: null, view: null, placeholder: null, placeholder_filter: null, placeholder_empty: null %}
        {% capture code %}{% raw %} {% render 'modules/common-styling/forms/multiselect', diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/icons.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/icons.liquid index cb3f910..b0183c9 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/icons.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/icons.liquid @@ -1,12 +1,12 @@

        Icons

        {% capture code %}{% raw %} -{% render 'modules/common-styling/icon', icon: 'dashDown' %} +{% render 'modules/common-styling/icon', icon: 'dashDown', class: null %} {% endraw %}{% endcapture %}
        {{ code | lstrip | rstrip }}
          - {% render 'modules/common-styling/icon', icon: 'all' %} + {% render 'modules/common-styling/icon', icon: 'all', class: null %}
        diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/navigation.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/navigation.liquid index 1360c16..1147869 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/navigation.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/navigation.liquid @@ -4,7 +4,7 @@

        Pagination

        {% liquid - render 'modules/common-styling/pagination', total_pages: 20, rightArrow: null + render 'modules/common-styling/pagination', total_pages: 20 %}
        {% capture code %}{% raw %} @@ -75,7 +75,7 @@ render 'modules/common-styling/pagination', total_pages: 20 {% endparse_json %} {% liquid - render 'modules/common-styling/navigation/collapsible', items: navigation, active: 'https://documentation.platformos.com/get-started' + render 'modules/common-styling/navigation/collapsible', items: navigation, active: 'https://documentation.platformos.com/get-started', inert: null %}
        {% capture code %}{% raw %} @@ -180,7 +180,7 @@ render 'modules/common-styling/pagination', total_pages: 20

        Title

        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi quis lorem rutrum, lacinia velit non, accumsan quam. Sed tincidunt purus eget euismod congue. Aliquam ultrices lectus eu quam pulvinar cursus. Mauris aliquet leo ante. Integer at urna felis.


        @@ -197,7 +197,7 @@ render 'modules/common-styling/pagination', total_pages: 20

        Title

        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi quis lorem rutrum, lacinia velit non, accumsan quam. Sed tincidunt purus eget euismod congue. Aliquam ultrices lectus eu quam pulvinar cursus. Mauris aliquet leo ante. Integer at urna felis.


        diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/upload.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/upload.liquid index c2b79de..d5c1fae 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/upload.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/style-guide/upload.liquid @@ -7,7 +7,12 @@ {% render 'modules/common-styling/forms/upload', id: 'styleguide-upload-1', presigned_upload: context.presigned_upload, - name: 'styleguide-upload-1' + name: 'styleguide-upload-1', + image_editor_enabled: null, + allowed_file_types: null, + max_number_of_files: null, + aspect_ratio: null, + files: null %}
      {% capture code %}{% raw %} @@ -44,7 +49,11 @@ id: 'styleguide-upload-2', presigned_upload: context.presigned_upload, name: 'styleguide-upload-2', - files: files + files: files, + image_editor_enabled: null, + allowed_file_types: null, + max_number_of_files: null, + aspect_ratio: null %}
      {% capture code %}{% raw %} diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/tip.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/tip.liquid index e2701d5..96bac51 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/tip.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/tip.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} content - content to display in the tip +{% enddoc %}
      diff --git a/pos-module-common-styling/modules/common-styling/public/views/partials/toasts.liquid b/pos-module-common-styling/modules/common-styling/public/views/partials/toasts.liquid index 179f425..274ef4e 100644 --- a/pos-module-common-styling/modules/common-styling/public/views/partials/toasts.liquid +++ b/pos-module-common-styling/modules/common-styling/public/views/partials/toasts.liquid @@ -1,9 +1,17 @@ +{% doc %} + @param {boolean} autohide - whether the toast auto-hides + @param {number} delay - delay in milliseconds before auto-hide + @param {string} message - toast message content + @param {string} severity - toast severity level +{% enddoc %} +{% comment %}platformos-check-disable UndefinedObject{% endcomment %} {% liquid assign autohide = autohide | default: params.autohide assign delay = delay | default: params.delay | default: 1000 assign message = message | default: params.message | default: null assign severity = severity | default: params.severity %} +{% comment %}platformos-check-enable UndefinedObject{% endcomment %}
      {% capture code %}{% raw %} {% render 'modules/common-styling/forms/multiselect', diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/icons.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/icons.liquid index cb3f910..b0183c9 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/style-guide/icons.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/icons.liquid @@ -1,12 +1,12 @@

      Icons

      {% capture code %}{% raw %} -{% render 'modules/common-styling/icon', icon: 'dashDown' %} +{% render 'modules/common-styling/icon', icon: 'dashDown', class: null %} {% endraw %}{% endcapture %}
      {{ code | lstrip | rstrip }}
        - {% render 'modules/common-styling/icon', icon: 'all' %} + {% render 'modules/common-styling/icon', icon: 'all', class: null %}
      diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/navigation.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/navigation.liquid index 1360c16..1147869 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/style-guide/navigation.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/navigation.liquid @@ -4,7 +4,7 @@

      Pagination

      {% liquid - render 'modules/common-styling/pagination', total_pages: 20, rightArrow: null + render 'modules/common-styling/pagination', total_pages: 20 %}
      {% capture code %}{% raw %} @@ -75,7 +75,7 @@ render 'modules/common-styling/pagination', total_pages: 20 {% endparse_json %} {% liquid - render 'modules/common-styling/navigation/collapsible', items: navigation, active: 'https://documentation.platformos.com/get-started' + render 'modules/common-styling/navigation/collapsible', items: navigation, active: 'https://documentation.platformos.com/get-started', inert: null %}
      {% capture code %}{% raw %} @@ -180,7 +180,7 @@ render 'modules/common-styling/pagination', total_pages: 20

      Title

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi quis lorem rutrum, lacinia velit non, accumsan quam. Sed tincidunt purus eget euismod congue. Aliquam ultrices lectus eu quam pulvinar cursus. Mauris aliquet leo ante. Integer at urna felis.


      @@ -197,7 +197,7 @@ render 'modules/common-styling/pagination', total_pages: 20

      Title

      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi quis lorem rutrum, lacinia velit non, accumsan quam. Sed tincidunt purus eget euismod congue. Aliquam ultrices lectus eu quam pulvinar cursus. Mauris aliquet leo ante. Integer at urna felis.


      diff --git a/pos-module-user/modules/common-styling/public/views/partials/style-guide/upload.liquid b/pos-module-user/modules/common-styling/public/views/partials/style-guide/upload.liquid index c2b79de..d5c1fae 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/style-guide/upload.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/style-guide/upload.liquid @@ -7,7 +7,12 @@ {% render 'modules/common-styling/forms/upload', id: 'styleguide-upload-1', presigned_upload: context.presigned_upload, - name: 'styleguide-upload-1' + name: 'styleguide-upload-1', + image_editor_enabled: null, + allowed_file_types: null, + max_number_of_files: null, + aspect_ratio: null, + files: null %} {% capture code %}{% raw %} @@ -44,7 +49,11 @@ id: 'styleguide-upload-2', presigned_upload: context.presigned_upload, name: 'styleguide-upload-2', - files: files + files: files, + image_editor_enabled: null, + allowed_file_types: null, + max_number_of_files: null, + aspect_ratio: null %} {% capture code %}{% raw %} diff --git a/pos-module-user/modules/common-styling/public/views/partials/tip.liquid b/pos-module-user/modules/common-styling/public/views/partials/tip.liquid index e2701d5..96bac51 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/tip.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/tip.liquid @@ -1,3 +1,6 @@ +{% doc %} + @param {string} content - content to display in the tip +{% enddoc %}
      diff --git a/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid b/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid index 179f425..0d8a0a9 100644 --- a/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid +++ b/pos-module-user/modules/common-styling/public/views/partials/toasts.liquid @@ -1,9 +1,18 @@ +{% doc %} + @param {object} params - flash object containing toast properties + @param {boolean} autohide - whether the toast auto-hides + @param {number} delay - delay in milliseconds before auto-hide + @param {string} message - toast message content + @param {string} severity - toast severity level +{% enddoc %} +{% comment %}platformos-check-disable UndefinedObject{% endcomment %} {% liquid assign autohide = autohide | default: params.autohide assign delay = delay | default: params.delay | default: 1000 assign message = message | default: params.message | default: null assign severity = severity | default: params.severity %} +{% comment %}platformos-check-enable UndefinedObject{% endcomment %}