@rippling/rippling-sdk 0.2.0-alpha.62 → 0.2.0-alpha.63

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 (68) hide show
  1. package/client.d.mts +12 -0
  2. package/client.d.mts.map +1 -1
  3. package/client.d.ts +12 -0
  4. package/client.d.ts.map +1 -1
  5. package/client.js +12 -0
  6. package/client.js.map +1 -1
  7. package/client.mjs +12 -0
  8. package/client.mjs.map +1 -1
  9. package/lib/manifest/custom-object-page-layout.d.mts +0 -6
  10. package/lib/manifest/custom-object-page-layout.d.mts.map +1 -1
  11. package/lib/manifest/custom-object-page-layout.d.ts +0 -6
  12. package/lib/manifest/custom-object-page-layout.d.ts.map +1 -1
  13. package/lib/manifest/custom-object-page-layout.js +16 -5
  14. package/lib/manifest/custom-object-page-layout.js.map +1 -1
  15. package/lib/manifest/custom-object-page-layout.mjs +16 -5
  16. package/lib/manifest/custom-object-page-layout.mjs.map +1 -1
  17. package/lib/manifest/index.d.mts +1 -1
  18. package/lib/manifest/index.d.mts.map +1 -1
  19. package/lib/manifest/index.d.ts +1 -1
  20. package/lib/manifest/index.d.ts.map +1 -1
  21. package/lib/manifest/index.js.map +1 -1
  22. package/lib/manifest/index.mjs.map +1 -1
  23. package/package.json +1 -1
  24. package/resources/app-users.d.mts +186 -0
  25. package/resources/app-users.d.mts.map +1 -0
  26. package/resources/app-users.d.ts +186 -0
  27. package/resources/app-users.d.ts.map +1 -0
  28. package/resources/app-users.js +32 -0
  29. package/resources/app-users.js.map +1 -0
  30. package/resources/app-users.mjs +28 -0
  31. package/resources/app-users.mjs.map +1 -0
  32. package/resources/devices.d.mts +272 -0
  33. package/resources/devices.d.mts.map +1 -0
  34. package/resources/devices.d.ts +272 -0
  35. package/resources/devices.d.ts.map +1 -0
  36. package/resources/devices.js +32 -0
  37. package/resources/devices.js.map +1 -0
  38. package/resources/devices.mjs +28 -0
  39. package/resources/devices.mjs.map +1 -0
  40. package/resources/functions/deployments.d.mts +8 -0
  41. package/resources/functions/deployments.d.mts.map +1 -1
  42. package/resources/functions/deployments.d.ts +8 -0
  43. package/resources/functions/deployments.d.ts.map +1 -1
  44. package/resources/index.d.mts +2 -0
  45. package/resources/index.d.mts.map +1 -1
  46. package/resources/index.d.ts +2 -0
  47. package/resources/index.d.ts.map +1 -1
  48. package/resources/index.js +6 -2
  49. package/resources/index.js.map +1 -1
  50. package/resources/index.mjs +2 -0
  51. package/resources/index.mjs.map +1 -1
  52. package/resources/workers.d.mts +13 -0
  53. package/resources/workers.d.mts.map +1 -1
  54. package/resources/workers.d.ts +13 -0
  55. package/resources/workers.d.ts.map +1 -1
  56. package/src/client.ts +44 -0
  57. package/src/lib/manifest/custom-object-page-layout.ts +14 -9
  58. package/src/lib/manifest/index.ts +0 -2
  59. package/src/resources/app-users.ts +270 -0
  60. package/src/resources/devices.ts +496 -0
  61. package/src/resources/functions/deployments.ts +10 -0
  62. package/src/resources/index.ts +16 -0
  63. package/src/resources/workers.ts +15 -0
  64. package/src/version.ts +1 -1
  65. package/version.d.mts +1 -1
  66. package/version.d.ts +1 -1
  67. package/version.js +1 -1
  68. package/version.mjs +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EACL,UAAU,GAaX,uBAAmB;AAEpB,OAAO,EAAE,GAAG,EAA6C,kBAAc;AAEvE,OAAO,EAAE,QAAQ,EAAsB,uBAAmB;AAE1D,OAAO,EACL,YAAY,GAQb,4BAAwB;AAEzB,OAAO,EACL,wBAAwB,GAGzB,0CAAsC;AAEvC,OAAO,EACL,sBAAsB,GA0DvB,wCAAoC;AAErC,OAAO,EACL,KAAK;AAML,0EAA0E;AAC1E,qEAAqE;AACrE,SAAS,EAET,aAAa,EAEb,UAAU,EAEV,QAAQ,EAER,UAAU,EAEV,WAAW,EAEX,aAAa,EAEb,eAAe,EAEf,SAAS,EAET,aAAa,EAEb,SAAS,EAET,WAAW,EAEX,UAAU,EAEV,YAAY,EAEZ,SAAS,EAET,WAAW,EAEX,gBAAgB,EAEhB,YAAY,EAEZ,YAAY,GAEb,oBAAgB;AAEjB,OAAO,EACL,uBAAuB,GAIxB,wCAAoC;AAErC,OAAO,EACL,WAAW,GAKZ,wBAAoB;AAErB,OAAO,EACL,eAAe,GAQhB,+BAA2B;AAE5B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,IAAI,QAAQ,GAG7B,gCAA4B;AAE7B,OAAO,EACL,IAAI,GAKL,mBAAe;AAEhB,OAAO,EAAE,QAAQ,EAAsB,wBAAoB;AAE3D,OAAO,EACL,UAAU,GAIX,yBAAqB;AAEtB,OAAO,EACL,QAAQ,GAuBT,uBAAmB"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/lib/manifest/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EACL,UAAU,GAaX,uBAAmB;AAEpB,OAAO,EAAE,GAAG,EAA6C,kBAAc;AAEvE,OAAO,EAAE,QAAQ,EAAsB,uBAAmB;AAE1D,OAAO,EACL,YAAY,GAQb,4BAAwB;AAEzB,OAAO,EACL,wBAAwB,GAGzB,0CAAsC;AAEvC,OAAO,EACL,sBAAsB,GAwDvB,wCAAoC;AAErC,OAAO,EACL,KAAK;AAML,0EAA0E;AAC1E,qEAAqE;AACrE,SAAS,EAET,aAAa,EAEb,UAAU,EAEV,QAAQ,EAER,UAAU,EAEV,WAAW,EAEX,aAAa,EAEb,eAAe,EAEf,SAAS,EAET,aAAa,EAEb,SAAS,EAET,WAAW,EAEX,UAAU,EAEV,YAAY,EAEZ,SAAS,EAET,WAAW,EAEX,gBAAgB,EAEhB,YAAY,EAEZ,YAAY,GAEb,oBAAgB;AAEjB,OAAO,EACL,uBAAuB,GAIxB,wCAAoC;AAErC,OAAO,EACL,WAAW,GAKZ,wBAAoB;AAErB,OAAO,EACL,eAAe,GAQhB,+BAA2B;AAE5B,OAAO,EACL,gBAAgB,EAChB,gBAAgB,IAAI,QAAQ,GAG7B,gCAA4B;AAE7B,OAAO,EACL,IAAI,GAKL,mBAAe;AAEhB,OAAO,EAAE,QAAQ,EAAsB,wBAAoB;AAE3D,OAAO,EACL,UAAU,GAIX,yBAAqB;AAEtB,OAAO,EACL,QAAQ,GAuBT,uBAAmB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rippling/rippling-sdk",
