diff --git a/docs/api/README.md b/docs/api/README.md deleted file mode 100644 index 5649d71dd9..0000000000 --- a/docs/api/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Combine API docs - -## Project - -- [Add project](projects/post.md) : `POST: /v1/projects/` -- [Get one project](projects/get.md) : `GET: /v1/projects/{projectId}` -- [Get all users working on one project](projects/get_users.md) : `GET: /v1/projects/{projectId}/users` -- [Update a project](projects/put.md) : `PUT: /v1/projects/{projectId}` -- [Update character set of a project](projects/put_characters.md) : `PUT: /v1/projects/{projectId}/characters` -- [Update UserRole of User on one project](projects/put_user.md) : `PUT: /v1/projects/{projectId}/users/{userId}` - -### Word - -- [Add word](projects/words/post.md) : `POST: /v1/projects/{projectId}/words` -- [Get all words](projects/words/get.md) : `GET: /v1/projects/{projectId}/words` -- [Get word](projects/words/get_id.md) : `GET: /v1/projects/{projectId}/words/{wordId}` -- [Update word](projects/words/put_id.md) : `PUT: /v1/projects/{projectId}/words/{wordId}` -- [Merge words](projects/words/put.md) : `PUT: /v1/projects/{projectId}/words` -- [Delete word](projects/words/delete_id.md) : `DELETE: /v1/projects/{projectId}/words/{wordId}` - -### Frontier - -- [Get frontier words](projects/words/frontier.md) : `GET: /v1/projects/{projectId}/words/frontier` - -### Lift - -- [Import Lift Collection](projects/words/post_upload_lift.md) : `POST: /v1/projects/{projectId}/words/upload` -- [Export Lift Collection](projects/words/post_upload_lift.md) : `GET: /v1/projects/{projectId}/words/download` - -### Audio - -- [Upload Audio](users/post_upload_audio.md) : `POST /v1/projects/{projectId}/words/{wordId}/upload/audio` - -## User - -- [Add user](users/post.md) : `POST /v1/users` -- [Get user](users/get.md) : `GET /v1/users/{userId}` -- [Update user info](users/put.md) : `PUT /v1/users/{userId}` -- [Authenticate](users/authenticate.md) : `POST /v1/users/authenticate` - -### Avatar - -- [Upload Avatar](users/post_upload_avatar.md) : `POST /v1/users/{userId}/upload/avatar` - -### User Edit - -- [Add user edit](projects/user_edits/post_id.md) : `POST /v1/projects/{projectId}/useredits/{userEditId}` -- [Get all user edits](projects/user_edits/get_all.md) : `GET /v1/projects/{projectId}/useredits` -- [Get user edit](projects/user_edits/get.md) : `GET /v1/projects/{projectId}/useredits/{userEditId}` -- [Add goal to UserEdit](projects/user_edits/post_id.md) : `POST /v1/projects/{projectId}/useredits/{userEditId}` -- [Add steps to goal](projects/user_edits/put.md) : `PUT /v1/projects/{projectId}/useredits/{userEditId}` - -### User Role - -- [Add user role](projects/user_roles/post.md) : `POST /v1/projects/{projectId}/userrole/{userRoleId}` -- [Get all user roles](projects/user_roles/get_all.md) : `GET /v1/projects/{projectId}/userroles` -- [Get user role](projects/user_roles/get.md) : `GET /v1/projects/{projectId}/userroles/{userRoleId}` -- [Update user role](projects/user_roles/put.md) : `PUT /v1/projects/{projectId}/userroles/{userRoleId}` diff --git a/docs/api/file.md b/docs/api/file.md deleted file mode 100644 index bf0e954cfa..0000000000 --- a/docs/api/file.md +++ /dev/null @@ -1,16 +0,0 @@ -# File - -Generic type for representing auxillary files in a project - -**File** : Typescript Type File: Contains the file - -**name** : String: contains the name of the file - -## Raw type : - -```typescript -{ - file: File, - name: String -} -``` diff --git a/docs/api/projects/DevToolProjId.PNG b/docs/api/projects/DevToolProjId.PNG deleted file mode 100644 index 096fcc6bce..0000000000 Binary files a/docs/api/projects/DevToolProjId.PNG and /dev/null differ diff --git a/docs/api/projects/code.PNG b/docs/api/projects/code.PNG deleted file mode 100644 index 108ae98f0a..0000000000 Binary files a/docs/api/projects/code.PNG and /dev/null differ diff --git a/docs/api/projects/customField.md b/docs/api/projects/customField.md deleted file mode 100644 index 685db969e6..0000000000 --- a/docs/api/projects/customField.md +++ /dev/null @@ -1,12 +0,0 @@ -# Custom field - -> This is optional and unlikely to be used - -# Raw type - -```typescript -{ - name: String, - type: String -} -``` diff --git a/docs/api/projects/get.md b/docs/api/projects/get.md deleted file mode 100644 index b46859c6f4..0000000000 --- a/docs/api/projects/get.md +++ /dev/null @@ -1,19 +0,0 @@ -# Get a single project - -**URL** : `/v1/projects/{projectId}` - -**Method** : `GET` - -**Auth required** : Project Admin - -## Success response - -**Code** : `200 OK` - -**Data Content** : [`Project`](project.md) - -## Error response - -**Condition** : Project not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/get_semantic_domains.md b/docs/api/projects/get_semantic_domains.md deleted file mode 100644 index a0dc21ce84..0000000000 --- a/docs/api/projects/get_semantic_domains.md +++ /dev/null @@ -1,45 +0,0 @@ -# Parse Semantic Domains of Project - -Takes the sematic domains of your project and returns a JSON object in the structure needed by the Tree View component. -The app currently has copies of the semantic domains in English, Spanish, and French. This tool can be used to localize -the Tree View component to other languages. This function is not currently operating, so the source code must be -changed. - -1. In the file [~/TheCombine/Backend/Services/LiftApiServices.cs](../../../Backend/Services/LiftApiServices.cs), - uncomment the code in the method `ProcessRangeElement()`. - -![Code](code.PNG) - -2. Start the Combine. -3. Open the DevTools menu in your browser (F12 or CTRL + SHIFT + I). -4. Import the project with the semantic domains of the desired language. -5. Locate the project id in the Network tab from your `upload` request. You can find it here: - -![DevTools](DevToolProjId.PNG) - -6. Navigate in-browser to `localhost:5001/v1/projeccts/{projectId}/semanticdomains` with the project id you found, which - will give you the plaintext result. It should look something like this: - -![SemDom](semdoms.PNG) - -7. Save this data to a JSON file in - [~/TheCombine/src/resources/semantic-domains](../../../src/resources/semantic-domains) with the language code as its - name (e.g. `en.json` for English) will allow the data from this language to be used in the Tree View component. - -**URL** : `/v1/projects/{projectId}/semanticdomains` - -**Method** : `GET` - -**Auth required** : No - -## Success response - -**Code** : `200 OK` - -**Data Content** : `string` - -## Error response - -**Condition** : Project not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/get_users.md b/docs/api/projects/get_users.md deleted file mode 100644 index 62b928798e..0000000000 --- a/docs/api/projects/get_users.md +++ /dev/null @@ -1,13 +0,0 @@ -# Get all users working on one project - -**URL** : `/v1/projects/{projectId}/users` - -**Method** : `GET` - -**Auth required** : Project Admin - -## Success response - -**Code** : `200 OK` - -**Data Content** : [`User`](..\users\user.md)`[]` diff --git a/docs/api/projects/post.md b/docs/api/projects/post.md deleted file mode 100644 index 7544c31baa..0000000000 --- a/docs/api/projects/post.md +++ /dev/null @@ -1,15 +0,0 @@ -# Add project - -**URL** : `/v1/projects` - -**Method** : `POST` - -**Auth required** : No - -**Data type** : [`Project`](project.md) - -## Success response - -**Code** : `200 OK` - -**Data content** : [`ProjectWithUser`](project_with_user.md) diff --git a/docs/api/projects/project.md b/docs/api/projects/project.md deleted file mode 100644 index 41321feb0c..0000000000 --- a/docs/api/projects/project.md +++ /dev/null @@ -1,52 +0,0 @@ -# Project - -**name** : Name of project - -**semanticDomains** : Custom Semantic Domains for this project - -**vernacularWritingSystem** : Language code of vernaculars - -**analysisWritingSystems** : Language code of glossing systems - -**validCharacters** : 𠮷 appears to be a single character but is represented with two unicode codepoints: -`"\uD842\uDFB7"`. Currently, the front-end splits on codepoints, so this character would be broken up. - -**rejectedCharacters** : - -**customFields** : Optional at this point. We may or may not include this in our final design. - -**wordFields** : - -> **Typing of this is uncertain** -> It would make sense to have this strictly typed since we know all possible values at runtime we should probably add a -> enum that looks something like -> -> ```typescript -> enum { -> Vernacular, -> Gloss, -> AudioFile, -> SemanticDomain, -> PartOfSpeech -> } -> ``` -> -> And use that as the type for wordFields - -**partsOfSpeech** : - -## Raw type - -
-{
-    name: String,
-    semanticDomains: semanticDomain[],
-    vernacularWritingSystem: WritingSystem,
-    analysisWritingSystems: WritingSystem[],
-    validCharacters: String[],
-    rejectedCharacters: String[],
-    customFields: CustomField[],
-    wordFields: String[],
-    partsOfSpeech: String[]
-}
-
diff --git a/docs/api/projects/project_with_user.md b/docs/api/projects/project_with_user.md deleted file mode 100644 index a928ec3baa..0000000000 --- a/docs/api/projects/project_with_user.md +++ /dev/null @@ -1,21 +0,0 @@ -# Project With User - -Extension of [`Project`](project.md) with [`User`](..\users\user.md) attribute. Used as return type from -[Project Creation](post.md) - -## Raw type - -
-{
-    name: String,
-    semanticDomains: semanticDomain[],
-    words: Word[],
-    vernacularWritingSystem: WritingSystem,
-    analysisWritingSystems: WritingSystem[],
-    characterSet: String[],
-    customFields: CustomField[],
-    wordFields: String[],
-    partsOfSpeech: String[],
-    __UpdatedUser : User
-}
-
diff --git a/docs/api/projects/put.md b/docs/api/projects/put.md deleted file mode 100644 index 76f952d49c..0000000000 --- a/docs/api/projects/put.md +++ /dev/null @@ -1,27 +0,0 @@ -# Update a project - -**URL** : `/v1/projects/{projectId}` - -**Method** : `PUT` - -**Auth required** : Project Admin - -**Data type** : [`Project`](project.md) - -## Success response - -**Code** : `200 OK` - -**Data Content** : `string` projectId - -## Redirect response - -**Condition** : No content changed - -**Code** : `304 NOT MODIFIED` - -## Error response - -**Condition** : Project not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/put_characters.md b/docs/api/projects/put_characters.md deleted file mode 100644 index 560244650f..0000000000 --- a/docs/api/projects/put_characters.md +++ /dev/null @@ -1,27 +0,0 @@ -# Update character set - -**URL** : `/v1/projects/{projectId}/characters` - -**Method** : `PUT` - -**Auth required** : MergeNCharSet - -**Data type** : [`Project`](project.md) - -## Success response - -**Code** : `200 OK` - -**Data Content** : `string` userId - -## Redirect response - -**Condition** : No content changed - -**Code** : `304 NOT MODIFIED` - -## Error response - -**Condition** : Project not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/put_user.md b/docs/api/projects/put_user.md deleted file mode 100644 index 55883bf3ae..0000000000 --- a/docs/api/projects/put_user.md +++ /dev/null @@ -1,27 +0,0 @@ -# Update UserRole of user on a project - -**URL** : `/v1/projects/{projectId}/users/{userId}` - -**Method** : `PUT` - -**Auth required** : Project Admin - -**Data type** : `int[]` - -## Success response - -**Code** : `200 OK` - -**Data Content** : `string` projectId - -## Redirect response - -**Condition** : No content changed - -**Code** : `304 NOT MODIFIED` - -## Error response - -**Condition** : Project not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/semdoms.PNG b/docs/api/projects/semdoms.PNG deleted file mode 100644 index 57545f3aa6..0000000000 Binary files a/docs/api/projects/semdoms.PNG and /dev/null differ diff --git a/docs/api/projects/user_edits/edit.md b/docs/api/projects/user_edits/edit.md deleted file mode 100644 index 2ec5e26eb7..0000000000 --- a/docs/api/projects/user_edits/edit.md +++ /dev/null @@ -1,14 +0,0 @@ -# Edit - -**goalType** : - -**stepData** : - -## Raw Type - -
-{
-  goalType: GoalType;
-  stepData: string[]
-}
-
diff --git a/docs/api/projects/user_edits/get.md b/docs/api/projects/user_edits/get.md deleted file mode 100644 index f865b21a22..0000000000 --- a/docs/api/projects/user_edits/get.md +++ /dev/null @@ -1,15 +0,0 @@ -# Get a single UserEdit - -Get user edit with target id, otherwise makes a new user edit - -**URL** : `/v1/projects/{projectId}/useredits/{userEditId}` - -**Method** : `GET` - -**Auth required** : - -## Success response - -**Code** : `200 OK` - -**Data Content** : [`UserEdit`](user_edit.md) diff --git a/docs/api/projects/user_edits/get_all.md b/docs/api/projects/user_edits/get_all.md deleted file mode 100644 index 31f5402322..0000000000 --- a/docs/api/projects/user_edits/get_all.md +++ /dev/null @@ -1,13 +0,0 @@ -# Get all UserEdits - -**URL** : `/v1/projects/{projectId}/useredits/` - -**Method** : `GET` - -**Auth required** : - -## Success response - -**Code** : `200 OK` - -**Data Content** : [`UserEdit`](user_edit.md)`[]` diff --git a/docs/api/projects/user_edits/goal_type.md b/docs/api/projects/user_edits/goal_type.md deleted file mode 100644 index 0a20607fe9..0000000000 --- a/docs/api/projects/user_edits/goal_type.md +++ /dev/null @@ -1,18 +0,0 @@ -# GoalType - -GoalType is an enum describing the different types of goals - -## Raw type - -```typescript -enum { - CreateCharInv, - ValidateChars, - CreateStrWordInv, - ValidateStrWords, - MergeDups, - SpellcheckGloss, - ViewFind, - HandleFlags -} -``` diff --git a/docs/api/projects/user_edits/post.md b/docs/api/projects/user_edits/post.md deleted file mode 100644 index 51397fc39a..0000000000 --- a/docs/api/projects/user_edits/post.md +++ /dev/null @@ -1,17 +0,0 @@ -# Add UserEdit - -*NOT SUPPORTED AS OF NOW*s - -**URL** : `/v1/projects/{projectId}/useredits/` - -**Method** : `POST` - -**Auth required** : - -**Data type** : [`UserEdit`](user_edit.md) - -## Success response - -**Code** : `200 OK` - -**Data content** : `id: String` diff --git a/docs/api/projects/user_edits/post_id.md b/docs/api/projects/user_edits/post_id.md deleted file mode 100644 index c2a3af489c..0000000000 --- a/docs/api/projects/user_edits/post_id.md +++ /dev/null @@ -1,15 +0,0 @@ -# Add Goal to UserEdit - -**URL** : `/v1/projects/{projectId}/useredits/{userEditId}` - -**Method** : `POST` - -**Auth required** : - -**Data type** : [`UserEdit`](user_edit.md) - -## Success response - -**Code** : `200 OK` - -**Data content** : `id: String` diff --git a/docs/api/projects/user_edits/put.md b/docs/api/projects/user_edits/put.md deleted file mode 100644 index de7c6ad49e..0000000000 --- a/docs/api/projects/user_edits/put.md +++ /dev/null @@ -1,19 +0,0 @@ -# Add step to goal - -**URL** : `/v1/projects/{projectId}/useredits/{userEditId}` - -**Method** : `PUT` - -**Auth required** : - -**Data type** : [`UserEdit`](user_edit.md) - -## Success response - -**Code** : `200 OK` - -## Error response - -**Condition** : Id not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/user_edits/user_edit.md b/docs/api/projects/user_edits/user_edit.md deleted file mode 100644 index d791359ddf..0000000000 --- a/docs/api/projects/user_edits/user_edit.md +++ /dev/null @@ -1,11 +0,0 @@ -# UserEdit - -**edits** : What a user has done in a project - -## Raw Type - -
-{
-  edits: Edit[];
-}
-
diff --git a/docs/api/projects/words/delete_id.md b/docs/api/projects/words/delete_id.md deleted file mode 100644 index 647f813dbf..0000000000 --- a/docs/api/projects/words/delete_id.md +++ /dev/null @@ -1,17 +0,0 @@ -# Delete word - -**URL** : `/v1/projects/{projectId}/words/{wordId}` - -**Method** : `DELETE` - -**Auth required** : - -## Success response - -**Code** : `200 OK` - -## Error response - -**Condition** : If id is not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/words/frontier.md b/docs/api/projects/words/frontier.md deleted file mode 100644 index 12a30c8a53..0000000000 --- a/docs/api/projects/words/frontier.md +++ /dev/null @@ -1,19 +0,0 @@ -# Get frontier words - -The frontier is a list of all the words that haven't been merged. - -In Figure1 the frontier would return `ab` and `c_deleted` - -![Sample word tree](word_tree.png) - -**URL** : `/v1/projects/{projectId}/words/frontier` - -**Method** : `GET` - -**Auth required** : - -## Success Response - -**Code** : `200 OK` - -**Data Content** : [`Word`](word.md)`[]` diff --git a/docs/api/projects/words/get.md b/docs/api/projects/words/get.md deleted file mode 100644 index 738da0e578..0000000000 --- a/docs/api/projects/words/get.md +++ /dev/null @@ -1,15 +0,0 @@ -# Get all words - -Gets all words in the project - -**URL** : `/v1/projects/{projectId}/words` - -**Method** : `GET` - -**Auth required** : - -## Success Response - -**Code** : `200 OK` - -**Data Content** : [`Word`](word.md)`[]` diff --git a/docs/api/projects/words/get_id.md b/docs/api/projects/words/get_id.md deleted file mode 100644 index cbfb1a496c..0000000000 --- a/docs/api/projects/words/get_id.md +++ /dev/null @@ -1,19 +0,0 @@ -# Get word by ID - -**URL** : `/v1/projects/{projectId}/words/{wordId}` - -**Method** : `GET` - -**Auth required** : - -## Success response - -**Code** : `200 OK` - -**Data content** : [`Word`](word.md) - -## Error response - -**Condition** : If word ID doesn't exist - -**Code** `404 NOT FOUND` diff --git a/docs/api/projects/words/gloss.md b/docs/api/projects/words/gloss.md deleted file mode 100644 index 558f0ee3e3..0000000000 --- a/docs/api/projects/words/gloss.md +++ /dev/null @@ -1,13 +0,0 @@ -# Gloss - -A gloss is a series of brief explanations of a word, such as definitions or pronunciations, in an analysis writing -system. - -## Raw Type - -``` -{ - Language: String; - Def: String; -} -``` diff --git a/docs/api/projects/words/post.md b/docs/api/projects/words/post.md deleted file mode 100644 index 9a4279eb12..0000000000 --- a/docs/api/projects/words/post.md +++ /dev/null @@ -1,17 +0,0 @@ -# Add word - -Used to add a word to a language project - -**URL** : `/v1/projects/{projectId}/words` - -**Method** : `POST` - -**Auth required** : - -**Data type**: [`Word`](word.md) - -## Success Response - -**Code** : `200 OK` - -**Data content** : `id: string` diff --git a/docs/api/projects/words/post_upload_audio.md b/docs/api/projects/words/post_upload_audio.md deleted file mode 100644 index f7a6d0027d..0000000000 --- a/docs/api/projects/words/post_upload_audio.md +++ /dev/null @@ -1,29 +0,0 @@ -# Upload an audio file - -**URL** : `/v1/projects/{projectId}/words/{wordId}/upload/audio` - -**Method** : `POST` - -**Auth required** : - -**Data type**: [`FormData()`](https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData) - Binary Stream - -``` -FormData() -{ - LanguageData : File - name : string -} -``` - -## Success Response - -**Code** : `200 OK` - -**Data content** : `string` - file path - -## Error response - -**Condition** : Invalid file - -**Code** : `415 UNSUPPORTED MEDIA TYPE` diff --git a/docs/api/projects/words/post_upload_lift.md b/docs/api/projects/words/post_upload_lift.md deleted file mode 100644 index 14e5293831..0000000000 --- a/docs/api/projects/words/post_upload_lift.md +++ /dev/null @@ -1,32 +0,0 @@ -# Upload a .lift file - -Used to add many words to a language project from a .lift file -[.lift](https://github.com/sillsdev/lift-standard) is an xml variant focused on lexical data transfer - -**URL** : `/v1/projects/{projectId}/words/upload` - -**Method** : `POST` - -**Auth required** : - -**Data type**: [`FormData()`](https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData) - Binary Stream - -``` -FormData() -{ - LanguageData : File - name : string -} -``` - -## Success Response - -**Code** : `200 OK` - -**Data content** : `num: int` - Number of successful entries - -## Error response - -**Condition** : Invalid lift file - -**Code** : `415 UNSUPPORTED MEDIA TYPE` diff --git a/docs/api/projects/words/put.md b/docs/api/projects/words/put.md deleted file mode 100644 index 092174eee4..0000000000 --- a/docs/api/projects/words/put.md +++ /dev/null @@ -1,32 +0,0 @@ -# Merge words - -Merge words into a parent - -**URL** : `/v1/projects/{projectId}/words` - -**Method** : `PUT` - -**Auth required** : - -**Data type** : MergeWords - -
-{
-    parent: Word,
-    children: Word[],
-    mergeType: State,
-    time: String
-}
-
- -## Success Response - -**Code** : `200 OK` - -**Data content** : `id: String` - -## Error response - -**Condition** : If any id is not found or if there are duplicates among the parent and children - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/words/put_id.md b/docs/api/projects/words/put_id.md deleted file mode 100644 index bf36e28cf5..0000000000 --- a/docs/api/projects/words/put_id.md +++ /dev/null @@ -1,21 +0,0 @@ -# Update word - -**URL** : `/v1/projects/{projectId}/words/{wordId}` - -**Method** : `PUT` - -**Auth required** : - -**Data type** : [`Word`](word.md) - -## Success response - -**Code** : `200 OK` - -**Data content** : `id: string` - -## Error response - -**Condition** : If id is not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/projects/words/semanticDomain.md b/docs/api/projects/words/semanticDomain.md deleted file mode 100644 index cdb7e7a83b..0000000000 --- a/docs/api/projects/words/semanticDomain.md +++ /dev/null @@ -1,24 +0,0 @@ -# Semantic Domain - -A semantic domain refers to a category of words. These words are nested by their number. - -``` -1. Universe, Creation - 1.1 Sky - 1.1.1 Sun - 1.1.2 Air - 1.1.3 Weather - 1.2 World - 1.2.1 Land - 1.2.2 Substance, Matter - 1.2.3 Solid, liquid, gas -``` - -## Raw Type - -```typescript -{ - Name: String, - Number: String, -} -``` diff --git a/docs/api/projects/words/sense.md b/docs/api/projects/words/sense.md deleted file mode 100644 index 21a2857993..0000000000 --- a/docs/api/projects/words/sense.md +++ /dev/null @@ -1,12 +0,0 @@ -# Sense - -A word may have multiple senses, like the word bank, meaning a place where money is stored or land by a river. - -## Raw Type - -
-{
-    Glosses: Gloss[];
-    SemanticDomains: SemanticDomain[];
-}
-
diff --git a/docs/api/projects/words/state.md b/docs/api/projects/words/state.md deleted file mode 100644 index f800365ff5..0000000000 --- a/docs/api/projects/words/state.md +++ /dev/null @@ -1,25 +0,0 @@ -# Accessibility State - -Acccessibility state is an enum representing one of four states - -**Active** : Standard Node type - -**Deleted** : Node has been deleted - -**Sense** : Node has been merged with another node as an alternate definition - -**Duplicate** : Node has been merged with another node as a duplicate node - -**Separate** : Node has been made into a new node - -## Raw type - -```typescript -enum { - active, - deleted, - sense, - duplicate, - separate -} -``` diff --git a/docs/api/projects/words/word.md b/docs/api/projects/words/word.md deleted file mode 100644 index dcec26fc1c..0000000000 --- a/docs/api/projects/words/word.md +++ /dev/null @@ -1,41 +0,0 @@ -# Word - -**vernacular** : - -**plural** : - -**senses**: - -**audio** : Link to recording of word spoken - -**created** : Time word was initially created - -**modified** : Time word was last modified - -**history** : List of previous words - -**partOfSpeech** : - -**editedBy** : List of collaborators - -**accessability** : - -**otherField** : - -## Raw Type - -
-{
-  verncaular: String;
-  plural: String;
-  senses: Sense[];
-  audio: String;
-  created: String;
-  modified: String;
-  history: String[];
-  partOfSpeech: String;
-  editedBy: String;
-  accessability: State;
-  otherField: String;
-}
-
diff --git a/docs/api/projects/words/word_tree.png b/docs/api/projects/words/word_tree.png deleted file mode 100644 index 8f29e160e9..0000000000 Binary files a/docs/api/projects/words/word_tree.png and /dev/null differ diff --git a/docs/api/users/authenticate.md b/docs/api/users/authenticate.md deleted file mode 100644 index 31afb00b37..0000000000 --- a/docs/api/users/authenticate.md +++ /dev/null @@ -1,25 +0,0 @@ -# Authenticate User - -**URL** : `/v1/users/authenticate` - -**Method** : `POST` - -**Auth required** : No - -**Data type**: - -## Success Response - -**Code** : `200 OK` - -**Data content** : `User` - -## Error Response - -**Condition** : If user is invalid - -**Code** : `401 UNAUTHORIZED` - -**Condition** : If user is null - -**Code** : `404 NOT FOUND` diff --git a/docs/api/users/get.md b/docs/api/users/get.md deleted file mode 100644 index 491c9b1a62..0000000000 --- a/docs/api/users/get.md +++ /dev/null @@ -1,19 +0,0 @@ -# Get user - -**URL** : `/v1/users/{userId}` - -**Method** : `GET` - -**Auth required** : Yes - -## Success Response - -**Code** : `200 OK` - -**Data content**: [`User`](user.md) - -## Error Response - -**Condition** : If user ID is not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/users/get_all.md b/docs/api/users/get_all.md deleted file mode 100644 index 500c5223f6..0000000000 --- a/docs/api/users/get_all.md +++ /dev/null @@ -1,13 +0,0 @@ -# Get all users - -**URL** : `/v1/users` - -**Method** : `GET` - -**Auth required** : Yes - -## Success response - -**Code** : `200 OK` - -**Data content**: [`User`](user.md)`[]` diff --git a/docs/api/users/post.md b/docs/api/users/post.md deleted file mode 100644 index 9eed2cf6e1..0000000000 --- a/docs/api/users/post.md +++ /dev/null @@ -1,23 +0,0 @@ -# Add User - -Used to add a user to the server. - -**URL** : `/v1/users` - -**Method** : `POST` - -**Auth required** : No - -**Data type**: [`User`](user.md) - -## Success Response - -**Code** : `200 OK` - -**Data content** : `id: string` - -## Error Response - -**Condition** : If user is null - -**Code** : `400 BAD REQUEST` diff --git a/docs/api/users/post_upload_avatar.md b/docs/api/users/post_upload_avatar.md deleted file mode 100644 index 13a9f42f77..0000000000 --- a/docs/api/users/post_upload_avatar.md +++ /dev/null @@ -1,31 +0,0 @@ -# Upload an avatar - -Used to add an avatar to a user profile - -**URL** : `/v1/users/{userId}/upload/avatar` - -**Method** : `POST` - -**Auth required** : - -**Data type**: [`FormData()`](https://developer.mozilla.org/en-US/docs/Web/API/FormData/FormData) - Binary Stream - -``` -FormData() -{ - LanguageData : File - name : string -} -``` - -## Success Response - -**Code** : `200 OK` - -**Data content** : `bool` - if action was successful - -## Error response - -**Condition** : Invalid file - -**Code** : `415 UNSUPPORTED MEDIA TYPE` diff --git a/docs/api/users/put.md b/docs/api/users/put.md deleted file mode 100644 index 79444ec3e9..0000000000 --- a/docs/api/users/put.md +++ /dev/null @@ -1,21 +0,0 @@ -# Update user info - -**URL** : `/v1/users/{userId}` - -**Method** : `PUT` - -**Auth required** : Yes - -**Data type**: [`User`](user.md) - -## Success Response - -**Code** : `200 OK` - -**Data content**: `id: string` - -## Error Response - -**Condition** : If user ID is not found - -**Code** : `404 NOT FOUND` diff --git a/docs/api/users/user.md b/docs/api/users/user.md deleted file mode 100644 index 6642f9977e..0000000000 --- a/docs/api/users/user.md +++ /dev/null @@ -1,46 +0,0 @@ -# User - -**avatar** : Link to an image resource - -**name** : - -**email** : Valid email address - Should always be stored in lowercase - -**phone** : Valid phone number - -**otherConnectionField** : Fallback communication method if there is no email or phone - -**workedProjects** : - -**agreement** : - -**password** : - -**username** : Should always be stored in lowercase - -**uiLang** : - -**token** : - -**userEdits** : string - -> Will change to Dictionary - -## Raw type - -```typescript -{ - avatar: String, - name: String, - email: String, - phone: String, - otherConnnectionField: String, - workedProjects: String[], - agreement: boolean, - password: String, - username: String, - uiLang: String, - token: String, - userEdits: String -} -``` diff --git a/docs/data_model.md b/docs/data_model.md deleted file mode 100644 index 9328ff7cb2..0000000000 --- a/docs/data_model.md +++ /dev/null @@ -1,118 +0,0 @@ -# Data Model - -## Project - -- Name - -- Semantic Domains - -- Vernacular Writing System - -- Analysis Writing Systems - -- Valid Character Set - -- Rejected Character Set - -- Custom Fields - Not implemented: optional fields for projects - -- Word Fields - Not implemented: optional fields for words in a project - -- Parts of Speech - -### Custom Field - -- Name - -- Type - -## Word - -- Vernacular - -- Plural - -- Senses - consists of glosses and semantic domains - -- Audio - -- Created - -- Modified - -- History - We are storing the history of a word in a linked tree. Each word will point to the previous word(s) in its - history. - -- Part of Speech - -- Edited By - -- Other Field - -- Project Id - -### Sense - -- Glosses - -- Semantic Domains - -- Accessibility - -### Gloss - -- Language - -- Definition - -### Semantic Domain - -- Name - -- Id Number - -- Description - -## User - -- Avatar - -- Name - -- Email - -- Phone - -- Other Connection Field - Other form of contact if phone/email are unavailable - -- Worked Projects - A user may be involved with more than one project at a time - -- Project Roles - A user may have different roles for different projects - -- Agreement - If the user has consented for audio/video containing them to be used - -- Password - -- Username - -- UI Language - The language the user wants used for the user interface of The Combine. - -- Token - stored JWT token to permit access to certain features. - -## User Edit - -- Edits - -- Project Id - -### Edit - -- Goal Type - -- StepData - -## User Role - -- Permissions - -- Project Id diff --git a/docs/duplicate_finder_testing.md b/docs/duplicate_finder_testing.md deleted file mode 100644 index c624dc9353..0000000000 --- a/docs/duplicate_finder_testing.md +++ /dev/null @@ -1,29 +0,0 @@ -| Project | Start Words | Time (ms) | Post-Filter Words | Average Duplicates Found | -| --------------------- | ----------- | --------- | ----------------- | ------------------------ | -| Gusillaay (Original) | 8043 | 92845.78 | 2093.3 | 3.24 | -| Gusillaay (Bitmapped) | 8043 | 18241.07 | 312.9 | 3.04 | -| Gusillaay (Optimized) | 8043 | 6882.689 | 236.6 | 2.54 | - -| Project | Start Words | Time (ms) | Post-Filter Words | Average Duplicates Found | -| ----------------- | ----------- | --------- | ----------------- | ------------------------ | -| Lotud (Original) | 5396 | 33211.799 | 1234.0 | 2.67 | -| Lotud (Bitmapped) | 5396 | 8418.44 | 227.3 | 2.52 | -| Lotud (Optimized) | 5396 | 3274.220 | 170.1 | 2.16 | - -| Project | Start Words | Time (ms) | Post-Filter Words | Average Duplicates Found | -| ---------------- | ----------- | --------- | ----------------- | ------------------------ | -| Sena (Original) | 1462 | 2002.195 | 612.7 | 4.46 | -| Sena (Bitmapped) | 1462 | 774.135 | 160.8 | 4.32 | -| Sena (Optimized) | 1462 | 366.305 | 122.6 | 3.64 | - -| Project | Start Words | Time (ms) | Post-Filter Words | Average Duplicates Found | -| -------------------- | ----------- | --------- | ----------------- | ------------------------ | -| Resembli (Original) | 255 | 89.235 | 77.745 | 3.67 | -| Resembli (Bitmapped) | 255 | 83.77 | 29.3 | 3.67 | -| Resembli (Optimized) | 255 | 63.23 | 22.3 | 2.85 | - -| Project | Start Words | Time (ms) | Post-Filter Words | Average Duplicates Found | -| ------------------- | ----------- | --------- | ----------------- | ------------------------ | -| Spanish (Original) | 132 | 112.80 | 34.7 | 1.26 | -| Spanish (Bitmapped) | 132 | 42.555 | 7.3 | 1.21 | -| Spanish (Optimized) | 132 | 39.3 | 5.8 | 1.21 | diff --git a/docs/frontend/README.md b/docs/frontend/README.md deleted file mode 100644 index 57fe4bc4cd..0000000000 --- a/docs/frontend/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# The Combine Frontend Docs - -The Combine is a web-based tool used to clean up the data collected after a Rapid Word Collection workshop. We use the -following technologies on the frontend: - -- [React](https://reactjs.org/) -- [Redux](https://redux.js.org/) -- [Jest](https://jestjs.io/en/) -- [npm](https://www.npmjs.com/) - -## Index - -- [File Structure](fileStructure/fileStructure.md) -- [Adding Components to The Combine](addingComponents.md) diff --git a/docs/frontend/addingComponents.md b/docs/frontend/addingComponents.md deleted file mode 100644 index ce81f192e5..0000000000 --- a/docs/frontend/addingComponents.md +++ /dev/null @@ -1,22 +0,0 @@ -# Adding Components to The Combine - -Let's say you want to add a Login component to the app. - -First, create the React component that handles login. - -The component will need methods to register a user account, as well as to login. This will require a database call or -two. To make the component as reusable as possible, we will pass in these methods through the component's props. - -The component will also need access to the Redux store. The data you need from the store should be passed in through -props as well. To pass in the data, you want to create a -[connected component](https://redux.js.org/basics/usage-with-react). - -You will need to create action creators and reducers, since you want to be able to dispatch login actions to the store, -and respond to the actions. The reducer should be added to the root reducer, located in -[src/rootReducer.tsx](../../src/rootReducer.tsx). - -Adding a login component will require adding new state types to the store. You want to add login state to the store. -This should be defined in your login reducers file. The state should be added to the store state in -[src/types/index.tsx](../../src/types/index.tsx). - -Don't forget to write unit tests. diff --git a/docs/frontend/fileStructure/backend.md b/docs/frontend/fileStructure/backend.md deleted file mode 100644 index 3f7846fae3..0000000000 --- a/docs/frontend/fileStructure/backend.md +++ /dev/null @@ -1,4 +0,0 @@ -# Backend - -Backend contains the api used to access the backend api. It is the only place in the frontend where requests are made to -the backend api. diff --git a/docs/frontend/fileStructure/components.md b/docs/frontend/fileStructure/components.md deleted file mode 100644 index f633b3ba8d..0000000000 --- a/docs/frontend/fileStructure/components.md +++ /dev/null @@ -1,44 +0,0 @@ -# Components - -Most React components are stored in this directory. - -Each directory should contain at least: - -- The component class -- A tests subdirectory containing unit tests that test the component - -Sometimes, there will also be these files/folders: - -- index.tsx - a component that injects props into the component. These props are retrieved from the Redux store -- a file containing Redux actions -- a file containing a Redux reducer - -Components can be nested. Nested components should be stored in subdirectories of their parent, unless there are other -components that use them. - -Here is an example of what a directory in components should look like: - -- GoalTimeline/ - - GoalHistory/ - - tests/ - - component.test.tsx - - component.tsx - - GoalSuggestions/ - - tests/ - - component.test.tsx - - component.tsx - - GoalSwitcher/ - - tests/ - - component.test.tsx - - actions.test.tsx - - reducers.test.tsx - - component.tsx - - actions.tsx - - reducers.tsx - - tests/ - - component.test.tsx - - actions.test.tsx - - reducers.test.tsx - - component.tsx - - actions.tsx - - reducers.tsx diff --git a/docs/frontend/fileStructure/fileStructure.md b/docs/frontend/fileStructure/fileStructure.md deleted file mode 100644 index a7862a2fb3..0000000000 --- a/docs/frontend/fileStructure/fileStructure.md +++ /dev/null @@ -1,14 +0,0 @@ -# File Structure - -Note: The root of the frontend is src/. - -- [index.tsx](index.tsx.md) -- [rootReducer.tsx](rootReducer.tsx.md) -- [serviceWorker.ts](serviceWorker.ts.md) -- [store.tsx](store.tsx.md) - -- [backend/](backend.md) -- [components/](components.md) -- [goals/](goals.md) -- [resources/](resources.md) -- [types/](types.md) diff --git a/docs/frontend/fileStructure/goals.md b/docs/frontend/fileStructure/goals.md deleted file mode 100644 index 40e3127e15..0000000000 --- a/docs/frontend/fileStructure/goals.md +++ /dev/null @@ -1,25 +0,0 @@ -# Goals - -The Combine provides tools for people to clean up after a Rapid Word Collection workshop. We call each of these tools a -goal that the user wants to accomplish. The goal types The Combine provides are: - -- Create Character Inventory -- Create Structural Character Inventory -- Handle Flags -- Merge Duplicates -- Spell Check Gloss -- Validate Characters -- Validate Structural Words -- Review Entries - -Each directory should contain at least: - -- The component class -- The goal class -- A tests subdirectory containing unit tests that test the component - -Sometimes, there will also be these files/folders: - -- index.tsx - a component that injects props into the component. These props are retrieved from the Redux store -- a file containing Redux actions -- a file containing a Redux reducer diff --git a/docs/frontend/fileStructure/index.tsx.md b/docs/frontend/fileStructure/index.tsx.md deleted file mode 100644 index b5962f0bfe..0000000000 --- a/docs/frontend/fileStructure/index.tsx.md +++ /dev/null @@ -1,3 +0,0 @@ -# index.tsx - -This is the top-level component in The Combine. Everything is wired together in this file. diff --git a/docs/frontend/fileStructure/resources.md b/docs/frontend/fileStructure/resources.md deleted file mode 100644 index dbb740713c..0000000000 --- a/docs/frontend/fileStructure/resources.md +++ /dev/null @@ -1,3 +0,0 @@ -# Resources - -Resources contains extra files we need, like a logo and localization files. diff --git a/docs/frontend/fileStructure/rootReducer.tsx.md b/docs/frontend/fileStructure/rootReducer.tsx.md deleted file mode 100644 index 4289152415..0000000000 --- a/docs/frontend/fileStructure/rootReducer.tsx.md +++ /dev/null @@ -1,3 +0,0 @@ -# rootReducer.tsx - -The reducer for the Redux store is stored here. All of the reducers are combined here to make one large reducer. diff --git a/docs/frontend/fileStructure/serviceWorker.ts.md b/docs/frontend/fileStructure/serviceWorker.ts.md deleted file mode 100644 index 8956a1f1cb..0000000000 --- a/docs/frontend/fileStructure/serviceWorker.ts.md +++ /dev/null @@ -1,5 +0,0 @@ -# serviceWorker.ts - -A service worker is run in the background. It allows for things like push notifications. It does not need to be -modified. See https://developers.google.com/web/fundamentals/primers/service-workers/ for more information about service -workers. diff --git a/docs/frontend/fileStructure/store.tsx.md b/docs/frontend/fileStructure/store.tsx.md deleted file mode 100644 index 88065ea257..0000000000 --- a/docs/frontend/fileStructure/store.tsx.md +++ /dev/null @@ -1,4 +0,0 @@ -# store.tsx - -This creates the Redux store, and applies any middleware you may be using. The Combine is using -[thunk](https://github.com/reduxjs/redux-thunk) as its middleware. diff --git a/docs/frontend/fileStructure/types.md b/docs/frontend/fileStructure/types.md deleted file mode 100644 index d20a84309a..0000000000 --- a/docs/frontend/fileStructure/types.md +++ /dev/null @@ -1,3 +0,0 @@ -# Types - -Types contains data types for the data model, as well as types used with the Redux store.