Skip to content

Commit ad62a08

Browse files
274188Aclaude
andcommitted
chore: replace upstream attribution with Curtin University / John Barrett
- Author headers in RedcapApi.cs and IRedcap.cs: John Barrett 274188A@curtin.edu.au - LICENSE.md (root + Docs): Copyright 2026 Curtin University (remove VCU) - RedcapApi.csproj: Authors, Company, Copyright, RepositoryUrl, PackageProjectUrl, PackageTags, Version bumped to 3.0.0; remove PackageIcon (vcu.png removed) - README.md: all cctrbic URLs → 274188A - src/RedcapApi/Docs/README.md: rewritten for 3.0, remove Azure DevOps badge and VCU survey link - RELEASE_NOTES_2.0.0.md: maintainer → John Barrett (Curtin University), URLs updated - Delete src/RedcapApi/Redcap.xml (generated) and vcu.png Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 45f34c6 commit ad62a08

10 files changed

Lines changed: 49 additions & 4606 deletions

File tree

LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2018 Virginia Commonwealth University
3+
Copyright (c) 2026 Curtin University
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
[![.NET](https://github.com/cctrbic/redcap-api/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/cctrbic/redcap-api/actions/workflows/ci.yml)
1+
[![.NET](https://github.com/274188A/redcap-api/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/274188A/redcap-api/actions/workflows/ci.yml)
22

33
[![NuGet](https://img.shields.io/nuget/dt/RedcapApi.svg?style=for-the-badge)](https://www.nuget.org/packages/RedcapAPI)
4-
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=for-the-badge)](https://github.com/cctrbic/redcap-api/blob/master/LICENSE.md)
4+
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=for-the-badge)](https://github.com/274188A/redcap-api/blob/master/LICENSE.md)
55

66
# REDCap API Library for .NET
77
The REDCap Api Library provides the ability to interact with REDCap programmatically using various .NET languages(C#,F#,VB.NET);

RELEASE_NOTES_2.0.0.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ The library now provides comprehensive REDCap API support including:
6464
- Record randomization
6565

6666
## 🔗 Resources
67-
- [GitHub Repository](https://github.com/cctrbic/redcap-api)
67+
- [GitHub Repository](https://github.com/274188A/redcap-api)
6868
- [REDCap Project](https://project-redcap.org)
6969
- [REDCap API Documentation](https://project-redcap.org/api/)
7070

7171
## 📝 Notes
7272
- **Requires**: Local REDCap instance or access to a REDCap server
7373
- **Supported Languages**: C#, F#, VB.NET
74-
- **Maintainer**: Michael Tran (Virginia Commonwealth University)
74+
- **Maintainer**: John Barrett (Curtin University)
7575

7676
---
7777

78-
**Thank you for using the REDCap API Library for .NET!** We welcome contributions and feedback. For issues or questions, please visit our [GitHub Issues page](https://github.com/cctrbic/redcap-api/issues).
78+
**Thank you for using the REDCap API Library for .NET!** We welcome contributions and feedback. For issues or questions, please visit our [GitHub Issues page](https://github.com/274188A/redcap-api/issues).

src/RedcapApi/Api/RedcapApi.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace Redcap
1717
/// <summary>
1818
/// This api interacts with redcap instances. https://project-redcap.org
1919
/// Go to your http://redcap_instance/api/help for Redcap Api documentations
20-
/// Author: Michael Tran tranpl@outlook.com, tranpl@vcu.edu
20+
/// Author: John Barrett 274188A@curtin.edu.au
2121
/// </summary>
2222
public class RedcapApi : IRedcap
2323
{

src/RedcapApi/Docs/LICENSE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
The MIT License (MIT)
22

3-
Copyright (c) 2018 Virginia Commonwealth University
3+
Copyright (c) 2026 Curtin University
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

src/RedcapApi/Docs/README.md

Lines changed: 28 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,28 @@
1-
[![Build Status](https://dev.azure.com/cctrbic/redcap-api/_apis/build/status/redcap-api?branchName=master)](https://dev.azure.com/cctrbic/redcap-api/_build/latest?definitionId=122&branchName=master)
1+
[![.NET](https://github.com/274188A/redcap-api/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/274188A/redcap-api/actions/workflows/ci.yml)
22

33
[![NuGet](https://img.shields.io/nuget/dt/RedcapApi.svg?style=for-the-badge)](https://www.nuget.org/packages/RedcapAPI)
4-
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=for-the-badge)](https://github.com/cctrbic/redcap-api/blob/master/LICENSE.md)
5-
6-
Project Feedback, using REDCap of course: https://redcap.vcu.edu/surveys/?s=KJLHWRTJYA
4+
[![license](https://img.shields.io/github/license/mashape/apistatus.svg?style=for-the-badge)](https://github.com/274188A/redcap-api/blob/master/LICENSE.md)
75

86
# REDCap API Library for .NET
97
The REDCap Api Library for .NET provides the ability to interact with REDCap programmatically using various .NET languages(C#,F#,VB.NET);
108

11-
## What's New in 2.0.0
9+
## What's New in 3.0.0
1210

13-
Version 2.0.0 is a cleanup and parity release focused on bringing the library in line with documented REDCap API behavior while modernizing the repository structure.
11+
Version 3.0.0 is a breaking-change release focused on correctness, security, and maintainability.
1412

15-
- Full documented `help.php` endpoint parity audit against REDCap 17.0.2
16-
- Added `ExportSurveyAccessCodeAsync`
17-
- Added interface coverage for randomization and user role mapping endpoints
18-
- Added `combineCheckboxOptions` support for record export methods
19-
- Added `delete_logging` support for record deletion methods
20-
- Added ODM format support where REDCap supports it
21-
- Expanded `Content` coverage for newer REDCap content values
22-
- Fixed `ExportProjectXmlAsync` default content mapping
23-
- Reorganized the repository into conventional `.NET` folders: `src`, `tests`, and `demo`
13+
- Removed global static `UseInsecureCertificate` — callers inject their own `HttpMessageHandler` for custom TLS
14+
- All endpoints now throw `RedcapApiException` on error instead of returning the exception message as a string
15+
- Shared `HttpClient` per `DefaultRedcapTransport` instance (eliminates socket exhaustion)
16+
- Full nullable annotations on the public surface
17+
- `ExecuteAsync` / `ExecuteMultipartAsync` helpers eliminate per-method boilerplate
18+
- Fixed `ReadAsFileAsync` path traversal vulnerability and inverted existence check
19+
- Synced `IRedcap` interface defaults with implementation across all File Repository methods
2420

2521
__Prerequisites__
26-
1. Local redcap instance installed (visit https://project-redcap.org) if you need to download files(assuming you have access)
27-
2. Create a new project with "Demographics" for the template; this gives you a basic project to work with.
28-
3. Create an api token for yourself, replace that with the tokens you see on the "RedcapApiTests.cs" files, and others
29-
4. You'll may need to add a field type of "file_upload" so that you can test the file upload interface of the API
22+
1. Local REDCap instance installed (visit https://project-redcap.org)
23+
2. Create a new project with "Demographics" for the template
24+
3. Create an API token and set `REDCAP_DEMO_BASE_URI` / `REDCAP_DEMO_PROJECT_TOKEN` environment variables
25+
4. You may need to add a field type of `file_upload` to test the file upload API
3026
5. Build the solution, then run the tests
3127

3228
__Highlights__
@@ -39,81 +35,28 @@ __Highlights__
3935

4036
__Usage__:
4137

42-
1. dotnet restore
38+
1. `dotnet restore`
4339
2. Add a reference to the package or project
44-
3. Add "using Redcap" namespace
45-
4. Add "using Redcap.Models" for convenience
46-
5. Use the sample data dictionary in `src/RedcapApi/Docs` if you want a quick test project setup
47-
6. The repository is organized as follows:
48-
49-
- `src/RedcapApi` - library source
50-
- `tests/RedcapApi.Tests` - test project
51-
- `demo/RedcapApiDemo` - demo console app
40+
3. Add `using Redcap;` namespace
41+
4. Add `using Redcap.Models;` for convenience
42+
5. The repository is organized as follows:
5243

53-
7. Feel free to contribute
44+
- `src/RedcapApi` — library source
45+
- `tests/RedcapApi.Tests` — test project
46+
- `demo/RedcapApiDemo` — demo console app
5447

5548
__Sample / Example__
56-
```C#
57-
58-
using System;
49+
```csharp
5950
using Newtonsoft.Json;
6051
using Redcap;
6152
using Redcap.Models;
6253

63-
namespace RedcapApiDemo
64-
{
65-
class Program
66-
{
67-
static void Main(string[] args)
68-
{
69-
Console.WriteLine("Redcap Api Demo Started!");
70-
// Use your own API Token here...
71-
var apiToken = "3D57A7FA57C8A43F6C8803A84BB3957B";
72-
var redcap_api = new RedcapApi("https://localhost/redcap/api/");
73-
74-
Console.WriteLine("Exporting all records from project.");
75-
var result = redcap_api.ExportRecordsAsync(apiToken).Result;
76-
77-
var data = JsonConvert.DeserializeObject(result);
78-
Console.WriteLine(data);
79-
Console.ReadLine();
80-
81-
}
82-
}
83-
}
84-
54+
var redcap_api = new RedcapApi("https://localhost/redcap/api/");
55+
var result = await redcap_api.ExportRecordsAsync("YOUR_API_TOKEN");
56+
Console.WriteLine(JsonConvert.DeserializeObject(result));
8557
```
8658

87-
__Install directly in Package Manager Console or Command Line Interface__
88-
```C#
89-
Package Manager
90-
91-
Install-Package RedcapAPI -Version 2.0.0
92-
59+
__Install__
9360
```
94-
95-
```C#
96-
.NET CLI
97-
98-
dotnet add package RedcapAPI --version 2.0.0
99-
100-
```
101-
102-
```C#
103-
Paket CLI
104-
105-
paket add RedcapAPI --version 2.0.0
106-
61+
dotnet add package RedcapAPI --version 3.0.0
10762
```
108-
109-
__Example Project__
110-
111-
A console project has been included with the source code to get started. Some examples of method usage. You can use this to get started potentially.
112-
113-
__Test Project__
114-
115-
A project with associated test cases is included. Make sure to change the api token
116-
117-
# Please Cite Us
118-
Publications resulting from the use of this software should cite the Wright Center's Clinical and Translational Science Award (CTSA) grant #UL1TR002649, National Center for Advancing Translational Sciences, NIH.
119-

src/RedcapApi/Interfaces/IRedcap.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ namespace Redcap.Interfaces
77
/// to connect to REDCap. Please read the provided documentations from REDCap for more details
88
/// on what specific set of API are allowed to be executed.
99
///
10-
/// Virginia Commonwealth University
11-
/// Author: Michael Tran tranpl@outlook.com, tranpl@vcu.edu
10+
/// Curtin University
11+
/// Author: John Barrett 274188A@curtin.edu.au
1212
/// </summary>
1313
public interface IRedcap
1414
{

0 commit comments

Comments
 (0)