Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/TableauSharp/Common/Models/ErrorResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ namespace TableauSharp.Common.Models;
public class ErrorResponse
{
[JsonPropertyName("code")]
public string Code { get; set; }
public string Code { get; set; } = string.Empty;

[JsonPropertyName("summary")]
public string Summary { get; set; }
public string Summary { get; set; } = string.Empty;

[JsonPropertyName("detail")]
public string Detail { get; set; }
}
public string Detail { get; set; } = string.Empty;
}
8 changes: 4 additions & 4 deletions src/TableauSharp/Embedding/Models/TrustedTicketRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ namespace TableauSharp.Embedding.Models;

public class TrustedTicketRequest
{
public string Username { get; set; }
public string ClientIp { get; set; }
public string TargetSite { get; set; }
}
public string Username { get; set; } = string.Empty;
public string? ClientIp { get; set; }
public string? TargetSite { get; set; }
}
6 changes: 3 additions & 3 deletions src/TableauSharp/Embedding/Models/TrustedTicketResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ namespace TableauSharp.Embedding.Models;

public class TrustedTicketResponse
{
public string TicketId { get; set; }
public string EmbedUrl { get; set; }
}
public string TicketId { get; set; } = string.Empty;
public string EmbedUrl { get; set; } = string.Empty;
}
8 changes: 6 additions & 2 deletions src/TableauSharp/Embedding/Services/EmbeddingService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,14 @@ public async Task<TrustedTicketResponse> GetTrustedTicketAsync(TrustedTicketRequ

var form = new Dictionary<string, string>
{
{ "username", request.Username },
{ "target_site", request.TargetSite }
{ "username", request.Username }
};

if (!string.IsNullOrEmpty(request.TargetSite))
{
form.Add("target_site", request.TargetSite);
}

if (!string.IsNullOrEmpty(request.ClientIp))
{
form.Add("client_ip", request.ClientIp);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ public class PermissionCapabilityAssignment
public PermissionCapability Capability { get; set; }

[JsonPropertyName("mode")]
public string Mode { get; set; } // "Allow" or "Deny"
}
public string Mode { get; set; } = string.Empty; // "Allow" or "Deny"
}
4 changes: 2 additions & 2 deletions src/TableauSharp/Permissions/Models/PermissionSyncRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ namespace TableauSharp.Permissions.Models;

public class PermissionSyncRequest
{
public string TargetId { get; set; }
public string TargetId { get; set; } = string.Empty;
public List<TableauPermission> Permissions { get; set; } = new();
}
}
6 changes: 3 additions & 3 deletions src/TableauSharp/Permissions/Models/TableauPermission.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ namespace TableauSharp.Permissions.Models;
public class TableauPermission
{
[JsonPropertyName("granteeId")]
public string GranteeId { get; set; }
public string GranteeId { get; set; } = string.Empty;

[JsonPropertyName("granteeType")]
public string GranteeType { get; set; } // "User" or "Group"
public string GranteeType { get; set; } = string.Empty; // "User" or "Group"

[JsonPropertyName("capabilities")]
public List<PermissionCapabilityAssignment> Capabilities { get; set; } = new();
}
}
8 changes: 4 additions & 4 deletions src/TableauSharp/Projects/Models/ProjectCreateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ namespace TableauSharp.Projects.Models;

public class ProjectCreateRequest
{
public string Name { get; set; }
public string Description { get; set; }
public string ParentProjectId { get; set; }
}
public string Name { get; set; } = string.Empty;
public string? Description { get; set; }
public string? ParentProjectId { get; set; }
}
6 changes: 3 additions & 3 deletions src/TableauSharp/Projects/Models/ProjectUpdateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ namespace TableauSharp.Projects.Models;

