Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updated code to enable connections with user token... #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
20 changes: 14 additions & 6 deletions Intuit.QuickBase.Core/AddField.cs
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,9 @@ public sealed class AddField : IQObject
/// <param name="label"></param>
/// <param name="type"></param>
/// <param name="mode"></param>
public AddField(string ticket, string appToken, string accountDomain, string dbid, string label, FieldType type, Mode mode)
public AddField(string ticket, string appToken, string accountDomain, string dbid, string label, FieldType type, Mode mode, string userToken = "")
{
CommonConstruction(ticket, appToken, accountDomain, dbid, new AddFieldPayload(label, type, mode));
CommonConstruction(ticket, appToken, accountDomain, dbid, new AddFieldPayload(label, type, mode), userToken);
}

/// <summary>
Expand All @@ -51,14 +51,22 @@ public AddField(string ticket, string appToken, string accountDomain, string dbi
/// <param name="dbid">Supply table-level dbid.</param>
/// <param name="label"></param>
/// <param name="type"></param>
public AddField(string ticket, string appToken, string accountDomain, string dbid, string label, FieldType type)
/// <param name="userToken">an optional user token that can be used instead of a ticket</param>
public AddField(string ticket, string appToken, string accountDomain, string dbid, string label, FieldType type, string userToken = "")
{
CommonConstruction(ticket, appToken, accountDomain, dbid, new AddFieldPayload(label, type));
CommonConstruction(ticket, appToken, accountDomain, dbid, new AddFieldPayload(label, type), userToken);
}

private void CommonConstruction(string ticket, string appToken, string accountDomain, string dbid, Payload.Payload payload)
private void CommonConstruction(string ticket, string appToken, string accountDomain, string dbid, Payload.Payload payload, string userToken = "")
{
_addFieldPayload = new ApplicationTicket(payload, ticket);
if (userToken.Length > 0)
{
_addFieldPayload = new ApplicationUserToken(payload, userToken);
}
else
{
_addFieldPayload = new ApplicationTicket(payload, ticket);
}
_addFieldPayload = new ApplicationToken(_addFieldPayload, appToken);
_addFieldPayload = new WrapPayload(_addFieldPayload);
_uri = new QUriDbid(accountDomain, dbid);
Expand Down
14 changes: 12 additions & 2 deletions Intuit.QuickBase.Core/AddRecord.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ public class Builder
private List<IField> _fields;

internal string Ticket { get; set; }
internal string UserToken { get; set; }
internal string AppToken { get; set; }
internal string AccountDomain { get; set; }
internal string Dbid { get; set; }
Expand All @@ -47,15 +48,17 @@ internal List<IField> Fields
}
}

public Builder(string ticket, string appToken, string accountDomain, string dbid, List<IField> fields)
public Builder(string ticket, string appToken, string accountDomain, string dbid, List<IField> fields, string userToken = "")
{
Ticket = ticket;
UserToken = userToken;
AppToken = appToken;
AccountDomain = accountDomain;
Dbid = dbid;
Fields = fields;
}


internal bool Disprec { get; private set; }

public Builder SetDisprec(bool val)
Expand Down Expand Up @@ -84,7 +87,14 @@ private AddRecord(Builder builder)
.SetDisprec(builder.Disprec)
.SetFform(builder.Fform)
.Build();
_addRecordPayload = new ApplicationTicket(_addRecordPayload, builder.Ticket);
if (builder.UserToken.Length > 0)
{
_addRecordPayload = new ApplicationUserToken(_addRecordPayload, builder.UserToken);
}
else
{
_addRecordPayload = new ApplicationTicket(_addRecordPayload, builder.Ticket);
}
_addRecordPayload = new ApplicationToken(_addRecordPayload, builder.AppToken);
_addRecordPayload = new WrapPayload(_addRecordPayload);
_uri = new QUriDbid(builder.AccountDomain, builder.Dbid);
Expand Down
19 changes: 13 additions & 6 deletions Intuit.QuickBase.Core/AddReplaceDBPage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,26 @@ public class AddReplaceDBPage : IQObject
private Payload.Payload _addReplaceDBPagePayload;
private IQUri _uri;

public AddReplaceDBPage(string ticket, string appToken, string accountDomain, string dbid, string pageName, PageType pageType, string pageBody)
public AddReplaceDBPage(string ticket, string appToken, string accountDomain, string dbid, string pageName, PageType pageType, string pageBody, string userToken = "")
{
CommonConstruction(ticket, appToken, accountDomain, dbid, new AddReplaceDBPagePayload(pageName, pageType, pageBody));
CommonConstruction(ticket, appToken, accountDomain, dbid, new AddReplaceDBPagePayload(pageName, pageType, pageBody), userToken);
}

public AddReplaceDBPage(string ticket, string appToken, string accountDomain, string dbid, int pageId, PageType pageType, string pageBody)
public AddReplaceDBPage(string ticket, string appToken, string accountDomain, string dbid, int pageId, PageType pageType, string pageBody, string userToken = "")
{
CommonConstruction(ticket, appToken, accountDomain, dbid, new AddReplaceDBPagePayload(pageId, pageType, pageBody));
CommonConstruction(ticket, appToken, accountDomain, dbid, new AddReplaceDBPagePayload(pageId, pageType, pageBody), userToken);
}

private void CommonConstruction(string ticket, string appToken, string accountDomain, string dbid, Payload.Payload payload)
private void CommonConstruction(string ticket, string appToken, string accountDomain, string dbid, Payload.Payload payload, string userToken = "")
{
_addReplaceDBPagePayload = new ApplicationTicket(payload, ticket);
if (userToken.Length > 0)
{
_addReplaceDBPagePayload = new ApplicationUserToken(payload, userToken);
}
else
{
_addReplaceDBPagePayload = new ApplicationTicket(payload, ticket);
}
_addReplaceDBPagePayload = new ApplicationToken(_addReplaceDBPagePayload, appToken);
_addReplaceDBPagePayload = new WrapPayload(_addReplaceDBPagePayload);
_uri = new QUriDbid(accountDomain, dbid);
Expand Down
12 changes: 10 additions & 2 deletions Intuit.QuickBase.Core/AddUserToRole.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,18 @@ public class AddUserToRole : IQObject
private readonly Payload.Payload _addUserToRolePayload;
private readonly IQUri _uri;

public AddUserToRole(string ticket, string appToken, string accountDomain, string dbid, string userId, int roleId)
public AddUserToRole(string ticket, string appToken, string accountDomain, string dbid, string userId, int roleId, string userToken = "")
{
_addUserToRolePayload = new AddUserToRolePayload(userId, roleId);
_addUserToRolePayload = new ApplicationTicket(_addUserToRolePayload, ticket);
//If a user token is provided, use it instead of a ticket
if (userToken.Length > 0)
{
_addUserToRolePayload = new ApplicationUserToken(_addUserToRolePayload, userToken);
}
else
{
_addUserToRolePayload = new ApplicationTicket(_addUserToRolePayload, ticket);
}
_addUserToRolePayload = new ApplicationToken(_addUserToRolePayload, appToken);
_addUserToRolePayload = new WrapPayload(_addUserToRolePayload);
_uri = new QUriDbid(accountDomain, dbid);
Expand Down
12 changes: 10 additions & 2 deletions Intuit.QuickBase.Core/ChangeRecordOwner.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,18 @@ public class ChangeRecordOwner : IQObject
private readonly Payload.Payload _changeRecordOwnerPayload;
private readonly IQUri _uri;

public ChangeRecordOwner(string ticket, string appToken, string accountDomain, string dbid, int rid, string newOwner)
public ChangeRecordOwner(string ticket, string appToken, string accountDomain, string dbid, int rid, string newOwner, string userToken = "")
{
_changeRecordOwnerPayload = new ChangeRecordOwnerPayload(rid, newOwner);
_changeRecordOwnerPayload = new ApplicationTicket(_changeRecordOwnerPayload, ticket);
//If a user token is provided, use it instead of a ticket
if (userToken.Length > 0)
{
_changeRecordOwnerPayload = new ApplicationUserToken(_changeRecordOwnerPayload, userToken);
}
else
{
_changeRecordOwnerPayload = new ApplicationTicket(_changeRecordOwnerPayload, ticket);
}
_changeRecordOwnerPayload = new ApplicationToken(_changeRecordOwnerPayload, appToken);
_changeRecordOwnerPayload = new WrapPayload(_changeRecordOwnerPayload);
_uri = new QUriDbid(accountDomain, dbid);
Expand Down
20 changes: 14 additions & 6 deletions Intuit.QuickBase.Core/ChangeUserRole.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,28 @@ public class ChangeUserRole : IQObject
private Payload.Payload _changeUserRolePayload;
private IQUri _uri;

public ChangeUserRole(string ticket, string appToken, string accountDomain, string dbid, string userId, int currentRoleId, int newRoldId)
public ChangeUserRole(string ticket, string appToken, string accountDomain, string dbid, string userId, int currentRoleId, int newRoldId, string userToken = "")
{
CommonConstruction(ticket, appToken, accountDomain, dbid, new ChangeUserRolePayload(userId, currentRoleId, newRoldId));
CommonConstruction(ticket, appToken, accountDomain, dbid, new ChangeUserRolePayload(userId, currentRoleId, newRoldId), userToken);

}

public ChangeUserRole(string ticket, string appToken, string accountDomain, string dbid, string userId, int currentRoleId)
public ChangeUserRole(string ticket, string appToken, string accountDomain, string dbid, string userId, int currentRoleId, string userToken = "")
{
CommonConstruction(ticket, appToken, accountDomain, dbid, new ChangeUserRolePayload(userId, currentRoleId));
CommonConstruction(ticket, appToken, accountDomain, dbid, new ChangeUserRolePayload(userId, currentRoleId), userToken);
}

private void CommonConstruction(string ticket, string appToken, string accountDomain, string dbid, Payload.Payload payload)
private void CommonConstruction(string ticket, string appToken, string accountDomain, string dbid, Payload.Payload payload, string userToken = "")
{
_changeUserRolePayload = new ApplicationTicket(payload, ticket);
//If a user token is provided, use it instead of a ticket
if (userToken.Length > 0)
{
_changeUserRolePayload = new ApplicationUserToken(payload, userToken);
}
else
{
_changeUserRolePayload = new ApplicationTicket(payload, ticket);
}
_changeUserRolePayload = new ApplicationToken(_changeUserRolePayload, appToken);
_changeUserRolePayload = new WrapPayload(_changeUserRolePayload);
_uri = new QUriDbid(accountDomain, dbid);
Expand Down
14 changes: 12 additions & 2 deletions Intuit.QuickBase.Core/CloneDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public class Builder
private string _newDBDesc;

internal string Ticket { get; set; }
internal string UserToken { get; set; }
internal string AppToken { get; set; }
internal string AccountDomain { get; set; }
internal string Dbid { get; set; }
Expand Down Expand Up @@ -65,9 +66,10 @@ internal string NewDBDesc
}
}

public Builder(string ticket, string appToken, string accountDomain, string dbid, string newDBName, string newDBDesc)
public Builder(string ticket, string appToken, string accountDomain, string dbid, string newDBName, string newDBDesc, string userToken = "")
{
Ticket = ticket;
UserToken = userToken;
AppToken = appToken;
AccountDomain = accountDomain;
Dbid = dbid;
Expand Down Expand Up @@ -103,7 +105,15 @@ private CloneDatabase(Builder builder)
.SetKeepData(builder.KeepData)
.SetExcludeFiles(builder.ExcludeFiles)
.Build();
_cloneDatabasePayload = new ApplicationTicket(_cloneDatabasePayload, builder.Ticket);
//If a user token is provided, use it instead of a ticket
if (builder.UserToken.Length > 0)
{
_cloneDatabasePayload = new ApplicationUserToken(_cloneDatabasePayload, builder.UserToken);
}
else
{
_cloneDatabasePayload = new ApplicationTicket(_cloneDatabasePayload, builder.Ticket);
}
_cloneDatabasePayload = new ApplicationToken(_cloneDatabasePayload, builder.AppToken);
_cloneDatabasePayload = new WrapPayload(_cloneDatabasePayload);
_uri = new QUriDbid(builder.AccountDomain, builder.Dbid);
Expand Down
13 changes: 11 additions & 2 deletions Intuit.QuickBase.Core/CreateDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,19 @@ public class CreateDatabase : IQObject
/// <param name="dbName">Supply a new application name.</param>
/// <param name="dbDesc">Supply an application description.</param>
/// <param name="createAppToken">Supply "true" to create a new token, "false" otherwise.</param>
public CreateDatabase(string ticket, string accountDomain, string dbName, string dbDesc, bool createAppToken)
/// <param name="userToken">a user token that can be used instead of a ticket</param>
public CreateDatabase(string ticket, string accountDomain, string dbName, string dbDesc, bool createAppToken, string userToken = "")
{
_createDatabasePayload = new CreateDatabasePayload(dbName, dbDesc, createAppToken);
_createDatabasePayload = new ApplicationTicket(_createDatabasePayload, ticket);
//If a user token is provided, use it instead of a ticket
if (userToken.Length > 0)
{
_createDatabasePayload = new ApplicationUserToken(_createDatabasePayload, userToken);
}
else
{
_createDatabasePayload = new ApplicationTicket(_createDatabasePayload, ticket);
}
_createDatabasePayload = new WrapPayload(_createDatabasePayload);
_uri = new QUriMain(accountDomain);
}
Expand Down
14 changes: 12 additions & 2 deletions Intuit.QuickBase.Core/CreateTable.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,15 @@ public class CreateTable : IQObject
public class Builder
{
internal string Ticket { get; set; }
internal string UserToken { get; set; }
internal string AppToken { get; set; }
internal string AccountDomain { get; set; }
internal string Dbid { get; set; }

public Builder(string ticket, string appToken, string accountDomain, string dbid)
public Builder(string ticket, string appToken, string accountDomain, string dbid, string userToken = "")
{
Ticket = ticket;
UserToken = userToken;
AppToken = appToken;
AccountDomain = accountDomain;
Dbid = dbid;
Expand Down Expand Up @@ -74,7 +76,15 @@ private CreateTable(Builder builder)
.SetTName(builder.TName)
.SetPNoun(builder.PNoun)
.Build();
_createTablePayload = new ApplicationTicket(_createTablePayload, builder.Ticket);
//If a user token is provided, use it instead of a ticket
if (builder.UserToken.Length > 0)
{
_createTablePayload = new ApplicationUserToken(_createTablePayload, builder.UserToken);
}
else
{
_createTablePayload = new ApplicationTicket(_createTablePayload, builder.Ticket);
}
_createTablePayload = new ApplicationToken(_createTablePayload, builder.AppToken);
_createTablePayload = new WrapPayload(_createTablePayload);
_uri = new QUriDbid(builder.AccountDomain, builder.Dbid);
Expand Down
13 changes: 11 additions & 2 deletions Intuit.QuickBase.Core/DeleteDatabase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,19 @@ public class DeleteDatabase : IQObject
/// <param name="appToken">Supply application token that is assigned to your QuickBase Application. See QuickBase Online help to obtain an application token.</param>
/// <param name="accountDomain"></param>
/// <param name="dbid">Supply application-level or table-level dbid.</param>
public DeleteDatabase(string ticket, string appToken, string accountDomain, string dbid)
/// <param name="userToken">optional user token that can be used instead of a ticket</param>
public DeleteDatabase(string ticket, string appToken, string accountDomain, string dbid, string userToken = "")
{
_deleteDatabasePayload = new DeleteDatabasePayload();
_deleteDatabasePayload = new ApplicationTicket(_deleteDatabasePayload, ticket);
//If a user token is provided, use it instead of a ticket
if (userToken.Length > 0)
{
_deleteDatabasePayload = new ApplicationUserToken(_deleteDatabasePayload, userToken);
}
else
{
_deleteDatabasePayload = new ApplicationTicket(_deleteDatabasePayload, ticket);
}
_deleteDatabasePayload = new ApplicationToken(_deleteDatabasePayload, appToken);
_deleteDatabasePayload = new WrapPayload(_deleteDatabasePayload);
_uri = new QUriDbid(accountDomain, dbid);
Expand Down
13 changes: 11 additions & 2 deletions Intuit.QuickBase.Core/DeleteField.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,19 @@ public class DeleteField : IQObject
/// <param name="accountDomain"></param>
/// <param name="dbid">Supply table-level dbid.</param>
/// <param name="fid">Supply a column object.</param>
public DeleteField(string ticket, string appToken, string accountDomain, string dbid, int fid)
/// <param name="userToken">optional user token that can be used instead of a ticket</param>
public DeleteField(string ticket, string appToken, string accountDomain, string dbid, int fid, string userToken = "")
{
_deleteFieldPayload = new DeleteFieldPayload(fid);
_deleteFieldPayload = new ApplicationTicket(_deleteFieldPayload, ticket);
//If a user token is provided, use it instead of a ticket
if (userToken.Length > 0)
{
_deleteFieldPayload = new ApplicationUserToken(_deleteFieldPayload, userToken);
}
else
{
_deleteFieldPayload = new ApplicationTicket(_deleteFieldPayload, ticket);
}
_deleteFieldPayload = new ApplicationToken(_deleteFieldPayload, appToken);
_deleteFieldPayload = new WrapPayload(_deleteFieldPayload);
_uri = new QUriDbid(accountDomain, dbid);
Expand Down
Loading