From 955de7db83bf239fe2af749bf7b83a4eaf2edd9d Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Wed, 12 Apr 2023 10:54:07 -0500 Subject: [PATCH] feat: add more content --- .markdownlint.json | 6 +- .vscode/settings.json | 7 ++- src/app/components/CodeSnippet.tsx | 2 +- src/app/components/Fence.tsx | 2 + src/app/components/Section.module.css | 27 +++++++++ src/app/components/SideBar.tsx | 4 +- src/docs/version_002/docsStructure.ts | 6 ++ .../version_002/resources/records/copy.md | 32 ++++++++++- .../version_002/resources/records/example.md | 20 ++++++- .../resources/records/field_values/copy.md | 31 ++++++++++ .../resources/records/field_values/example.md | 13 +++++ .../records/get_records_by_app/copy.md | 2 +- .../records/get_records_by_app/example.md | 57 ++++++++++++++++++- 13 files changed, 199 insertions(+), 10 deletions(-) create mode 100644 src/docs/version_002/resources/records/field_values/copy.md create mode 100644 src/docs/version_002/resources/records/field_values/example.md diff --git a/.markdownlint.json b/.markdownlint.json index 4c559c4..9ed0936 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -10,7 +10,7 @@ "MD010": true, "MD011": true, "MD012": true, - "MD013": true, + "MD013": false, "MD014": true, "MD018": true, "MD019": true, @@ -26,7 +26,7 @@ "MD029": true, "MD030": true, "MD031": true, - "MD032": true, + "MD032": false, "MD033": true, "MD034": true, "MD035": true, @@ -45,7 +45,7 @@ "MD048": true, "MD049": true, "MD050": true, - "MD051": true, + "MD051": false, "MD052": true, "MD053": true } \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 0a60da2..5f3afde 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,10 @@ { "typescript.tsdk": "node_modules\\typescript\\lib", "typescript.enablePromptUseWorkspaceTsdk": true, - "cSpell.words": ["markdoc", "Onpsring", "prismjs"] + "cSpell.words": [ + "configparser", + "markdoc", + "Onpsring", + "prismjs" + ] } diff --git a/src/app/components/CodeSnippet.tsx b/src/app/components/CodeSnippet.tsx index 1e91c32..38ce6d6 100644 --- a/src/app/components/CodeSnippet.tsx +++ b/src/app/components/CodeSnippet.tsx @@ -126,7 +126,7 @@ export default function CodeSnippet({ if (React.isValidElement(child)) { const languageClassParts = child.props.className.split('-'); - if (languageClassParts.length == 2) { + if (languageClassParts.length > 1) { const language = languageClassParts[1]; return language; } diff --git a/src/app/components/Fence.tsx b/src/app/components/Fence.tsx index ecbfb3c..243c768 100644 --- a/src/app/components/Fence.tsx +++ b/src/app/components/Fence.tsx @@ -1,6 +1,8 @@ import Prism from 'prismjs'; import 'prismjs/components/prism-bash'; +import 'prismjs/components/prism-csharp'; import 'prismjs/components/prism-json'; +import 'prismjs/components/prism-python'; import './prism-custom.css'; export default function Fence({ diff --git a/src/app/components/Section.module.css b/src/app/components/Section.module.css index a443d17..3eb33fa 100644 --- a/src/app/components/Section.module.css +++ b/src/app/components/Section.module.css @@ -44,4 +44,31 @@ .container>article:nth-child(2)>h1 { padding-top: 75px; } +} + +.container>article>h2 { + margin-top: 1rem; +} + +.container table { + width: 100%; + border-collapse: collapse; + margin: 1rem 0; +} + +.container table>thead>tr>th, +.container table>tbody>tr>td { + padding: 0.5rem; + text-align: left; + border-bottom: 1px solid #0b3766; +} + +.container table>thead>tr>th { + white-space: nowrap; +} + +.container a { + text-decoration: none; + color: #64adac; + font-weight: bold; } \ No newline at end of file diff --git a/src/app/components/SideBar.tsx b/src/app/components/SideBar.tsx index c9972a8..fbf067b 100644 --- a/src/app/components/SideBar.tsx +++ b/src/app/components/SideBar.tsx @@ -51,7 +51,9 @@ function TreeNode({ doc }: { doc: Doc }) { ) : ( {doc.title} diff --git a/src/docs/version_002/docsStructure.ts b/src/docs/version_002/docsStructure.ts index 6d7a57e..6394613 100644 --- a/src/docs/version_002/docsStructure.ts +++ b/src/docs/version_002/docsStructure.ts @@ -27,6 +27,12 @@ export const versionTwo: DocsStructure = { copy: 'copy.md', example: 'example.md', children: [ + { + title: 'Field Values', + folder: 'resources/records/field_values', + copy: 'copy.md', + example: 'example.md', + }, { title: 'Get Records by App', folder: diff --git a/src/docs/version_002/resources/records/copy.md b/src/docs/version_002/resources/records/copy.md index 1e2b091..c6ab716 100644 --- a/src/docs/version_002/resources/records/copy.md +++ b/src/docs/version_002/resources/records/copy.md @@ -1 +1,31 @@ -# The Record Object +# Records {% #records %} + +These are objects representing a content record in your instance. You can create new records in your instance, retrieve existing records to see the data that has been entered into a record, you can update a record to change the data in it, and you can delete a record to remove it from the instance. + +## Record Properties + +{% table .propertiesTable %} + +- Property Name +- Data Type +- Description + +--- + +- App Id +- integer +- The id of the app or survey. + +--- + +- recordId +- integer +- The id of the record. + +--- + +- fieldData +- array +- An array of field value objects. + +{% /table %} diff --git a/src/docs/version_002/resources/records/example.md b/src/docs/version_002/resources/records/example.md index 37df120..a353563 100644 --- a/src/docs/version_002/resources/records/example.md +++ b/src/docs/version_002/resources/records/example.md @@ -1 +1,19 @@ -# Records \ No newline at end of file +# The Record Object + +{% code heading="RECORD" defaultLanguage="json" %} + +```json +{ + "appId": 195, + "recordId": 1, + "fieldData": [ + { + "type": "Integer", + "fieldId": 6976, + "value": 1 + } + ] +} +``` + +{% /code %} diff --git a/src/docs/version_002/resources/records/field_values/copy.md b/src/docs/version_002/resources/records/field_values/copy.md new file mode 100644 index 0000000..bc0f7a1 --- /dev/null +++ b/src/docs/version_002/resources/records/field_values/copy.md @@ -0,0 +1,31 @@ +# Field Values {% #field-values %} + +These are objects representing a field value in a record. They will comprise the `fieldData` array in a [Record](#records) object. + +## Field Value Properties + +{% table .propertiesTable %} + +- Property Name +- Data Type +- Description + +--- + +- type +- string +- The type of the field. + +--- + +- fieldId +- integer +- The id of the field. + +--- + +- value +- object +- The value of the field. + +{% /table %} diff --git a/src/docs/version_002/resources/records/field_values/example.md b/src/docs/version_002/resources/records/field_values/example.md new file mode 100644 index 0000000..5d1091e --- /dev/null +++ b/src/docs/version_002/resources/records/field_values/example.md @@ -0,0 +1,13 @@ +# The Field Value Object + +{% code heading="FIELD VALUE" defaultLanguage="json" %} + +```json +{ + "type": "Integer", + "fieldId": 6976, + "value": 1 +} +``` + +{% /code %} diff --git a/src/docs/version_002/resources/records/get_records_by_app/copy.md b/src/docs/version_002/resources/records/get_records_by_app/copy.md index 7565d04..ce4e233 100644 --- a/src/docs/version_002/resources/records/get_records_by_app/copy.md +++ b/src/docs/version_002/resources/records/get_records_by_app/copy.md @@ -1,3 +1,3 @@ -# Get Records by App +# Get Records by App {% #get-records-by-app %} Some place holder text. diff --git a/src/docs/version_002/resources/records/get_records_by_app/example.md b/src/docs/version_002/resources/records/get_records_by_app/example.md index 4e7e8bb..6ca356a 100644 --- a/src/docs/version_002/resources/records/get_records_by_app/example.md +++ b/src/docs/version_002/resources/records/get_records_by_app/example.md @@ -1,3 +1,5 @@ +# Retrieving records for an app + {% code heading="GET /Records/appId/{appID}" defaultLanguage="bash" %} ```bash @@ -5,8 +7,61 @@ curl --location 'https://api.onspring.com/Records/appId/195' \ --header 'X-ApiKey: 000000ffffff000000ffffff/00000000-ffff-0000-ffff-000000000000' ``` +```csharp +using Onspring.API.SDK; + +const string baseUrl = "https://api.onspring.com/"; +const string apiKey = "000000ffffff000000ffffff/00000000-ffff-0000-ffff-000000000000"; +var onspringClient = new OnspringClient(baseUrl, apiKey); + +var apps = await onspringClient.GetAppsAsync(); +foreach (App app in apps) +{ + Console.WriteLine($"{app.Id}, {app.Name}"); +} +``` + ```javascript -var request = require('request'); +import dotenv from 'dotenv'; +import { OnspringClient } from 'onspring-api-sdk'; +dotenv.config(); + +const client = new OnspringClient( + process.env.BASE_URL, + process.env.API_KEY +); + +const res = await client.getApps(); +const apps = res.data.items; + +for (const app of apps) { + console.log(app); +} +``` + +```python +from OnspringApiSdk.OnspringClient import OnspringClient +from configparser import ConfigParser + +cfg = ConfigParser() +cfg.read('config.ini') + +key = cfg['prod']['key'] +url = cfg['prod']['url'] + +client = OnspringClient(url, key) +response = client.GetApps() + +print(f'Status Code: {response.statusCode}') +print(f'Page Size: {response.data.pageSize}') +print(f'Page Number: {response.data.pageNumber}') +print(f'Total Pages: {response.data.totalPages}') +print(f'Total Records: {response.data.totalRecords}') + +for app in response.data.apps: + print(f'Id: {app.id}') + print(f'Name: {app.name}') + print(f'href: {app.href}') ``` {% /code %}