|
1 | | -# NextLove CSharp SDK |
| 1 | +# Seam C# |
2 | 2 |
|
3 | 3 | [](https://github.com/seamapi/nextlove-sdk-csharp/actions/workflows/check.yml) |
4 | 4 |
|
5 | | -CSharp SDK autogenerated from nextlove types. |
6 | | - |
7 | | -## Description |
8 | | - |
9 | | -TODO |
| 5 | +Seam |
10 | 6 |
|
11 | 7 | ## Installation |
12 | 8 |
|
13 | | -Add this as a dependency to your project using [npm] |
14 | | -by adding the line below to your project's `.npmrc`, |
15 | | - |
16 | | -``` |
17 | | -@seamapi:registry=https://npm.pkg.github.com |
18 | | -``` |
19 | | - |
20 | | -and installing the package with |
21 | | - |
22 | | -``` |
23 | | -$ npm install @seamapi/nextlove-sdk-csharp |
24 | | -``` |
25 | | - |
26 | | -[npm]: https://www.npmjs.com/ |
27 | | - |
28 | | -## Development and Testing |
29 | | - |
30 | | -### Quickstart |
31 | | - |
32 | | -``` |
33 | | -$ git clone https://github.com/seamapi/nextlove-sdk-csharp.git |
34 | | -$ cd nextlove-sdk-csharp |
35 | | -$ nvm install |
36 | | -$ npm install |
37 | | -$ npm run test:watch |
38 | | -``` |
39 | | - |
40 | | -Primary development tasks are defined under `scripts` in `package.json` |
41 | | -and available via `npm run`. |
42 | | -View them with |
43 | | - |
44 | | -``` |
45 | | -$ npm run |
46 | | -``` |
47 | | - |
48 | | -### Source code |
49 | | - |
50 | | -The [source code] is hosted on GitHub. |
51 | | -Clone the project with |
52 | | - |
53 | | -``` |
54 | | -$ git clone git@github.com:seamapi/nextlove-sdk-csharp.git |
55 | | -``` |
56 | | - |
57 | | -[source code]: https://github.com/seamapi/nextlove-sdk-csharp |
58 | | - |
59 | | -### Requirements |
60 | | - |
61 | | -You will need [Node.js] with [npm] and a [Node.js debugging] client. |
62 | | - |
63 | | -Be sure that all commands run under the correct Node version, e.g., |
64 | | -if using [nvm], install the correct version with |
65 | | - |
66 | | -``` |
67 | | -$ nvm install |
68 | | -``` |
69 | | - |
70 | | -Set the active version for each shell session with |
71 | | - |
72 | | -``` |
73 | | -$ nvm use |
74 | | -``` |
| 9 | +Use [nuget](https://www.nuget.org/packages/Seam) to install. |
75 | 10 |
|
76 | | -Ensure you are authenticated with the [GitHub Packages npm registry], |
77 | | -then install the development dependencies with |
| 11 | +## Usage |
78 | 12 |
|
79 | | -``` |
80 | | -$ npm install |
81 | | -``` |
| 13 | +```csharp |
| 14 | +var seam = new Seam(apiToken: "YOUR_API_KEY"); |
82 | 15 |
|
83 | | -[Node.js]: https://nodejs.org/ |
84 | | -[Node.js debugging]: https://nodejs.org/en/docs/guides/debugging-getting-started/ |
85 | | -[npm]: https://www.npmjs.com/ |
86 | | -[nvm]: https://github.com/creationix/nvm |
87 | | -[GitHub Packages npm registry]: https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-npm-registry#authenticating-to-github-packages |
| 16 | +var myDevices = seam.Devices.List(); |
88 | 17 |
|
89 | | -### Publishing |
| 18 | +Console.WriteLine("First Device Name: " + myDevices[0].Properties.Name); |
90 | 19 |
|
91 | | -#### Automatic |
92 | | - |
93 | | -New versions are released automatically with [semantic-release] |
94 | | -as long as commits follow the [Angular Commit Message Conventions]. |
95 | | - |
96 | | -[Angular Commit Message Conventions]: https://semantic-release.gitbook.io/semantic-release/#commit-message-format |
97 | | -[semantic-release]: https://semantic-release.gitbook.io/ |
98 | | - |
99 | | -#### Manual |
100 | | - |
101 | | -Publish a new version by triggering a [version workflow_dispatch on GitHub Actions]. |
102 | | -The `version` input will be passed as the first argument to [npm-version]. |
103 | | - |
104 | | -This may be done on the web or using the [GitHub CLI] with |
105 | | - |
106 | | -``` |
107 | | -$ gh workflow run version.yml --raw-field version=<version> |
| 20 | +var accessCode = seam.AccessCodes.Create(deviceId: myDevices[0].DeviceId, code: "1234"); |
108 | 21 | ``` |
109 | | - |
110 | | -[GitHub CLI]: https://cli.github.com/ |
111 | | -[npm-version]: https://docs.npmjs.com/cli/version |
112 | | -[version workflow_dispatch on GitHub Actions]: https://github.com/seamapi/nextlove-sdk-csharp/actions?query=workflow%3Aversion |
113 | | - |
114 | | -## GitHub Actions |
115 | | - |
116 | | -_GitHub Actions should already be configured: this section is for reference only._ |
117 | | - |
118 | | -The following repository secrets must be set on [GitHub Actions]: |
119 | | - |
120 | | -- `GH_TOKEN`: A personal access token for the bot user with |
121 | | - `packages:write` and `contents:write` permission. |
122 | | -- `GIT_USER_NAME`: The GitHub bot user's real name. |
123 | | -- `GIT_USER_EMAIL`: The GitHub bot user's email. |
124 | | -- `GPG_PRIVATE_KEY`: The GitHub bot user's [GPG private key]. |
125 | | -- `GPG_PASSPHRASE`: The GitHub bot user's GPG passphrase. |
126 | | - |
127 | | -[GitHub Actions]: https://github.com/features/actions |
128 | | -[GPG private key]: https://github.com/marketplace/actions/import-gpg#prerequisites |
129 | | - |
130 | | -## Contributing |
131 | | - |
132 | | -> If using squash merge, edit and ensure the commit message follows the [Angular Commit Message Conventions] specification. |
133 | | -> Otherwise, each individual commit must follow the [Angular Commit Message Conventions] specification. |
134 | | -
|
135 | | -1. Create your feature branch (`git checkout -b my-new-feature`). |
136 | | -2. Make changes. |
137 | | -3. Commit your changes (`git commit -am 'Add some feature'`). |
138 | | -4. Push to the branch (`git push origin my-new-feature`). |
139 | | -5. Create a new draft pull request. |
140 | | -6. Ensure all checks pass. |
141 | | -7. Mark your pull request ready for review. |
142 | | -8. Wait for the required approval from the code owners. |
143 | | -9. Merge when ready. |
144 | | - |
145 | | -[Angular Commit Message Conventions]: https://semantic-release.gitbook.io/semantic-release/#commit-message-format |
146 | | - |
147 | | -## License |
148 | | - |
149 | | -This npm package is Copyright (c) 2021-2023 Seam Labs, Inc. |
150 | | - |
151 | | -## Warranty |
152 | | - |
153 | | -This software is provided by the copyright holders and contributors "as is" and |
154 | | -any express or implied warranties, including, but not limited to, the implied |
155 | | -warranties of merchantability and fitness for a particular purpose are |
156 | | -disclaimed. In no event shall the copyright holder or contributors be liable for |
157 | | -any direct, indirect, incidental, special, exemplary, or consequential damages |
158 | | -(including, but not limited to, procurement of substitute goods or services; |
159 | | -loss of use, data, or profits; or business interruption) however caused and on |
160 | | -any theory of liability, whether in contract, strict liability, or tort |
161 | | -(including negligence or otherwise) arising in any way out of the use of this |
162 | | -software, even if advised of the possibility of such damage. |
0 commit comments