|
1 | 1 | name: Procesare cerere de licență |
2 | | - |
3 | 2 | on: |
4 | 3 | issues: |
5 | 4 | types: [opened] |
6 | | - |
7 | 5 | jobs: |
8 | 6 | procesare-licenta: |
9 | 7 | if: contains(github.event.issue.labels.*.name, 'licență') |
10 | 8 | runs-on: ubuntu-latest |
11 | 9 | permissions: |
12 | 10 | issues: write |
13 | | - |
14 | 11 | steps: |
15 | 12 | - name: Redactare email și publicare răspuns |
16 | 13 | uses: actions/github-script@v7 |
@@ -103,55 +100,133 @@ jobs: |
103 | 100 | } |
104 | 101 | } |
105 | 102 |
|
106 | | - // ── Comentariu automat ── |
107 | | - const comment = [ |
108 | | - `## Susținerea proiectului & licențiere`, |
109 | | - ``, |
110 | | - `Mulțumim pentru interes, @${issueAuthor}!`, |
111 | | - ``, |
112 | | - `Integrările Home Assistant sunt dezvoltate și întreținute constant — actualizări, compatibilitate, infrastructură, suport și documentație. Toate acestea implică un efort continuu.`, |
113 | | - ``, |
114 | | - `Proiectul rămâne accesibil, dar **continuarea sa depinde de implicarea comunității**. Nu este vorba de o vânzare sau de o taxă, ci de un model simplu: dacă integrarea îți este utilă și vrei să continue să existe, o poți susține printr-o contribuție simbolică.`, |
115 | | - ``, |
116 | | - `---`, |
117 | | - ``, |
118 | | - `### Cum funcționează`, |
119 | | - ``, |
120 | | - `**Perioadă de test** — fiecare integrare poate fi utilizată gratuit timp de **30 de zile**, fără nicio limitare.`, |
121 | | - ``, |
122 | | - `**Susținere** — după perioada de test, poți contribui prin [Buy Me a Coffee](https://buymeacoffee.com/cnecrea). Contribuția este echivalentul unei cafele — nu un abonament, nu o plată per integrare.`, |
123 | | - ``, |
124 | | - `**Ce primești:**`, |
125 | | - `- licențe **perpetue** pentru următoarele integrări:`, |
126 | | - `[E-Bloc România](https://github.com/cnecrea/e-bloc.ro), [E-ON România](https://github.com/cnecrea/eonromania), [eRovinieta](https://github.com/cnecrea/erovinieta), [Hidroelectrica](https://github.com/cnecrea/hidroelectrica), [MyElectrica](https://github.com/cnecrea/myelectrica), [Pago Plătește](https://github.com/cnecrea/pagoplateste), [Vehicule](https://github.com/cnecrea/vehicule).`, |
127 | | - `- suport în utilizare`, |
128 | | - `- acces la toate actualizările viitoare`, |
129 | | - ``, |
130 | | - `---`, |
131 | | - ``, |
132 | | - `### Pașii pentru obținerea licenței`, |
133 | | - ``, |
134 | | - `1. Accesează [Buy Me a Coffee](https://buymeacoffee.com/cnecrea) și efectuează contribuția`, |
135 | | - `2. **Introdu corect adresa de email** la contribuție — pe aceasta vei primi licențele`, |
136 | | - `3. Licențele vor fi emise și trimise automat pe email`, |
137 | | - ``, |
138 | | - `---`, |
139 | | - ``, |
140 | | - `### Informații utile`, |
141 | | - ``, |
142 | | - `- în cazul reinstalării Home Assistant, licențele pot fi reemise.`, |
143 | | - `- la restore din backup, licențele rămân active`, |
144 | | - `- utilizatorii care au susținut proiectele anterioare primesc licențele automat pe email, fără solicitare suplimentară`, |
145 | | - `- susținerea nu este per integrare — este pentru proiectul în ansamblu`, |
146 | | - ``, |
147 | | - `---`, |
148 | | - ``, |
149 | | - `> Acest sistem există pentru sustenabilitate, nu pentru monetizare. O integrare stabilă, testată și actualizată constant necesită resurse. Implicarea ta face posibilă continuarea proiectului.`, |
150 | | - ``, |
151 | | - `---`, |
152 | | - `*Adresa de email a fost preluată și redactată automat din acest issue pentru confidențialitate.*` |
| 103 | + // ── Verificare promoție activă ── |
| 104 | + let promoActiv = false; |
| 105 | + const apiUrl = process.env.LICENSE_API_URL; |
| 106 | + const adminKey = process.env.LICENSE_ADMIN_KEY; |
| 107 | + if (apiUrl && adminKey) { |
| 108 | + try { |
| 109 | + const promoResp = await fetch(`${apiUrl}/license/v2/admin/bmac/promo-status`, { |
| 110 | + headers: { 'X-Admin-Key': adminKey }, |
| 111 | + }); |
| 112 | + if (promoResp.ok) { |
| 113 | + const promoData = await promoResp.json(); |
| 114 | + promoActiv = promoData.promo_activ === true; |
| 115 | + console.log(`Promoție activă: ${promoActiv}`); |
| 116 | + } |
| 117 | + } catch (e) { |
| 118 | + console.log(`Nu s-a putut verifica promoția: ${e.message}`); |
| 119 | + } |
| 120 | + } |
| 121 | +
|
| 122 | + // ── Comentariu automat — în funcție de promoție ── |
| 123 | + const integrari = [ |
| 124 | + `- [E-Bloc România](https://github.com/cnecrea/e-bloc.ro)`, |
| 125 | + `- [E-ON România](https://github.com/cnecrea/eonromania)`, |
| 126 | + `- [eRovinieta](https://github.com/cnecrea/erovinieta)`, |
| 127 | + `- [Hidroelectrica](https://github.com/cnecrea/hidroelectrica)`, |
| 128 | + `- [MyElectrica](https://github.com/cnecrea/myelectrica)`, |
| 129 | + `- [Pago Plătește](https://github.com/cnecrea/pagoplateste)`, |
| 130 | + `- [Vehicule](https://github.com/cnecrea/vehicule)`, |
153 | 131 | ].join('\n'); |
154 | 132 |
|
| 133 | + let comment; |
| 134 | +
|
| 135 | + if (promoActiv) { |
| 136 | + comment = [ |
| 137 | + `Mulțumim pentru interes, @${issueAuthor}!`, |
| 138 | + ``, |
| 139 | + `Integrările Home Assistant sunt dezvoltate și întreținute constant — actualizări, compatibilitate cu noile versiuni, infrastructură, suport și documentație. Toate acestea necesită timp și efort continuu.`, |
| 140 | + ``, |
| 141 | + `Proiectul rămâne accesibil pentru toată lumea, însă dezvoltarea lui depinde de susținerea comunității.`, |
| 142 | + ``, |
| 143 | + `> 🎁 **Promoție activă!** Contribuie acum și primești automat licențe perpetue pentru **toate** integrările disponibile.`, |
| 144 | + ``, |
| 145 | + `---`, |
| 146 | + ``, |
| 147 | + `### Cum funcționează`, |
| 148 | + ``, |
| 149 | + `**Perioadă de test**`, |
| 150 | + `Fiecare integrare poate fi folosită gratuit timp de **30 de zile**, fără nicio limitare.`, |
| 151 | + ``, |
| 152 | + `**Susținerea proiectului**`, |
| 153 | + `Dacă integrarea îți este utilă și vrei să continue să fie dezvoltată, poți susține proiectul printr-o contribuție pe [Buy Me a Coffee](https://buymeacoffee.com/cnecrea).`, |
| 154 | + ``, |
| 155 | + `### Ce primești (promoție)`, |
| 156 | + ``, |
| 157 | + `O singură cafea = licențe **perpetue** (pe viață) pentru **toate** integrările:`, |
| 158 | + ``, |
| 159 | + integrari, |
| 160 | + ``, |
| 161 | + `---`, |
| 162 | + ``, |
| 163 | + `### Pași`, |
| 164 | + ``, |
| 165 | + `1. Accesează [Buy Me a Coffee](https://buymeacoffee.com/cnecrea) și oferă o cafea`, |
| 166 | + `2. **Introdu corect adresa de email** — pe aceasta vei primi licențele`, |
| 167 | + `3. Licențele se emit și se trimit automat pe email`, |
| 168 | + ``, |
| 169 | + `---`, |
| 170 | + ``, |
| 171 | + `### Informații utile`, |
| 172 | + ``, |
| 173 | + `- în cazul reinstalării Home Assistant, licențele pot fi reemise`, |
| 174 | + `- la restore din backup, licențele rămân active`, |
| 175 | + `- utilizatorii care au susținut anterior primesc licențele automat, fără solicitare suplimentară`, |
| 176 | + ``, |
| 177 | + `---`, |
| 178 | + `*Adresa de email a fost preluată și redactată automat din acest issue pentru confidențialitate.*`, |
| 179 | + ].join('\n'); |
| 180 | + } else { |
| 181 | + comment = [ |
| 182 | + `Mulțumim pentru interes, @${issueAuthor}!`, |
| 183 | + ``, |
| 184 | + `Integrările Home Assistant sunt dezvoltate și întreținute constant — actualizări, compatibilitate cu noile versiuni, infrastructură, suport și documentație. Toate acestea necesită timp și efort continuu.`, |
| 185 | + ``, |
| 186 | + `Proiectul rămâne accesibil pentru toată lumea, însă dezvoltarea lui depinde de susținerea comunității.`, |
| 187 | + ``, |
| 188 | + `---`, |
| 189 | + ``, |
| 190 | + `### Cum funcționează`, |
| 191 | + ``, |
| 192 | + `**Perioadă de test**`, |
| 193 | + `Fiecare integrare poate fi folosită gratuit timp de **30 de zile**, fără nicio limitare.`, |
| 194 | + ``, |
| 195 | + `**Susținerea proiectului**`, |
| 196 | + `Dacă integrarea îți este utilă și vrei să continue să fie dezvoltată, poți susține proiectul printr-o contribuție pe [Buy Me a Coffee](https://buymeacoffee.com/cnecrea).`, |
| 197 | + `Pentru fiecare cafea oferită primești **1 punct**.`, |
| 198 | + ``, |
| 199 | + `### Ce poți face cu punctele`, |
| 200 | + ``, |
| 201 | + `**1 punct = 1 licență perpetuă** (pe viață) pentru **oricare** dintre integrările de mai jos:`, |
| 202 | + ``, |
| 203 | + integrari, |
| 204 | + ``, |
| 205 | + `Vrei mai multe licențe? Oferi mai multe cafele — fiecare punct îți permite activarea unei licențe la alegere.`, |
| 206 | + ``, |
| 207 | + `---`, |
| 208 | + ``, |
| 209 | + `### Pași`, |
| 210 | + ``, |
| 211 | + `1. Accesează [Buy Me a Coffee](https://buymeacoffee.com/cnecrea) și oferă o cafea (sau mai multe)`, |
| 212 | + `2. **Introdu corect adresa de email** — pe aceasta vei primi link-ul de activare`, |
| 213 | + `3. Vei primi un email cu un **link personalizat** unde îți alegi integrările dorite`, |
| 214 | + `4. Licențele se generează instant pentru integrările alese`, |
| 215 | + ``, |
| 216 | + `---`, |
| 217 | + ``, |
| 218 | + `### Informații utile`, |
| 219 | + ``, |
| 220 | + `- în cazul reinstalării Home Assistant, licențele pot fi reemise`, |
| 221 | + `- la restore din backup, licențele rămân active`, |
| 222 | + `- punctele neutilizate rămân disponibile — poți reveni oricând să alegi integrări suplimentare`, |
| 223 | + `- utilizatorii care au susținut anterior primesc licențele automat, fără solicitare suplimentară`, |
| 224 | + ``, |
| 225 | + `---`, |
| 226 | + `*Adresa de email a fost preluată și redactată automat din acest issue pentru confidențialitate.*`, |
| 227 | + ].join('\n'); |
| 228 | + } |
| 229 | +
|
155 | 230 | await github.rest.issues.createComment({ |
156 | 231 | owner: context.repo.owner, |
157 | 232 | repo: context.repo.repo, |
|
0 commit comments