Compare commits

...

11 Commits

Author SHA1 Message Date
cedric cac88c39b2 Merge pull request 'feat: add social network field to artiste' (#3) from feat/improve-artist-page into master
Déploiement API BETA / build (push) Successful in 2m4s
Déploiement API PROD / build (push) Successful in 2m5s
Déploiement API BETA / deploy (push) Successful in 45s
Déploiement API PROD / deploy (push) Successful in 51s
Reviewed-on: #3
2026-06-26 17:36:33 +00:00
cedric fcd1e737ab chore: regenerate types after rezoSosyal field
Déploiement API BETA / build (push) Successful in 2m9s
Déploiement API BETA / deploy (push) Successful in 45s
Vérification PR / build (pull_request) Successful in 2m5s
Vérification PR / deploy-beta (pull_request) Successful in 46s
2026-06-26 12:23:41 +04:00
cedric a10d854ee8 feat: add social network component and artiste field 2026-06-26 12:23:29 +04:00
cedric cf2f4de06c Merge pull request 'feat: rendre le dépôt configurable via variables d'env' (#2) from feat/improve-custom into master
Déploiement API BETA / build (push) Successful in 2m13s
Déploiement API PROD / build (push) Successful in 2m6s
Déploiement API BETA / deploy (push) Successful in 45s
Déploiement API PROD / deploy (push) Successful in 55s
Reviewed-on: #2
2026-06-26 04:59:05 +00:00
cedric 36da183404 ci: deploy beta on all branches including master
Déploiement API BETA / build (push) Successful in 2m6s
Vérification PR / build (pull_request) Successful in 2m11s
Déploiement API BETA / deploy (push) Successful in 45s
Vérification PR / deploy-beta (pull_request) Successful in 44s
2026-06-26 07:26:04 +04:00
cedric 58fd049d03 ci: checkout correct branch before deploy
Déploiement API BETA / build (push) Successful in 2m13s
Vérification PR / build (pull_request) Successful in 2m6s
Déploiement API BETA / deploy (push) Successful in 46s
Vérification PR / deploy-beta (pull_request) Successful in 44s
2026-06-26 07:14:13 +04:00
cedric 0a0772eea3 ci: deploy beta on any branch except master 2026-06-26 07:12:55 +04:00
cedric 7fea170597 chore: regenerate types after isExclusiveArtist rename
Vérification PR / build (pull_request) Successful in 2m7s
Vérification PR / deploy-beta (pull_request) Successful in 1m5s
2026-06-26 00:36:34 +04:00
cedric 029ba3cc90 refactor: rename isOKIAwtis to isExclusiveArtist 2026-06-26 00:33:45 +04:00
cedric c8dd6e9c4a feat: use WEBSITE_URL in publication notification emails 2026-06-26 00:33:42 +04:00
cedric afb38a067b feat: use STRAPI_ADMIN_SITE_NAME for admin panel titles 2026-06-26 00:33:32 +04:00
8 changed files with 93 additions and 11 deletions
+3
View File
@@ -6,6 +6,9 @@ PORT=1337
STRAPI_URL= STRAPI_URL=
STRAPI_ADMIN_URL=/admin STRAPI_ADMIN_URL=/admin
# Branding (affiché dans l'interface admin Strapi — rebuild requis)
STRAPI_ADMIN_SITE_NAME=OKI
APP_KEYS= APP_KEYS=
API_TOKEN_SALT= API_TOKEN_SALT=
ADMIN_JWT_SECRET= ADMIN_JWT_SECRET=
+2 -3
View File
@@ -2,8 +2,6 @@ name: Déploiement API BETA
run-name: ${{ gitea.actor }} déploie API BETA run-name: ${{ gitea.actor }} déploie API BETA
on: on:
push: push:
branches:
- dev
jobs: jobs:
build: build:
@@ -39,7 +37,8 @@ jobs:
export NVM_DIR="$HOME/.nvm" export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
cd ${{ secrets.DEPLOY_PATH }} cd ${{ secrets.DEPLOY_PATH }}
git pull --ff-only origin dev git fetch origin
git checkout -B ${{ gitea.ref_name }} origin/${{ gitea.ref_name }}
corepack enable corepack enable
yarn install --frozen-lockfile yarn install --frozen-lockfile
NODE_ENV=production yarn build NODE_ENV=production yarn build
+4 -4
View File
@@ -13,14 +13,14 @@ export default {
locales: ['fr'], locales: ['fr'],
translations: { translations: {
fr: { fr: {
'Auth.form.welcome.subtitle': 'Connectez-vous à votre compte OKI API', 'Auth.form.welcome.subtitle': `Connectez-vous à votre compte ${process.env.STRAPI_ADMIN_SITE_NAME || 'OKI'} API`,
'Auth.form.welcome.title': 'Bienvenue sur OKI API !', 'Auth.form.welcome.title': `Bienvenue sur ${process.env.STRAPI_ADMIN_SITE_NAME || 'OKI'} API !`,
'LeftMenu.navbrand.title': 'Tableau de bord', 'LeftMenu.navbrand.title': 'Tableau de bord',
'LeftMenu.navbrand.workplace': 'Menu', 'LeftMenu.navbrand.workplace': 'Menu',
}, },
en: { en: {
'Auth.form.welcome.subtitle': 'Log in to your OKI API account', 'Auth.form.welcome.subtitle': `Log in to your ${process.env.STRAPI_ADMIN_SITE_NAME || 'OKI'} API account`,
'Auth.form.welcome.title': 'Welcome to OKI API !', 'Auth.form.welcome.title': `Welcome to ${process.env.STRAPI_ADMIN_SITE_NAME || 'OKI'} API !`,
'LeftMenu.navbrand.title': 'Dashboard', 'LeftMenu.navbrand.title': 'Dashboard',
'LeftMenu.navbrand.workplace': 'Workplace', 'LeftMenu.navbrand.workplace': 'Workplace',
} }
@@ -58,7 +58,7 @@
"musicBrainzUrl": { "musicBrainzUrl": {
"type": "string" "type": "string"
}, },
"isOKIAwtis": { "isExclusiveArtist": {
"type": "boolean", "type": "boolean",
"default": false "default": false
}, },
@@ -66,6 +66,11 @@
"type": "relation", "type": "relation",
"relation": "manyToOne", "relation": "manyToOne",
"target": "api::parole.parole" "target": "api::parole.parole"
},
"rezoSosyal": {
"type": "component",
"repeatable": true,
"component": "social.rezo-sosyal"
} }
} }
} }
@@ -193,7 +193,7 @@ module.exports = {
strapi.plugins['email'].services.email.send({ strapi.plugins['email'].services.email.send({
from: process.env.SMTP_FROM, from: process.env.SMTP_FROM,
to: previousData.user.email, to: previousData.user.email,
subject: `Publication de "${previousData.titre}" sur pawol.nu`, subject: `Publication de "${previousData.titre}" sur ${(process.env.WEBSITE_URL || 'https://pawol.nu').replace(/^https?:\/\//, '')}`,
text: `Le titre que vous avez soumis, "${previousData.titre}" a été publié sur le site. text: `Le titre que vous avez soumis, "${previousData.titre}" a été publié sur le site.
Vous pouvez le trouver à l'adresse ${process.env.WEBSITE_URL}/paroles/${previousData.slug} Vous pouvez le trouver à l'adresse ${process.env.WEBSITE_URL}/paroles/${previousData.slug}
Merci pour votre contribution ❤️`, Merci pour votre contribution ❤️`,
@@ -206,7 +206,7 @@ module.exports = {
strapi.plugins['email'].services.email.send({ strapi.plugins['email'].services.email.send({
from: process.env.SMTP_FROM, from: process.env.SMTP_FROM,
to: previousData.userAdmin.email, to: previousData.userAdmin.email,
subject: `Publication de "${previousData.titre}" sur pawol.nu`, subject: `Publication de "${previousData.titre}" sur ${(process.env.WEBSITE_URL || 'https://pawol.nu').replace(/^https?:\/\//, '')}`,
text: `Le titre que vous avez soumis, "${previousData.titre}" a été publié sur le site. text: `Le titre que vous avez soumis, "${previousData.titre}" a été publié sur le site.
Vous pouvez le trouver à l'adresse ${process.env.WEBSITE_URL}/paroles/${previousData.slug}. Vous pouvez le trouver à l'adresse ${process.env.WEBSITE_URL}/paroles/${previousData.slug}.
Merci pour votre contribution ❤️`, Merci pour votre contribution ❤️`,
+38
View File
@@ -0,0 +1,38 @@
{
"collectionName": "components_social_rezo_sosyal",
"info": {
"displayName": "Rézo Sosyal",
"icon": "earth",
"description": ""
},
"options": {},
"attributes": {
"plateforme": {
"type": "enumeration",
"enum": [
"Mastodon",
"Peertube",
"Pixelfed",
"Funkwhale",
"Bluesky",
"Instagram",
"Youtube",
"Tiktok",
"Spotify",
"Deezer",
"Applemusic",
"Bandcamp",
"Soundcloud",
"Facebook",
"Twitter",
"Linktree",
"SiteWeb"
],
"required": true
},
"url": {
"type": "string",
"required": true
}
}
}
+35
View File
@@ -25,6 +25,40 @@ export interface DifferenceParolesDiff extends Struct.ComponentSchema {
}; };
} }
export interface SocialRezoSosyal extends Struct.ComponentSchema {
collectionName: 'components_social_rezo_sosyal';
info: {
description: '';
displayName: 'R\u00E9zo Sosyal';
icon: 'earth';
};
attributes: {
plateforme: Schema.Attribute.Enumeration<
[
'Mastodon',
'Peertube',
'Pixelfed',
'Funkwhale',
'Bluesky',
'Instagram',
'Youtube',
'Tiktok',
'Spotify',
'Deezer',
'Applemusic',
'Bandcamp',
'Soundcloud',
'Facebook',
'Twitter',
'Linktree',
'SiteWeb',
]
> &
Schema.Attribute.Required;
url: Schema.Attribute.String & Schema.Attribute.Required;
};
}
export interface StoreAlbum extends Struct.ComponentSchema { export interface StoreAlbum extends Struct.ComponentSchema {
collectionName: 'components_store_albums'; collectionName: 'components_store_albums';
info: { info: {
@@ -84,6 +118,7 @@ declare module '@strapi/strapi' {
export module Public { export module Public {
export interface ComponentSchemas { export interface ComponentSchemas {
'difference.paroles-diff': DifferenceParolesDiff; 'difference.paroles-diff': DifferenceParolesDiff;
'social.rezo-sosyal': SocialRezoSosyal;
'store.album': StoreAlbum; 'store.album': StoreAlbum;
'trad.traductions': TradTraductions; 'trad.traductions': TradTraductions;
'url.liens': UrlLiens; 'url.liens': UrlLiens;
+3 -1
View File
@@ -448,7 +448,8 @@ export interface ApiArtisteArtiste extends Struct.CollectionTypeSchema {
createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> & createdBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
Schema.Attribute.Private; Schema.Attribute.Private;
dateNaissance: Schema.Attribute.Date; dateNaissance: Schema.Attribute.Date;
isOKIAwtis: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo<false>; isExclusiveArtist: Schema.Attribute.Boolean &
Schema.Attribute.DefaultTo<false>;
locale: Schema.Attribute.String & Schema.Attribute.Private; locale: Schema.Attribute.String & Schema.Attribute.Private;
localizations: Schema.Attribute.Relation< localizations: Schema.Attribute.Relation<
'oneToMany', 'oneToMany',
@@ -461,6 +462,7 @@ export interface ApiArtisteArtiste extends Struct.CollectionTypeSchema {
photo: Schema.Attribute.Media<'images'>; photo: Schema.Attribute.Media<'images'>;
prenom: Schema.Attribute.String; prenom: Schema.Attribute.String;
publishedAt: Schema.Attribute.DateTime; publishedAt: Schema.Attribute.DateTime;
rezoSosyal: Schema.Attribute.Component<'social.rezo-sosyal', true>;
slug: Schema.Attribute.String; slug: Schema.Attribute.String;
titrePhare: Schema.Attribute.Relation<'manyToOne', 'api::parole.parole'>; titrePhare: Schema.Attribute.Relation<'manyToOne', 'api::parole.parole'>;
updatedAt: Schema.Attribute.DateTime; updatedAt: Schema.Attribute.DateTime;