From 2e5b88f4e93ecc8ea7ab67600989b06d67888444 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 16:33:38 -0400 Subject: [PATCH 01/10] Scaffold page with Swift and Objective-C API descriptions --- ...-custom-user-data-document-description.rst | 4 + ...ta-read-custom-user-data-2-description.rst | 6 + ...data-read-custom-user-data-description.rst | 2 + ...ta-update-custom-user-data-description.rst | 5 + ...-custom-user-data-document-description.rst | 4 + ...ta-read-custom-user-data-2-description.rst | 6 + ...data-read-custom-user-data-description.rst | 2 + ...ta-update-custom-user-data-description.rst | 5 + ...-data-create-custom-user-data-document.rst | 63 ++++ ...custom-user-data-read-custom-user-data.rst | 63 ++++ ...stom-user-data-update-custom-user-data.rst | 63 ++++ source/sdk/users/custom-user-data.txt | 325 +++++++++++++++++- 12 files changed, 547 insertions(+), 1 deletion(-) create mode 100644 source/includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-document-description.rst create mode 100644 source/includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-2-description.rst create mode 100644 source/includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-description.rst create mode 100644 source/includes/api-details/objectivec/users/custom-user-data-update-custom-user-data-description.rst create mode 100644 source/includes/api-details/swift/users/custom-user-data-create-custom-user-data-document-description.rst create mode 100644 source/includes/api-details/swift/users/custom-user-data-read-custom-user-data-2-description.rst create mode 100644 source/includes/api-details/swift/users/custom-user-data-read-custom-user-data-description.rst create mode 100644 source/includes/api-details/swift/users/custom-user-data-update-custom-user-data-description.rst create mode 100644 source/includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst create mode 100644 source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst create mode 100644 source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst diff --git a/source/includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-document-description.rst b/source/includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-document-description.rst new file mode 100644 index 0000000000..a8a2dddb3f --- /dev/null +++ b/source/includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-document-description.rst @@ -0,0 +1,4 @@ +The following example :ref:`accesses MongoDB ` through +the ``MongoClient`` to insert document a into the custom user data collection. +This document contains the user ID of the currently logged in user and a +``favoriteColor`` value. diff --git a/source/includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-2-description.rst b/source/includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-2-description.rst new file mode 100644 index 0000000000..d3034e7b21 --- /dev/null +++ b/source/includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-2-description.rst @@ -0,0 +1,6 @@ +.. note:: + + If you require the most recent version of custom user data, use the + :objc-sdk:`refreshCustomDataWithCompletion + ` + method to request the latest version of a user's custom data. diff --git a/source/includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-description.rst b/source/includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-description.rst new file mode 100644 index 0000000000..355038dc59 --- /dev/null +++ b/source/includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-description.rst @@ -0,0 +1,2 @@ +To read the data, access the ``customData`` property on the ``User`` object of +a logged-in user. diff --git a/source/includes/api-details/objectivec/users/custom-user-data-update-custom-user-data-description.rst b/source/includes/api-details/objectivec/users/custom-user-data-update-custom-user-data-description.rst new file mode 100644 index 0000000000..344c2b9eb0 --- /dev/null +++ b/source/includes/api-details/objectivec/users/custom-user-data-update-custom-user-data-description.rst @@ -0,0 +1,5 @@ +To update a user's custom user data with MongoDB Data Access, edit the +MongoDB document whose user ID field contains the user ID of the user. +The following example uses :ref:`MongoDB Data Access ` to +update the ``favoriteColor`` field of the the document containing the user ID +of the currently logged in user in the custom user data collection. diff --git a/source/includes/api-details/swift/users/custom-user-data-create-custom-user-data-document-description.rst b/source/includes/api-details/swift/users/custom-user-data-create-custom-user-data-document-description.rst new file mode 100644 index 0000000000..a8a2dddb3f --- /dev/null +++ b/source/includes/api-details/swift/users/custom-user-data-create-custom-user-data-document-description.rst @@ -0,0 +1,4 @@ +The following example :ref:`accesses MongoDB ` through +the ``MongoClient`` to insert document a into the custom user data collection. +This document contains the user ID of the currently logged in user and a +``favoriteColor`` value. diff --git a/source/includes/api-details/swift/users/custom-user-data-read-custom-user-data-2-description.rst b/source/includes/api-details/swift/users/custom-user-data-read-custom-user-data-2-description.rst new file mode 100644 index 0000000000..1dc3ab652c --- /dev/null +++ b/source/includes/api-details/swift/users/custom-user-data-read-custom-user-data-2-description.rst @@ -0,0 +1,6 @@ +.. note:: + + If you require the most recent version of custom user data, use the + :swift-sdk:`refreshCustomData() + ` + method to request the latest version of a user's custom data. diff --git a/source/includes/api-details/swift/users/custom-user-data-read-custom-user-data-description.rst b/source/includes/api-details/swift/users/custom-user-data-read-custom-user-data-description.rst new file mode 100644 index 0000000000..355038dc59 --- /dev/null +++ b/source/includes/api-details/swift/users/custom-user-data-read-custom-user-data-description.rst @@ -0,0 +1,2 @@ +To read the data, access the ``customData`` property on the ``User`` object of +a logged-in user. diff --git a/source/includes/api-details/swift/users/custom-user-data-update-custom-user-data-description.rst b/source/includes/api-details/swift/users/custom-user-data-update-custom-user-data-description.rst new file mode 100644 index 0000000000..344c2b9eb0 --- /dev/null +++ b/source/includes/api-details/swift/users/custom-user-data-update-custom-user-data-description.rst @@ -0,0 +1,5 @@ +To update a user's custom user data with MongoDB Data Access, edit the +MongoDB document whose user ID field contains the user ID of the user. +The following example uses :ref:`MongoDB Data Access ` to +update the ``favoriteColor`` field of the the document containing the user ID +of the currently logged in user in the custom user data collection. diff --git a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst new file mode 100644 index 0000000000..d520deb87c --- /dev/null +++ b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst @@ -0,0 +1,63 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/asymmetric-sync.snippet.create-asymmetric-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/data_ingest.test.snippet.write-asymmetric-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt + :language: kotlin + + - id: javascript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.js + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/AsymmetricSyncTest.snippet.create-asymmetric-object.kt + :language: kotlin + :emphasize-lines: 10, 11 + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/CustomUserData.snippet.create-custom-user-data.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/CustomUserData.snippet.create-custom-user-data.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/asymmetric-sync.snippet.write-asymmetric-object.ts + :language: typescript diff --git a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst new file mode 100644 index 0000000000..405fad8b98 --- /dev/null +++ b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst @@ -0,0 +1,63 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/asymmetric-sync.snippet.create-asymmetric-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/data_ingest.test.snippet.write-asymmetric-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt + :language: kotlin + + - id: javascript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.js + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/AsymmetricSyncTest.snippet.create-asymmetric-object.kt + :language: kotlin + :emphasize-lines: 10, 11 + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/CustomUserData.snippet.read-custom-user-data.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/CustomUserData.snippet.read-custom-user-data.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/asymmetric-sync.snippet.write-asymmetric-object.ts + :language: typescript diff --git a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst new file mode 100644 index 0000000000..4235d0351d --- /dev/null +++ b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst @@ -0,0 +1,63 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/asymmetric-sync.snippet.create-asymmetric-object.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + + - id: dart + content: | + + .. literalinclude:: /examples/generated/flutter/data_ingest.test.snippet.write-asymmetric-object.dart + :language: dart + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/api.java + :language: java + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt + :language: kotlin + + - id: javascript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.js + :language: javascript + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/AsymmetricSyncTest.snippet.create-asymmetric-object.kt + :language: kotlin + :emphasize-lines: 10, 11 + + - id: objectivec + content: | + + .. literalinclude:: /examples/generated/code/start/CustomUserData.snippet.update-custom-user-data.m + :language: objectivec + + - id: swift + content: | + + .. literalinclude:: /examples/generated/code/start/CustomUserData.snippet.update-custom-user-data.swift + :language: swift + + - id: typescript + content: | + + .. literalinclude:: /examples/generated/node/asymmetric-sync.snippet.write-asymmetric-object.ts + :language: typescript diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index f2bf49e077..93f197976f 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -4,10 +4,333 @@ Custom User Data ================ +.. meta:: + :description: Learn how to work with custom user data using the Atlas Device SDK for Swift. + :keywords: Realm, C++ SDK, Flutter SDK, Kotlin SDK, Java SDK, .NET SDK, Node.js SDK, Swift SDK, code example + +.. facet:: + :name: genre + :values: tutorial + +.. facet:: + :name: programming_language + :values: cpp, csharp, dart, java, javascript/typescript, kotlin, objective-c, swift + .. contents:: On this page :local: :backlinks: none :depth: 2 :class: singlecol -Placeholder page for information about custom user data. +.. tabs-selector:: drivers + +This page describes custom user data in an App Services App and how to manage it +with Atlas Device SDK. + +Atlas App Services lets you associate data with an authenticated user, such as +a user's preferred language, date of birth, or local timezone. You can store +this arbitrary **custom user data** about your users and read it from your +client application. + +Prerequisites +------------- + +To use custom user data, you must have an App Services App with custom user +data enabled. + +To set up an App Services App that uses custom user data, refer to the +following: + +#. :ref:`Enable Custom User Data ` + in the App Services documentation +#. :ref:`sdks-connect-to-atlas` + +.. _sdks-create-custom-user-data-document: + +Create a Custom User Data Document +---------------------------------- + +When you configure custom user data in Atlas, you designate a database and +collection to store the custom user data. This data is stored as documents in +Atlas. + +To create custom user data for a user, create a MongoDB document in the +custom user data collection. The user ID field of the document should +contain the user's user ID. You can create custom user data documents in a few +ways: + +- Define a User Creation Function that automatically creates custom user data + as part of the user registration process. +- Define a Function that you call with the user data, perhaps sometime + after registration. +- Access MongoDB through the SDK, if your language supports it, and insert a + document directly into the custom user data collection. +- Manually create a custom data document through: + + - :compass:`MongoDB Compass ` + - :atlas:`MongoDB Atlas Data Explorer ` + +.. tip:: + + In the App Services UI, check the :guilabel:`App Users` page under the + :guilabel:`Custom User Data` tab to find and configure custom user + data settings, including: + + - The custom user data cluster, database, and collection + - The user ID field used to map custom user data documents to users + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: csharp + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: dart + + .. include:: /includes/api-details/dart/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: java + + .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + + .. tab:: + :tabid: java-kotlin + + .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + + .. tab:: + :tabid: javascript + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: objectivec + + .. include:: /includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-document-description.rst + + .. tab:: + :tabid: swift + + .. include:: /includes/api-details/swift/users/custom-user-data-create-custom-user-data-document-description.rst + + .. tab:: + :tabid: typescript + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + +.. include:: /includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst + +You can add any number of arbitrary fields and values to the custom user +data document when you create it. The user ID field is the only +requirement for the document to become available on the ``User`` object +as custom user data. + +.. _sdks-read-custom-user-data: + +Read Custom User Data +--------------------- + +You can read the :ref:`custom user data ` of a +currently logged-in user through that user's ``User`` object. You cannot +edit custom user data through a ``User`` object. To edit custom user +data, see the Update Custom User Data section on this page. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: csharp + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: dart + + .. include:: /includes/api-details/dart/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: java + + .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + + .. tab:: + :tabid: java-kotlin + + .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + + .. tab:: + :tabid: javascript + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: objectivec + + .. include:: /includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-description.rst + + .. tab:: + :tabid: swift + + .. include:: /includes/api-details/swift/users/custom-user-data-read-custom-user-data-description.rst + + .. tab:: + :tabid: typescript + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + +.. include:: /includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst + +.. warning:: Custom Data May Be Stale + + Atlas App Services does not dynamically update the value of the client-side + user custom data document immediately when underlying data changes. + Instead, App Services fetches the most recent version of custom user + data whenever a user refreshes their :ref:`access token + `, which is used by most SDK operations that contact + the App Services backend. If the token is not refreshed before its default + 30 minute expiration time, the SDK refreshes the token on the next call to + the backend. Custom user data could be stale for up to 30 minutes plus the + time until the next SDK call to the backend occurs. + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: csharp + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: dart + + .. include:: /includes/api-details/dart/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: java + + .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + + .. tab:: + :tabid: java-kotlin + + .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + + .. tab:: + :tabid: javascript + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: objectivec + + .. include:: /includes/api-details/objectivec/users/custom-user-data-read-custom-user-data-2-description.rst + + .. tab:: + :tabid: swift + + .. include:: /includes/api-details/swift/users/custom-user-data-read-custom-user-data-2-description.rst + + .. tab:: + :tabid: typescript + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + +.. _sdks-update-custom-user-data: + +Update Custom User Data +----------------------- + +You can update custom user data in a few ways: + +- Define a Function that you call with the updated user data. +- Access MongoDB through the SDK, if your language supports it, and update + the user data document in the custom user data collection directly. +- Manually update a custom data document through: + + - :compass:`MongoDB Compass ` + - :atlas:`MongoDB Atlas Data Explorer ` + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: csharp + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: dart + + .. include:: /includes/api-details/dart/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: java + + .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + + .. tab:: + :tabid: java-kotlin + + .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + + .. tab:: + :tabid: javascript + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: objectivec + + .. include:: /includes/api-details/objectivec/users/custom-user-data-update-custom-user-data-description.rst + + .. tab:: + :tabid: swift + + .. include:: /includes/api-details/swift/users/custom-user-data-update-custom-user-data-description.rst + + .. tab:: + :tabid: typescript + + .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + +.. include:: /includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst From fcba68ec91573732e46328b5eb190282f417e1af Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 16:58:18 -0400 Subject: [PATCH 02/10] Add C++ API descriptions, and a Delete section --- ...ta-create-custom-user-data-description.rst | 10 +++ ...ta-delete-custom-user-data-description.rst | 9 ++ ...ta-read-custom-user-data-2-description.rst | 6 ++ ...data-read-custom-user-data-description.rst | 2 + ...ta-update-custom-user-data-description.rst | 5 ++ ...a-create-custom-user-data-description.rst} | 0 ...a-create-custom-user-data-description.rst} | 0 ...tom-user-data-create-custom-user-data.rst} | 4 +- ...stom-user-data-delete-custom-user-data.rst | 71 ++++++++++++++++ ...custom-user-data-read-custom-user-data.rst | 4 +- ...stom-user-data-update-custom-user-data.rst | 2 +- source/sdk/users/custom-user-data.txt | 85 ++++++++++++++++--- 12 files changed, 183 insertions(+), 15 deletions(-) create mode 100644 source/includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst create mode 100644 source/includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst create mode 100644 source/includes/api-details/cpp/users/custom-user-data-read-custom-user-data-2-description.rst create mode 100644 source/includes/api-details/cpp/users/custom-user-data-read-custom-user-data-description.rst create mode 100644 source/includes/api-details/cpp/users/custom-user-data-update-custom-user-data-description.rst rename source/includes/api-details/objectivec/users/{custom-user-data-create-custom-user-data-document-description.rst => custom-user-data-create-custom-user-data-description.rst} (100%) rename source/includes/api-details/swift/users/{custom-user-data-create-custom-user-data-document-description.rst => custom-user-data-create-custom-user-data-description.rst} (100%) rename source/includes/sdk-examples/users/{custom-user-data-create-custom-user-data-document.rst => custom-user-data-create-custom-user-data.rst} (92%) create mode 100644 source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst diff --git a/source/includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst b/source/includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst new file mode 100644 index 0000000000..b1fc9776ca --- /dev/null +++ b/source/includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst @@ -0,0 +1,10 @@ +In this example, we use an Atlas Function to create the custom user data. The +Function takes an object passed by the client add adds it to the custom user +data collection in Atlas. The Function creates the custom user data if it +doesn't already exist and replaces all data in it if it does exist. + +.. include:: /examples/generated/cpp/updateCustomUserData.snippet.update-custom-user-data.js + +The following example :ref:`calls a function ` to +insert a document containing the user ID of the currently logged in user +and a ``favoriteColor`` value into the custom user data collection. diff --git a/source/includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst b/source/includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst new file mode 100644 index 0000000000..0870df315c --- /dev/null +++ b/source/includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst @@ -0,0 +1,9 @@ +In this example, we use an Atlas Function to delete the custom user data +document. The Atlas Function does not require any arguments. The +Function uses the Function context to determine the caller's user ID, and +deletes the custom user data document matching the user's ID. + +.. include:: /examples/generated/cpp/deleteCustomUserData.snippet.delete-custom-user-data.js + +The code that calls this Function requires only a logged-in user to call +the Function. diff --git a/source/includes/api-details/cpp/users/custom-user-data-read-custom-user-data-2-description.rst b/source/includes/api-details/cpp/users/custom-user-data-read-custom-user-data-2-description.rst new file mode 100644 index 0000000000..668dca5e3c --- /dev/null +++ b/source/includes/api-details/cpp/users/custom-user-data-read-custom-user-data-2-description.rst @@ -0,0 +1,6 @@ +.. note:: + + If you require the most recent version of custom user data, use the + :cpp-sdk:`refresh_custom_user_data() + ` + function to request the latest version of a user's custom data. diff --git a/source/includes/api-details/cpp/users/custom-user-data-read-custom-user-data-description.rst b/source/includes/api-details/cpp/users/custom-user-data-read-custom-user-data-description.rst new file mode 100644 index 0000000000..c64b179ec6 --- /dev/null +++ b/source/includes/api-details/cpp/users/custom-user-data-read-custom-user-data-description.rst @@ -0,0 +1,2 @@ +To read the data, access the ``custom_data`` property on the ``User`` object +of a logged-in user. diff --git a/source/includes/api-details/cpp/users/custom-user-data-update-custom-user-data-description.rst b/source/includes/api-details/cpp/users/custom-user-data-update-custom-user-data-description.rst new file mode 100644 index 0000000000..3f61d18321 --- /dev/null +++ b/source/includes/api-details/cpp/users/custom-user-data-update-custom-user-data-description.rst @@ -0,0 +1,5 @@ +To update a user's custom user data with an Atlas Function, edit the +MongoDB document whose user ID field contains the user ID of the user. +The following example calls the same function used to create the custom user +data document above. Here, we update the ``favoriteColor`` field of the +the document containing the user ID of the currently logged in user. diff --git a/source/includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-document-description.rst b/source/includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-description.rst similarity index 100% rename from source/includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-document-description.rst rename to source/includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-description.rst diff --git a/source/includes/api-details/swift/users/custom-user-data-create-custom-user-data-document-description.rst b/source/includes/api-details/swift/users/custom-user-data-create-custom-user-data-description.rst similarity index 100% rename from source/includes/api-details/swift/users/custom-user-data-create-custom-user-data-document-description.rst rename to source/includes/api-details/swift/users/custom-user-data-create-custom-user-data-description.rst diff --git a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst similarity index 92% rename from source/includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst rename to source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst index d520deb87c..2179e923dc 100644 --- a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst +++ b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst @@ -4,8 +4,8 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/asymmetric-sync.snippet.create-asymmetric-object.cpp - :language: cpp + .. literalinclude:: /examples/generated/cpp/custom-user-data.snippet.create.cpp + :language: cpp - id: csharp content: | diff --git a/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst new file mode 100644 index 0000000000..7db2cc9e5f --- /dev/null +++ b/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst @@ -0,0 +1,71 @@ +.. tabs-drivers:: + + tabs: + - id: cpp-sdk + content: | + + .. literalinclude:: /examples/generated/cpp/custom-user-data.snippet.delete.cpp + :language: cpp + + - id: csharp + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.cs + :language: csharp + :copyable: false + + - id: dart + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.dart + :language: dart + :copyable: false + + - id: java + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.java + :language: java + :copyable: false + + - id: java-kotlin + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt + :language: kotlin + :copyable: false + + - id: javascript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.js + :language: javascript + :copyable: false + + - id: kotlin + content: | + + .. literalinclude:: /examples/generated/kotlin/AsymmetricSyncTest.snippet.create-asymmetric-object.kt + :language: kotlin + :emphasize-lines: 10, 11 + + - id: objectivec + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.m + :language: objectivec + :copyable: false + + - id: swift + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.swift + :language: swift + :copyable: false + + - id: typescript + content: | + + .. literalinclude:: /examples/MissingPlaceholders/example.ts + :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst index 405fad8b98..ea2760043f 100644 --- a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst @@ -4,8 +4,8 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/asymmetric-sync.snippet.create-asymmetric-object.cpp - :language: cpp + .. literalinclude:: /examples/generated/cpp/custom-user-data.snippet.read.cpp + :language: cpp - id: csharp content: | diff --git a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst index 4235d0351d..8837a78969 100644 --- a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst @@ -4,7 +4,7 @@ - id: cpp-sdk content: | - .. literalinclude:: /examples/generated/cpp/asymmetric-sync.snippet.create-asymmetric-object.cpp + .. literalinclude:: /examples/generated/cpp/custom-user-data.snippet.update.cpp :language: cpp - id: csharp diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index 93f197976f..1d7c4d32b8 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -45,10 +45,10 @@ following: in the App Services documentation #. :ref:`sdks-connect-to-atlas` -.. _sdks-create-custom-user-data-document: +.. _sdks-create-custom-user-data: -Create a Custom User Data Document ----------------------------------- +Create Custom User Data +----------------------- When you configure custom user data in Atlas, you designate a database and collection to store the custom user data. This data is stored as documents in @@ -84,7 +84,7 @@ ways: .. tab:: :tabid: cpp-sdk - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst .. tab:: :tabid: csharp @@ -119,19 +119,19 @@ ways: .. tab:: :tabid: objectivec - .. include:: /includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-document-description.rst + .. include:: /includes/api-details/objectivec/users/custom-user-data-create-custom-user-data-description.rst .. tab:: :tabid: swift - .. include:: /includes/api-details/swift/users/custom-user-data-create-custom-user-data-document-description.rst + .. include:: /includes/api-details/swift/users/custom-user-data-create-custom-user-data-description.rst .. tab:: :tabid: typescript .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst -.. include:: /includes/sdk-examples/users/custom-user-data-create-custom-user-data-document.rst +.. include:: /includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst You can add any number of arbitrary fields and values to the custom user data document when you create it. The user ID field is the only @@ -153,7 +153,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: cpp-sdk - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/cpp/users/custom-user-data-read-custom-user-data-description.rst .. tab:: :tabid: csharp @@ -219,7 +219,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: cpp-sdk - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/cpp/users/custom-user-data-read-custom-user-data-2-description.rst .. tab:: :tabid: csharp @@ -286,7 +286,7 @@ You can update custom user data in a few ways: .. tab:: :tabid: cpp-sdk - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/cpp/users/custom-user-data-update-custom-user-data-description.rst .. tab:: :tabid: csharp @@ -334,3 +334,68 @@ You can update custom user data in a few ways: .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst .. include:: /includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst + +.. _sdks-delete-custom-user-data: + +Delete Custom User Data +----------------------- + +Custom user data is stored in a document linked to the user object. +Deleting a user does not delete the custom user data. To fully delete user +data to comply with, for example, :apple:`Apple's Account deletion guidance +`, you must manually delete +the user's custom data document. + +You can delete custom user data in a few ways: + +- Define a Function that you call to delete custom user data. +- Access MongoDB through the SDK, if your language supports it, and delete + the user data document from the custom user data collection directly. +- Manually delete a custom data document through: + + - :compass:`MongoDB Compass ` + - :atlas:`MongoDB Atlas Data Explorer ` + +.. tabs-drivers:: + + .. tab:: + :tabid: cpp-sdk + + .. include:: /includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst + + .. tab:: + :tabid: csharp + + .. tab:: + :tabid: dart + + .. tab:: + :tabid: java + + + .. tab:: + :tabid: java-kotlin + + + .. tab:: + :tabid: javascript + + + .. tab:: + :tabid: kotlin + + .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + + .. tab:: + :tabid: objectivec + + + .. tab:: + :tabid: swift + + + .. tab:: + :tabid: typescript + + +.. include:: /includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst From 68dbd41d0c162e2396521a7cbfd0e5b7f9a60917 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 17:11:27 -0400 Subject: [PATCH 03/10] Add C# API descriptions --- ...-data-create-custom-user-data-description.rst | 6 ++++-- ...-data-delete-custom-user-data-description.rst | 4 +++- ...-data-create-custom-user-data-description.rst | 12 ++++++++++++ ...-data-delete-custom-user-data-description.rst | 4 ++++ ...-data-read-custom-user-data-2-description.rst | 6 ++++++ ...er-data-read-custom-user-data-description.rst | 3 +++ ...-data-update-custom-user-data-description.rst | 4 ++++ .../custom-user-data-create-custom-user-data.rst | 2 +- .../custom-user-data-delete-custom-user-data.rst | 3 +-- .../custom-user-data-read-custom-user-data.rst | 2 +- .../custom-user-data-update-custom-user-data.rst | 2 +- source/sdk/users/custom-user-data.txt | 16 +++++++++------- 12 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 source/includes/api-details/csharp/users/custom-user-data-create-custom-user-data-description.rst create mode 100644 source/includes/api-details/csharp/users/custom-user-data-delete-custom-user-data-description.rst create mode 100644 source/includes/api-details/csharp/users/custom-user-data-read-custom-user-data-2-description.rst create mode 100644 source/includes/api-details/csharp/users/custom-user-data-read-custom-user-data-description.rst create mode 100644 source/includes/api-details/csharp/users/custom-user-data-update-custom-user-data-description.rst diff --git a/source/includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst b/source/includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst index b1fc9776ca..33e3772fa8 100644 --- a/source/includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst +++ b/source/includes/api-details/cpp/users/custom-user-data-create-custom-user-data-description.rst @@ -3,8 +3,10 @@ Function takes an object passed by the client add adds it to the custom user data collection in Atlas. The Function creates the custom user data if it doesn't already exist and replaces all data in it if it does exist. -.. include:: /examples/generated/cpp/updateCustomUserData.snippet.update-custom-user-data.js +.. literalinclude:: /examples/generated/cpp/updateCustomUserData.snippet.update-custom-user-data.js + :language: js + :caption: updateCustomUserData.js - Atlas Function running on server (JavaScript) -The following example :ref:`calls a function ` to +The following example :ref:`calls a function ` to insert a document containing the user ID of the currently logged in user and a ``favoriteColor`` value into the custom user data collection. diff --git a/source/includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst b/source/includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst index 0870df315c..c2d40f1187 100644 --- a/source/includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst +++ b/source/includes/api-details/cpp/users/custom-user-data-delete-custom-user-data-description.rst @@ -3,7 +3,9 @@ document. The Atlas Function does not require any arguments. The Function uses the Function context to determine the caller's user ID, and deletes the custom user data document matching the user's ID. -.. include:: /examples/generated/cpp/deleteCustomUserData.snippet.delete-custom-user-data.js +.. literalinclude:: /examples/generated/cpp/deleteCustomUserData.snippet.delete-custom-user-data.js + :language: js + :caption: deleteCustomUserData.js - Atlas Function running on server (JavaScript) The code that calls this Function requires only a logged-in user to call the Function. diff --git a/source/includes/api-details/csharp/users/custom-user-data-create-custom-user-data-description.rst b/source/includes/api-details/csharp/users/custom-user-data-create-custom-user-data-description.rst new file mode 100644 index 0000000000..7e146d351a --- /dev/null +++ b/source/includes/api-details/csharp/users/custom-user-data-create-custom-user-data-description.rst @@ -0,0 +1,12 @@ +The following example uses +:ref:`MongoDB Data Access ` to insert a +document containing the user ID of the currently logged in user and several +custom properties into the custom user data collection: + +.. literalinclude:: /examples/generated/dotnet/CustomUserDataExamples.snippet.create.cs + :language: csharp + +You may find it helpful to create a C# class (POCO) that represents the custom +user data object. The SDK will serialize/deserialize this class to and from BSON +when writing, reading, and updating properties. The example above uses the +following class to map the properties. diff --git a/source/includes/api-details/csharp/users/custom-user-data-delete-custom-user-data-description.rst b/source/includes/api-details/csharp/users/custom-user-data-delete-custom-user-data-description.rst new file mode 100644 index 0000000000..129e0683ac --- /dev/null +++ b/source/includes/api-details/csharp/users/custom-user-data-delete-custom-user-data-description.rst @@ -0,0 +1,4 @@ +The following example uses :ref:`MongoDB Data Access ` to +find and deletes the data through the +:dotnet-sdk:`DeleteOneAsync() ` +method. diff --git a/source/includes/api-details/csharp/users/custom-user-data-read-custom-user-data-2-description.rst b/source/includes/api-details/csharp/users/custom-user-data-read-custom-user-data-2-description.rst new file mode 100644 index 0000000000..ad896b4c36 --- /dev/null +++ b/source/includes/api-details/csharp/users/custom-user-data-read-custom-user-data-2-description.rst @@ -0,0 +1,6 @@ +.. note:: + + If you require the most recent version of custom user data, call the + :dotnet-sdk:`RefreshCustomDataAsync() + ` + method to request the latest version of a user's custom data. diff --git a/source/includes/api-details/csharp/users/custom-user-data-read-custom-user-data-description.rst b/source/includes/api-details/csharp/users/custom-user-data-read-custom-user-data-description.rst new file mode 100644 index 0000000000..37b0485508 --- /dev/null +++ b/source/includes/api-details/csharp/users/custom-user-data-read-custom-user-data-description.rst @@ -0,0 +1,3 @@ +To read custom user data, call the +:dotnet-sdk:`GetCustomData() ` +method on the ``User`` object of a logged in user. diff --git a/source/includes/api-details/csharp/users/custom-user-data-update-custom-user-data-description.rst b/source/includes/api-details/csharp/users/custom-user-data-update-custom-user-data-description.rst new file mode 100644 index 0000000000..af7f2d2892 --- /dev/null +++ b/source/includes/api-details/csharp/users/custom-user-data-update-custom-user-data-description.rst @@ -0,0 +1,4 @@ +The following example +finds and updates the data by using the +:dotnet-sdk:`UpdateOneAsync() ` +method, and then refreshes the data to ensure the latest changes are available. diff --git a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst index 2179e923dc..d9fe7d7747 100644 --- a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst @@ -10,7 +10,7 @@ - id: csharp content: | - .. literalinclude:: /examples/MissingPlaceholders/example.cs + .. literalinclude:: /examples/generated/dotnet/CustomUserDataExamples.snippet.cud.cs :language: csharp - id: dart diff --git a/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst index 7db2cc9e5f..b288b41358 100644 --- a/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst @@ -10,9 +10,8 @@ - id: csharp content: | - .. literalinclude:: /examples/MissingPlaceholders/example.cs + .. literalinclude:: /examples/generated/dotnet/CustomUserDataExamples.snippet.delete.cs :language: csharp - :copyable: false - id: dart content: | diff --git a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst index ea2760043f..1eda8c383d 100644 --- a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst @@ -10,7 +10,7 @@ - id: csharp content: | - .. literalinclude:: /examples/MissingPlaceholders/example.cs + .. literalinclude:: /examples/generated/dotnet/CustomUserDataExamples.snippet.read.cs :language: csharp - id: dart diff --git a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst index 8837a78969..125b00918d 100644 --- a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst @@ -10,7 +10,7 @@ - id: csharp content: | - .. literalinclude:: /examples/MissingPlaceholders/example.cs + .. literalinclude:: /examples/generated/dotnet/CustomUserDataExamples.snippet.update.cs :language: csharp - id: dart diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index 1d7c4d32b8..1018291d51 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -89,8 +89,8 @@ ways: .. tab:: :tabid: csharp - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst - + .. include:: /includes/api-details/csharp/users/custom-user-data-create-custom-user-data-description.rst + .. tab:: :tabid: dart @@ -158,8 +158,8 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: csharp - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst - + .. include:: /includes/api-details/csharp/users/custom-user-data-read-custom-user-data-description.rst + .. tab:: :tabid: dart @@ -224,7 +224,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: csharp - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/csharp/users/custom-user-data-read-custom-user-data-2-description.rst .. tab:: :tabid: dart @@ -291,7 +291,7 @@ You can update custom user data in a few ways: .. tab:: :tabid: csharp - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/csharp/users/custom-user-data-update-custom-user-data-description.rst .. tab:: :tabid: dart @@ -365,7 +365,9 @@ You can delete custom user data in a few ways: .. tab:: :tabid: csharp - + + .. include:: /includes/api-details/csharp/users/custom-user-data-delete-custom-user-data-description.rst + .. tab:: :tabid: dart From 9b5e14f083e1080bacbecc7f7c3a65a1e970921f Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 17:21:40 -0400 Subject: [PATCH 04/10] Add Dart API descriptions --- ...-user-data-create-custom-user-data-description.rst | 11 +++++++++++ ...-user-data-read-custom-user-data-2-description.rst | 5 +++++ ...om-user-data-read-custom-user-data-description.rst | 2 ++ ...-user-data-update-custom-user-data-description.rst | 11 +++++++++++ .../custom-user-data-create-custom-user-data.rst | 2 +- .../users/custom-user-data-read-custom-user-data.rst | 2 +- .../custom-user-data-update-custom-user-data.rst | 2 +- source/sdk/users/custom-user-data.txt | 8 ++++---- 8 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 source/includes/api-details/dart/users/custom-user-data-create-custom-user-data-description.rst create mode 100644 source/includes/api-details/dart/users/custom-user-data-read-custom-user-data-2-description.rst create mode 100644 source/includes/api-details/dart/users/custom-user-data-read-custom-user-data-description.rst create mode 100644 source/includes/api-details/dart/users/custom-user-data-update-custom-user-data-description.rst diff --git a/source/includes/api-details/dart/users/custom-user-data-create-custom-user-data-description.rst b/source/includes/api-details/dart/users/custom-user-data-create-custom-user-data-description.rst new file mode 100644 index 0000000000..72b4f9b64e --- /dev/null +++ b/source/includes/api-details/dart/users/custom-user-data-create-custom-user-data-description.rst @@ -0,0 +1,11 @@ +This example uses an Atlas Function to create the custom user data document. +The Atlas Function takes an object passed by the client add adds +it to the custom user data collection in Atlas. The Function creates +the custom user data if it doesn't already exist and replaces all data in it +if it does exist. + +.. literalinclude:: /examples/generated/flutter/writeCustomUserData.snippet.write-custom-user-data.js + :language: js + :caption: writeCustomUserData.js - Atlas Function running on server (JavaScript) + +The client calls the Function to create the user data. diff --git a/source/includes/api-details/dart/users/custom-user-data-read-custom-user-data-2-description.rst b/source/includes/api-details/dart/users/custom-user-data-read-custom-user-data-2-description.rst new file mode 100644 index 0000000000..71ae01fc98 --- /dev/null +++ b/source/includes/api-details/dart/users/custom-user-data-read-custom-user-data-2-description.rst @@ -0,0 +1,5 @@ +.. note:: + + If you require the most recent version of custom user data, use the + :flutter-sdk:`refreshCustomData() ` + method to request the latest version of a user's custom data. diff --git a/source/includes/api-details/dart/users/custom-user-data-read-custom-user-data-description.rst b/source/includes/api-details/dart/users/custom-user-data-read-custom-user-data-description.rst new file mode 100644 index 0000000000..5d4c476b27 --- /dev/null +++ b/source/includes/api-details/dart/users/custom-user-data-read-custom-user-data-description.rst @@ -0,0 +1,2 @@ +To read custom user data, access the :flutter-sdk:`User.customData +` property of a logged in user. diff --git a/source/includes/api-details/dart/users/custom-user-data-update-custom-user-data-description.rst b/source/includes/api-details/dart/users/custom-user-data-update-custom-user-data-description.rst new file mode 100644 index 0000000000..0066a0819b --- /dev/null +++ b/source/includes/api-details/dart/users/custom-user-data-update-custom-user-data-description.rst @@ -0,0 +1,11 @@ +This example uses an Atlas Function to update the custom user data document. +The Atlas Function takes an object passed by the client add adds +it to the custom user data collection in Atlas. The Function creates +the custom user data if it doesn't already exist and replaces all data in it +if it does exist. + +.. literalinclude:: /examples/generated/flutter/writeCustomUserData.snippet.write-custom-user-data.js + :language: js + :caption: writeCustomUserData.js - Atlas Function running on server (JavaScript) + +The client calls the Function to update the user data. diff --git a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst index d9fe7d7747..1e4e168a8e 100644 --- a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst @@ -16,7 +16,7 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/data_ingest.test.snippet.write-asymmetric-object.dart + .. literalinclude:: /examples/generated/flutter/authenticate_users_test.snippet.write-custom-user-data-function.dart :language: dart - id: java diff --git a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst index 1eda8c383d..06949c3609 100644 --- a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst @@ -16,7 +16,7 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/data_ingest.test.snippet.write-asymmetric-object.dart + .. literalinclude:: /examples/generated/flutter/authenticate_users_test.snippet.read-custom-user-data.dart :language: dart - id: java diff --git a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst index 125b00918d..da196e07b6 100644 --- a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst @@ -16,7 +16,7 @@ - id: dart content: | - .. literalinclude:: /examples/generated/flutter/data_ingest.test.snippet.write-asymmetric-object.dart + .. literalinclude:: /examples/generated/flutter/authenticate_users_test.snippet.write-custom-user-data-function.dart :language: dart - id: java diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index 1018291d51..e2f2833691 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -94,7 +94,7 @@ ways: .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/dart/users/custom-user-data-create-custom-user-data-description.rst .. tab:: :tabid: java @@ -163,7 +163,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/dart/users/custom-user-data-read-custom-user-data-description.rst .. tab:: :tabid: java @@ -229,7 +229,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/dart/users/custom-user-data-read-custom-user-data-2-description.rst .. tab:: :tabid: java @@ -296,7 +296,7 @@ You can update custom user data in a few ways: .. tab:: :tabid: dart - .. include:: /includes/api-details/dart/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/dart/users/custom-user-data-update-custom-user-data-description.rst .. tab:: :tabid: java From 7ac37a87365cc9cf137fffb7ac62385299264a14 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 17:32:10 -0400 Subject: [PATCH 05/10] Add Java API descriptions --- ...-data-create-custom-user-data-description.rst | 4 ++++ ...-data-read-custom-user-data-2-description.rst | 6 ++++++ ...er-data-read-custom-user-data-description.rst | 3 +++ ...-data-update-custom-user-data-description.rst | 4 ++++ .../custom-user-data-create-custom-user-data.rst | 6 ++++-- .../custom-user-data-read-custom-user-data.rst | 6 ++++-- .../custom-user-data-update-custom-user-data.rst | 6 ++++-- source/sdk/users/custom-user-data.txt | 16 ++++++++-------- 8 files changed, 37 insertions(+), 14 deletions(-) create mode 100644 source/includes/api-details/java/users/custom-user-data-create-custom-user-data-description.rst create mode 100644 source/includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst create mode 100644 source/includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst create mode 100644 source/includes/api-details/java/users/custom-user-data-update-custom-user-data-description.rst diff --git a/source/includes/api-details/java/users/custom-user-data-create-custom-user-data-description.rst b/source/includes/api-details/java/users/custom-user-data-create-custom-user-data-description.rst new file mode 100644 index 0000000000..c219f56536 --- /dev/null +++ b/source/includes/api-details/java/users/custom-user-data-create-custom-user-data-description.rst @@ -0,0 +1,4 @@ +The following example uses +:ref:`MongoDB Data Access ` to insert a +document containing the user ID of the currently logged in user and a +``favoriteColor`` value into the custom user data collection. diff --git a/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst b/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst new file mode 100644 index 0000000000..125794230c --- /dev/null +++ b/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst @@ -0,0 +1,6 @@ +.. note:: + + If you require the most recent version of custom user data, use the + :java-sdk:`User.refreshCustomData() + ` + method to request the latest version of a user's custom data. diff --git a/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst b/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst new file mode 100644 index 0000000000..3a6746980d --- /dev/null +++ b/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst @@ -0,0 +1,3 @@ +To read custom user data, call the +:java-sdk:`User.customData() ` +method on the ``User`` object of a logged in user. diff --git a/source/includes/api-details/java/users/custom-user-data-update-custom-user-data-description.rst b/source/includes/api-details/java/users/custom-user-data-update-custom-user-data-description.rst new file mode 100644 index 0000000000..2a1f3bf9b9 --- /dev/null +++ b/source/includes/api-details/java/users/custom-user-data-update-custom-user-data-description.rst @@ -0,0 +1,4 @@ +The following example uses :ref:`MongoDB Data Access +` to update the ``favoriteColor`` field of +the document containing the user ID of the currently logged in user +in the custom user data collection. diff --git a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst index 1e4e168a8e..73bd219d32 100644 --- a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst @@ -22,14 +22,16 @@ - id: java content: | - .. literalinclude:: /examples/MissingPlaceholders/api.java + .. literalinclude:: /examples/generated/java/sync/AccessCustomUserDataTest.snippet.create-custom-user-data.java :language: java + :emphasize-lines: 11,12 - id: java-kotlin content: | - .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt + .. literalinclude:: /examples/generated/java/sync/AccessCustomUserDataTest.snippet.create-custom-user-data.kt :language: kotlin + :emphasize-lines: 11 - id: javascript content: | diff --git a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst index 06949c3609..78694f0a4b 100644 --- a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst @@ -22,14 +22,16 @@ - id: java content: | - .. literalinclude:: /examples/MissingPlaceholders/api.java + .. literalinclude:: /examples/generated/java/sync/AccessCustomUserDataTest.snippet.read-custom-user-data.java :language: java + :emphasize-lines: 6 - id: java-kotlin content: | - .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt + .. literalinclude:: /examples/generated/java/sync/AccessCustomUserDataTest.snippet.read-custom-user-data.kt :language: kotlin + :emphasize-lines: 6 - id: javascript content: | diff --git a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst index da196e07b6..1ee2b38d5a 100644 --- a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst @@ -22,14 +22,16 @@ - id: java content: | - .. literalinclude:: /examples/MissingPlaceholders/api.java + .. literalinclude:: /examples/generated/java/sync/AccessCustomUserDataTest.snippet.update-custom-user-data.java :language: java + :emphasize-lines: 11,12 - id: java-kotlin content: | - .. literalinclude:: /examples/MissingPlaceholders/example-java-kotlin.kt + .. literalinclude:: /examples/generated/java/sync/AccessCustomUserDataTest.snippet.update-custom-user-data.kt :language: kotlin + :emphasize-lines: 11 - id: javascript content: | diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index e2f2833691..e6efd161a3 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -99,12 +99,12 @@ ways: .. tab:: :tabid: java - .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + .. include:: /includes/api-details/java/users/custom-user-data-create-custom-user-data-description.rst .. tab:: :tabid: java-kotlin - .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + .. include:: /includes/api-details/java/users/custom-user-data-create-custom-user-data-description.rst .. tab:: :tabid: javascript @@ -168,12 +168,12 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: java - .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + .. include:: /includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst .. tab:: :tabid: java-kotlin - .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + .. include:: /includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst .. tab:: :tabid: javascript @@ -234,12 +234,12 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: java - .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + .. include:: /includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst .. tab:: :tabid: java-kotlin - .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + .. include:: /includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst .. tab:: :tabid: javascript @@ -301,12 +301,12 @@ You can update custom user data in a few ways: .. tab:: :tabid: java - .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + .. include:: /includes/api-details/java/users/custom-user-data-update-custom-user-data-description.rst .. tab:: :tabid: java-kotlin - .. include:: /includes/api-details/java/crud/create-asymmetric-object-not-supported.rst + .. include:: /includes/api-details/java/users/custom-user-data-update-custom-user-data-description.rst .. tab:: :tabid: javascript From 250810974868e13a3c3e5fc868856133f7d2dd8a Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 17:42:44 -0400 Subject: [PATCH 06/10] Add Kotlin API descriptions --- ...-user-data-create-custom-user-data-description.rst | 11 +++++++++++ ...-user-data-delete-custom-user-data-description.rst | 11 +++++++++++ ...-user-data-read-custom-user-data-2-description.rst | 6 ++++++ ...om-user-data-read-custom-user-data-description.rst | 4 ++++ ...-user-data-update-custom-user-data-description.rst | 11 +++++++++++ .../custom-user-data-create-custom-user-data.rst | 3 +-- .../custom-user-data-delete-custom-user-data.rst | 3 +-- .../users/custom-user-data-read-custom-user-data.rst | 3 +-- .../custom-user-data-update-custom-user-data.rst | 3 +-- source/sdk/users/custom-user-data.txt | 10 +++++----- 10 files changed, 52 insertions(+), 13 deletions(-) create mode 100644 source/includes/api-details/kotlin/users/custom-user-data-create-custom-user-data-description.rst create mode 100644 source/includes/api-details/kotlin/users/custom-user-data-delete-custom-user-data-description.rst create mode 100644 source/includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-2-description.rst create mode 100644 source/includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-description.rst create mode 100644 source/includes/api-details/kotlin/users/custom-user-data-update-custom-user-data-description.rst diff --git a/source/includes/api-details/kotlin/users/custom-user-data-create-custom-user-data-description.rst b/source/includes/api-details/kotlin/users/custom-user-data-create-custom-user-data-description.rst new file mode 100644 index 0000000000..5165fcb7c6 --- /dev/null +++ b/source/includes/api-details/kotlin/users/custom-user-data-create-custom-user-data-description.rst @@ -0,0 +1,11 @@ +This example calls an Atlas Function to create custom user data. In this +example, the Atlas Function takes an object passed by the client and +adds it to the custom user data collection in Atlas. +The Function creates the custom user data if it doesn't already exist and +replaces all data in it if it does exist. + +.. literalinclude:: /examples/generated/kotlin/customUserData.snippet.write-custom-user-data.js + :language: js + :caption: writeCustomUserData.js - Atlas Function running on server (JavaScript) + +The Kotlin SDK uses the following code to call this Function. diff --git a/source/includes/api-details/kotlin/users/custom-user-data-delete-custom-user-data-description.rst b/source/includes/api-details/kotlin/users/custom-user-data-delete-custom-user-data-description.rst new file mode 100644 index 0000000000..19165e7c1c --- /dev/null +++ b/source/includes/api-details/kotlin/users/custom-user-data-delete-custom-user-data-description.rst @@ -0,0 +1,11 @@ +This example calls an Atlas Function to delete custom user data. +In this example, the Atlas Function does not require any arguments. +The Function uses the function context to determine the caller's user ID, and +deletes the custom user data document matching the user's ID. + +.. literalinclude:: /examples/generated/kotlin/customUserData.snippet.delete-custom-user-data.js + :language: js + :caption: deleteCustomUserData.js - Atlas Function running on server (JavaScript) + +The SDK code that calls this function requires only a logged-in user to +call the function. diff --git a/source/includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-2-description.rst b/source/includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-2-description.rst new file mode 100644 index 0000000000..687e929221 --- /dev/null +++ b/source/includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-2-description.rst @@ -0,0 +1,6 @@ +.. note:: + + If you require the most recent version of custom user data, use the + :kotlin-sync-sdk:`User.refreshCustomData() + ` + method to request the latest version of a user's custom data. diff --git a/source/includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-description.rst b/source/includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-description.rst new file mode 100644 index 0000000000..06946f5c98 --- /dev/null +++ b/source/includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-description.rst @@ -0,0 +1,4 @@ +You can read the custom user data of a currently logged-in user using the +:kotlin-sync-sdk:`User.customDataAsBsonDocument() +` +extension function. diff --git a/source/includes/api-details/kotlin/users/custom-user-data-update-custom-user-data-description.rst b/source/includes/api-details/kotlin/users/custom-user-data-update-custom-user-data-description.rst new file mode 100644 index 0000000000..81bd367c2c --- /dev/null +++ b/source/includes/api-details/kotlin/users/custom-user-data-update-custom-user-data-description.rst @@ -0,0 +1,11 @@ +This example calls an Atlas Function to update custom user data. In this +example, the Atlas Function takes an object passed by the client and +adds it to the custom user data collection in Atlas. +The Function creates the custom user data if it doesn't already exist and +replaces all data in it if it does exist. + +.. literalinclude:: /examples/generated/kotlin/customUserData.snippet.write-custom-user-data.js + :language: js + :caption: writeCustomUserData.js - Atlas Function running on server (JavaScript) + +The Kotlin SDK uses the following code to call this Function. diff --git a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst index 73bd219d32..7c4fe9945c 100644 --- a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst @@ -42,9 +42,8 @@ - id: kotlin content: | - .. literalinclude:: /examples/generated/kotlin/AsymmetricSyncTest.snippet.create-asymmetric-object.kt + .. literalinclude:: /examples/generated/kotlin/AuthenticationTest.snippet.write-custom-user-data.kt :language: kotlin - :emphasize-lines: 10, 11 - id: objectivec content: | diff --git a/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst index b288b41358..b8bb129bf5 100644 --- a/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-delete-custom-user-data.rst @@ -44,9 +44,8 @@ - id: kotlin content: | - .. literalinclude:: /examples/generated/kotlin/AsymmetricSyncTest.snippet.create-asymmetric-object.kt + .. literalinclude:: /examples/generated/kotlin/AuthenticationTest.snippet.delete-custom-user-data.kt :language: kotlin - :emphasize-lines: 10, 11 - id: objectivec content: | diff --git a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst index 78694f0a4b..f29d11cc3b 100644 --- a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst @@ -42,9 +42,8 @@ - id: kotlin content: | - .. literalinclude:: /examples/generated/kotlin/AsymmetricSyncTest.snippet.create-asymmetric-object.kt + .. literalinclude:: /examples/generated/kotlin/AuthenticationTest.snippet.read-custom-user-data.kt :language: kotlin - :emphasize-lines: 10, 11 - id: objectivec content: | diff --git a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst index 1ee2b38d5a..9d2fd829be 100644 --- a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst @@ -42,9 +42,8 @@ - id: kotlin content: | - .. literalinclude:: /examples/generated/kotlin/AsymmetricSyncTest.snippet.create-asymmetric-object.kt + .. literalinclude:: /examples/generated/kotlin/AuthenticationTest.snippet.write-custom-user-data.kt :language: kotlin - :emphasize-lines: 10, 11 - id: objectivec content: | diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index e6efd161a3..e6a4d5493d 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -114,7 +114,7 @@ ways: .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/kotlin/users/custom-user-data-create-custom-user-data-description.rst .. tab:: :tabid: objectivec @@ -183,7 +183,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-description.rst .. tab:: :tabid: objectivec @@ -249,7 +249,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/kotlin/users/custom-user-data-read-custom-user-data-2-description.rst .. tab:: :tabid: objectivec @@ -316,7 +316,7 @@ You can update custom user data in a few ways: .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/kotlin/users/custom-user-data-update-custom-user-data-description.rst .. tab:: :tabid: objectivec @@ -386,7 +386,7 @@ You can delete custom user data in a few ways: .. tab:: :tabid: kotlin - .. include:: /includes/api-details/kotlin/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/kotlin/users/custom-user-data-delete-custom-user-data-description.rst .. tab:: :tabid: objectivec From a08ab8418ecec9158ecd2623651fe92c508cec63 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 17:53:13 -0400 Subject: [PATCH 07/10] Add JS API descriptions --- ...read-custom-user-data-js-ts-2-description.rst | 5 +++++ ...a-read-custom-user-data-js-ts-description.rst | 2 ++ ...-data-update-custom-user-data-description.rst | 3 +++ .../custom-user-data-create-custom-user-data.rst | 4 +++- .../custom-user-data-read-custom-user-data.rst | 5 +++-- .../custom-user-data-update-custom-user-data.rst | 5 +++-- source/sdk/users/custom-user-data.txt | 16 ++++++++-------- 7 files changed, 27 insertions(+), 13 deletions(-) create mode 100644 source/includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-2-description.rst create mode 100644 source/includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-description.rst create mode 100644 source/includes/api-details/javascript/users/custom-user-data-update-custom-user-data-description.rst diff --git a/source/includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-2-description.rst b/source/includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-2-description.rst new file mode 100644 index 0000000000..6bfad6375e --- /dev/null +++ b/source/includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-2-description.rst @@ -0,0 +1,5 @@ +.. note:: + + If you require the most recent version of custom user data, use the + :js-sdk:`User.refreshCustomData() ` + method to request the latest version of a user's custom data. diff --git a/source/includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-description.rst b/source/includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-description.rst new file mode 100644 index 0000000000..0fcb48a001 --- /dev/null +++ b/source/includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-description.rst @@ -0,0 +1,2 @@ +You retrieve custom user data in the :js-sdk:`customData ` +property of the ``User`` object. diff --git a/source/includes/api-details/javascript/users/custom-user-data-update-custom-user-data-description.rst b/source/includes/api-details/javascript/users/custom-user-data-update-custom-user-data-description.rst new file mode 100644 index 0000000000..37e09e3e7c --- /dev/null +++ b/source/includes/api-details/javascript/users/custom-user-data-update-custom-user-data-description.rst @@ -0,0 +1,3 @@ +This example uses :ref:`MongoDB remote access ` to update +a user's custom data. The following example updates the custom data to alter +the user's ``favoriteColor`` to pink. diff --git a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst index 7c4fe9945c..f25d297e6d 100644 --- a/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst @@ -38,6 +38,7 @@ .. literalinclude:: /examples/MissingPlaceholders/example.js :language: javascript + :copyable: false - id: kotlin content: | @@ -60,5 +61,6 @@ - id: typescript content: | - .. literalinclude:: /examples/generated/node/asymmetric-sync.snippet.write-asymmetric-object.ts + .. literalinclude:: /examples/MissingPlaceholders/example.ts :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst index f29d11cc3b..7a4314eeaf 100644 --- a/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst @@ -36,7 +36,7 @@ - id: javascript content: | - .. literalinclude:: /examples/MissingPlaceholders/example.js + .. literalinclude:: /examples/generated/node/custom-user-data.snippet.read-custom-user-data.js :language: javascript - id: kotlin @@ -60,5 +60,6 @@ - id: typescript content: | - .. literalinclude:: /examples/generated/node/asymmetric-sync.snippet.write-asymmetric-object.ts + .. literalinclude:: /examples/MissingPlaceholders/example.ts :language: typescript + :copyable: false diff --git a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst index 9d2fd829be..762ac38742 100644 --- a/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst +++ b/source/includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst @@ -36,7 +36,7 @@ - id: javascript content: | - .. literalinclude:: /examples/MissingPlaceholders/example.js + .. literalinclude:: /examples/generated/node/custom-user-data.snippet.write-custom-user-data.js :language: javascript - id: kotlin @@ -60,5 +60,6 @@ - id: typescript content: | - .. literalinclude:: /examples/generated/node/asymmetric-sync.snippet.write-asymmetric-object.ts + .. literalinclude:: /examples/MissingPlaceholders/example.ts :language: typescript + :copyable: false diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index e6a4d5493d..3ce1444049 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -109,7 +109,7 @@ ways: .. tab:: :tabid: javascript - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. tab:: :tabid: kotlin @@ -129,7 +129,7 @@ ways: .. tab:: :tabid: typescript - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/sdk-examples/users/custom-user-data-create-custom-user-data.rst @@ -178,7 +178,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: javascript - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-description.rst .. tab:: :tabid: kotlin @@ -198,7 +198,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: typescript - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-description.rst .. include:: /includes/sdk-examples/users/custom-user-data-read-custom-user-data.rst @@ -244,7 +244,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: javascript - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-2-description.rst .. tab:: :tabid: kotlin @@ -264,7 +264,7 @@ data, see the Update Custom User Data section on this page. .. tab:: :tabid: typescript - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/javascript/users/custom-user-data-read-custom-user-data-js-ts-2-description.rst .. _sdks-update-custom-user-data: @@ -311,7 +311,7 @@ You can update custom user data in a few ways: .. tab:: :tabid: javascript - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/api-details/javascript/users/custom-user-data-update-custom-user-data-description.rst .. tab:: :tabid: kotlin @@ -331,7 +331,7 @@ You can update custom user data in a few ways: .. tab:: :tabid: typescript - .. include:: /includes/api-details/generic/crud/create-asymmetric-object-description.rst + .. include:: /includes/sdk-examples/users/custom-user-data-update-custom-user-data.rst From 06541174288e6a852a6cf5048be21f13857c1407 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 30 Jul 2024 18:10:30 -0400 Subject: [PATCH 08/10] Update page metadata --- source/sdk/users/custom-user-data.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index 3ce1444049..021dfc6672 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -5,7 +5,7 @@ Custom User Data ================ .. meta:: - :description: Learn how to work with custom user data using the Atlas Device SDK for Swift. + :description: Learn how to store and access custom user data using Atlas Device SDK. :keywords: Realm, C++ SDK, Flutter SDK, Kotlin SDK, Java SDK, .NET SDK, Node.js SDK, Swift SDK, code example .. facet:: From e222e2967ee56715b7cc54babbfa9e9831d0d534 Mon Sep 17 00:00:00 2001 From: Dachary Date: Tue, 6 Aug 2024 09:08:24 -0400 Subject: [PATCH 09/10] Apply suggestions from review Co-authored-by: Kyle Rollins <115574589+krollins-mdb@users.noreply.github.com> --- .../custom-user-data-read-custom-user-data-2-description.rst | 2 +- .../custom-user-data-read-custom-user-data-description.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst b/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst index 125794230c..fc67410091 100644 --- a/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst +++ b/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-2-description.rst @@ -2,5 +2,5 @@ If you require the most recent version of custom user data, use the :java-sdk:`User.refreshCustomData() - ` + ` method to request the latest version of a user's custom data. diff --git a/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst b/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst index 3a6746980d..68469af4d7 100644 --- a/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst +++ b/source/includes/api-details/java/users/custom-user-data-read-custom-user-data-description.rst @@ -1,3 +1,3 @@ To read custom user data, call the -:java-sdk:`User.customData() ` +:java-sdk:`User.getCustomData() ` method on the ``User`` object of a logged in user. From 3201d61060559d9127b0eed82911621d29001e38 Mon Sep 17 00:00:00 2001 From: dacharyc Date: Tue, 6 Aug 2024 09:13:27 -0400 Subject: [PATCH 10/10] Change access token link to the user sessions page --- source/sdk/users/custom-user-data.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/sdk/users/custom-user-data.txt b/source/sdk/users/custom-user-data.txt index 021dfc6672..2983160c63 100644 --- a/source/sdk/users/custom-user-data.txt +++ b/source/sdk/users/custom-user-data.txt @@ -208,7 +208,7 @@ data, see the Update Custom User Data section on this page. user custom data document immediately when underlying data changes. Instead, App Services fetches the most recent version of custom user data whenever a user refreshes their :ref:`access token - `, which is used by most SDK operations that contact + `, which is used by most SDK operations that contact the App Services backend. If the token is not refreshed before its default 30 minute expiration time, the SDK refreshes the token on the next call to the backend. Custom user data could be stale for up to 30 minutes plus the