{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":46755185,"defaultBranch":"main","name":"server","ownerLogin":"bitwarden","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2015-11-23T23:45:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/15990069?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716775013.0","currentOid":""},"activityList":{"items":[{"before":"9400ca5a5c88d7b9f10d203c27fc38793e94dfd7","after":"51e9bec6ffe4221ab6b88e1bc04e81726e057167","ref":"refs/heads/task/BRE-87","pushedAt":"2024-05-27T16:59:03.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"urbinaalex17","name":"Alex Urbina","path":"/urbinaalex17","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42731074?s=80&v=4"},"commit":{"message":"Merge branch 'main' into task/BRE-87","shortMessageHtmlLink":"Merge branch 'main' into task/BRE-87"}},{"before":"5d263faaacded4ce01e68dc476d2249cfc96eba8","after":null,"ref":"refs/heads/ac/addison/ac-2301/bulk-device-approval-service","pushedAt":"2024-05-27T01:56:53.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"}},{"before":"0d2e953459e2b798f4a27200a96ee98436a4b609","after":"98a191a5e80ccf54c87a2342091d946f2d45c125","ref":"refs/heads/main","pushedAt":"2024-05-27T01:56:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Allow for bulk processing new login device requests (#4064)\n\n* Define a model for updating many auth requests\r\n\r\nIn order to facilitate a command method that can update many auth\r\nrequests at one time a new model must be defined that accepts valid\r\ninput for the command's needs. To achieve this a new file has been\r\ncreated at\r\n`Core/AdminConsole/OrganizationAuth/Models/OrganizationAuthRequestUpdateCommandModel.cs`\r\nthat contains a class of the same name. It's properties match those that\r\nneed to come from any calling API request models to fulfill the request.\r\n\r\n* Declare a new command interface method\r\n\r\nCalling API functions of the `UpdateOrganizationAuthRequestCommand` need\r\na function that can accept many auth request response objects and\r\nprocess them as approved or denied. To achieve this a new function has\r\nbeen added to `IUpdateOrganizationAuthRequestCommand` called\r\n`UpdateManyAsync()` that accepts an\r\n`IEnumberable` and returns a `Task`.\r\nImplementations of this interface method will be used to bulk process\r\nauth requests as approved or denied.\r\n\r\n* Stub out method implementation for unit testing\r\n\r\nTo facilitate a bulk device login request approval workflow in the admin\r\nconsole `UpdateOrganizationAuthRequestCommand` needs to be updated to\r\ninclude an `UpdateMany()` method. It should accept a list of\r\n`OrganizationAuthRequestUpdateCommandModel` objects, perform some simple\r\ndata validation checks, and then pass those along to\r\n`AuthRequestRepository` for updating in the database.\r\n\r\nThis commit stubs out this method for the purpose of writing unit tests.\r\nAt this stage the method throws a `NotImplementedException()`. It will\r\nbe expand after writing assertions.\r\n\r\n* Inject `IAuthRequestRepository` into `UpdateOrganizationAuthCommand`\r\n\r\nThe updates to `UpdateOrganizationAuthRequestCommand` require a new\r\ndirect dependency on `IAuthRequestRepository`. This commit simply\r\nregisters this dependency in the `UpdateOrganizationAuthRequest`\r\nconstructor for use in unit tests and the `UpdateManyAsync()`\r\nimplementation.\r\n\r\n* Write tests\r\n\r\n* Rename `UpdateManyAsync()` to `UpdateAsync`\r\n\r\n* Drop the `CommandModel` suffix\r\n\r\n* Invert business logic update filters\r\n\r\n* Rework everything to be more model-centric\r\n\r\n* Bulk send push notifications\r\n\r\n* Write tests that validate the command as a whole\r\n\r\n* Fix a test that I broke by mistake\r\n\r\n* Swap to using await instead of chained methods for processing\r\n\r\n* Seperate a function arguement into a variable declaration\r\n\r\n* Ungeneric-ify the processor\r\n\r\n* Adjust ternary formatting\r\n\r\n* Adjust naming of methods regarding logging organization events\r\n\r\n* Throw an exception if Process is called with no auth request loaded\r\n\r\n* Rename `_updates` -> `_update`\r\n\r\n* Rename email methods\r\n\r\n* Stop returning `this`\r\n\r\n* Allow callbacks to be null\r\n\r\n* Make some assertions about the state of a processed auth request\r\n\r\n* Be more terse about arguements in happy path test\r\n\r\n* Remove unneeded null check\r\n\r\n* Expose an endpoint for bulk processing of organization auth requests (#4077)\r\n\r\n---------\r\n\r\nCo-authored-by: Thomas Rittson <31796059+eliykat@users.noreply.github.com>","shortMessageHtmlLink":"Allow for bulk processing new login device requests (#4064)"}},{"before":"c11189af16257cd1af122afee440fa9cf3c673d0","after":"5d263faaacded4ce01e68dc476d2249cfc96eba8","ref":"refs/heads/ac/addison/ac-2301/bulk-device-approval-service","pushedAt":"2024-05-27T01:25:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Expose an endpoint for bulk processing of organization auth requests (#4077)","shortMessageHtmlLink":"Expose an endpoint for bulk processing of organization auth requests (#…"}},{"before":"098b58645213bfb74295f622de75920e1771451f","after":null,"ref":"refs/heads/ac/addison/ac-2301/bulk-device-approval-api","pushedAt":"2024-05-27T01:25:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"}},{"before":"777c92e2d86a3d5a9ec1f10de91236386202ea2d","after":"098b58645213bfb74295f622de75920e1771451f","ref":"refs/heads/ac/addison/ac-2301/bulk-device-approval-api","pushedAt":"2024-05-27T01:20:49.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Merge branch 'ac/addison/ac-2301/bulk-device-approval-service' into ac/addison/ac-2301/bulk-device-approval-api","shortMessageHtmlLink":"Merge branch 'ac/addison/ac-2301/bulk-device-approval-service' into a…"}},{"before":"f74e9ce5991d211cd2bcd71296eb478236b44377","after":"c11189af16257cd1af122afee440fa9cf3c673d0","ref":"refs/heads/ac/addison/ac-2301/bulk-device-approval-service","pushedAt":"2024-05-27T01:17:36.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Merge branch 'main' into ac/addison/ac-2301/bulk-device-approval-service","shortMessageHtmlLink":"Merge branch 'main' into ac/addison/ac-2301/bulk-device-approval-service"}},{"before":"4fd67133d0cf799e5e884b58407bf50b798bd6e7","after":"117bd3a826ab660bea20fcaecea22886725e0728","ref":"refs/heads/ac/ac-292/public-api---configure-custom-permission-v2","pushedAt":"2024-05-27T01:10:36.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Merge branch 'main' into ac/ac-292/public-api---configure-custom-permission-v2","shortMessageHtmlLink":"Merge branch 'main' into ac/ac-292/public-api---configure-custom-perm…"}},{"before":null,"after":"60c466f4ffe2171e952235e429524071828b9b31","ref":"refs/heads/renovate/quartznet-monorepo","pushedAt":"2024-05-27T01:00:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"[deps] AC: Update Quartz to v3.9.0","shortMessageHtmlLink":"[deps] AC: Update Quartz to v3.9.0"}},{"before":null,"after":"0bd1c92bdd81bc9e1132fe473b09ac457c2e5c73","ref":"refs/heads/renovate/microsoft.extensions.caching.cosmos-1.x","pushedAt":"2024-05-27T01:00:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"[deps]: Update Microsoft.Extensions.Caching.Cosmos to v1.6.1","shortMessageHtmlLink":"[deps]: Update Microsoft.Extensions.Caching.Cosmos to v1.6.1"}},{"before":"66d32f0528eaf49975bd6d34afd0981f20024484","after":null,"ref":"refs/heads/ac/ac-2652/update-importcipherscontroller","pushedAt":"2024-05-27T00:58:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"}},{"before":"62c90bc50a9eb817bb926c24938b0a50700452cc","after":"0d2e953459e2b798f4a27200a96ee98436a4b609","ref":"refs/heads/main","pushedAt":"2024-05-27T00:58:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Remove obsolete permissions code from ImportCiphersController (#4124)","shortMessageHtmlLink":"Remove obsolete permissions code from ImportCiphersController (#4124)"}},{"before":"3598e26fbcc7eb4c1929791109845ad9cfcc20e3","after":null,"ref":"refs/heads/ac/ac-2651/update-organizationscontroller","pushedAt":"2024-05-27T00:57:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"}},{"before":"6a0eae417d8a7c5bd0d89db7be63d4ba61b44e0e","after":"62c90bc50a9eb817bb926c24938b0a50700452cc","ref":"refs/heads/main","pushedAt":"2024-05-27T00:57:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Remove FlexibleCollections check from OrganizationsController (#4123)","shortMessageHtmlLink":"Remove FlexibleCollections check from OrganizationsController (#4123)"}},{"before":null,"after":"3afdca48b02aec546e4dacc5d2a54574b5b87851","ref":"refs/heads/renovate/aspnet-health-checks-monorepo","pushedAt":"2024-05-27T00:49:02.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"[deps] Vault: Update aspnet-health-checks monorepo","shortMessageHtmlLink":"[deps] Vault: Update aspnet-health-checks monorepo"}},{"before":null,"after":"fb8a56b55a929ebb15c2210a03fd99b94159b5ac","ref":"refs/heads/renovate/aws-sdk-net-monorepo","pushedAt":"2024-05-27T00:48:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renovate[bot]","name":null,"path":"/apps/renovate","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/2740?s=80&v=4"},"commit":{"message":"[deps] Tools: Update aws-sdk-net monorepo","shortMessageHtmlLink":"[deps] Tools: Update aws-sdk-net monorepo"}},{"before":"fa7cf2d6ddee33fb6f458940ab68f38e67cbf02c","after":"66d32f0528eaf49975bd6d34afd0981f20024484","ref":"refs/heads/ac/ac-2652/update-importcipherscontroller","pushedAt":"2024-05-27T00:47:31.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Merge branch 'main' into ac/ac-2652/update-importcipherscontroller","shortMessageHtmlLink":"Merge branch 'main' into ac/ac-2652/update-importcipherscontroller"}},{"before":"3a4b8eef92a01a1fcadafe1e01a416623543a5c1","after":"3598e26fbcc7eb4c1929791109845ad9cfcc20e3","ref":"refs/heads/ac/ac-2651/update-organizationscontroller","pushedAt":"2024-05-27T00:47:24.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"eliykat","name":"Thomas Rittson","path":"/eliykat","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31796059?s=80&v=4"},"commit":{"message":"Merge branch 'main' into ac/ac-2651/update-organizationscontroller","shortMessageHtmlLink":"Merge branch 'main' into ac/ac-2651/update-organizationscontroller"}},{"before":"23b60d484640df0a44541b6ad268e83d1414e786","after":"f74e9ce5991d211cd2bcd71296eb478236b44377","ref":"refs/heads/ac/addison/ac-2301/bulk-device-approval-service","pushedAt":"2024-05-25T01:30:14.000Z","pushType":"push","commitsCount":13,"pusher":{"login":"addisonbeck","name":"Addison Beck","path":"/addisonbeck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15897251?s=80&v=4"},"commit":{"message":"Merge branch 'main' into ac/addison/ac-2301/bulk-device-approval-service","shortMessageHtmlLink":"Merge branch 'main' into ac/addison/ac-2301/bulk-device-approval-service"}},{"before":"7ec095a3eec24fff03969d630a0400bfb2be4c4a","after":"777c92e2d86a3d5a9ec1f10de91236386202ea2d","ref":"refs/heads/ac/addison/ac-2301/bulk-device-approval-api","pushedAt":"2024-05-25T01:28:33.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"addisonbeck","name":"Addison Beck","path":"/addisonbeck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15897251?s=80&v=4"},"commit":{"message":"Merge branch 'ac/addison/ac-2301/bulk-device-approval-service' into ac/addison/ac-2301/bulk-device-approval-api","shortMessageHtmlLink":"Merge branch 'ac/addison/ac-2301/bulk-device-approval-service' into a…"}},{"before":"bb99b5e0607ea7288b4670692a493f3a4e24473c","after":"23b60d484640df0a44541b6ad268e83d1414e786","ref":"refs/heads/ac/addison/ac-2301/bulk-device-approval-service","pushedAt":"2024-05-25T01:15:58.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"addisonbeck","name":"Addison Beck","path":"/addisonbeck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/15897251?s=80&v=4"},"commit":{"message":"Remove unneeded null check","shortMessageHtmlLink":"Remove unneeded null check"}},{"before":"32d5b1fde9eae0d750890cf02e548b80b8d9e2e6","after":"4fa749df705569c1980ea1c91b1629d93a617fec","ref":"refs/heads/auth/pm-5216/duo-model-refactor","pushedAt":"2024-05-24T23:28:07.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"ike-kottlowski","name":"Ike","path":"/ike-kottlowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/137194738?s=80&v=4"},"commit":{"message":"Merge branch 'main' into auth/pm-5216/duo-model-refactor","shortMessageHtmlLink":"Merge branch 'main' into auth/pm-5216/duo-model-refactor"}},{"before":"611d069b25e85d4395476e055cbf1de75a0dee33","after":"32d5b1fde9eae0d750890cf02e548b80b8d9e2e6","ref":"refs/heads/auth/pm-5216/duo-model-refactor","pushedAt":"2024-05-24T23:23:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ike-kottlowski","name":"Ike","path":"/ike-kottlowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/137194738?s=80&v=4"},"commit":{"message":"fix organization add duo","shortMessageHtmlLink":"fix organization add duo"}},{"before":"fbc185a9526e5597e959d1653d74120fb8aba347","after":"e68d41c17bf3176d4ba67f5a33fff97449b8a9fc","ref":"refs/heads/sm/sm-654","pushedAt":"2024-05-24T21:58:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Thomas-Avery","name":"Thomas Avery","path":"/Thomas-Avery","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43214426?s=80&v=4"},"commit":{"message":"Update interface","shortMessageHtmlLink":"Update interface"}},{"before":"d697750363ad0e6f9dd1f1b4bc975566e54cf6c6","after":"fbc185a9526e5597e959d1653d74120fb8aba347","ref":"refs/heads/sm/sm-654","pushedAt":"2024-05-24T21:42:31.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"Thomas-Avery","name":"Thomas Avery","path":"/Thomas-Avery","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/43214426?s=80&v=4"},"commit":{"message":"update update & create secret unit tests","shortMessageHtmlLink":"update update & create secret unit tests"}},{"before":"0ded17e1994b483964299a5be397e69fec22daaa","after":"611d069b25e85d4395476e055cbf1de75a0dee33","ref":"refs/heads/auth/pm-5216/duo-model-refactor","pushedAt":"2024-05-24T19:09:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ike-kottlowski","name":"Ike","path":"/ike-kottlowski","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/137194738?s=80&v=4"},"commit":{"message":"Merge branch 'auth/pm-5216/duo-model-refactor' of https://github.com/bitwarden/server into auth/pm-5216/duo-model-refactor","shortMessageHtmlLink":"Merge branch 'auth/pm-5216/duo-model-refactor' of https://github.com/…"}},{"before":"407849cfe34b7c32e5f0e8366a010e317980791b","after":"9400ca5a5c88d7b9f10d203c27fc38793e94dfd7","ref":"refs/heads/task/BRE-87","pushedAt":"2024-05-24T18:41:03.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"urbinaalex17","name":"Alex Urbina","path":"/urbinaalex17","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42731074?s=80&v=4"},"commit":{"message":"Merge branch 'main' into task/BRE-87","shortMessageHtmlLink":"Merge branch 'main' into task/BRE-87"}},{"before":"2a0740fc8007c48cb40c39db01a0074dbfde2c78","after":null,"ref":"refs/heads/tools/AC-2671/add-member-access-report-feature-flag","pushedAt":"2024-05-24T15:51:33.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"aj-rosado","name":null,"path":"/aj-rosado","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109146700?s=80&v=4"}},{"before":"a5ec675cc8c85a294707e8b6e09b6b2c7e18ccdd","after":"6a0eae417d8a7c5bd0d89db7be63d4ba61b44e0e","ref":"refs/heads/main","pushedAt":"2024-05-24T15:51:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"aj-rosado","name":null,"path":"/aj-rosado","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109146700?s=80&v=4"},"commit":{"message":"Added MemberAccessReport to feature flags (#4114)","shortMessageHtmlLink":"Added MemberAccessReport to feature flags (#4114)"}},{"before":"4519a18db34ad251e8855ce60fe5031a5dd2e526","after":"2a0740fc8007c48cb40c39db01a0074dbfde2c78","ref":"refs/heads/tools/AC-2671/add-member-access-report-feature-flag","pushedAt":"2024-05-24T15:42:54.000Z","pushType":"push","commitsCount":16,"pusher":{"login":"aj-rosado","name":null,"path":"/aj-rosado","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/109146700?s=80&v=4"},"commit":{"message":"Merge branch 'main' into tools/AC-2671/add-member-access-report-feature-flag\n\n# Conflicts:\n#\tsrc/Core/Constants.cs","shortMessageHtmlLink":"Merge branch 'main' into tools/AC-2671/add-member-access-report-featu…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEVRjCzQA","startCursor":null,"endCursor":null}},"title":"Activity · bitwarden/server"}