From 17db05d3b8b5172d37fd72ea3a4132b04f5e5c50 Mon Sep 17 00:00:00 2001
From: Jared Balkman <jared.balkman@wisc.edu>
Date: Thu, 29 Dec 2022 13:32:04 -0600
Subject: [PATCH] Upload swagger for Rave API REST connection

---
 rave-json.json | 322 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 322 insertions(+)
 create mode 100644 rave-json.json

diff --git a/rave-json.json b/rave-json.json
new file mode 100644
index 0000000..72b4c2c
--- /dev/null
+++ b/rave-json.json
@@ -0,0 +1,322 @@
+{
+    "$schema": "https://json-schema.org/draft-04/schema#",
+    "definitions": {
+        "serviceError": {
+            "type": "object",
+            "required": ["errorMessage"],
+            "properties": {
+                "errorMessage": {"type": "string"}
+            }
+        },
+        "mobileCarrier": {
+            "type": "object",
+            "required": [
+                "name",
+                "id"
+            ],
+            "properties": {
+                "name": {"type": "string"},
+                "id": {"type": "integer"}
+            }
+        },
+        "raveGroup": {
+            "type": "object",
+            "required": [
+                "name",
+                "description",
+                "keyword"
+            ],
+            "properties": {
+                "name": {"type": "string"},
+                "description": {"type": "string"},
+                "keyword": {"type": "string"},
+                "alertPhoneDefault": {"type": "boolean"},
+                "alertEmailDefault": {"type": "boolean"},
+                "officialCircle": {"type": "boolean"},
+                "isPublic": {"type": "boolean"},
+                "anyoneCanPost": {"type": "boolean"},
+                "numSubscriptions": {"type": "integer"},
+                "id": {"type": "integer"}
+            }
+        },
+        "listMembers": {
+            "type": "object",
+            "properties": {
+                "listMember": {
+                    "type": "array",
+                    "items": {"type": "string"},
+                    "minItems": 0
+                }
+            }
+        },
+        "userList": {
+            "type": "object",
+            "required": ["name"],
+            "properties": {
+                "name": {"type": "string"},
+                "memberList": {"$ref": "#/definitions/listMembers"},
+                "id": {"type": "integer"},
+                "userListDetailsURL": {"type": "string"}
+            }
+        },
+        "userLists": {
+            "type": "object",
+            "properties": {
+                "userList": {
+                    "type": "array",
+                    "items": {"$ref": "#/definitions/userList"},
+                    "minItems": 0
+                }
+            }
+        },
+        "mobileCarriers": {
+            "type": "object",
+            "properties": {
+                "mobileCarrier": {
+                    "type": "array",
+                    "items": {"$ref": "#/definitions/mobileCarrier"},
+                    "minItems": 0
+                }
+            }
+        },
+        "raveGroupMembership": {
+            "type": "object",
+            "required": ["groupId"],
+            "properties": {
+                "alertByPhone": {"type": "boolean"},
+                "alertByEmail": {"type": "boolean"},
+                "role": {"$ref": "#/definitions/groupRoleType"},
+                "groupId": {"type": "integer"},
+                "groupDetailsURL": {"type": "string"}
+            }
+        },
+        "rejectedListMembers": {
+            "type": "object",
+            "properties": {
+                "listMember": {
+                    "type": "array",
+                    "items": {"type": "string"},
+                    "minItems": 0
+                }
+            }
+        },
+        "raveGroupMemberships": {
+            "type": "object",
+            "properties": {
+                "raveGroupMembership": {
+                    "type": "array",
+                    "items": {"$ref": "#/definitions/raveGroupMembership"},
+                    "minItems": 0
+                }
+            }
+        },
+        "raveGroups": {
+            "type": "object",
+            "properties": {
+                "raveGroup": {
+                    "type": "array",
+                    "items": {"$ref": "#/definitions/raveGroup"},
+                    "minItems": 0
+                }
+            }
+        },
+        "raveUser": {
+            "type": "object",
+            "required": [
+                "firstName",
+                "lastName",
+                "email"
+            ],
+            "properties": {
+                "firstName": {"type": "string"},
+                "lastName": {"type": "string"},
+                "email": {"type": "string"},
+                "alternateEmail1": {"type": "string"},
+                "alternateEmail2": {"type": "string"},
+                "sisId": {"type": "string"},
+                "gender": {"$ref": "#/definitions/genderType"},
+                "ssoId": {"type": "string"},
+                "languagePreference": {"$ref": "#/definitions/languageType"},
+                "administrationRole": {"$ref": "#/definitions/userRoleType"},
+                "role": {"type": "string"},
+                "mobileNumber1": {"type": "string"},
+                "mobileCarrier1": {"type": "integer"},
+                "mobile1Confirmed": {"type": "boolean"},
+                "useMobile1ForVoice": {"type": "boolean"},
+                "mobileNumber2": {"type": "string"},
+                "useMobile2ForVoice": {"type": "boolean"},
+                "mobileCarrier2": {"type": "integer"},
+                "useMobile3ForVoice": {"type": "boolean"},
+                "mobileNumber3": {"type": "string"},
+                "mobileCarrier3": {"type": "integer"},
+                "voiceOnlyPhoneNumber1": {"type": "string"},
+                "voiceOnlyPhoneExtension1": {"type": "string"},
+                "voiceOnlyPhoneNumber2": {"type": "string"},
+                "voiceOnlyPhoneExtension2": {"type": "string"},
+                "voiceOnlyPhoneNumber3": {"type": "string"},
+                "voiceOnlyPhoneExtension3": {"type": "string"},
+                "institutionRole": {"type": "string"},
+                "userAttribute1": {"type": "string"},
+                "userAttribute2": {"type": "string"},
+                "userAttribute3": {"type": "string"},
+                "userAttribute4": {"type": "string"}
+            }
+        },
+        "listMemberships": {
+            "type": "object",
+            "properties": {
+                "userList": {
+                    "type": "array",
+                    "items": {"$ref": "#/definitions/userList"},
+                    "minItems": 0
+                }
+            }
+        },
+        "groupRoleType": {
+            "type": "string",
+            "enum": [
+                "ADMINISTRATOR",
+                "CONTRIBUTOR",
+                "MEMBER"
+            ]
+        },
+        "genderType": {
+            "type": "string",
+            "enum": [
+                "MALE",
+                "FEMALE",
+                "UNKNOWN"
+            ]
+        },
+        "languageType": {
+            "type": "string",
+            "enum": [
+                "en",
+                "ar",
+                "bg",
+                "ca",
+                "zh",
+                "zh_tw",
+                "hr",
+                "cs",
+                "da",
+                "nl",
+                "tl",
+                "fi",
+                "fr",
+                "de",
+                "el",
+                "he",
+                "hi",
+                "id",
+                "it",
+                "ja",
+                "ko",
+                "lv",
+                "lt",
+                "no",
+                "pl",
+                "pt",
+                "ro",
+                "ru",
+                "sr",
+                "sk",
+                "sl",
+                "es",
+                "sv",
+                "uk",
+                "vi"
+            ]
+        },
+        "userRoleType": {
+            "type": "string",
+            "enum": [
+                "USER",
+                "BROADCAST_ADMIN",
+                "SITE_ADMIN",
+                "LIST_ADMIN",
+                "FACULTY"
+            ]
+        }
+    },
+    "anyOf": [
+        {
+            "type": "object",
+            "properties": {
+                "ServiceError": {"$ref": "#/definitions/serviceError"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "mobileCarrier": {"$ref": "#/definitions/mobileCarrier"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "raveGroup": {"$ref": "#/definitions/raveGroup"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "userLists": {"$ref": "#/definitions/userLists"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "mobileCarriers": {"$ref": "#/definitions/mobileCarriers"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "raveGroupMembership": {"$ref": "#/definitions/raveGroupMembership"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "rejectedListMembers": {"$ref": "#/definitions/rejectedListMembers"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "listMembers": {"$ref": "#/definitions/listMembers"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "raveGroupMemberships": {"$ref": "#/definitions/raveGroupMemberships"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "userList": {"$ref": "#/definitions/userList"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "raveGroups": {"$ref": "#/definitions/raveGroups"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "raveUser": {"$ref": "#/definitions/raveUser"}
+            }
+        },
+        {
+            "type": "object",
+            "properties": {
+                "listMemberships": {"$ref": "#/definitions/listMemberships"}
+            }
+        }
+    ]
+}
\ No newline at end of file
-- 
GitLab