3
- "version": "0.2.0-alpha.62",
3
+ "version": "0.2.0-alpha.63",
4
4
  "description": "The official TypeScript library for the Rippling SDK API",
5
5
  "author": "Rippling SDK <no-reply@rippling.com>",
6
6
  "types": "./index.d.ts",
@@ -0,0 +1,186 @@
1
+ import { APIResource } from "../core/resource.mjs";
2
+ import * as BusinessPartnersAPI from "./business-partners.mjs";
3
+ import * as WorkersAPI from "./workers.mjs";
4
+ import { APIPromise } from "../core/api-promise.mjs";
5
+ import { PageCursorURL, PagePromise } from "../core/pagination.mjs";
6
+ import { RequestOptions } from "../internal/request-options.mjs";
7
+ /**
8
+ * Mappings between Rippling workers and their user accounts in third-party apps
9
+ */
10
+ export declare class AppUsers extends APIResource {
11
+ /**
12
+ * A list of app users.
13
+ *
14
+ * - Requires: `API Tier 1`
15
+ * - Filterable fields: `worker_id`, `spoke_user_identifier`, `app_handle`,
16
+ * `created_at`, `updated_at`
17
+ * - Expandable fields: `worker`
18
+ * - Sortable fields: `id`, `created_at`, `updated_at`
19
+ */
20
+ list(query?: AppUserListParams | null | undefined, options?: RequestOptions): PagePromise<AppUserListResponsesPageCursorURL, AppUserListResponse>;
21
+ /**
22
+ * Retrieve a specific app user
23
+ */
24
+ retrieve(id: string, query?: AppUserRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<AppUserRetrieveResponse>;
25
+ }
26
+ export type AppUserListResponsesPageCursorURL = PageCursorURL<AppUserListResponse>;
27
+ /**
28
+ * Maps a Rippling worker (if any) to their user account in a third-party
29
+ * app (e.g. Slack, Jira, GitHub). Sourced from SpokeUser records.
30
+ *
31
+ * Includes orphan accounts — third-party app accounts with no matching
32
+ * Rippling worker (`worker_id=None`, `match_state=NOT_MATCHED`). These are
33
+ * the primary signal for IT-admin triage. Uses `BaseResourceDTO` rather
34
+ * than `BaseEmployeeResourceDTO` so the platform's role-based auto-filter
35
+ * does not silently drop orphans for non-admin tokens. Company scoping is
36
+ * enforced explicitly in `AppUsersAPIViewSet.get_queryset`; the `app-users.read`
37
+ * scope is the access gate.
38
+ *
39
+ * Resource name aligns with how the product surfaces these in the UI
40
+ * ("Slack account", "GitHub account") and matches the equivalent concept
41
+ * in Okta's IAM API (AppUser).
42
+ *
43
+ * Designed for point lookups: list endpoint requires at least one filter
44
+ * on `worker_id` or `spoke_user_identifier` to prevent bulk enumeration of the
45
+ * org's identity graph across connected apps.
46
+ *
47
+ * `spoke_user_identifier` reads `SpokeUser.spokeId` — the user identifier
48
+ * stored for the third-party account. Depending on the integration, this may
49
+ * be an email, username, account handle, or app-specific user id.
50
+ */
51
+ export interface AppUserListResponse {
52
+ /**
53
+ * Identifier field
54
+ */
55
+ id: string;
56
+ /**
57
+ * Record creation date
58
+ */
59
+ created_at: string;
60
+ /**
61
+ * Record update date
62
+ */
63
+ updated_at: string;
64
+ /**
65
+ * Human-readable display name for the third-party app (e.g. 'Slack', 'GitHub').
66
+ * Sourced from the customer-configured SpokeOwner.app_display_name; falls back to
67
+ * a title-cased app handle when the customer hasn't set one.
68
+ */
69
+ app_display_name?: string;
70
+ /**
71
+ * Machine-readable identifier for the third-party app (e.g. 'slack', 'jira',
72
+ * 'asana'). Stable across the App Shop catalog.
73
+ */
74
+ app_handle?: string;
75
+ /**
76
+ * The user's email address in the third-party app, if known. Null when the app
77
+ * does not expose an email or Rippling did not capture one.
78
+ */
79
+ external_email?: string;
80
+ /**
81
+ * The user's display name in the third-party app, if known. Null when the app does
82
+ * not surface a separate username.
83
+ */
84
+ external_username?: string;
85
+ /**
86
+ * Whether this third-party account has been matched to a Rippling worker.
87
+ */
88
+ match_state?: 'MATCHED' | 'NOT_MATCHED' | 'IGNORED';
89
+ /**
90
+ * Provisioning lifecycle state of this account in the third-party app.
91
+ */
92
+ push_state?: 'INIT' | 'EMPLOYEE_CONFIRMATION_PENDING' | 'EMPLOYEE_CONFIRMATION_ACCEPTED' | 'EMPLOYEE_CONFIRMATION_REJECTED' | 'INVITE_PENDING' | 'INVITE_CONFIRMED' | 'INVITE_FAILED' | 'CREATE_PENDING' | 'CREATE_CONFIRMED' | 'CREATE_FAILED' | 'DELETE_PENDING' | 'DELETE_CONFIRMED' | 'DELETE_FAILED' | 'SUSPEND_PENDING' | 'SUSPEND_CONFIRMED' | 'SUSPEND_FAILED';
93
+ /**
94
+ * Identifier for the user's account in the third-party app workspace. Depending on
95
+ * the integration, this may be an email, username, account handle, or app-specific
96
+ * user id.
97
+ */
98
+ spoke_user_identifier?: string;
99
+ /**
100
+ * The Rippling worker associated with this external app account. Expanding this
101
+ * field requires both `app-users.read` and `workers.read` scopes.
102
+ *
103
+ * Expandable field
104
+ */
105
+ worker?: WorkersAPI.Worker;
106
+ /**
107
+ * ID of the Rippling worker associated with this external app account.
108
+ */
109
+ worker_id?: string;
110
+ }
111
+ /**
112
+ * Meta information for the response.
113
+ */
114
+ export interface AppUserRetrieveResponse extends BusinessPartnersAPI.Meta {
115
+ /**
116
+ * Identifier field
117
+ */
118
+ id: string;
119
+ /**
120
+ * Record creation date
121
+ */
122
+ created_at: string;
123
+ /**
124
+ * Record update date
125
+ */
126
+ updated_at: string;
127
+ /**
128
+ * Human-readable display name for the third-party app (e.g. 'Slack', 'GitHub').
129
+ * Sourced from the customer-configured SpokeOwner.app_display_name; falls back to
130
+ * a title-cased app handle when the customer hasn't set one.
131
+ */
132
+ app_display_name?: string;
133
+ /**
134
+ * Machine-readable identifier for the third-party app (e.g. 'slack', 'jira',
135
+ * 'asana'). Stable across the App Shop catalog.
136
+ */
137
+ app_handle?: string;
138
+ /**
139
+ * The user's email address in the third-party app, if known. Null when the app
140
+ * does not expose an email or Rippling did not capture one.
141
+ */
142
+ external_email?: string;
143
+ /**
144
+ * The user's display name in the third-party app, if known. Null when the app does
145
+ * not surface a separate username.
146
+ */
147
+ external_username?: string;
148
+ /**
149
+ * Whether this third-party account has been matched to a Rippling worker.
150
+ */
151
+ match_state?: 'MATCHED' | 'NOT_MATCHED' | 'IGNORED';
152
+ /**
153
+ * Provisioning lifecycle state of this account in the third-party app.
154
+ */
155
+ push_state?: 'INIT' | 'EMPLOYEE_CONFIRMATION_PENDING' | 'EMPLOYEE_CONFIRMATION_ACCEPTED' | 'EMPLOYEE_CONFIRMATION_REJECTED' | 'INVITE_PENDING' | 'INVITE_CONFIRMED' | 'INVITE_FAILED' | 'CREATE_PENDING' | 'CREATE_CONFIRMED' | 'CREATE_FAILED' | 'DELETE_PENDING' | 'DELETE_CONFIRMED' | 'DELETE_FAILED' | 'SUSPEND_PENDING' | 'SUSPEND_CONFIRMED' | 'SUSPEND_FAILED';
156
+ /**
157
+ * Identifier for the user's account in the third-party app workspace. Depending on
158
+ * the integration, this may be an email, username, account handle, or app-specific
159
+ * user id.
160
+ */
161
+ spoke_user_identifier?: string;
162
+ /**
163
+ * The Rippling worker associated with this external app account. Expanding this
164
+ * field requires both `app-users.read` and `workers.read` scopes.
165
+ *
166
+ * Expandable field
167
+ */
168
+ worker?: WorkersAPI.Worker;
169
+ /**
170
+ * ID of the Rippling worker associated with this external app account.
171
+ */
172
+ worker_id?: string;
173
+ }
174
+ export interface AppUserListParams {
175
+ cursor?: string;
176
+ expand?: string;
177
+ filter?: string;
178
+ order_by?: string;
179
+ }
180
+ export interface AppUserRetrieveParams {
181
+ expand?: string;
182
+ }
183
+ export declare namespace AppUsers {
184
+ export { type AppUserListResponse as AppUserListResponse, type AppUserRetrieveResponse as AppUserRetrieveResponse, type AppUserListResponsesPageCursorURL as AppUserListResponsesPageCursorURL, type AppUserListParams as AppUserListParams, type AppUserRetrieveParams as AppUserRetrieveParams, };
185
+ }
186
+ //# sourceMappingURL=app-users.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-users.d.mts","sourceRoot":"","sources":["../src/resources/app-users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ import { APIResource } from "../core/resource.js";
2
+ import * as BusinessPartnersAPI from "./business-partners.js";
3
+ import * as WorkersAPI from "./workers.js";
4
+ import { APIPromise } from "../core/api-promise.js";
5
+ import { PageCursorURL, PagePromise } from "../core/pagination.js";
6
+ import { RequestOptions } from "../internal/request-options.js";
7
+ /**
8
+ * Mappings between Rippling workers and their user accounts in third-party apps
9
+ */
10
+ export declare class AppUsers extends APIResource {
11
+ /**
12
+ * A list of app users.
13
+ *
14
+ * - Requires: `API Tier 1`
15
+ * - Filterable fields: `worker_id`, `spoke_user_identifier`, `app_handle`,
16
+ * `created_at`, `updated_at`
17
+ * - Expandable fields: `worker`
18
+ * - Sortable fields: `id`, `created_at`, `updated_at`
19
+ */
20
+ list(query?: AppUserListParams | null | undefined, options?: RequestOptions): PagePromise<AppUserListResponsesPageCursorURL, AppUserListResponse>;
21
+ /**
22
+ * Retrieve a specific app user
23
+ */
24
+ retrieve(id: string, query?: AppUserRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<AppUserRetrieveResponse>;
25
+ }
26
+ export type AppUserListResponsesPageCursorURL = PageCursorURL<AppUserListResponse>;
27
+ /**
28
+ * Maps a Rippling worker (if any) to their user account in a third-party
29
+ * app (e.g. Slack, Jira, GitHub). Sourced from SpokeUser records.
30
+ *
31
+ * Includes orphan accounts — third-party app accounts with no matching
32
+ * Rippling worker (`worker_id=None`, `match_state=NOT_MATCHED`). These are
33
+ * the primary signal for IT-admin triage. Uses `BaseResourceDTO` rather
34
+ * than `BaseEmployeeResourceDTO` so the platform's role-based auto-filter
35
+ * does not silently drop orphans for non-admin tokens. Company scoping is
36
+ * enforced explicitly in `AppUsersAPIViewSet.get_queryset`; the `app-users.read`
37
+ * scope is the access gate.
38
+ *
39
+ * Resource name aligns with how the product surfaces these in the UI
40
+ * ("Slack account", "GitHub account") and matches the equivalent concept
41
+ * in Okta's IAM API (AppUser).
42
+ *
43
+ * Designed for point lookups: list endpoint requires at least one filter
44
+ * on `worker_id` or `spoke_user_identifier` to prevent bulk enumeration of the
45
+ * org's identity graph across connected apps.
46
+ *
47
+ * `spoke_user_identifier` reads `SpokeUser.spokeId` — the user identifier
48
+ * stored for the third-party account. Depending on the integration, this may
49
+ * be an email, username, account handle, or app-specific user id.
50
+ */
51
+ export interface AppUserListResponse {
52
+ /**
53
+ * Identifier field
54
+ */
55
+ id: string;
56
+ /**
57
+ * Record creation date
58
+ */
59
+ created_at: string;
60
+ /**
61
+ * Record update date
62
+ */
63
+ updated_at: string;
64
+ /**
65
+ * Human-readable display name for the third-party app (e.g. 'Slack', 'GitHub').
66
+ * Sourced from the customer-configured SpokeOwner.app_display_name; falls back to
67
+ * a title-cased app handle when the customer hasn't set one.
68
+ */
69
+ app_display_name?: string;
70
+ /**
71
+ * Machine-readable identifier for the third-party app (e.g. 'slack', 'jira',
72
+ * 'asana'). Stable across the App Shop catalog.
73
+ */
74
+ app_handle?: string;
75
+ /**
76
+ * The user's email address in the third-party app, if known. Null when the app
77
+ * does not expose an email or Rippling did not capture one.
78
+ */
79
+ external_email?: string;
80
+ /**
81
+ * The user's display name in the third-party app, if known. Null when the app does
82
+ * not surface a separate username.
83
+ */
84
+ external_username?: string;
85
+ /**
86
+ * Whether this third-party account has been matched to a Rippling worker.
87
+ */
88
+ match_state?: 'MATCHED' | 'NOT_MATCHED' | 'IGNORED';
89
+ /**
90
+ * Provisioning lifecycle state of this account in the third-party app.
91
+ */
92
+ push_state?: 'INIT' | 'EMPLOYEE_CONFIRMATION_PENDING' | 'EMPLOYEE_CONFIRMATION_ACCEPTED' | 'EMPLOYEE_CONFIRMATION_REJECTED' | 'INVITE_PENDING' | 'INVITE_CONFIRMED' | 'INVITE_FAILED' | 'CREATE_PENDING' | 'CREATE_CONFIRMED' | 'CREATE_FAILED' | 'DELETE_PENDING' | 'DELETE_CONFIRMED' | 'DELETE_FAILED' | 'SUSPEND_PENDING' | 'SUSPEND_CONFIRMED' | 'SUSPEND_FAILED';
93
+ /**
94
+ * Identifier for the user's account in the third-party app workspace. Depending on
95
+ * the integration, this may be an email, username, account handle, or app-specific
96
+ * user id.
97
+ */
98
+ spoke_user_identifier?: string;
99
+ /**
100
+ * The Rippling worker associated with this external app account. Expanding this
101
+ * field requires both `app-users.read` and `workers.read` scopes.
102
+ *
103
+ * Expandable field
104
+ */
105
+ worker?: WorkersAPI.Worker;
106
+ /**
107
+ * ID of the Rippling worker associated with this external app account.
108
+ */
109
+ worker_id?: string;
110
+ }
111
+ /**
112
+ * Meta information for the response.
113
+ */
114
+ export interface AppUserRetrieveResponse extends BusinessPartnersAPI.Meta {
115
+ /**
116
+ * Identifier field
117
+ */
118
+ id: string;
119
+ /**
120
+ * Record creation date
121
+ */
122
+ created_at: string;
123
+ /**
124
+ * Record update date
125
+ */
126
+ updated_at: string;
127
+ /**
128
+ * Human-readable display name for the third-party app (e.g. 'Slack', 'GitHub').
129
+ * Sourced from the customer-configured SpokeOwner.app_display_name; falls back to
130
+ * a title-cased app handle when the customer hasn't set one.
131
+ */
132
+ app_display_name?: string;
133
+ /**
134
+ * Machine-readable identifier for the third-party app (e.g. 'slack', 'jira',
135
+ * 'asana'). Stable across the App Shop catalog.
136
+ */
137
+ app_handle?: string;
138
+ /**
139
+ * The user's email address in the third-party app, if known. Null when the app
140
+ * does not expose an email or Rippling did not capture one.
141
+ */
142
+ external_email?: string;
143
+ /**
144
+ * The user's display name in the third-party app, if known. Null when the app does
145
+ * not surface a separate username.
146
+ */
147
+ external_username?: string;
148
+ /**
149
+ * Whether this third-party account has been matched to a Rippling worker.
150
+ */
151
+ match_state?: 'MATCHED' | 'NOT_MATCHED' | 'IGNORED';
152
+ /**
153
+ * Provisioning lifecycle state of this account in the third-party app.
154
+ */
155
+ push_state?: 'INIT' | 'EMPLOYEE_CONFIRMATION_PENDING' | 'EMPLOYEE_CONFIRMATION_ACCEPTED' | 'EMPLOYEE_CONFIRMATION_REJECTED' | 'INVITE_PENDING' | 'INVITE_CONFIRMED' | 'INVITE_FAILED' | 'CREATE_PENDING' | 'CREATE_CONFIRMED' | 'CREATE_FAILED' | 'DELETE_PENDING' | 'DELETE_CONFIRMED' | 'DELETE_FAILED' | 'SUSPEND_PENDING' | 'SUSPEND_CONFIRMED' | 'SUSPEND_FAILED';
156
+ /**
157
+ * Identifier for the user's account in the third-party app workspace. Depending on
158
+ * the integration, this may be an email, username, account handle, or app-specific
159
+ * user id.
160
+ */
161
+ spoke_user_identifier?: string;
162
+ /**
163
+ * The Rippling worker associated with this external app account. Expanding this
164
+ * field requires both `app-users.read` and `workers.read` scopes.
165
+ *
166
+ * Expandable field
167
+ */
168
+ worker?: WorkersAPI.Worker;
169
+ /**
170
+ * ID of the Rippling worker associated with this external app account.
171
+ */
172
+ worker_id?: string;
173
+ }
174
+ export interface AppUserListParams {
175
+ cursor?: string;
176
+ expand?: string;
177
+ filter?: string;
178
+ order_by?: string;
179
+ }
180
+ export interface AppUserRetrieveParams {
181
+ expand?: string;
182
+ }
183
+ export declare namespace AppUsers {
184
+ export { type AppUserListResponse as AppUserListResponse, type AppUserRetrieveResponse as AppUserRetrieveResponse, type AppUserListResponsesPageCursorURL as AppUserListResponsesPageCursorURL, type AppUserListParams as AppUserListParams, type AppUserRetrieveParams as AppUserRetrieveParams, };
185
+ }
186
+ //# sourceMappingURL=app-users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-users.d.ts","sourceRoot":"","sources":["../src/resources/app-users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AppUsers = void 0;
5
+ const resource_1 = require("../core/resource.js");
6
+ const pagination_1 = require("../core/pagination.js");
7
+ const path_1 = require("../internal/utils/path.js");
8
+ /**
9
+ * Mappings between Rippling workers and their user accounts in third-party apps
10
+ */
11
+ class AppUsers extends resource_1.APIResource {
12
+ /**
13
+ * A list of app users.
14
+ *
15
+ * - Requires: `API Tier 1`
16
+ * - Filterable fields: `worker_id`, `spoke_user_identifier`, `app_handle`,
17
+ * `created_at`, `updated_at`
18
+ * - Expandable fields: `worker`
19
+ * - Sortable fields: `id`, `created_at`, `updated_at`
20
+ */
21
+ list(query = {}, options) {
22
+ return this._client.getAPIList('/app-users/', (pagination_1.PageCursorURL), { query, ...options });
23
+ }
24
+ /**
25
+ * Retrieve a specific app user
26
+ */
27
+ retrieve(id, query = {}, options) {
28
+ return this._client.get((0, path_1.path) `/app-users/${id}/`, { query, ...options });
29
+ }
30
+ }
31
+ exports.AppUsers = AppUsers;
32
+ //# sourceMappingURL=app-users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-users.js","sourceRoot":"","sources":["../src/resources/app-users.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAI/C,sDAAgE;AAEhE,oDAA8C;AAE9C;;GAEG;AACH,MAAa,QAAS,SAAQ,sBAAW;IACvC;;;;;;;;OAQG;IACH,IAAI,CACF,QAA8C,EAAE,EAChD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,0BAAkC,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,EAAU,EACV,QAAkD,EAAE,EACpD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,cAAc,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF;AA3BD,4BA2BC"}
@@ -0,0 +1,28 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { APIResource } from "../core/resource.mjs";
3
+ import { PageCursorURL } from "../core/pagination.mjs";
4
+ import { path } from "../internal/utils/path.mjs";
5
+ /**
6
+ * Mappings between Rippling workers and their user accounts in third-party apps
7
+ */
8
+ export class AppUsers extends APIResource {
9
+ /**
10
+ * A list of app users.
11
+ *
12
+ * - Requires: `API Tier 1`
13
+ * - Filterable fields: `worker_id`, `spoke_user_identifier`, `app_handle`,
14
+ * `created_at`, `updated_at`
15
+ * - Expandable fields: `worker`
16
+ * - Sortable fields: `id`, `created_at`, `updated_at`
17
+ */
18
+ list(query = {}, options) {
19
+ return this._client.getAPIList('/app-users/', (PageCursorURL), { query, ...options });
20
+ }
21
+ /**
22
+ * Retrieve a specific app user
23
+ */
24
+ retrieve(id, query = {}, options) {
25
+ return this._client.get(path `/app-users/${id}/`, { query, ...options });
26
+ }
27
+ }
28
+ //# sourceMappingURL=app-users.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-users.mjs","sourceRoot":"","sources":["../src/resources/app-users.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,WAAW,EAAE,6BAAyB;AAI/C,OAAO,EAAE,aAAa,EAAe,+BAA2B;AAEhE,OAAO,EAAE,IAAI,EAAE,mCAA+B;AAE9C;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,WAAW;IACvC;;;;;;;;OAQG;IACH,IAAI,CACF,QAA8C,EAAE,EAChD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,CAAA,aAAkC,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,EAAU,EACV,QAAkD,EAAE,EACpD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,cAAc,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF"}