Adding static meta data on signatures
This commit is contained in:
@@ -139,3 +139,18 @@ def retrieve_signature_png(filepath):
|
||||
base64_utf8_str = base64.b64encode(b_content).decode('utf-8')
|
||||
ext = filepath.split('.')[-1]
|
||||
return f'data:image/{ext};base64,{base64_utf8_str}'
|
||||
|
||||
|
||||
@print_router.get("/opengraph/{signature_id}", response_class=HTMLResponse)
|
||||
async def get_signature_opengraph(signature_id: str, request: Request) -> str:
|
||||
contract = await Contract.find_by_signature_id(signature_id)
|
||||
signature = contract.get_signature(signature_id)
|
||||
template = templates.get_template("opengraph.html")
|
||||
|
||||
signatory = signature.representative.label if signature.representative else signature.entity.label
|
||||
|
||||
return template.render({
|
||||
"signatory": signatory,
|
||||
"title": contract.label,
|
||||
"origin_url": f"{request.url.scheme}://{request.url.hostname}"
|
||||
})
|
||||
|
||||
10
back/app/contract/print/templates/opengraph.html
Normal file
10
back/app/contract/print/templates/opengraph.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta property="og:title" content="{{ title }}" />
|
||||
<meta property="og:description" content="Cette page est à la destination exclusive de {{ signatory }}
|
||||
Si vous n'êtes pas {{ signatory }}, veuillez fermer cette page immédiatement et surpprimer tous les liens en votre possession menant vers celle-ci.
|
||||
En vous maintenant et/ou en interagissant avec cette page, vous enfreignez l'article L.229 du code pénal de l'Etat de San Andreas pour usurpation d'identité et vous vous exposez ainsi à une amende de 20 000$ ainsi qu'à des poursuites civiles.
|
||||
Le cabinet Cooper, Hillman & Toshi LLC" />
|
||||
<meta property="og:image" content="{{ origin_url }}/assets/logo.png" />
|
||||
</head>
|
||||
</html>
|
||||
@@ -41,6 +41,25 @@ http {
|
||||
default_type text/javascript;
|
||||
}
|
||||
|
||||
location /contracts/signature/ {
|
||||
set $is_robot 0;
|
||||
if ($http_user_agent ~* "Discordbot|googlebot|bingbot|yandex|baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest\/0\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp") {
|
||||
rewrite /contracts/signature/(.*) /api/v1/contract/print/opengraph/$1 last;
|
||||
proxy_pass http://docker-back;
|
||||
set $is_robot 1;
|
||||
}
|
||||
|
||||
if ($is_robot = 0) {
|
||||
rewrite ^ /index.html?$args last;
|
||||
}
|
||||
|
||||
proxy_redirect off;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Host $server_name;
|
||||
}
|
||||
|
||||
location /api/v1/ {
|
||||
proxy_pass http://docker-back/;
|
||||
proxy_redirect off;
|
||||
|
||||
@@ -26,6 +26,26 @@ http {
|
||||
proxy_set_header X-Forwarded-Host $server_name;
|
||||
}
|
||||
|
||||
location /contracts/signature/ {
|
||||
set $is_robot 0;
|
||||
if ($http_user_agent ~* "Discordbot|googlebot|bingbot|yandex|baiduspider|twitterbot|facebookexternalhit|rogerbot|linkedinbot|embedly|quora link preview|showyoubot|outbrain|pinterest\/0\.|pinterestbot|slackbot|vkShare|W3C_Validator|whatsapp") {
|
||||
rewrite /contracts/signature/(.*) /api/v1/contract/print/opengraph/$1 last;
|
||||
proxy_pass http://docker-back;
|
||||
break;
|
||||
set $is_robot 1;
|
||||
}
|
||||
|
||||
if ($is_robot = 0) {
|
||||
proxy_pass http://docker-front;
|
||||
}
|
||||
|
||||
proxy_redirect off;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Host $server_name;
|
||||
}
|
||||
|
||||
location /api/v1/ {
|
||||
proxy_pass http://docker-back/;
|
||||
proxy_redirect off;
|
||||
|
||||
Reference in New Issue
Block a user