Skip to content

01a117b8 - Filter map places by country, shop, blockchain, and asset - #7

Merged
TaprootFreak merged 3 commits into
openCryptoPay:developfrom
TaprootFreakAI:feat/map-place-filters
Oct 8, 2026
Merged

TaprootFreak merged 3 commits into
openCryptoPay:developfrom
TaprootFreakAI:feat/map-place-filters

Conversation

@TaprootFreakAI

Copy link
Copy Markdown
Collaborator

EN:
GET /map/places can restrict rows by a stored country, a shop name, and one blockchain and asset pair before the limit.
GET /map/filters returns the shop tokens plus the distinct countries, blockchains, and assets already stored.
Country stays null on existing pins until a real value is written, and an omitted support list does not invent one.
Publishing this branch does not change the live map until that service runs this build.

DE:
GET /map/places kann Zeilen vor dem Limit nach gespeichertem Land, Shop-Namen und genau einem Blockchain-Asset-Paar einschränken.
GET /map/filters liefert die Shop-Tokens und die bereits gespeicherten Länder, Blockchains und Assets.
Das Land bleibt bei bestehenden Pins leer, bis ein echter Wert geschrieben wird, und eine weggelassene Support-Liste erfindet keine.
Dieser Branch ändert die laufende Karte nicht, solange der Dienst diesen Stand nicht ausführt.

Details

Query names stay country, shopName, blockchain, and asset. country is the DFX country symbol (ISO 3166-1 alpha-2), trimmed and uppercased. blockchain is a DFX payment-network name, exact case, including testnets. asset is the DFX asset name, not a chain-prefixed unique name: ZCHF and dEURO are stored as written. blockchain and asset together match one support row.

shopName=SPAR matches that stored brand. shopName=others matches any other non-null brand. The optional origin filter is unchanged. Omitting every filter still returns the public list.

country and shopName are optional on create and update, so a body that only sends origin, external id, name, coordinates, and category still validates. Omitted supports on an update leave the stored rows. Present supports replace them. A new insert writes supports only when the row is actually inserted. Opening an existing database adds the new columns without filling country, and sets shop name to SPAR only where origin is spar and shop name is still null. Deleting a pin deletes its support rows.

GET /map/places applies a stored country, a shop name, and one blockchain
and asset pair in SQL before the limit. GET /map/filters lists those values.
Existing pins keep a null country until a real value is written.
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator Author

EN:
Ready after 1 review passes.
The place list filters in SQL by stored country, shop name, and one blockchain and asset pair, and does not invent those values for existing shops.

DE:
Bereit nach 1 Review-Durchläufen.
Die Ortsliste filtert in SQL nach gespeichertem Land, Shop-Namen und einem Blockchain-Asset-Paar und erfindet diese Werte für bestehende Geschäfte nicht.

Details

Head: 42890faefdd94da22c873bfcc6512e5e9b4a92bc
Runs: conformity-a with logic-a. The second run may be omitted.
Lane conformity-a:
Provider: grok
Model: grok-4.6
Model number: grok-4.6
Result: pass
Prompt:

Review the complete PR diff for conformity with CONTRIBUTING.md.

Lane logic-a:
Provider: grok
Model: grok-4.6
Model number: grok-4.6
Result: pass
Prompt:

Review the complete PR diff for logical correctness.

Final result: passes 1, defects 0.
Set aside: none.

{
  "schema": "a38-review/v2",
  "head": "42890faefdd94da22c873bfcc6512e5e9b4a92bc",
  "passes": 1,
  "defects": 0,
  "set_aside": "none",
  "lanes": [
    {"id": "conformity-a", "result": "pass", "status": "complete", "provider": "grok", "model": "grok-4.6", "model_number": "grok-4.6", "prompt": "Review the complete PR diff for conformity with CONTRIBUTING.md."},
    {"id": "logic-a", "result": "pass", "status": "complete", "provider": "grok", "model": "grok-4.6", "model_number": "grok-4.6", "prompt": "Review the complete PR diff for logical correctness."}
  ]
}

