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
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ keys are accessible from within the Payload dashboard.

```csharp
using Payload;
pl.ApiKey = "secret_key_3bW9JMZtPVDOfFNzwRdfE";

var pl = new Payload.Session("secret_key_3bW9JMZtPVDOfFNzwRdfE")
```

### Creating an Object
Expand Down
34 changes: 17 additions & 17 deletions src/Payload/ARM/ARMObject.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public static class ARMObjectCache
{
public static ConcurrentDictionary<string, object> _cache = new ConcurrentDictionary<string, object>();

public static dynamic GetOrCreate(Type type, Dynamo data, pl.Session session)
public static dynamic GetOrCreate(Type type, Dynamo data, Payload.Session session)
{
dynamic obj;
if (type == data.GetType())
Expand Down Expand Up @@ -63,7 +63,7 @@ public static dynamic GetOrCreate(Type type, Dynamo data, pl.Session session)
return obj;
}

public static T GetOrCreate<T>(T data, pl.Session session) where T : ARMObjectBase<T>
public static T GetOrCreate<T>(T data, Payload.Session session) where T : ARMObjectBase<T>
{
return GetOrCreate(typeof(T), data, session);
}
Expand All @@ -90,7 +90,7 @@ public interface IARMObject
public abstract class ARMObjectBase<T> : JSONObject, IARMObject where T : ARMObjectBase<T>
{
private static Dictionary<Type, pl.DefaultParams> _defaultParams = new Dictionary<Type, pl.DefaultParams>();
public pl.Session session = null;
public Payload.Session session = null;

public static pl.DefaultParams DefaultParams
{
Expand Down Expand Up @@ -274,19 +274,19 @@ public async Task<T> DeleteAsync()

public T Delete() => DeleteAsync().GetAwaiter().GetResult();

public static async Task<T> GetAsync(string id, pl.Session session = null)
public static async Task<T> GetAsync(string id, Payload.Session session = null)
{
var req = new ARMRequest<T>(session);

return await req.RequestAsync(RequestMethods.GET, req.GetRoute(id));
}

public static T Get(string id, pl.Session session = null) => GetAsync(id, session).GetAwaiter().GetResult();
public static T Get(string id, Payload.Session session = null) => GetAsync(id, session).GetAwaiter().GetResult();

public static ARMRequest<T> FilterBy(params object[] list)
{
pl.Session session = (pl.Session)(list.Where(item => item is pl.Session).FirstOrDefault() ?? pl.DefaultSession);
List<dynamic> filters = list.Where(item => !(item is pl.Session)).ToList();
Payload.Session session = (Payload.Session)(list.Where(item => item is Payload.Session).FirstOrDefault() ?? pl.DefaultSession);
List<dynamic> filters = list.Where(item => !(item is Payload.Session)).ToList();

var req = new ARMRequest<T>(session);

Expand All @@ -301,8 +301,8 @@ public static ARMRequest<T> FilterBy(params object[] list)

public static ARMRequest<T> Select(params object[] list)
{
pl.Session session = (pl.Session)(list.Where(item => item is pl.Session).FirstOrDefault() ?? pl.DefaultSession);
List<dynamic> attrs = list.Where(item => !(item is pl.Session)).ToList();
Payload.Session session = (Payload.Session)(list.Where(item => item is Payload.Session).FirstOrDefault() ?? pl.DefaultSession);
List<dynamic> attrs = list.Where(item => !(item is Payload.Session)).ToList();

var req = new ARMRequest<T>(session);

Expand All @@ -312,7 +312,7 @@ public static ARMRequest<T> Select(params object[] list)
return req;
}

public static async Task<List<T>> CreateAllAsync(IEnumerable<dynamic> objects, pl.Session session = null)
public static async Task<List<T>> CreateAllAsync(IEnumerable<dynamic> objects, Payload.Session session = null)
{
var lst = new List<dynamic>();
foreach (dynamic obj in objects)
Expand All @@ -325,27 +325,27 @@ public static async Task<List<T>> CreateAllAsync(IEnumerable<dynamic> objects, p
return await new ARMRequest<T>(session).CreateAllAsync(lst);
}

public static List<T> CreateAll(IEnumerable<dynamic> objects, pl.Session session = null) => CreateAllAsync(objects.ToArray(), session).GetAwaiter().GetResult();
public static List<T> CreateAll(IEnumerable<dynamic> objects, Payload.Session session = null) => CreateAllAsync(objects.ToArray(), session).GetAwaiter().GetResult();

public static async Task<T> CreateAsync(dynamic attributes, pl.Session session = null)
public static async Task<T> CreateAsync(dynamic attributes, Payload.Session session = null)
{
return await new ARMRequest<T>(session).CreateAsync(attributes);
}

public static T Create(dynamic obj = null, pl.Session session = null) => CreateAsync(obj, session).GetAwaiter().GetResult();
public static T Create(dynamic obj = null, Payload.Session session = null) => CreateAsync(obj, session).GetAwaiter().GetResult();

public static async Task<List<T>> UpdateAllAsync((T, object)[] updates, pl.Session session = null)
public static async Task<List<T>> UpdateAllAsync((T, object)[] updates, Payload.Session session = null)
{
return await new ARMRequest<T>(session).UpdateAllAsync(updates.ToArray());
}

public static List<T> UpdateAll((T, object)[] updates, pl.Session session = null) => UpdateAllAsync(updates, session).GetAwaiter().GetResult();
public static List<T> UpdateAll((T, object)[] updates, Payload.Session session = null) => UpdateAllAsync(updates, session).GetAwaiter().GetResult();

public static async Task<List<T>> DeleteAllAsync(List<T> objects, pl.Session session = null)
public static async Task<List<T>> DeleteAllAsync(List<T> objects, Payload.Session session = null)
{
return await new ARMRequest<T>(session).DeleteAllAsync(objects.ToArray());
}

public static List<T> DeleteAll(List<T> objects, pl.Session session = null) => DeleteAllAsync(objects, session).GetAwaiter().GetResult();
public static List<T> DeleteAll(List<T> objects, Payload.Session session = null) => DeleteAllAsync(objects, session).GetAwaiter().GetResult();
}
}
6 changes: 3 additions & 3 deletions src/Payload/ARM/ARMRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ public class ARMRequest<T> where T : ARMObjectBase<T>
public List<string> _fields;
public List<string> _group_by;
public List<string> _order_by;
private pl.Session session;
private Payload.Session session;

private static JsonSerializerSettings jsonsettings = new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore
};

private void Init(pl.Session session = null)
private void Init(Payload.Session session = null)
{
var obj = (T)Activator.CreateInstance(typeof(T));
Spec = obj.GetSpec();
Expand All @@ -53,7 +53,7 @@ public ARMRequest()
Init();
}

public ARMRequest(pl.Session session)
public ARMRequest(Payload.Session session)
{
Init(session);
}
Expand Down
14 changes: 9 additions & 5 deletions src/Payload/Payload.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
namespace Payload
{

public static partial class pl
public static partial class Payload
{
public partial class Session
{
Expand All @@ -25,8 +25,8 @@ public Session(string api_key)
public override bool Equals(object obj)
{
return obj is Session session &&
ApiKey == session.ApiKey &&
ApiUrl == session.ApiUrl;
ApiKey == session.ApiKey &&
ApiUrl == session.ApiUrl;
}

public async Task<List<T>> CreateAllAsync<T>(params T[] objects) where T : ARMObjectBase<T>
Expand Down Expand Up @@ -101,11 +101,15 @@ public override int GetHashCode()
return hashCode;
}
}
}

public static partial class pl
{

public static string ApiKey { get { return DefaultSession.ApiKey; } set { DefaultSession.ApiKey = value; } }
public static string ApiUrl { get { return DefaultSession.ApiUrl; } set { DefaultSession.ApiUrl = value; } }
public static dynamic Attr = new Attr(null);
public static Session DefaultSession = new Session(null);
public static Payload.Session DefaultSession = new Payload.Session(null);

public static async Task<List<T>> CreateAllAsync<T>(IEnumerable<T> objects) where T : ARMObjectBase<T>
{
Expand Down Expand Up @@ -205,7 +209,7 @@ public async Task<Payment> ChargeAsync(dynamic obj)
data.customer_id = this["id"];
return await Payment.CreateAsync(data);
}

public Payment Charge(dynamic obj)
{
return ChargeAsync(obj).GetAwaiter().GetResult();
Expand Down
4 changes: 2 additions & 2 deletions src/Payload/Payload.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
<RootNamespace>Payload</RootNamespace>
<TargetFrameworks>netstandard2.0;net461</TargetFrameworks>
<AssemblyTitle>Payload</AssemblyTitle>
<VersionPrefix>1.0.4</VersionPrefix>
<Version>1.0.4</Version>
<VersionPrefix>2.0.0</VersionPrefix>
<Version>2.0.0</Version>
<Authors>Payload, Ian Halpern, Ben Ward</Authors>
<AssemblyName>Payload</AssemblyName>
<PackageId>payload-api</PackageId>
Expand Down
54 changes: 27 additions & 27 deletions src/Payload/Session.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,36 +5,36 @@

namespace Payload
{
public partial class pl
public partial class Payload
{
public partial class Session
{
public ARMRequest<AccessToken> AccessToken => new ARMRequest<AccessToken>(this);
public ARMRequest<ClientToken> ClientToken => new ARMRequest<ClientToken>(this);
public ARMRequest<Account> Account => new ARMRequest<Account>(this);
public ARMRequest<Customer> Customer => new ARMRequest<Customer>(this);
public ARMRequest<ProcessingAccount> ProcessingAccount => new ARMRequest<ProcessingAccount>(this);
public ARMRequest<Org> Org => new ARMRequest<Org>(this);
public ARMRequest<User> User => new ARMRequest<User>(this);
public ARMRequest<Transaction> Transaction => new ARMRequest<Transaction>(this);
public ARMRequest<Payment> Payment => new ARMRequest<Payment>(this);
public ARMRequest<Refund> Refund => new ARMRequest<Refund>(this);
public ARMRequest<Credit> Credit => new ARMRequest<Credit>(this);
public ARMRequest<Deposit> Deposit => new ARMRequest<Deposit>(this);
public ARMRequest<Ledger> Ledger => new ARMRequest<Ledger>(this);
public ARMRequest<PaymentMethod> PaymentMethod => new ARMRequest<PaymentMethod>(this);
public ARMRequest<Card> Card => new ARMRequest<Card>(this);
public ARMRequest<BankAccount> BankAccount => new ARMRequest<BankAccount>(this);
public ARMRequest<BillingSchedule> BillingSchedule => new ARMRequest<BillingSchedule>(this);
public ARMRequest<BillingCharge> BillingCharge => new ARMRequest<BillingCharge>(this);
public ARMRequest<Invoice> Invoice => new ARMRequest<Invoice>(this);
public ARMRequest<LineItem> LineItem => new ARMRequest<LineItem>(this);
public ARMRequest<ChargeItem> ChargeItem => new ARMRequest<ChargeItem>(this);
public ARMRequest<PaymentItem> PaymentItem => new ARMRequest<PaymentItem>(this);
public ARMRequest<Webhook> Webhook => new ARMRequest<Webhook>(this);
public ARMRequest<PaymentLink> PaymentLink => new ARMRequest<PaymentLink>(this);
public ARMRequest<OAuthToken> OAuthToken => new ARMRequest<OAuthToken>(this);
public ARMRequest<PaymentActivation> PaymentActivation => new ARMRequest<PaymentActivation>(this);
public ARMRequest<pl.AccessToken> AccessToken => new ARMRequest<pl.AccessToken>(this);
public ARMRequest<pl.ClientToken> ClientToken => new ARMRequest<pl.ClientToken>(this);
public ARMRequest<pl.Account> Account => new ARMRequest<pl.Account>(this);
public ARMRequest<pl.Customer> Customer => new ARMRequest<pl.Customer>(this);
public ARMRequest<pl.ProcessingAccount> ProcessingAccount => new ARMRequest<pl.ProcessingAccount>(this);
public ARMRequest<pl.Org> Org => new ARMRequest<pl.Org>(this);
public ARMRequest<pl.User> User => new ARMRequest<pl.User>(this);
public ARMRequest<pl.Transaction> Transaction => new ARMRequest<pl.Transaction>(this);
public ARMRequest<pl.Payment> Payment => new ARMRequest<pl.Payment>(this);
public ARMRequest<pl.Refund> Refund => new ARMRequest<pl.Refund>(this);
public ARMRequest<pl.Credit> Credit => new ARMRequest<pl.Credit>(this);
public ARMRequest<pl.Deposit> Deposit => new ARMRequest<pl.Deposit>(this);
public ARMRequest<pl.Ledger> Ledger => new ARMRequest<pl.Ledger>(this);
public ARMRequest<pl.PaymentMethod> PaymentMethod => new ARMRequest<pl.PaymentMethod>(this);
public ARMRequest<pl.Card> Card => new ARMRequest<pl.Card>(this);
public ARMRequest<pl.BankAccount> BankAccount => new ARMRequest<pl.BankAccount>(this);
public ARMRequest<pl.BillingSchedule> BillingSchedule => new ARMRequest<pl.BillingSchedule>(this);
public ARMRequest<pl.BillingCharge> BillingCharge => new ARMRequest<pl.BillingCharge>(this);
public ARMRequest<pl.Invoice> Invoice => new ARMRequest<pl.Invoice>(this);
public ARMRequest<pl.LineItem> LineItem => new ARMRequest<pl.LineItem>(this);
public ARMRequest<pl.ChargeItem> ChargeItem => new ARMRequest<pl.ChargeItem>(this);
public ARMRequest<pl.PaymentItem> PaymentItem => new ARMRequest<pl.PaymentItem>(this);
public ARMRequest<pl.Webhook> Webhook => new ARMRequest<pl.Webhook>(this);
public ARMRequest<pl.PaymentLink> PaymentLink => new ARMRequest<pl.PaymentLink>(this);
public ARMRequest<pl.OAuthToken> OAuthToken => new ARMRequest<pl.OAuthToken>(this);
public ARMRequest<pl.PaymentActivation> PaymentActivation => new ARMRequest<pl.PaymentActivation>(this);
}
}
}
3 changes: 2 additions & 1 deletion src/PayloadTests/DeepDiff.cs
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,8 @@ void CompareWithEquals()
{
CompareWithEquals();
}
catch (ArgumentException) {
catch (ArgumentException)
{
CompareWithEquals();
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/PayloadTests/TestARMRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class TestARMRequest
[Test]
public void test_defaultparams()
{
pl.Customer.DefaultParams.Fields = new [] { "*", pl.Attr.name };
pl.Customer.DefaultParams.Fields = new[] { "*", pl.Attr.name };
var mock = new Mock<ARMRequest<pl.Customer>> { CallBase = true };
var mockRespJson = new JSONObject();
mockRespJson["values"] = new JArray();
Expand Down
4 changes: 2 additions & 2 deletions src/PayloadTests/TestAccount.cs
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ public void test_update_mult_acc()
});

pl.UpdateAll(
(customer_account_1, new { email="matt.perez@newwork.com" }),
(customer_account_2, new { email="andrea.kearney@newwork.com" })
(customer_account_1, new { email = "matt.perez@newwork.com" }),
(customer_account_2, new { email = "andrea.kearney@newwork.com" })
);

Assert.True(customer_account_1.Data.email == "brandy@example.com");
Expand Down
10 changes: 5 additions & 5 deletions src/PayloadTests/TestSession.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ namespace Payload.Tests
{
public class TestSession
{
pl.Session session;
Payload.Session session;

[SetUp]
public void Setup()
{
pl.ApiKey = null;

this.session = new pl.Session(Environment.GetEnvironmentVariable("API_KEY"));
this.session = new Payload.Session(Environment.GetEnvironmentVariable("API_KEY"));
string url = Environment.GetEnvironmentVariable("API_URL");
if (url != null)
this.session.ApiUrl = url;
Expand All @@ -43,7 +43,7 @@ public void test_armobject_references()

var sessionObjects = new HashSet<string>();

foreach (PropertyInfo property in typeof(pl.Session).GetProperties())
foreach (PropertyInfo property in typeof(Payload.Session).GetProperties())
{
if (property.PropertyType.IsGenericType &&
property.PropertyType.GetGenericTypeDefinition() == typeof(ARMRequest<>))
Expand All @@ -62,7 +62,7 @@ public void test_armobject_references()
foreach (var globalObj in globalObjects)
{
if (!sessionObjects.Contains(globalObj))
throw new Exception($"pl.Session is missing the resource property '{globalObj}'");
throw new Exception($"Payload.Session is missing the resource property '{globalObj}'");
}
}

Expand All @@ -73,7 +73,7 @@ public void test_client_token()
Assert.AreEqual(client_token.status, "active");
Assert.AreEqual(client_token.type, "client");

client_token = this.session.ClientToken.Create(new {});
client_token = this.session.ClientToken.Create(new { });
Assert.AreEqual(client_token.status, "active");
Assert.AreEqual(client_token.type, "client");
}
Expand Down