Compare commits
16 Commits
95156de4ca
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
| cac88c39b2 | |||
|
fcd1e737ab
|
|||
|
a10d854ee8
|
|||
| cf2f4de06c | |||
|
36da183404
|
|||
|
58fd049d03
|
|||
|
0a0772eea3
|
|||
|
7fea170597
|
|||
|
029ba3cc90
|
|||
|
c8dd6e9c4a
|
|||
|
afb38a067b
|
|||
|
2540c04782
|
|||
|
03e2449be3
|
|||
|
ad034a9a6f
|
|||
|
6db371d513
|
|||
|
ea0f56c202
|
@@ -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,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
@@ -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',
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,6 +57,20 @@
|
|||||||
},
|
},
|
||||||
"musicBrainzUrl": {
|
"musicBrainzUrl": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
|
},
|
||||||
|
"isExclusiveArtist": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"titrePhare": {
|
||||||
|
"type": "relation",
|
||||||
|
"relation": "manyToOne",
|
||||||
|
"target": "api::parole.parole"
|
||||||
|
},
|
||||||
|
"rezoSosyal": {
|
||||||
|
"type": "component",
|
||||||
|
"repeatable": true,
|
||||||
|
"component": "social.rezo-sosyal"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -144,6 +144,13 @@ module.exports = {
|
|||||||
let {data} = event.params
|
let {data} = event.params
|
||||||
const {documentId} = data
|
const {documentId} = data
|
||||||
|
|
||||||
|
if (data.isNewRelease === true) {
|
||||||
|
await strapi.db.query('api::parole.parole').updateMany({
|
||||||
|
where: { isNewRelease: true },
|
||||||
|
data: { isNewRelease: false },
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const previousParoles = await strapi.db.query('api::parole.parole').findOne({
|
const previousParoles = await strapi.db.query('api::parole.parole').findOne({
|
||||||
where: {documentId},
|
where: {documentId},
|
||||||
populate: {difference: true, artistes: true}
|
populate: {difference: true, artistes: true}
|
||||||
@@ -186,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 ❤️`,
|
||||||
@@ -199,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 ❤️`,
|
||||||
|
|||||||
@@ -142,6 +142,16 @@
|
|||||||
"relation": "oneToMany",
|
"relation": "oneToMany",
|
||||||
"target": "api::parole.parole",
|
"target": "api::parole.parole",
|
||||||
"mappedBy": "sourceOriginale"
|
"mappedBy": "sourceOriginale"
|
||||||
|
},
|
||||||
|
"isNewRelease": {
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"karaokeUrl": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"karaokeDesktopUrl": {
|
||||||
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+35
@@ -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;
|
||||||
|
|||||||
Vendored
+7
@@ -448,6 +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;
|
||||||
|
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',
|
||||||
@@ -460,7 +462,9 @@ 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'>;
|
||||||
updatedAt: Schema.Attribute.DateTime;
|
updatedAt: Schema.Attribute.DateTime;
|
||||||
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
updatedBy: Schema.Attribute.Relation<'oneToOne', 'admin::user'> &
|
||||||
Schema.Attribute.Private;
|
Schema.Attribute.Private;
|
||||||
@@ -540,6 +544,9 @@ export interface ApiParoleParole extends Struct.CollectionTypeSchema {
|
|||||||
>;
|
>;
|
||||||
forceSlug: Schema.Attribute.Boolean;
|
forceSlug: Schema.Attribute.Boolean;
|
||||||
gadeEmbed: Schema.Attribute.String;
|
gadeEmbed: Schema.Attribute.String;
|
||||||
|
isNewRelease: Schema.Attribute.Boolean & Schema.Attribute.DefaultTo<false>;
|
||||||
|
karaokeDesktopUrl: Schema.Attribute.String;
|
||||||
|
karaokeUrl: Schema.Attribute.String;
|
||||||
langueSource: Schema.Attribute.Enumeration<
|
langueSource: Schema.Attribute.Enumeration<
|
||||||
['ka', 'fr', 'en', 'es', 'de', 'it']
|
['ka', 'fr', 'en', 'es', 'de', 'it']
|
||||||
> &
|
> &
|
||||||
|
|||||||
Reference in New Issue
Block a user