Skip to content

add API for getting application terms of use #11422

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: develop
Choose a base branch
from
Open

Conversation

pdurbin
Copy link
Member

@pdurbin pdurbin commented Apr 10, 2025

What this PR does / why we need it:

Client apps such as the SPA need to be able to retrieve the terms we present to users at signup.

Which issue(s) this PR closes:

Special notes for your reviewer:

It's sort of annoying that we call it :ApplicationTermsOfUse in the database but "General Terms of Use" in the UI. 🤷

I followed this: https://guides.dataverse.org/en/6.6/developers/api-design.html#exposing-settings (from #9890).

I'm aware that to PUT we use /lang/fr but to GET I used &lang=fr because it felt more natural. The PUT side was added in #6042.

I made an effort to make the entry in /openapi useful. Here's how it looks:

/info/applicationTermsOfUse:
  get:
    tags:
    - info
    operationId: Info_getApplicationTermsOfUse
    parameters:
    - name: lang
      in: query
      description: Two-character language code.
      required: false
      schema:
        type: string
      example: en
    responses:
      "200":
        description: Application Terms of Use (General Terms of Use) that must be
          agreed to at signup.

I cleaned up existing docs, including changing "Supported HTML Fields" to "Supported HTML Tags" while I was in there.

Suggestions on how to test this:

Try it with and without internationalization configured. Not that without the "lang" column in the "setting" table isn't used.

Does this PR introduce a user interface change? If mockups are available, please link/include them here:

No.

Is there a release notes update needed for this change?:

Yes, added.

Additional documentation:

Included. Here's a good starting point: https://dataverse-guide--11422.org.readthedocs.build/en/11422/api/native-api.html#get-application-terms-of-use-general-terms-of-use

@github-actions github-actions bot added FY25 Sprint 21 FY25 Sprint 21 (2025-04-09 - 2025-04-23) Original size: 10 Size: 10 A percentage of a sprint. 7 hours. SPA.Q2.7 Implement installation terms of use in account linking Type: Feature a feature request labels Apr 10, 2025
@coveralls
Copy link

coveralls commented Apr 10, 2025

Coverage Status

coverage: 23.005% (-0.002%) from 23.007%
when pulling 26b9be7 on 11415-app-tou
into cd48216 on develop.

This comment has been minimized.

@pdurbin pdurbin moved this to Ready for Review ⏩ in IQSS Dataverse Project Apr 10, 2025

This comment has been minimized.

It looks like this now:

/info/applicationTermsOfUse:
  get:
    tags:
    - info
    operationId: Info_getApplicationTermsOfUse
    parameters:
    - name: lang
      in: query
      description: Two-character language code.
      required: false
      schema:
        type: string
      example: en
    responses:
      "200":
        description: Application Terms of Use (General Terms of Use) that must be
          agreed to at signup.
Copy link

📦 Pushed preview images as

ghcr.io/gdcc/dataverse:11415-app-tou
ghcr.io/gdcc/configbaker:11415-app-tou

🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
FY25 Sprint 21 FY25 Sprint 21 (2025-04-09 - 2025-04-23) Original size: 10 Size: 10 A percentage of a sprint. 7 hours. SPA.Q2.7 Implement installation terms of use in account linking Type: Feature a feature request
Projects
Status: Ready for Review ⏩
Development

Successfully merging this pull request may close these issues.

Feature Request: Add API endpoint for obtaining Installation Terms Of Use
2 participants