feat(saleor): app token persistente + helper GraphQL
Item 1 da sugestão — vincular API token Saleor para uso programático.
Mudancas:
- docker-compose.m5.yml: env RSA_PRIVATE_KEY agora recebe ${RSA_PRIVATE_KEY_CONTENT}
(conteudo da chave, nao path) — corrige bug MalformedFraming do jwt_manager
- scripts/.env: adicionado RSA_PRIVATE_KEY_CONTENT (PKCS#1) e SALEOR_APP_TOKEN
- scripts/saleor-media/RSA_PRIVATE_KEY.pem: convertida PKCS#8 → PKCS#1
(Saleor 3.23 jwt_manager so' aceita PKCS#1)
- scripts/saleor-api.py: helper CLI para queries GraphQL (count/products/me/query)
- App 'M5 API Service' criado via appCreate (id QXBwOjE=)
- permissoes: MANAGE_ORDERS, PRODUCTS, CHANNELS, SHIPPING, TAXES, CHECKOUTS,
USERS, STAFF, HANDLE_PAYMENTS, APPS
- token: NPXnQSAcwTH40BGlqV010baewTSUzR (persistente, sem expiracao)
Bug colateral corrigido: pem MalformedFraming impedia Django setup e login.
Validacao:
- python3 scripts/saleor-api.py count: 4 products, 0 orders, 2 channels
- Token persistente funciona via Authorization: Bearer