Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
c3ed2eb
Working on switching from a shared key to a public / private key pair
seanrcollings Aug 11, 2023
a9b2152
Got JWKs from the admin app working
seanrcollings Aug 25, 2023
71e5991
Implemented JWK token validation for the new Admin App, reworked the …
seanrcollings Aug 26, 2023
33e204b
Fixed internal token validation
seanrcollings Sep 1, 2023
0aac772
inverted admin conditional check
seanrcollings Sep 1, 2023
6a031d9
added some helper methods to check how the request is authorized
seanrcollings Sep 1, 2023
5112eeb
Merge branch 'feature/admin-app' into sc/admin-app-jwks
seanrcollings Sep 26, 2023
950a296
Merge pull request #13 from atomicjolt/sc/admin-app-jwks
seanrcollings Sep 26, 2023
f0d71cf
Application listing / editing working
seanrcollings Apr 6, 2024
a38a7bf
Application Update schema
seanrcollings Apr 6, 2024
8a2ba9d
Updates
seanrcollings Apr 11, 2024
8b888ae
Retrieving Application Instances is working
seanrcollings May 1, 2024
98b493d
Retrieving Interactions from Backend
seanrcollings May 1, 2024
9735634
Iniitial Integration manager implementation
seanrcollings May 2, 2024
ea1c261
Second simpler pass at interactions
seanrcollings May 2, 2024
f296572
Fixing validations
seanrcollings May 2, 2024
e6f567f
Updating Application instances
seanrcollings May 27, 2024
271783b
Creating application instances based on schema
seanrcollings May 27, 2024
9943f71
Renamed some query params to be more clear
seanrcollings May 28, 2024
bd4326a
Implemented sites controller
seanrcollings Jun 29, 2024
681fbb5
Merge pull request #18 from atomicjolt/sc/admin-app-applications
seanrcollings Jul 1, 2024
c5cbd91
Merge pull request #19 from atomicjolt/sc/sites
seanrcollings Jul 1, 2024
89834bf
Implemented a pagination solution for resources to implement
seanrcollings Jul 24, 2024
0b81210
Merge pull request #22 from atomicjolt/sc/pagination
seanrcollings Jul 24, 2024
2c78295
Added Admin app support for LTI 1.3 components
seanrcollings Jul 28, 2024
b350de8
Fixed 1.1 LTI thingy
seanrcollings Jul 29, 2024
8f6ae8d
Added serialzer for single resource
seanrcollings Jul 29, 2024
177905b
Added deprecation notices
seanrcollings Jul 30, 2024
6050128
Merge pull request #23 from atomicjolt/sc/lti-advantage
seanrcollings Jul 30, 2024
2a66d21
Moved to HTTParty as HTTP client
seanrcollings Aug 13, 2024
59cb391
misc fixes
seanrcollings Aug 13, 2024
b164394
updated filtering code
seanrcollings Aug 14, 2024
3027f01
fixes
seanrcollings Aug 23, 2024
5f287fc
Merge branch 'feature/admin-app' into sc/serializers
seanrcollings Aug 23, 2024
a0f5c96
Getting registrar up and running
seanrcollings Aug 23, 2024
cb0bfc9
Simplified Application Instance Form Schema
seanrcollings Nov 5, 2024
da92f2b
Simplified Application Instance Form Schema
seanrcollings Nov 5, 2024
b693a5e
Merge branch 'sc/atomic-registrar' of github.com:atomicjolt/atomic_ad…
seanrcollings Nov 5, 2024
9e19882
Merge branch 'main' into feature/admin-app
seanrcollings Nov 27, 2024
db2386c
Accept Rails 7 or Rails 8
seanrcollings Nov 27, 2024
b5a8cab
Removed dependency on active_model_serializers
seanrcollings Nov 27, 2024
19d45b4
App instance API fixes
seanrcollings Nov 28, 2024
a069280
Nucleus support
seanrcollings Dec 3, 2024
c28b7c9
added generator
seanrcollings Mar 28, 2025
4d093a4
removed 'atomic' prefix from controllers
seanrcollings Mar 28, 2025
0cd6166
moved controllers and aliased them to their correct path
seanrcollings Mar 28, 2025
855faca
removed generator
seanrcollings Mar 28, 2025
2bfd876
Merge pull request #35 from atomicjolt/sc/admin-app-sub-classing
seanrcollings Mar 31, 2025
3e9b358
feat: stats endpoint
seanrcollings Apr 1, 2025
df03ad7
feat: add lti_config_xml to app instance JSON response
seanrcollings Apr 24, 2025
039f6d1
Merge branch 'main' into feature/admin-app
seanrcollings Apr 24, 2025
d0daa2e
added some basic docs for using the gem
seanrcollings Apr 24, 2025
b988aff
fix: fixed LTI 1.3 controllers
seanrcollings Apr 24, 2025
284287f
support allowing additional app instance params
blunckr-aj Apr 24, 2025
c6ccfdf
Merge pull request #36 from atomicjolt/rb/app-changes
blunckr-aj Apr 30, 2025
47773ba
Merge branch 'main' into feature/admin-app
seanrcollings May 2, 2025
1666b4d
Merge remote-tracking branch 'origin/main' into feature/admin-app
seanrcollings May 5, 2025
addcf8c
feat: add delete action to AppInstance controller
seanrcollings May 6, 2025
e9a7eb2
feat: generalized additional params
seanrcollings May 8, 2025
8fa981a
feat: params are fully permissive by default
seanrcollings May 9, 2025
86d6980
permitt all fields nested in the resource
seanrcollings May 9, 2025
0772185
feat: controllers scope their paylaods within a named top-level field
seanrcollings May 9, 2025
9ff6101
chore: dependency upgrades
seanrcollings May 9, 2025
7126ed7
feat: support searching & sorting by issuer in LTI Advantage resources
seanrcollings May 12, 2025
24f3b5f
Merge pull request #41 from atomicjolt/sc/search-issuers
seanrcollings May 12, 2025
6645db6
pulling in old routes
seanrcollings May 12, 2025
cdcceb1
Add supporting a custom analytics controller
dspencer001 May 12, 2025
5f68f04
Remove unused stats placeholder
dspencer001 May 12, 2025
db3702e
Rename analytics to stats
dspencer001 May 12, 2025
3d62a00
refactor: replace admin token validation with internal token validati…
seanrcollings May 12, 2025
71c9ea9
feat: add old routes back to routes config
seanrcollings May 12, 2025
38da8ac
chore: version bump
seanrcollings May 12, 2025
5ae6cd2
Merge pull request #43 from atomicjolt/sc/support-old-admin-routes
seanrcollings May 12, 2025
a0976b6
Merge pull request #42 from atomicjolt/ds/support-custom-analytics
dspencer001 May 13, 2025
47356c1
fix: removed debug call
seanrcollings Jul 1, 2025
0ff0ea0
WIP support integration between new admin panel and catalyst
blunckr-aj Oct 23, 2025
49b0c29
support launch url as a proc
blunckr-aj Oct 24, 2025
5e3f66e
Merge pull request #61 from atomicjolt/rb/new-admin
blunckr-aj Oct 29, 2025
4822636
bump version
blunckr-aj Oct 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ gem "sprockets-rails"
# gem "debug", ">= 1.0.0"

gem "atomic_lti", "1.5.0"
gem 'atomic_tenant', "1.2.0"
gem "atomic_tenant", "1.2.0"
gem "httparty"
264 changes: 156 additions & 108 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,180 +1,228 @@
PATH
remote: .
specs:
atomic_admin (1.0.0)
atomic_admin (2.0.0.beta.4)
rails (>= 7.0, < 9.0)

GEM
remote: https://rubygems.org/
specs:
actioncable (7.0.8.7)
actionpack (= 7.0.8.7)
activesupport (= 7.0.8.7)
actioncable (7.2.2.1)
actionpack (= 7.2.2.1)
activesupport (= 7.2.2.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (7.0.8.7)
actionpack (= 7.0.8.7)
activejob (= 7.0.8.7)
activerecord (= 7.0.8.7)
activestorage (= 7.0.8.7)
activesupport (= 7.0.8.7)
mail (>= 2.7.1)
net-imap
net-pop
net-smtp
actionmailer (7.0.8.7)
actionpack (= 7.0.8.7)
actionview (= 7.0.8.7)
activejob (= 7.0.8.7)
activesupport (= 7.0.8.7)
mail (~> 2.5, >= 2.5.4)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.0)
actionpack (7.0.8.7)
actionview (= 7.0.8.7)
activesupport (= 7.0.8.7)
rack (~> 2.0, >= 2.2.4)
zeitwerk (~> 2.6)
actionmailbox (7.2.2.1)
actionpack (= 7.2.2.1)
activejob (= 7.2.2.1)
activerecord (= 7.2.2.1)
activestorage (= 7.2.2.1)
activesupport (= 7.2.2.1)
mail (>= 2.8.0)
actionmailer (7.2.2.1)
actionpack (= 7.2.2.1)
actionview (= 7.2.2.1)
activejob (= 7.2.2.1)
activesupport (= 7.2.2.1)
mail (>= 2.8.0)
rails-dom-testing (~> 2.2)
actionpack (7.2.2.1)
actionview (= 7.2.2.1)
activesupport (= 7.2.2.1)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4, < 3.2)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (7.0.8.7)
actionpack (= 7.0.8.7)
activerecord (= 7.0.8.7)
activestorage (= 7.0.8.7)
activesupport (= 7.0.8.7)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
useragent (~> 0.16)
actiontext (7.2.2.1)
actionpack (= 7.2.2.1)
activerecord (= 7.2.2.1)
activestorage (= 7.2.2.1)
activesupport (= 7.2.2.1)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (7.0.8.7)
activesupport (= 7.0.8.7)
actionview (7.2.2.1)
activesupport (= 7.2.2.1)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (7.0.8.7)
activesupport (= 7.0.8.7)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activejob (7.2.2.1)
activesupport (= 7.2.2.1)
globalid (>= 0.3.6)
activemodel (7.0.8.7)
activesupport (= 7.0.8.7)
activerecord (7.0.8.7)
activemodel (= 7.0.8.7)
activesupport (= 7.0.8.7)
activestorage (7.0.8.7)
actionpack (= 7.0.8.7)
activejob (= 7.0.8.7)
activerecord (= 7.0.8.7)
activesupport (= 7.0.8.7)
activemodel (7.2.2.1)
activesupport (= 7.2.2.1)
activerecord (7.2.2.1)
activemodel (= 7.2.2.1)
activesupport (= 7.2.2.1)
timeout (>= 0.4.0)
activestorage (7.2.2.1)
actionpack (= 7.2.2.1)
activejob (= 7.2.2.1)
activerecord (= 7.2.2.1)
activesupport (= 7.2.2.1)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (7.0.8.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
activesupport (7.2.2.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
tzinfo (~> 2.0)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
atomic_lti (1.5.0)
pg (~> 1.3)
rails (~> 7.0)
atomic_tenant (1.2.0)
atomic_lti (~> 1.3)
rails (~> 7.0)
base64 (0.2.0)
benchmark (0.4.0)
bigdecimal (3.1.9)
builder (3.3.0)
concurrent-ruby (1.3.4)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
crass (1.0.6)
date (3.3.3)
erubi (1.13.0)
globalid (1.1.0)
activesupport (>= 5.0)
i18n (1.14.6)
csv (3.3.4)
date (3.4.1)
drb (2.2.1)
erubi (1.13.1)
globalid (1.2.1)
activesupport (>= 6.1)
httparty (0.23.1)
csv
mini_mime (>= 1.0.0)
multi_xml (>= 0.5.2)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
loofah (2.23.1)
io-console (0.8.0)
irb (1.15.2)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
logger (1.7.0)
loofah (2.24.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mail (2.8.1)
mini_mime (>= 0.1.1)
net-imap
net-pop
net-smtp
marcel (1.0.2)
method_source (1.0.0)
marcel (1.0.4)
mini_mime (1.1.5)
mini_portile2 (2.8.8)
minitest (5.25.4)
net-imap (0.3.7)
minitest (5.25.5)
multi_xml (0.7.1)
bigdecimal (~> 3.1)
net-imap (0.5.8)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.1)
net-protocol (0.2.2)
timeout
net-smtp (0.3.3)
net-smtp (0.5.1)
net-protocol
nio4r (2.5.9)
nokogiri (1.17.1-x86_64-darwin)
nio4r (2.7.4)
nokogiri (1.18.8-arm64-darwin)
racc (~> 1.4)
nokogiri (1.17.1-x86_64-linux)
nokogiri (1.18.8-x86_64-darwin)
racc (~> 1.4)
pg (1.5.3)
nokogiri (1.18.8-x86_64-linux)
racc (~> 1.4)
pg (1.5.9)
pp (0.6.2)
prettyprint
prettyprint (0.2.0)
psych (5.2.4)
date
stringio
racc (1.8.1)
rack (2.2.10)
rack-test (2.1.0)
rack (3.1.14)
rack-session (2.1.1)
base64 (>= 0.1.0)
rack (>= 3.0.0)
rack-test (2.2.0)
rack (>= 1.3)
rails (7.0.8.7)
actioncable (= 7.0.8.7)
actionmailbox (= 7.0.8.7)
actionmailer (= 7.0.8.7)
actionpack (= 7.0.8.7)
actiontext (= 7.0.8.7)
actionview (= 7.0.8.7)
activejob (= 7.0.8.7)
activemodel (= 7.0.8.7)
activerecord (= 7.0.8.7)
activestorage (= 7.0.8.7)
activesupport (= 7.0.8.7)
rackup (2.2.1)
rack (>= 3)
rails (7.2.2.1)
actioncable (= 7.2.2.1)
actionmailbox (= 7.2.2.1)
actionmailer (= 7.2.2.1)
actionpack (= 7.2.2.1)
actiontext (= 7.2.2.1)
actionview (= 7.2.2.1)
activejob (= 7.2.2.1)
activemodel (= 7.2.2.1)
activerecord (= 7.2.2.1)
activestorage (= 7.2.2.1)
activesupport (= 7.2.2.1)
bundler (>= 1.15.0)
railties (= 7.0.8.7)
railties (= 7.2.2.1)
rails-dom-testing (2.2.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.1)
rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
railties (7.0.8.7)
actionpack (= 7.0.8.7)
activesupport (= 7.0.8.7)
method_source
railties (7.2.2.1)
actionpack (= 7.2.2.1)
activesupport (= 7.2.2.1)
irb (~> 1.13)
rackup (>= 1.0.0)
rake (>= 12.2)
thor (~> 1.0)
zeitwerk (~> 2.5)
rake (13.0.6)
sprockets (4.2.0)
thor (~> 1.0, >= 1.2.2)
zeitwerk (~> 2.6)
rake (13.2.1)
rdoc (6.13.1)
psych (>= 4.0.0)
reline (0.6.1)
io-console (~> 0.5)
securerandom (0.4.1)
sprockets (4.2.2)
concurrent-ruby (~> 1.0)
logger
rack (>= 2.2.4, < 4)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets-rails (3.5.2)
actionpack (>= 6.1)
activesupport (>= 6.1)
sprockets (>= 3.0.0)
sqlite3 (1.6.3)
mini_portile2 (~> 2.8.0)
sqlite3 (1.6.3-x86_64-darwin)
thor (1.2.2)
timeout (0.4.0)
sqlite3 (2.6.0-arm64-darwin)
sqlite3 (2.6.0-x86_64-darwin)
sqlite3 (2.6.0-x86_64-linux)
stringio (3.1.7)
thor (1.3.2)
timeout (0.4.3)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
websocket-driver (0.7.6)
useragent (0.16.11)
websocket-driver (0.7.7)
base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
zeitwerk (2.6.11)
zeitwerk (2.6.18)

PLATFORMS
arm64-darwin-21
arm64-darwin-23
x86_64-darwin-22
x86_64-linux

DEPENDENCIES
atomic_admin!
atomic_lti (= 1.5.0)
atomic_tenant (= 1.2.0)
httparty
sprockets-rails
sqlite3

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
module AtomicAdmin
module AtomicAdmin::Api::Admin::V0
BASE_CONTROLLER = if AtomicAdmin.authenticating_base_controller_class
AtomicAdmin.authenticating_base_controller_class.constantize
else
AtomicAdmin::AuthenticatingApplicationController
AtomicAdmin::Api::Admin::V0::AuthenticatingApplicationController
end

class ApplicationController < BASE_CONTROLLER
class AdminController < BASE_CONTROLLER
end
end
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module AtomicAdmin
class AtomicLtiInstallController < ApplicationController
module AtomicAdmin::Api::Admin::V0
class AtomicLtiInstallController < AdminController
def install_params
params.permit(:iss, :client_id)
end
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module AtomicAdmin
class AtomicLtiPlatformController < ApplicationController
module AtomicAdmin::Api::Admin::V0
class AtomicLtiPlatformController < AdminController
def platform_params
params.permit(:iss, :jwks_url, :token_url, :oidc_url)
end
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module AtomicAdmin
class AtomicTenantClientIdStrategyController < ApplicationController
module AtomicAdmin::Api::Admin::V0
class AtomicTenantClientIdStrategyController < AdminController

if AtomicAdmin.client_id_strategy_before_action.present?
before_action AtomicAdmin.client_id_strategy_before_action, only: [:create, :update]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module AtomicAdmin
class AtomicTenantDeploymentController < ApplicationController
module AtomicAdmin::Api::Admin::V0
class AtomicTenantDeploymentController < AdminController
def deployment_params
params.permit(:iss, :deployment_id, :application_instance_id)
end
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module AtomicAdmin
class AtomicTenantPlatformGuidStrategyController < ApplicationController
module AtomicAdmin::Api::Admin::V0
class AtomicTenantPlatformGuidStrategyController < AdminController
if AtomicAdmin.platform_guid_strategy_before_action.present?
before_action AtomicAdmin.platform_guid_strategy_before_action, only: [:create, :update]
end
Expand Down
Loading