Skip to content

Conversation

@SwikritiT
Copy link
Contributor

We have some functions that require the classes of other nextcloud apps like groupfolders and as we are supporting 3 major versions of the nextcloud server, the parameters to the class constructors may change according to the server's version. Currently, we are determining the version of the nextcloud and providing parameters based on that but in this PR we use dependency injection like in PR #502

Related work package: https://community.openproject.org/projects/nextcloud-integration/work_packages/50617

@SwikritiT SwikritiT changed the title Use dependecy Injection to get classes from other apps [OP#50617] Use dependecy Injection to get classes from other apps Oct 30, 2023
@SwikritiT SwikritiT self-assigned this Oct 30, 2023
Signed-off-by: Swikriti Tripathi <[email protected]>
@github-actions
Copy link

JS Code Coverage

Coverage after merging ehn/use-DI into master will be
86.97%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
src
   adminSettings.js0%0%0%0%1, 1, 10–19, 2, 20–25, 3–9
   bootstrap.js0%0%0%0%1, 1–7
   dashboard.js0%0%0%0%1, 1, 10–19, 2, 20–25, 3–9
   fileActions.js0%0%0%0%1, 1, 10–17, 2–9
   filesPlugin.js0%0%0%0%1, 1, 10–19, 2, 20–29, 3, 30–39, 4, 40–49, 5, 50–59, 6, 60–69, 7, 70–74, 8–9
   personalSettings.js0%0%0%0%1, 1, 10–19, 2, 20–25, 3–9
   projectTab.js0%0%0%0%1, 1, 10–19, 2, 20–29, 3, 30–39, 4, 40–49, 5, 50–59, 6, 60–66, 7–9
   reference.js0%0%0%0%1, 1, 10–19, 2, 20–29, 3, 30–39, 4, 40–49, 5, 50–59, 6, 60, 7–9
   utils.js66.67%33.33%50%69.09%10–14, 17–26, 6–9
src/components
   AdminSettings.vue99.29%95.60%85.19%99.91%1, 1, 1, 1, 1
   OAuthConnectButton.vue99.19%87.50%100%100%1
   PersonalSettings.vue98.87%93.33%85.71%100%1
src/components/admin
   FieldValue.vue97.12%83.33%100%98.89%1, 23, 23
   FormHeading.vue97.66%75%100%99.36%1, 1, 34, 34
   ProjectFolderError.vue96.83%80%100%98.21%1, 1
   TextInput.vue99.25%95%88.89%100%1
src/components/icons
   ClippyIcon.vue93.18%50%50%97.50%1, 1
   OpenProjectIcon.vue93.75%100%0%96.77%1
src/components/settings
   CheckBox.vue92.45%80%66.67%97.62%1, 1
   SettingsTitle.vue94.74%50%100%97.14%1, 1
src/components/tab
   EmptyContent.vue97.14%78.95%100%99.35%1, 1, 1, 33, 33
   SearchInput.vue99.27%88.89%80%100%1
   WorkPackage.vue98.42%40%100%99.35%1, 1, 1, 43, 43
src/utils
   workpackageHelper.js94.31%88.89%100%95.65%17–19, 48, 48–50
src/views
   Dashboard.vue98.97%71.43%100%99.65%1, 1, 1
   LinkMultipleFilesModal.vue99.40%91.67%100%100%1
   ProjectsTab.vue99.74%93.75%100%100%23
   WorkPackagePickerElement.vue0%0%0%0%1, 1, 10–19, 2, 20–29, 3, 30–39, 4, 40–49, 5, 50–59, 6, 60–69, 7, 70–79, 8, 80–89, 9, 90–96
   WorkPackageReferenceWidget.vue0%0%0%0%1, 1, 10, 100–109, 11, 110–119, 12, 120–129, 13, 130–134, 14–19, 2, 20–29, 3, 30–39, 4, 40–49, 5, 50–59, 6, 60–69, 7, 70–79, 8, 80–89, 9, 90–99

@github-actions
Copy link

PHP Code Coverage

Coverage after merging ehn/use-DI into master will be
57.53%
Coverage Report
FileStmtsBranchesFuncsLinesUncovered Lines
server/apps/integration_openproject/lib
   Capabilities.php0%100%0%0%19, 26–29
server/apps/integration_openproject/lib/AppInfo
   Application.php10.81%100%25%9.09%100–101, 103–105, 109–112, 114, 118–123, 134, 138, 69–71, 74, 78, 81, 85, 87, 91, 96, 98–99
server/apps/integration_openproject/lib/BackgroundJob
   RemoveExpiredDirectUploadTokens.php0%100%0%0%42, 44–46, 55–56
server/apps/integration_openproject/lib/Controller
   ConfigController.php62.69%100%50%63.39%134, 151–152, 154, 156–158, 160–161, 166–167, 169, 217, 278, 367–368, 371–372, 378–380, 506–509, 511–512, 515, 523, 534, 548–550, 565–569, 571–572, 574–577, 579–581, 583–585, 587–589, 607–612, 614–615, 617–619, 622, 624–627, 629–631, 633–635, 637–639, 653, 662–665, 667–670, 680–685
   DirectDownloadController.php0%100%0%0%36–38, 53–55, 57, 60–61
   DirectUploadController.php71.43%100%100%70.43%131–132, 177, 190, 194–197, 199, 209, 216, 232–234, 236–237, 240–242, 248, 250, 255–256, 263–264, 267–268, 271–272, 288–289, 309, 314, 320
   FilesController.php77%100%85.71%76.34%223–224, 277, 283, 285–287, 289, 291, 302–304, 307–308, 310–311, 315–318, 321, 327
   OpenProjectAPIController.php88.18%100%80%88.78%139, 176, 200, 224–227, 230, 232, 234–237, 239–240, 245, 257, 266, 284, 293, 558, 560, 96
server/apps/integration_openproject/lib/Dashboard
   OpenProjectWidget.php0%100%0%0%101–102, 104–108, 116, 123–124, 126, 128–129, 131–132, 134, 137–138, 140–141, 143, 69–73, 80, 87, 94
server/apps/integration_openproject/lib/Exception
   OpenprojectErrorException.php100%100%100%100%
   OpenprojectFileNotUploadedException.php100%100%100%100%
   OpenprojectGroupfolderSetupConflictException.php100%100%100%100%
   OpenprojectResponseException.php100%100%100%100%
   OpenprojectUnauthorizedUserException.php0%100%0%0%16
server/apps/integration_openproject/lib/Listener
   BeforeGroupDeletedListener.php0%100%0%0%48, 56–57, 60–63
   BeforeNodeInsideOpenProjectGroupfilderChangedListener.php0%100%0%0%41–43, 47–52, 55–56, 58–63, 65, 67, 71
   BeforeUserDeletedListener.php0%100%0%0%48, 55–56, 58–61
   LoadSidebarScript.php0%100%0%0%100, 102, 104, 106–108, 110, 112, 114–115, 117–118, 120, 122, 75–81, 83–84, 86–87, 89–90, 96–97, 99
   OpenProjectReferenceListener.php0%100%0%0%53–54, 58–59, 62–63, 65, 67
   UserChangedListener.php0%100%0%0%52, 59–60, 63–68
server/apps/integration_openproject/lib/Migration
   Version2001Date20221213083550.php0%100%0%0%47, 57, 60, 63, 67, 70, 73, 77–79, 81
   Version2310Date20230116153411.php0%100%0%0%46, 49–52, 54–56, 60, 64, 68, 72, 76, 81–82, 84
   Version2400Date20230504144300.php0%100%0%0%47, 57, 60
server/apps/integration_openproject/lib/Reference
   WorkPackageReferenceProvider.php17.02%100%10%18.92%102, 109–112, 115–117, 120, 127–130, 132, 134–136, 138, 140, 142, 146, 155, 163–164, 172, 52, 59, 66, 73–74
server/apps/integration_openproject/lib/Search
   OpenProjectSearchProvider.php0%100%0%0%103–104, 107–114, 116–118, 121–122, 124–125, 129–134, 140–141, 143, 66–69, 76, 83, 91, 93, 96
   OpenProjectSearchResultEntry.php100%100%100%100%
server/apps/integration_openproject/lib/Service
   DatabaseService.php43.90%100%60%41.67%125–128, 131, 80–87, 89–93, 95–97
   DirectDownloadService.php88%100%100%86.96%65–66, 68
   DirectUploadService.php54.55%100%66.67%52.63%112, 118, 79–82, 84, 89, 91
   OauthService.php0%100%0%0%108–115, 45–47, 56–66, 68, 70–72, 75–78, 89, 91–94, 96–97
   OpenProjectAPIService.php71.76%100%70.73%71.86%1001, 1019, 1021, 1027, 1032, 1036, 1047–1048, 1179–1186, 1188, 1196–1200, 1208–1215, 1232–1239, 1248–1253, 165–169, 240, 349–350, 352, 366–367, 376, 380, 401, 489–490, 497, 500–503, 505, 511,

@SwikritiT SwikritiT marked this pull request as ready for review October 31, 2023 08:18
Copy link
Collaborator

@individual-it individual-it left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This makes the code much nicer 👍

@SwikritiT SwikritiT merged commit d5e99c2 into master Nov 1, 2023
@delete-merged-branch delete-merged-branch bot deleted the ehn/use-DI branch November 1, 2023 04:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants