@learnpack/learnpack 5.0.71 → 5.0.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +13 -13
  2. package/lib/commands/publish.js +9 -6
  3. package/lib/commands/serve.js +48 -1
  4. package/lib/creatorDist/assets/{index-k_eF99Sf.css → index-BJ2JJzVC.css} +48 -12
  5. package/lib/creatorDist/assets/{index-Dm2fdeOs.js → index-CKBeex0S.js} +36853 -30578
  6. package/lib/creatorDist/index.html +2 -2
  7. package/lib/utils/api.js +18 -7
  8. package/lib/utils/creatorUtilities.d.ts +3 -0
  9. package/lib/utils/creatorUtilities.js +3 -0
  10. package/oclif.manifest.json +1 -1
  11. package/package.json +1 -1
  12. package/src/commands/init.ts +1 -0
  13. package/src/commands/publish.ts +13 -6
  14. package/src/commands/serve.ts +57 -1
  15. package/src/creator/package-lock.json +49 -0
  16. package/src/creator/package.json +1 -0
  17. package/src/creator/src/App.tsx +27 -21
  18. package/src/creator/src/components/ConsumablesManager.tsx +12 -2
  19. package/src/creator/src/components/LessonItem.tsx +3 -2
  20. package/src/creator/src/components/Loader.tsx +5 -1
  21. package/src/creator/src/components/Login.tsx +46 -135
  22. package/src/creator/src/components/syllabus/ContentIndex.tsx +84 -46
  23. package/src/creator/src/components/syllabus/SyllabusEditor.tsx +55 -12
  24. package/src/creator/src/index.css +15 -0
  25. package/src/creator/src/utils/creatorUtils.ts +33 -3
  26. package/src/creator/src/utils/lib.ts +156 -2
  27. package/src/creator/src/utils/rigo.ts +3 -3
  28. package/src/creator/src/utils/store.ts +0 -1
  29. package/src/creatorDist/assets/{index-k_eF99Sf.css → index-BJ2JJzVC.css} +48 -12
  30. package/src/creatorDist/assets/{index-Dm2fdeOs.js → index-CKBeex0S.js} +36853 -30578
  31. package/src/creatorDist/index.html +2 -2
  32. package/src/ui/_app/app.css +1 -1
  33. package/src/ui/_app/app.js +529 -529
  34. package/src/ui/app.tar.gz +0 -0
  35. package/src/utils/api.ts +25 -7
  36. package/src/utils/creatorUtilities.ts +3 -0
  37. package/src/utils/creds.json +0 -13
package/src/ui/app.tar.gz CHANGED
Binary file
package/src/utils/api.ts CHANGED
@@ -4,7 +4,8 @@ import cli from "cli-ux"
4
4
  import axios from "axios"
5
5
  const HOST = "https://breathecode.herokuapp.com"
6
6
  export const RIGOBOT_HOST = "https://rigobot.herokuapp.com"
7
- // const RIGOBOT_HOST = "https://8000-charlytoc-rigobot-bmwdeam7cev.ws-us116.gitpod.io"
7
+ // export const RIGOBOT_HOST =
8
+ // "https://8000-charlytoc-rigobot-bmwdeam7cev.ws-us118.gitpod.io"
8
9
 
9
10
  // eslint-disable-next-line
10
11
  const _fetch = require("node-fetch")
@@ -358,6 +359,13 @@ const with_crud_asset_roles = new Set([
358
359
  "student",
359
360
  ])
360
361
 
362
+ const neededPermissions = [
363
+ "add_asset",
364
+ "change_asset",
365
+ "view_asset",
366
+ "delete_asset",
367
+ ]
368
+
361
369
  export const listUserAcademies = async (
362
370
  breathecodeToken: string
363
371
  ): Promise<TAcademy[]> => {
@@ -375,15 +383,25 @@ export const listUserAcademies = async (
375
383
  const academiesMap = new Map<number, TAcademy>()
376
384
 
377
385
  for (const role of data.roles) {
378
- // Only add academies where the user's role is in the whitelist
379
- if (with_crud_asset_roles.has(role.role)) {
380
- const academy = role.academy
381
- if (!academiesMap.has(academy.id)) {
382
- academiesMap.set(academy.id, academy)
383
- }
386
+ const academy = role.academy
387
+ if (!academiesMap.has(academy.id)) {
388
+ academiesMap.set(academy.id, academy)
384
389
  }
385
390
  }
386
391
 
392
+ const permissions = new Set(data.permissions.map((p: any) => p.codename))
393
+
394
+ // Validate if the user has ALL the needed permissions
395
+ const hasAllPermissions = neededPermissions.every(permission =>
396
+ permissions.has(permission)
397
+ )
398
+
399
+ if (!hasAllPermissions) {
400
+ // The user does not have all the needed permissions
401
+
402
+ return []
403
+ }
404
+
387
405
  return [...academiesMap.values()]
388
406
  } catch (error) {
389
407
  console.error("Failed to fetch user academies:", error)
@@ -185,6 +185,9 @@ export const makePackageInfo = (choices: any) => {
185
185
  .toLowerCase()
186
186
  .replace(/ /g, "-")
187
187
  .replace(/[^\w-]+/g, ""),
188
+ telemetry: {
189
+ batch: "https://breathecode.herokuapp.com/v1/assignment/me/telemetry",
190
+ },
188
191
  }
189
192
  return packageInfo
190
193
  }
@@ -1,13 +0,0 @@
1
- {
2
- "type": "service_account",
3
- "project_id": "breathecode-197918",
4
- "private_key_id": "5572762992e0fb395d88f2b2bd9809c03c7d42a7",
5
- "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDI1e6IyBEoZg4k\nPiL4FPGJ1E8uVilWBjjuJMXyUoaPDX/5ylP8vOJCDd4ojCwa+TnHaHUqvwiKDw0p\nMBSYpJSKt0G4mkijKBDHAFyzpi5fZE1poN/JZ8iuicgOjYyCSXHL2Dx+t7h70spS\n/6jWsOoiReDHGB94Sx2J+bFUWCm50A5QUe/6fycx/pab6OTaIxqD0SkywO5i6rak\nEbUjppqXlErah8ynGlpaKDwrSuMy8I79hEacLrc7diJYYcdHque7JouvvkrhyKTG\nFtzKNfyZMj2wmyLJLCyy0Nz/9GQP6iFBPGsUXZ6fSQq/mDZ146mQKQDjzCBsKP7S\nCr7qC35vAgMBAAECggEAXtAcbgehjgRsHbEV+i+M/ig0f2ge2KVUYB0NNELAkq1p\nYughcVpMqKl6XYMbWVqaa+kFE3qfUeocKPsxZgSgucIdLUTtENWb4g7qNMe58b/d\nCgZwT9mGtNuIDlLF6EY7CmSZ3qrmVdKkQL3AnCZmSmrZ3LQnOzefCOHP1UVP4Y+g\nHrKBzPixtmT+c+D2/zrS1SyVDZr+h0orenjMgHs/8MEhJp0/rF6rLsZWXRqiT818\nis2+4V8P3AofphR8aZjW2TtuIodDuSMvIYgMaU/YIxFyRnqkORPdTox/ypTZymVw\ne4kLDa/LcSm6bjP2vNWmSdRo5qrUHpCxeUFXKzTAgQKBgQD3kTMEsT7Ba1lZgDra\nRRYEe89wo8FcSDO4QdrprANo8FTb0oVQI5GX3CHXlc1RhGoojL+dqdX8eOgzfqb3\n2Q4sI8EIg3Ern5kn9IhO3n9hJ7M8NvBbZ+loNxe4V+DBtt+8woFA/k8CIvuy5DsL\nfrkDAyez9niQfo0kIRa1dD8+7wKBgQDPrTsa7vFU8PufbGIQfQhWDZJjt6c8/lMI\n63CHQJ2zVcNEfMa3GS/j3vULfNqjWyGBdSFmYkBtH0ieTbIihFNpSpWvmx1Ot1H1\nuUZSK3BuDT68s1wX8bHamdnqHrYP6bNtbWE/b5TH2/zjW0afACYxo/bhoF22WbAo\nqvba3h+4gQKBgC2Hyb9CLc16xbr9J1W/QPZgIt2PcF9ddA2eJvm0xgfFs4WeKSB8\n+ijYtmykw1cLqE5+3DrN4moFfocB8wlAJSgfB0BelDC2sH81rN/8cabXm1ImtHvL\nF5UwFK+1kcNus6VOjGD8pGE7N9lFuko56yLPsLybRr8kVybe4wNKNtuHAoGBAKii\nIbxdCdnPVIK/n2GEJaC6pIQUPNhqK0Ky60zoSyW0Hjselr1W1mxSPuh1GZRMC4jz\nc4uPfIEfRfhFXsBoctKsnZ9adRHWCddd+pv+aezzFF5lxgIrYCABjdFt3qhNPEU+\n7Bh2onknSNHU7CNwG5NzcKUFcxL/AOwE5y4R7/ABAoGBAOrZE8S/+zAOZ5tQsucW\nE3vZblpKpeYrz3RRQH1JvRZUaF30Cm3sR6phkuBSUjGgk8hEuyfg08qpyzY6dk2N\nJ47b7SeasU7IE6652nI1ocRJybu0xcMk063v33ERdmF0DN8a87OShvq8oiVwgJ6g\nnpbEYpX2TKOdZVBw/GSThCls\n-----END PRIVATE KEY-----\n",
6
- "client_email": "learnpack-creator@breathecode-197918.iam.gserviceaccount.com",
7
- "client_id": "116506433220532654999",
8
- "auth_uri": "https://accounts.google.com/o/oauth2/auth",
9
- "token_uri": "https://oauth2.googleapis.com/token",
10
- "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
11
- "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/learnpack-creator%40breathecode-197918.iam.gserviceaccount.com",
12
- "universe_domain": "googleapis.com"
13
- }