diff --git a/README.md b/README.md index 927a092c1f..5eaa0b0fe6 100644 --- a/README.md +++ b/README.md @@ -364,6 +364,7 @@ By default, each VO is decorated with a `TypeConverter` and `System.Text.Json` ( * Dapper * EFCore * [LINQ to DB](https://github.com/linq2db/linq2db) +* protobuf-net (see the FAQ section below) They are controlled by the `Conversions` enum. The following has serializers for NSJ and STJ: @@ -547,7 +548,7 @@ public partial struct CustomerId { You *could*, but you'd get compiler warning [CS0282-There is no defined ordering between fields in multiple declarations of partial class or struct 'type'](https://docs.microsoft.com/en-us/dotnet/csharp/misc/cs0282) -### Why are there no implicit conversions to and from the primitive types that are being wrapped? +### Why are there, by default, no implicit conversions to and from the primitive types that are being wrapped? Implicit operators can be useful, but for Value Objects, they can confuse things. Take the following code **without** any implicit conversions: @@ -577,9 +578,11 @@ But since users of Vogen can declare a Value Object as a `class` **or** `struct` ### Can you opt-in to implicit conversions? -No, but you can provide them yourself. For certain types it would allow a much more natural way of expressing, er, expressions. +Yes, by specifying the `toPrimitiveCasting` and `fromPrimitiveCasting` in either local or global config. +By default, explicit operators are generated for both. Bear in mind that you can only define implicit _or_ explicit operators; +you can't have both. -Although it can be confusing. Let's say there's a type like this (and imagine that there's implicit conversions to `Age` and to `int`'): +Also, bear in mind that ease of use can cause confusions. Let's say there's a type like this (and imagine that there's implicit conversions to `Age` and to `int`'): ```csharp [ValueObject(typeof(int))] @@ -793,6 +796,23 @@ Linq2DB 4.0 or greater supports `DateOnly` and `TimeOnly`. Vogen generates value `MappingSchema.Default.SetConverter(dt => TimeOnly.FromDateTime(dt));` +### Can I use protobuf-net? + +Yes. Add a dependency to protobuf-net and set a surrogate attribute: + +```csharp +[ValueObject(typeof(string))] +[ProtoContract(Surrogate = typeof(string))] +public partial class BoxId { +//... +} +``` + +BoxId type now will be serialized as a string in all messages/grpc calls. If one is generating .proto files for other +applications from C# code, proto files will include Surrogate type as the type. +_thank you to [@DomasM](https://github.com/DomasM) for this information_. + + ## Attribution I took a lot of inspiration from [Andrew Lock's](https://github.com/andrewlock) [StronglyTypedId](https://github.com/andrewlock/StronglyTypedId). diff --git a/docs/site/Writerside/adoc.tree b/docs/site/Writerside/adoc.tree new file mode 100644 index 0000000000..b102e03a10 --- /dev/null +++ b/docs/site/Writerside/adoc.tree @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/Writerside/c.list b/docs/site/Writerside/c.list new file mode 100644 index 0000000000..c4c77a29e7 --- /dev/null +++ b/docs/site/Writerside/c.list @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/docs/site/Writerside/openapi.yaml b/docs/site/Writerside/openapi.yaml new file mode 100644 index 0000000000..6de41cf5b4 --- /dev/null +++ b/docs/site/Writerside/openapi.yaml @@ -0,0 +1,803 @@ +openapi: 3.0.2 +servers: + - url: /v3 +info: + description: |- + This is a sample Pet Store Server based on the OpenAPI 3.0 specification. You can find out more about + Swagger at [http://swagger.io](http://swagger.io). In the third iteration of the pet store, we've switched to the design first approach! + You can now help us improve the API whether it's by making changes to the definition itself or to the code. + That way, with time, we can improve the API in general, and expose some of the new features in OAS3. + + Some useful links: + - [The Pet Store repository](https://github.com/swagger-api/swagger-petstore) + - [The source API definition for the Pet Store](https://github.com/swagger-api/swagger-petstore/blob/master/src/main/resources/openapi.yaml) + version: 1.0.17 + title: Swagger Petstore - OpenAPI 3.0 + termsOfService: 'http://swagger.io/terms/' + contact: + email: apiteam@swagger.io + license: + name: Apache 2.0 + url: 'http://www.apache.org/licenses/LICENSE-2.0.html' +tags: + - name: pet + description: Everything about your Pets + externalDocs: + description: Find out more + url: 'http://swagger.io' + - name: store + description: Access to Petstore orders + externalDocs: + description: Find out more about our store + url: 'http://swagger.io' + - name: user + description: Operations about user +paths: + /pet: + post: + tags: + - pet + summary: Add a new pet to the store + description: Add a new pet to the store + operationId: addPet + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + '405': + description: Invalid input + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + description: Create a new pet in the store + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + put: + tags: + - pet + summary: Update an existing pet + description: Update an existing pet by Id + operationId: updatePet + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + '405': + description: Validation exception + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + description: Update an existent pet in the store + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + /pet/findByStatus: + get: + tags: + - pet + summary: Find pets by status + description: Multiple status values can be provided with comma separated strings + operationId: findPetsByStatus + parameters: + - name: status + in: query + description: Status values that need to be considered for filter + required: false + explode: true + schema: + type: string + enum: + - available + - pending + - sold + default: available + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid status value + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + /pet/findByTags: + get: + tags: + - pet + summary: Finds pets by tags + description: >- + Multiple tags can be provided with comma separated strings. Use tag1, + tag2, tag3 for testing. + operationId: findPetsByTags + parameters: + - name: tags + in: query + description: Tags to filter by + required: false + explode: true + schema: + type: array + items: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid tag value + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + '/pet/{petId}': + get: + tags: + - pet + summary: Find pet by ID + description: Returns a single pet + operationId: getPetById + parameters: + - name: petId + in: path + description: ID of pet to return + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + '400': + description: Invalid ID supplied + '404': + description: Pet not found + security: + - api_key: [] + - petstore_auth: + - 'write:pets' + - 'read:pets' + post: + tags: + - pet + summary: Update a pet in the store with form data + description: '' + operationId: updatePetWithForm + parameters: + - name: petId + in: path + description: ID of pet that needs to be updated + required: true + schema: + type: integer + format: int64 + - name: name + in: query + description: Name of pet that needs to be updated + schema: + type: string + - name: status + in: query + description: Status of pet that needs to be updated + schema: + type: string + responses: + '405': + description: Invalid input + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + delete: + tags: + - pet + summary: Delete a pet + description: '' + operationId: deletePet + parameters: + - name: api_key + in: header + description: '' + required: false + schema: + type: string + - name: petId + in: path + description: Pet id to delete + required: true + schema: + type: integer + format: int64 + responses: + '400': + description: Invalid pet value + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + '/pet/{petId}/uploadImage': + post: + tags: + - pet + summary: Upload an image + description: '' + operationId: uploadFile + parameters: + - name: petId + in: path + description: ID of pet to update + required: true + schema: + type: integer + format: int64 + - name: additionalMetadata + in: query + description: Additional Metadata + required: false + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/ApiResponse' + security: + - petstore_auth: + - 'write:pets' + - 'read:pets' + requestBody: + content: + application/octet-stream: + schema: + type: string + format: binary + /store/inventory: + get: + tags: + - store + summary: Find pet inventories by status + description: Returns a map of status codes to quantities + operationId: getInventory + x-swagger-router-controller: OrderController + responses: + '200': + description: successful operation + content: + application/json: + schema: + type: object + additionalProperties: + type: integer + format: int32 + security: + - api_key: [] + /store/order/v1: + post: + tags: + - store + summary: Place an order for a pet + description: Place a new order in the store + operationId: placeOrder + x-swagger-router-controller: OrderController + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + '405': + description: Invalid input + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + /store/order/v2: + post: + tags: + - store + summary: Place an order for a pet (v2) + description: Place a new order in the store with v2 endpoint + operationId: placeOrderV2 + x-swagger-router-controller: OrderController + responses: + '201': + description: Order successfully placed + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + '400': + description: Bad request + '405': + description: Invalid input + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + '/store/order/{orderId}': + get: + tags: + - store + summary: Find purchase order by ID + x-swagger-router-controller: OrderController + description: For valid response try integer IDs with value less than 5 or > 10. Other values + will generate exceptions. + operationId: getOrderById + parameters: + - name: orderId + in: path + description: ID of order that needs to be fetched + required: true + schema: + type: integer + format: int64 + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Order' + '400': + description: Invalid ID supplied + '404': + description: Order not found + delete: + tags: + - store + summary: Delete purchase order by ID + x-swagger-router-controller: OrderController + description: >- + For valid response try integer IDs with value < 1000. Anything above + 1000 or nonintegers will generate API errors + operationId: deleteOrder + parameters: + - name: orderId + in: path + description: ID of the order that needs to be deleted + required: true + schema: + type: integer + format: int64 + responses: + '400': + description: Invalid ID supplied + '404': + description: Order not found + /user: + post: + tags: + - user + summary: Create user + description: This can only be done by the logged in user. + operationId: createUser + responses: + default: + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/User' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/User' + description: Created user object + /user/createWithList: + post: + tags: + - user + summary: Create list of users with given input array + description: 'Creates list of users with given input array' + x-swagger-router-controller: UserController + operationId: createUsersWithListInput + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/User' + default: + description: successful operation + '400': + description: Invalid username supplied + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + + requestBody: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + /user/login: + get: + tags: + - user + summary: Log user into the system + description: '' + operationId: loginUser + parameters: + - name: username + in: query + description: The user name for login + required: false + schema: + type: string + - name: password + in: query + description: The password for login in clear text + required: false + schema: + type: string + responses: + '200': + description: successful operation + headers: + X-Rate-Limit: + description: calls per hour allowed by the user + schema: + type: integer + format: int32 + X-Expires-After: + description: date in UTC when token expires + schema: + type: string + format: date-time + content: + application/json: + schema: + type: string + '400': + description: Invalid username/password supplied + /user/logout: + get: + tags: + - user + summary: Log current user out + description: '' + operationId: logoutUser + parameters: [] + responses: + default: + description: successful operation + '/user/{username}': + get: + tags: + - user + summary: Get user by user name + description: '' + operationId: getUserByName + parameters: + - name: username + in: path + description: 'The name that needs to be fetched. Use user1 for testing. ' + required: true + schema: + type: string + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/User' + '400': + description: Invalid username supplied + '404': + description: User not found + put: + tags: + - user + summary: Update user + x-swagger-router-controller: UserController + description: This can only be done by the logged in user. + operationId: updateUser + parameters: + - name: username + in: path + description: name that needs to be updated + required: true + schema: + type: string + responses: + default: + description: successful operation + requestBody: + description: Update an existent user in the store + content: + application/json: + schema: + $ref: '#/components/schemas/User' + delete: + tags: + - user + summary: Delete user + description: This can only be done by the logged in user. + operationId: deleteUser + parameters: + - name: username + in: path + description: The name that needs to be deleted + required: true + schema: + type: string + responses: + '400': + description: Invalid username supplied + '404': + description: User not found +externalDocs: + description: Find out more about Swagger + url: 'http://swagger.io' +components: + schemas: + Order: + x-swagger-router-model: io.swagger.petstore.model.Order + properties: + id: + type: integer + format: int64 + example: 10 + petId: + type: integer + format: int64 + example: 198772 + quantity: + type: integer + format: int32 + example: 7 + shipDate: + type: string + format: date-time + status: + type: string + description: Order Status + enum: + - placed + - approved + - delivered + example: approved + complete: + type: boolean + xml: + name: order + type: object + Customer: + properties: + id: + type: integer + format: int64 + example: 100000 + username: + type: string + example: fehguy + address: + type: array + items: + $ref: '#/components/schemas/Address' + xml: + wrapped: true + name: addresses + xml: + name: customer + type: object + Address: + properties: + street: + type: string + example: 437 Lytton + city: + type: string + example: Palo Alto + state: + type: string + example: CA + zip: + type: string + example: 94301 + xml: + name: address + type: object + Category: + x-swagger-router-model: io.swagger.petstore.model.Category + properties: + id: + type: integer + format: int64 + example: 1 + name: + type: string + example: Dogs + xml: + name: category + type: object + User: + x-swagger-router-model: io.swagger.petstore.model.User + properties: + id: + type: integer + format: int64 + example: 10 + username: + type: string + example: theUser + firstName: + type: string + example: John + lastName: + type: string + example: James + email: + type: string + example: john@email.com + password: + type: string + example: 12345 + phone: + type: string + example: 12345 + userStatus: + type: integer + format: int32 + example: 1 + description: User Status + xml: + name: user + type: object + Tag: + x-swagger-router-model: io.swagger.petstore.model.Tag + properties: + id: + type: integer + format: int64 + name: + type: string + xml: + name: tag + type: object + Pet: + x-swagger-router-model: io.swagger.petstore.model.Pet + required: + - name + - photoUrls + properties: + id: + type: integer + format: int64 + example: 10 + name: + type: string + example: doggie + category: + $ref: '#/components/schemas/Category' + photoUrls: + type: array + xml: + wrapped: true + items: + type: string + xml: + name: photoUrl + tags: + type: array + xml: + wrapped: true + items: + $ref: '#/components/schemas/Tag' + xml: + name: tag + status: + type: string + description: pet status in the store + enum: + - available + - pending + - sold + xml: + name: pet + type: object + ApiResponse: + properties: + code: + type: integer + format: int32 + type: + type: string + message: + type: string + xml: + name: '##default' + type: object + ErrorResponse: + type: object + properties: + code: + type: integer + format: int32 + details: + type: array + items: + type: object + properties: + typeUrl: + type: string + value: + type: string + message: + type: string + requestBodies: + Pet: + content: + application/json: + schema: + $ref: '#/components/schemas/Pet' + application/xml: + schema: + $ref: '#/components/schemas/Pet' + description: Pet object that needs to be added to the store + UserArray: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/User' + description: List of user object + securitySchemes: + petstore_auth: + type: oauth2 + flows: + implicit: + authorizationUrl: 'https://petstore.swagger.io/oauth/authorize' + scopes: + 'write:pets': modify pets in your account + 'read:pets': read your pets + api_key: + type: apiKey + name: api_key + in: header diff --git a/docs/site/Writerside/redirection-rules.xml b/docs/site/Writerside/redirection-rules.xml new file mode 100644 index 0000000000..1bfe5cb200 --- /dev/null +++ b/docs/site/Writerside/redirection-rules.xml @@ -0,0 +1,29 @@ + + + + + + Created after removal of "Overview" from API Docs + Overview.html + + + Created after removal of "Authentification" from API Docs + Authentification.html + + + Created after removal of "API Quickstart" from API Docs + API-quickstart-XML.html + + + Created after removal of "API Overview" from API Docs + API-Overview.html + + + Created after removal of "Changes" from API Docs + Changes-XML.html + + \ No newline at end of file diff --git a/docs/site/Writerside/snippets/examples.json b/docs/site/Writerside/snippets/examples.json new file mode 100644 index 0000000000..0dbbb43734 --- /dev/null +++ b/docs/site/Writerside/snippets/examples.json @@ -0,0 +1,10 @@ +{ + "id": 10, + "username": "theUser", + "firstName": "John", + "lastName": "James", + "email": "john@email.com", + "password": "12345", + "phone": "12345", + "userStatus": 1 +} diff --git a/docs/site/Writerside/topics/API-quickstart.md b/docs/site/Writerside/topics/API-quickstart.md new file mode 100644 index 0000000000..cd45ba0c5c --- /dev/null +++ b/docs/site/Writerside/topics/API-quickstart.md @@ -0,0 +1,34 @@ +# API Quickstart + + +In this section, you'll find a step-by-step guide to quickly start using the API. + +## Prerequisites + +List any prerequisites or dependencies that users need to have in place before they can start using the API. + +* Pre-requisite one +* Pre-requisite two + +## Authentication + +Explain how to authenticate with the API, including obtaining API keys or tokens. + +## Making Your First Request + +Provide a simple example of making a request to one of the API's endpoints. Use clear and concise code snippets. + +```http +GET /api/endpoint HTTP/1.1 +Host: api.example.com +Authorization: Bearer YOUR_ACCESS_TOKEN +``` + +## Response Handling +Explain how to handle the API responses, including parsing JSON data and handling errors. + +## API Usage Tips +Offer tips and best practices for using the API effectively and efficiently. + +## Next Steps +Suggest what users can do next, such as exploring more endpoints or integrating the API into their applications. \ No newline at end of file diff --git a/docs/site/Writerside/topics/API-reference.md b/docs/site/Writerside/topics/API-reference.md new file mode 100644 index 0000000000..1d4a4d1ab1 --- /dev/null +++ b/docs/site/Writerside/topics/API-reference.md @@ -0,0 +1,11 @@ +# API Reference + +This is a sample Pet Store Server based on the OpenAPI 3.0 specification. + +> A very important note about this API. +> +{style="note"} + + \ No newline at end of file diff --git a/docs/site/Writerside/topics/Changes.md b/docs/site/Writerside/topics/Changes.md new file mode 100644 index 0000000000..edca9c7436 --- /dev/null +++ b/docs/site/Writerside/topics/Changes.md @@ -0,0 +1,26 @@ +# Changes + + + +## September 1, 2023 + + + + + + + + + + + + + + +
MethodChanges
/pet/giftDeprecated and removed from the documentation
/pet/{petId} + +
  • added the status field
  • +
  • removed the state field
  • +
    +
    \ No newline at end of file diff --git a/docs/site/Writerside/topics/Create-user.md b/docs/site/Writerside/topics/Create-user.md new file mode 100644 index 0000000000..9d64d4efc8 --- /dev/null +++ b/docs/site/Writerside/topics/Create-user.md @@ -0,0 +1,24 @@ +# Create user + + + + + + + + + + { + "id": 11, + "username": "theUser", + "firstName": "John", + "lastName": "Doe", + "email": "john@email.com", + "password": "12345", + "phone": "12345", + "userStatus": 1 + } + + + diff --git a/docs/site/Writerside/topics/Creates-list-of-users-with-given-input-array.md b/docs/site/Writerside/topics/Creates-list-of-users-with-given-input-array.md new file mode 100644 index 0000000000..7472339261 --- /dev/null +++ b/docs/site/Writerside/topics/Creates-list-of-users-with-given-input-array.md @@ -0,0 +1,34 @@ +# Create list of users with given input array + + + + + + + { + "id": 10, + "username": "theUser", + "firstName": "John", + "lastName": "James", + "email": "john@email.com", + "password": "12345", + "phone": "12345", + "userStatus": 1 + } + + + + + { + "code": 0, + "details": [ + { + "typeUrl": "string", + "value": "string" + } + ], + "message": "string" + } + + + diff --git a/docs/site/Writerside/topics/Delete-purchase-order-by-ID.md b/docs/site/Writerside/topics/Delete-purchase-order-by-ID.md new file mode 100644 index 0000000000..cc15d7d850 --- /dev/null +++ b/docs/site/Writerside/topics/Delete-purchase-order-by-ID.md @@ -0,0 +1,3 @@ +# Delete purchase order by ID + + diff --git a/docs/site/Writerside/topics/Delete-user.md b/docs/site/Writerside/topics/Delete-user.md new file mode 100644 index 0000000000..3ecf664639 --- /dev/null +++ b/docs/site/Writerside/topics/Delete-user.md @@ -0,0 +1,3 @@ +# Delete user + + diff --git a/docs/site/Writerside/topics/Find-purchase-order-by-ID.md b/docs/site/Writerside/topics/Find-purchase-order-by-ID.md new file mode 100644 index 0000000000..6a16dab860 --- /dev/null +++ b/docs/site/Writerside/topics/Find-purchase-order-by-ID.md @@ -0,0 +1,3 @@ +# Find purchase order by ID + + diff --git a/docs/site/Writerside/topics/Get-user-by-user-name.md b/docs/site/Writerside/topics/Get-user-by-user-name.md new file mode 100644 index 0000000000..5b8b1e14ac --- /dev/null +++ b/docs/site/Writerside/topics/Get-user-by-user-name.md @@ -0,0 +1,3 @@ +# Find user + + diff --git a/docs/site/Writerside/topics/Logs-out-current-logged-in-user-session.md b/docs/site/Writerside/topics/Logs-out-current-logged-in-user-session.md new file mode 100644 index 0000000000..f071d5ea67 --- /dev/null +++ b/docs/site/Writerside/topics/Logs-out-current-logged-in-user-session.md @@ -0,0 +1,3 @@ +# Log current user out + + diff --git a/docs/site/Writerside/topics/Logs-user-into-the-system.md b/docs/site/Writerside/topics/Logs-user-into-the-system.md new file mode 100644 index 0000000000..70213a063c --- /dev/null +++ b/docs/site/Writerside/topics/Logs-user-into-the-system.md @@ -0,0 +1,3 @@ +# Log user into the system + + diff --git a/docs/site/Writerside/topics/Pet.md b/docs/site/Writerside/topics/Pet.md new file mode 100644 index 0000000000..809f677fb6 --- /dev/null +++ b/docs/site/Writerside/topics/Pet.md @@ -0,0 +1,6 @@ +# Pet + + + + \ No newline at end of file diff --git a/docs/site/Writerside/topics/Place-an-order-for-a-pet.md b/docs/site/Writerside/topics/Place-an-order-for-a-pet.md new file mode 100644 index 0000000000..b7880fe853 --- /dev/null +++ b/docs/site/Writerside/topics/Place-an-order-for-a-pet.md @@ -0,0 +1,13 @@ +# Place order for pet + + + + + + + + + + + diff --git a/docs/site/Writerside/topics/Returns-pet-inventories-by-status.md b/docs/site/Writerside/topics/Returns-pet-inventories-by-status.md new file mode 100644 index 0000000000..879dc1c13f --- /dev/null +++ b/docs/site/Writerside/topics/Returns-pet-inventories-by-status.md @@ -0,0 +1,5 @@ +# Find pet inventories by status + + + + diff --git a/docs/site/Writerside/topics/Store.md b/docs/site/Writerside/topics/Store.md new file mode 100644 index 0000000000..60166c39b4 --- /dev/null +++ b/docs/site/Writerside/topics/Store.md @@ -0,0 +1 @@ +# Store \ No newline at end of file diff --git a/docs/site/Writerside/topics/Update-user.md b/docs/site/Writerside/topics/Update-user.md new file mode 100644 index 0000000000..fd76f7ccee --- /dev/null +++ b/docs/site/Writerside/topics/Update-user.md @@ -0,0 +1,3 @@ +# Update user + + diff --git a/docs/site/Writerside/topics/User.md b/docs/site/Writerside/topics/User.md new file mode 100644 index 0000000000..80fd413778 --- /dev/null +++ b/docs/site/Writerside/topics/User.md @@ -0,0 +1 @@ +# User \ No newline at end of file diff --git a/docs/site/Writerside/topics/api-docs.md b/docs/site/Writerside/topics/api-docs.md new file mode 100644 index 0000000000..704a4dca17 --- /dev/null +++ b/docs/site/Writerside/topics/api-docs.md @@ -0,0 +1,39 @@ +# API Overview + + + +## Introduction + +Provide a brief introduction to the API, explaining its purpose and scope. + +## What you can do using + +Provide some simple usage examples to help users get started quickly. + +## Authentication + +Explain the authentication methods and requirements for accessing the API. + +## Base URL + +Specify the base URL for making API requests. + +If you have more than one environment (production and sandbox) explain the difference and provide links to both. + +## Rate Limiting + +Explain any rate limiting policies, if applicable. + +## Error Handling + +Describe the API's error response format and provide common error codes and their meanings. + +## Versioning + +Explain how the API versioning works and how to specify the desired API version in requests. + + + + + + diff --git a/docs/site/Writerside/v.list b/docs/site/Writerside/v.list new file mode 100644 index 0000000000..f2c1fbd7eb --- /dev/null +++ b/docs/site/Writerside/v.list @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/site/Writerside/writerside.cfg b/docs/site/Writerside/writerside.cfg new file mode 100644 index 0000000000..76c0205715 --- /dev/null +++ b/docs/site/Writerside/writerside.cfg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file