The clean pair is the first review of this head. Country stays a stored column, shop names stay unset until written, and a blockchain plus an asset must match one support row before the limit is applied.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review October 7, 2026 21:49
A blockchain and asset filter matches one support row, and deleting a
pin leaves a different asset on the same chain in place.
@TaprootFreakAI
TaprootFreakAI marked this pull request as draft October 7, 2026 22:20
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator Author

EN:
Ready after 1 review passes.
The place list filters in SQL by stored country, shop name, and one blockchain and asset pair, and does not invent those values for existing shops.

DE:
Bereit nach 1 Review-Durchläufen.
Die Ortsliste filtert in SQL nach gespeichertem Land, Shop-Namen und einem Blockchain-Asset-Paar und erfindet diese Werte für bestehende Geschäfte nicht.

Details

Head: 2afcc89303cd9831ef68f203adb5ce0dfd520c57
Runs: conformity-a with logic-a. The second run may be omitted.

Lane conformity-a:
Provider: grok
Model: grok-4.6
Model number: grok-4.6
Result: pass
Prompt:

Review the complete PR diff for conformity with CONTRIBUTING.md.

Lane logic-a:
Provider: grok
Model: grok-4.6
Model number: grok-4.6
Result: pass
Prompt:

Review the complete PR diff for logical correctness.

Final result: passes 1, defects 0.
Set aside: none

{
  "schema": "a38-review/v2",
  "head": "2afcc89303cd9831ef68f203adb5ce0dfd520c57",
  "passes": 1,
  "defects": 0,
  "set_aside": "none",
  "lanes": [
    {
      "id": "conformity-a",
      "result": "pass",
      "status": "complete",
      "provider": "grok",
      "model": "grok-4.6",
      "model_number": "grok-4.6",
      "prompt": "Review the complete PR diff for conformity with CONTRIBUTING.md."
    },
    {
      "id": "logic-a",
      "result": "pass",
      "status": "complete",
      "provider": "grok",
      "model": "grok-4.6",
      "model_number": "grok-4.6",
      "prompt": "Review the complete PR diff for logical correctness."
    }
  ]
}

Pass 1 on this head found no defects.

@TaprootFreakAI
TaprootFreakAI marked this pull request as ready for review October 7, 2026 22:59
@TaprootFreakAI

Copy link
Copy Markdown
Collaborator Author

EN:
Ready after 1 review passes.
The place list filters in SQL by stored country, shop name, and one blockchain and asset pair, and does not invent those values for existing shops.

DE:
Bereit nach 1 Review-Durchläufen.
Die Ortsliste filtert in SQL nach gespeichertem Land, Shop-Namen und einem Blockchain-Asset-Paar und erfindet diese Werte für bestehende Geschäfte nicht.

Details

Head: 2afcc89303cd9831ef68f203adb5ce0dfd520c57
Runs: conformity-b with logic-b. The second run may be omitted.

Lane conformity-b:
Provider: openai
Model: gpt-5.6-sol
Model number: gpt-5.6-sol
Result: pass
Prompt:

Review the complete PR diff for conformity with CONTRIBUTING.md.

Lane logic-b:
Provider: openai
Model: gpt-5.6-sol
Model number: gpt-5.6-sol
Result: pass
Prompt:

Review the complete PR diff for logical correctness.

Final result: passes 1, defects 0.
Set aside: none

{
  "schema": "a38-review/v2",
  "head": "2afcc89303cd9831ef68f203adb5ce0dfd520c57",
  "passes": 1,
  "defects": 0,
  "set_aside": "none",
  "lanes": [
    {
      "id": "conformity-b",
      "result": "pass",
      "status": "complete",
      "provider": "openai",
      "model": "gpt-5.6-sol",
      "model_number": "gpt-5.6-sol",
      "prompt": "Review the complete PR diff for conformity with CONTRIBUTING.md."
    },
    {
      "id": "logic-b",
      "result": "pass",
      "status": "complete",
      "provider": "openai",
      "model": "gpt-5.6-sol",
      "model_number": "gpt-5.6-sol",
      "prompt": "Review the complete PR diff for logical correctness."
    }
  ]
}

The second run on this head found no defects.

@TaprootFreak
TaprootFreak merged commit 5cbc8ea into openCryptoPay:develop Oct 8, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants