unb-api 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.d.ts +101 -7
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -9,17 +9,36 @@ declare module 'unb-api' {
9
9
  public version: string;
10
10
  public maxRetries: number;
11
11
 
12
- public getUserBalance(guild_id: string, user_id: string): Promise<User>;
12
+ public getUserBalance(guildId: string, userId: string): Promise<User>;
13
13
 
14
- public setUserBalance(guild_id: string, user_id: string, balance: Balance): Promise<User>;
14
+ public setUserBalance(guildId: string, userId: string, balance: Balance): Promise<User>;
15
15
 
16
- public editUserBalance(guild_id: string, user_id: string, balance: Balance): Promise<User>;
16
+ public editUserBalance(guildId: string, userId: string, balance: Balance): Promise<User>;
17
17
 
18
- public getGuildLeaderboard(guild_id: string, query?: object): Promise<User[]> | Promise<{ users: User[], totalPages: number }>;
18
+ public getGuildLeaderboard(guildId: string, query?: object): Promise<User[]> | Promise<{ users: User[], totalPages: number }>;
19
19
 
20
- public getGuild(guild_id: string): Promise<Guild>;
20
+ public getGuild(guildId: string): Promise<Guild>;
21
+
22
+ public getApplicationPermission(guildId: string): Promise<Permission>;
23
+
24
+
25
+ public getItems(guildId: string, options?: ItemListOptions): Promise<{ page: number, totalPages: number, items: StoreItem[] }>
26
+
27
+ public getItem(guildId: string, itemId: string): Promise<StoreItem>
28
+
29
+ public editItem(guildId: string, itemId: string, data: StoreItem | object, options?: { cascadeUpdate?: boolean }): Promise<StoreItem>
30
+
31
+ public deleteItem(guildId: string, itemId: string): Promise<any>
32
+
33
+
34
+ public getInventoryItems(guildId: string, userId: string, options?: ItemListOptions): Promise<{ page: number, totalPages: number, items: InventoryItem[] }>
35
+
36
+ public getInventoryItem(guildId: string, userId: string, itemId: string): Promise<InventoryItem>
37
+
38
+ public addInventoryItem(guildId: string, userId: string, itemId: string, quantity?: string | number, options?: { inventoryUserId?: string }): Promise<InventoryItem>
39
+
40
+ public removeInventoryItem(guildId: string, userId: string, itemId: string, quantity?: string | number): Promise<any>
21
41
 
22
- public getApplicationPermission(guild_id: string): Promise<Permission>;
23
42
 
24
43
  private _request(method: string, endpoint: string, data?: object): Promise<any>;
25
44
  }
@@ -65,8 +84,83 @@ declare module 'unb-api' {
65
84
  public constructor(allow: number);
66
85
 
67
86
  public allow: string;
68
- public json: string
87
+ public json: string;
69
88
 
70
89
  public has(permission: string | string[]): boolean;
71
90
  }
91
+
92
+ export class BaseItem {
93
+ public constructor(data: object);
94
+
95
+ public name: string;
96
+ public description?: string;
97
+ public isUsable: boolean;
98
+ public isSellable: boolean;
99
+ public requirements: StoreItemRequirement[];
100
+ public actions: StoreItemAction[];
101
+ public emojiUnicode?: string;
102
+ public emojiId?: string;
103
+ }
104
+
105
+ export class StoreItem extends BaseItem {
106
+ public constructor(data: object);
107
+
108
+ public id: string;
109
+ public price: number;
110
+ public stockRemaining: number;
111
+ public unlimitedStock: boolean;
112
+ public isInventory: boolean;
113
+ public expiresAt?: Date;
114
+ }
115
+
116
+ export class InventoryItem extends BaseItem {
117
+ public itemId: string;
118
+ public quantity: number;
119
+ }
120
+
121
+ enum StoreItemRequirementType {
122
+ REQUIREMENT_TYPE_UNKNOWN,
123
+ ROLE,
124
+ TOTAL_BALANCE,
125
+ ITEM,
126
+ }
127
+
128
+ enum StoreItemRequirementMatchType {
129
+ MATCH_TYPE_UNKNOWN,
130
+ EVERY,
131
+ AT_LEAST_ONE,
132
+ NONE,
133
+ }
134
+
135
+ enum StoreItemActionType {
136
+ ACTION_TYPE_UNKNOWN,
137
+ RESPOND,
138
+ ADD_ROLES,
139
+ REMOVE_ROLES,
140
+ ADD_BALANCE,
141
+ REMOVE_BALANCE,
142
+ ADD_ITEMS,
143
+ REMOVE_ITEMS,
144
+ }
145
+
146
+ export class StoreItemRequirement {
147
+ type: StoreItemRequirementType;
148
+ matchType: StoreItemRequirementMatchType;
149
+ ids: string[];
150
+ balance: number;
151
+ }
152
+
153
+ export class StoreItemAction {
154
+ type: StoreItemActionType;
155
+ ids: string[];
156
+ message: object; // discord message object
157
+ balance: number;
158
+ }
159
+
160
+ export type ItemListOptions = {
161
+ limit: number;
162
+ page: number;
163
+ sort: string[]
164
+ query: string;
165
+ }
72
166
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "unb-api",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "description": "API wrapper for UnbelievaBoat Discord Bot API",
5
5
  "main": "src/index.js",
6
6
  "types": "index.d.ts",