public class ProjectUpdateRequest
{
public string Name { get; set; }
public string Description { get; set; }
}
public string? Name { get; set; }
public string? Description { get; set; }
}
12 changes: 6 additions & 6 deletions src/TableauSharp/Projects/Models/TableauProject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ namespace TableauSharp.Projects.Models;
public class TableauProject
{
[JsonPropertyName("id")]
public string Id { get; set; }
public string Id { get; set; } = string.Empty;

[JsonPropertyName("name")]
public string Name { get; set; }
public string Name { get; set; } = string.Empty;

[JsonPropertyName("description")]
public string Description { get; set; }
public string? Description { get; set; }

[JsonPropertyName("parentProjectId")]
public string ParentProjectId { get; set; }
public string? ParentProjectId { get; set; }

[JsonPropertyName("ownerId")]
public string OwnerId { get; set; }
}
public string? OwnerId { get; set; }
}
24 changes: 12 additions & 12 deletions src/TableauSharp/Projects/Services/ProjectService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ public async Task<IEnumerable<TableauProject>> GetAllAsync(CancellationToken can
{
projects.Add(new TableauProject
{
Id = p.GetProperty("id").GetString(),
Name = p.GetProperty("name").GetString(),
Description = p.GetProperty("description").GetString(),
Id = p.GetProperty("id").GetString() ?? string.Empty,
Name = p.GetProperty("name").GetString() ?? string.Empty,
Description = p.TryGetProperty("description", out var description) ? description.GetString() : null,
ParentProjectId = p.TryGetProperty("parentProjectId", out var parent) ? parent.GetString() : null,
OwnerId = p.GetProperty("owner").GetProperty("id").GetString()
});
Expand All @@ -55,9 +55,9 @@ public async Task<TableauProject> GetByIdAsync(string projectId, CancellationTok

return new TableauProject
{
Id = p.GetProperty("id").GetString(),
Name = p.GetProperty("name").GetString(),
Description = p.GetProperty("description").GetString(),
Id = p.GetProperty("id").GetString() ?? string.Empty,
Name = p.GetProperty("name").GetString() ?? string.Empty,
Description = p.TryGetProperty("description", out var description) ? description.GetString() : null,
ParentProjectId = p.TryGetProperty("parentProjectId", out var parent) ? parent.GetString() : null,
OwnerId = p.GetProperty("owner").GetProperty("id").GetString()
};
Expand All @@ -80,9 +80,9 @@ public async Task<TableauProject> CreateAsync(ProjectCreateRequest request, Canc

return new TableauProject
{
Id = p.GetProperty("id").GetString(),
Name = p.GetProperty("name").GetString(),
Description = p.GetProperty("description").GetString(),
Id = p.GetProperty("id").GetString() ?? string.Empty,
Name = p.GetProperty("name").GetString() ?? string.Empty,
Description = p.TryGetProperty("description", out var description) ? description.GetString() : null,
ParentProjectId = p.TryGetProperty("parentProjectId", out var parent) ? parent.GetString() : null,
OwnerId = p.GetProperty("owner").GetProperty("id").GetString()
};
Expand All @@ -105,9 +105,9 @@ public async Task<TableauProject> UpdateAsync(string projectId, ProjectUpdateReq

return new TableauProject
{
Id = p.GetProperty("id").GetString(),
Name = p.GetProperty("name").GetString(),
Description = p.GetProperty("description").GetString(),
Id = p.GetProperty("id").GetString() ?? string.Empty,
Name = p.GetProperty("name").GetString() ?? string.Empty,
Description = p.TryGetProperty("description", out var description) ? description.GetString() : null,
ParentProjectId = p.TryGetProperty("parentProjectId", out var parent) ? parent.GetString() : null,
OwnerId = p.GetProperty("owner").GetProperty("id").GetString()
};
Expand Down
1 change: 1 addition & 0 deletions src/TableauSharp/TableauSharp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>

<!-- NuGet package metadata -->
<PackageId>TableauSharp</PackageId>
Expand Down
4 changes: 2 additions & 2 deletions src/TableauSharp/Users/Models/GroupCreateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@ namespace TableauSharp.Users.Models;

public class GroupCreateRequest
{
public string Name { get; set; }
}
public string Name { get; set; } = string.Empty;
}
6 changes: 3 additions & 3 deletions src/TableauSharp/Users/Models/TableauGroup.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ namespace TableauSharp.Users.Models;
public class TableauGroup
{
[JsonPropertyName("id")]
public string Id { get; set; }
public string Id { get; set; } = string.Empty;

[JsonPropertyName("name")]
public string Name { get; set; }
public string Name { get; set; } = string.Empty;

[JsonPropertyName("users")]
public List<TableauUser> Users { get; set; } = new();
}
}
12 changes: 6 additions & 6 deletions src/TableauSharp/Users/Models/TableauUser.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@ namespace TableauSharp.Users.Models;
public class TableauUser
{
[JsonPropertyName("id")]
public string Id { get; set; }
public string Id { get; set; } = string.Empty;

[JsonPropertyName("name")]
public string Name { get; set; }
public string Name { get; set; } = string.Empty;

[JsonPropertyName("fullName")]
public string FullName { get; set; }
public string? FullName { get; set; }

[JsonPropertyName("email")]
public string Email { get; set; }
public string? Email { get; set; }

[JsonPropertyName("siteRole")]
public string SiteRole { get; set; }
public string SiteRole { get; set; } = string.Empty;

[JsonPropertyName("isActive")]
public bool IsActive { get; set; }
}
}
8 changes: 4 additions & 4 deletions src/TableauSharp/Users/Models/UserCreateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ namespace TableauSharp.Users.Models;

public class UserCreateRequest
{
public string Name { get; set; }
public string Email { get; set; }
public string SiteRole { get; set; }
}
public string Name { get; set; } = string.Empty;
public string? Email { get; set; }
public string SiteRole { get; set; } = string.Empty;
}
4 changes: 2 additions & 2 deletions src/TableauSharp/Users/Models/UserUpdateRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ namespace TableauSharp.Users.Models;

public class UserUpdateRequest
{
public string SiteRole { get; set; }
public string SiteRole { get; set; } = string.Empty;
public bool IsActive { get; set; }
}
}
12 changes: 6 additions & 6 deletions src/TableauSharp/Users/Services/GroupService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ public async Task<IEnumerable<TableauGroup>> GetAllAsync(CancellationToken cance
{
groups.Add(new TableauGroup
{
Id = g.GetProperty("id").GetString(),
Name = g.GetProperty("name").GetString()
Id = g.GetProperty("id").GetString() ?? string.Empty,
Name = g.GetProperty("name").GetString() ?? string.Empty
});
}

Expand All @@ -52,8 +52,8 @@ public async Task<TableauGroup> GetByIdAsync(string groupId, CancellationToken c

return new TableauGroup
{
Id = g.GetProperty("id").GetString(),
Name = g.GetProperty("name").GetString()
Id = g.GetProperty("id").GetString() ?? string.Empty,
Name = g.GetProperty("name").GetString() ?? string.Empty
};
}

Expand All @@ -74,8 +74,8 @@ public async Task<TableauGroup> CreateAsync(GroupCreateRequest request, Cancella

return new TableauGroup
{
Id = g.GetProperty("id").GetString(),
Name = g.GetProperty("name").GetString()
Id = g.GetProperty("id").GetString() ?? string.Empty,
Name = g.GetProperty("name").GetString() ?? string.Empty
};
}

Expand Down
32 changes: 16 additions & 16 deletions src/TableauSharp/Users/Services/UserService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ public async Task<IEnumerable<TableauUser>> GetAllAsync(CancellationToken cancel
{
users.Add(new TableauUser
{
Id = u.GetProperty("id").GetString(),
Name = u.GetProperty("name").GetString(),
Email = u.GetProperty("email").GetString(),
SiteRole = u.GetProperty("siteRole").GetString()
Id = u.GetProperty("id").GetString() ?? string.Empty,
Name = u.GetProperty("name").GetString() ?? string.Empty,
Email = u.TryGetProperty("email", out var email) ? email.GetString() : null,
SiteRole = u.GetProperty("siteRole").GetString() ?? string.Empty
});
}

Expand All @@ -54,10 +54,10 @@ public async Task<TableauUser> GetByIdAsync(string userId, CancellationToken can

return new TableauUser
{
Id = u.GetProperty("id").GetString(),
Name = u.GetProperty("name").GetString(),
Email = u.GetProperty("email").GetString(),
SiteRole = u.GetProperty("siteRole").GetString()
Id = u.GetProperty("id").GetString() ?? string.Empty,
Name = u.GetProperty("name").GetString() ?? string.Empty,
Email = u.TryGetProperty("email", out var email) ? email.GetString() : null,
SiteRole = u.GetProperty("siteRole").GetString() ?? string.Empty
};
}

Expand All @@ -78,10 +78,10 @@ public async Task<TableauUser> CreateAsync(UserCreateRequest request, Cancellati

return new TableauUser
{
Id = u.GetProperty("id").GetString(),
Name = u.GetProperty("name").GetString(),
Email = u.GetProperty("email").GetString(),
SiteRole = u.GetProperty("siteRole").GetString()
Id = u.GetProperty("id").GetString() ?? string.Empty,
Name = u.GetProperty("name").GetString() ?? string.Empty,
Email = u.TryGetProperty("email", out var email) ? email.GetString() : null,
SiteRole = u.GetProperty("siteRole").GetString() ?? string.Empty
};
}

Expand All @@ -102,10 +102,10 @@ public async Task<TableauUser> UpdateAsync(string userId, UserUpdateRequest requ

return new TableauUser
{
Id = u.GetProperty("id").GetString(),
Name = u.GetProperty("name").GetString(),
Email = u.GetProperty("email").GetString(),
SiteRole = u.GetProperty("siteRole").GetString()
Id = u.GetProperty("id").GetString() ?? string.Empty,
Name = u.GetProperty("name").GetString() ?? string.Empty,
Email = u.TryGetProperty("email", out var email) ? email.GetString() : null,
SiteRole = u.GetProperty("siteRole").GetString() ?? string.Empty
};
}

Expand Down
8 changes: 4 additions & 4 deletions src/TableauSharp/Workbooks/Models/ExportRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ namespace TableauSharp.Workbooks.Models;

public class ExportRequest
{
public string WorkbookId { get; set; }
public string ViewId { get; set; }
public string Format { get; set; } // "PDF", "PNG", "CSV"
public string? WorkbookId { get; set; }
public string ViewId { get; set; } = string.Empty;
public string Format { get; set; } = string.Empty; // "PDF", "PNG", "CSV"
public int? MaxWidth { get; set; }
public int? MaxHeight { get; set; }
}
}
8 changes: 4 additions & 4 deletions src/TableauSharp/Workbooks/Models/ExportResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ namespace TableauSharp.Workbooks.Models;

public class ExportResponse
{
public byte[] FileContent { get; set; }
public string ContentType { get; set; }
public string FileName { get; set; }
}
public byte[] FileContent { get; set; } = [];
public string ContentType { get; set; } = string.Empty;
public string FileName { get; set; } = string.Empty;
}
Loading
Loading