Compare commits

...

2 Commits

Author SHA1 Message Date
cedric b88f7deb43 deploy: simplify deployment
Déploiement API BETA / Tests extensions (push) Successful in 11m5s
Déploiement API BETA / Build et déploiement beta (push) Failing after 35s
2026-05-15 14:26:56 +04:00
cedric e6ead4e700 chore: remove dist from .gitignore 2026-05-15 14:26:40 +04:00
5 changed files with 13 additions and 20 deletions
+11 -18
View File
@@ -42,26 +42,16 @@ jobs:
working-directory: extensions/directus-extension-new-user
run: npm install && npm run build
- name: Configurer la clé SSH
- name: Committer et pousser les dist
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
ssh-keyscan -p ${{ secrets.SSH_PORT }} ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts
git config user.name "Gitea Actions"
git config user.email "actions@noreply.gitea"
git add extensions/directus-extension-disallow-votes/dist \
extensions/directus-extension-new-user/dist
git diff --staged --quiet || git commit -m "chore: build extensions [skip ci]"
git push origin dev
- name: Transférer les dist via rsync
run: |
rsync -az --delete \
-e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }}" \
extensions/directus-extension-disallow-votes/dist/ \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEPLOY_PATH }}/extensions/directus-extension-disallow-votes/dist/
rsync -az --delete \
-e "ssh -i ~/.ssh/deploy_key -p ${{ secrets.SSH_PORT }}" \
extensions/directus-extension-new-user/dist/ \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:${{ secrets.DEPLOY_PATH }}/extensions/directus-extension-new-user/dist/
- name: Redémarrer Directus et vérifier
- name: Déployer sur le serveur
uses: appleboy/ssh-action@v1.2.0
with:
host: ${{ secrets.SSH_HOST }}
@@ -72,6 +62,9 @@ jobs:
set -e
cd ${{ secrets.DEPLOY_PATH }}
echo "==> Pull branche dev"
git pull origin dev
echo "==> Redémarrage Directus"
docker compose restart directus
@@ -1,3 +1,2 @@
.DS_Store
node_modules
dist
@@ -0,0 +1 @@
var e=({filter:e},{services:t})=>{const s=async(e,s,o)=>{if(!e)throw new Error("Lidentifiant de la version est manquant.");const n=await s("directus_versions").select("date_created").where({id:e}).first();if(!n)throw new Error("Version non trouvée.");if(new Date(n.date_created)<new Date(Date.now()-2592e5))throw new Error("Le vote nest plus possible après 3 jours de la création de la version.");try{const{VersionsService:n}=t,r=new n({schema:o,knex:s}),a=await r.compare(e);if(a&&!0===a.outdated)throw new Error("Le vote nest plus possible sur une version obsolète.")}catch(e){if("Le vote nest plus possible sur une version obsolète."===e.message)throw e;console.warn("Could not check version outdated status:",e.message)}};e("items.create",(async(e,{collection:t},{database:o,schema:n})=>("votes"===t&&await s(e.content_version_id,o,n),e))),e("items.update",(async(e,{collection:t},{database:o,schema:n})=>("votes"===t&&await s(e.content_version_id,o,n),e))),e("items.delete",(async(e,{collection:t},{database:o,schema:n})=>{if("votes"===t){const t=e[0];if(!t)throw new Error("Lidentifiant du vote est manquant.");const r=await o("votes").select("content_version_id").where({id:t}).first();if(!r)throw new Error("Vote non trouvé.");await s(r.content_version_id,o,n)}return e}))};export{e as default};
@@ -1,3 +1,2 @@
.DS_Store
node_modules
dist
+1
View File
@@ -0,0 +1 @@
var e=({filter:e},{services:r,env:a})=>{e("users.create",(async(e,{schema:i},{database:s})=>{if(!r.MailService)return console.error("Le service MailService est manquant."),e;const t=a.EMAIL_NEW_USER,n=a.DIRECTUS_URL||"http://0.0.0.0:8055";if(!t)return console.error("La variable EMAIL_NEW_USER est manquante."),e;const l=await(async(e,r)=>void 0!==await r("directus_users").select("id").where({email:e}).first())(e.email,s);if(l)return console.error("Ladresse e-mail est déjà utilisée."),e;try{new r.MailService({schema:i}).send({to:t,subject:`Nouvel utilisateur : ${e.email}`,text:`Un nouvel utilisateur a été créé :\n Nom: ${e.first_name||"N/A"} Email: ${e.email||"N/A"}\n Pour valider => ${n}/admin/users`,html:`\n <p>Un nouvel utilisateur a été créé :</p>\n <ul>\n <li><strong>Nom:</strong> ${e.first_name||"N/A"} </li>\n <li><strong>Email:</strong> ${e.email||"N/A"}</li>\n </ul>\n <p>Pour valider, <a href="${n}/admin/users" target="_blank"><strong>cliquez ici</strong></a> ou sur ce lien => <a href="${n}/admin/users" target="_blank">${n}/admin/users</a></p>\n `}),console.log("Email envoyé avec succès à",t)}catch(e){console.error("Erreur lors de lenvoi de le-mail via MailService:",e)}return e}))};export{e as default};