@campfire-interactive/master-data-client 5.27.0 → 5.29.0

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.
@@ -1,188 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StandardAttributeResource = void 0;
4
- // Standard Attributes: the platform-owned set of vehicle and program facts a
5
- // quote carries, each with the source it came from and a full change history.
6
- // See nextgen docs/decisions/2026-09-18-standard-attributes.md.
7
- //
8
- // The catalog is landlord-owned and provisioned per tenant, and a tenant can
9
- // add its own beside the seeded ones. Nothing is ever destroyed: a tenant
10
- // ARCHIVES an attribute, which stops it being offered and leaves every recorded
11
- // value readable. `key` is immutable throughout.
12
- class StandardAttributeResource {
13
- http;
14
- constructor(http) {
15
- this.http = http;
16
- }
17
- /** Add an attribute to THIS TENANT. Filled by a person — the enrichment
18
- * pass only knows the platform catalog. */
19
- /** @deprecated Since 5.13.0 the server answers 410 Gone: standard attributes are default definitions, authored in `client.defaultAttributes` and switched per tenant with `attributeDefinitions.setEnabled`. */
20
- async create(input, idempotencyKey) {
21
- return this.http.request({
22
- method: 'POST',
23
- path: '/v1/standard-attributes',
24
- body: input,
25
- idempotencyKey,
26
- });
27
- }
28
- /** ARCHIVE one. It stops being offered and every value already recorded
29
- * against it stays readable — so this never conflicts with what is stored,
30
- * and it is reversible. */
31
- /** @deprecated Since 5.13.0 the server answers 410 Gone: standard attributes are default definitions, authored in `client.defaultAttributes` and switched per tenant with `attributeDefinitions.setEnabled`. */
32
- async archive(id) {
33
- return this.http.request({
34
- method: 'DELETE',
35
- path: `/v1/standard-attributes/${encodeURIComponent(id)}`,
36
- });
37
- }
38
- /** This tenant's attribute catalog, in display order. */
39
- async list(options) {
40
- const query = options?.enabledOnly ? '?enabledOnly=true' : '';
41
- return this.http.request({
42
- method: 'GET',
43
- path: `/v1/standard-attributes${query}`,
44
- });
45
- }
46
- /** Rename, reorder, enable or disable one attribute. `key` is immutable. */
47
- async update(id, input, idempotencyKey) {
48
- return this.http.request({
49
- method: 'PATCH',
50
- path: `/v1/standard-attributes/${encodeURIComponent(id)}`,
51
- body: input,
52
- idempotencyKey,
53
- });
54
- }
55
- /**
56
- * Quote ids whose attribute VALUES match free text.
57
- *
58
- * Prefer `quotes.list({ q })` — it matches these too, and it filters the page,
59
- * so the count and the cursor agree with what you get. Reach for this only
60
- * when you are narrowing an already-fetched list in a browser and need to know
61
- * which rows matched on an attribute rather than on a visible column.
62
- *
63
- * Enabled, active attributes only: one switched off or archived is not offered
64
- * on a quote, so a row returned because it matched one would be returned for a
65
- * reason the user cannot see anywhere on screen.
66
- */
67
- async searchQuoteIds(q) {
68
- return this.http.request({
69
- method: 'GET',
70
- path: `/v1/standard-attributes/search?q=${encodeURIComponent(q)}`,
71
- });
72
- }
73
- /** Every stored value on one quote, in catalog order. */
74
- async listValues(quoteId) {
75
- return this.http.request({
76
- method: 'GET',
77
- path: `/v1/quotes/${encodeURIComponent(quoteId)}/standard-attributes`,
78
- });
79
- }
80
- /**
81
- * Write values on a quote.
82
- *
83
- * Send the whole set in one call rather than looping: the server writes them
84
- * in a single transaction, and `onlyIfBlank` on each input is what makes the
85
- * enrichment pass fill blanks without ever overwriting a rep's correction.
86
- */
87
- async setValues(quoteId, values, idempotencyKey) {
88
- return this.http.request({
89
- method: 'PUT',
90
- path: `/v1/quotes/${encodeURIComponent(quoteId)}/standard-attributes`,
91
- body: { values },
92
- idempotencyKey,
93
- });
94
- }
95
- // ── The same three, against an opportunity ────────────────────────────────
96
- //
97
- // An opportunity's Program & Vehicle values used to be resolved live and
98
- // stored nowhere, so there was no home for a value somebody typed or for a
99
- // migration to land. These give it the same store a quote has.
100
- //
101
- // The opportunity is an OMSF record; master-data holds the values against a
102
- // loose id and does not check that it names anything. Values on an
103
- // opportunity are independent of its quotes' — a quote copies at create via
104
- // the enrichment pass and then diverges, so that an approver's figures cannot
105
- // move because somebody edited the opportunity.
106
- /** Every stored value on one opportunity, in catalog order. */
107
- async listOpportunityValues(opportunityId) {
108
- return this.http.request({
109
- method: 'GET',
110
- path: `/v1/opportunities/${encodeURIComponent(opportunityId)}/standard-attributes`,
111
- });
112
- }
113
- /** Write values on an opportunity. Send the whole set in one call. */
114
- async setOpportunityValues(opportunityId, values, idempotencyKey) {
115
- return this.http.request({
116
- method: 'PUT',
117
- path: `/v1/opportunities/${encodeURIComponent(opportunityId)}/standard-attributes`,
118
- body: { values },
119
- idempotencyKey,
120
- });
121
- }
122
- /** One attribute's timeline on an opportunity, or the whole one's when no key. */
123
- async listOpportunityHistory(opportunityId, key) {
124
- const query = key ? `?key=${encodeURIComponent(key)}` : '';
125
- return this.http.request({
126
- method: 'GET',
127
- path: `/v1/opportunities/${encodeURIComponent(opportunityId)}/standard-attributes/history${query}`,
128
- });
129
- }
130
- /** One attribute's timeline on a quote, or the whole quote's when no key. */
131
- async listHistory(quoteId, key) {
132
- const query = key ? `?key=${encodeURIComponent(key)}` : '';
133
- return this.http.request({
134
- method: 'GET',
135
- path: `/v1/quotes/${encodeURIComponent(quoteId)}/standard-attributes/history${query}`,
136
- });
137
- }
138
- // ── The landlord catalog ───────────────────────────────────────────────────
139
- /** Add an attribute to the PLATFORM catalog. Seeds NEW tenants only —
140
- * tenants already provisioned keep the copy they have. */
141
- /** @deprecated Since 5.13.0 the server answers 410 Gone: standard attributes are default definitions, authored in `client.defaultAttributes` and switched per tenant with `attributeDefinitions.setEnabled`. */
142
- async createDefault(input, idempotencyKey) {
143
- return this.http.request({
144
- method: 'POST',
145
- path: '/v1/standard-attribute-defaults',
146
- body: input,
147
- idempotencyKey,
148
- });
149
- }
150
- /** Stop seeding one into new tenants. Existing tenant copies and every value
151
- * ever recorded against the key are untouched. */
152
- /** @deprecated Since 5.13.0 the server answers 410 Gone: standard attributes are default definitions, authored in `client.defaultAttributes` and switched per tenant with `attributeDefinitions.setEnabled`. */
153
- async removeDefault(id) {
154
- return this.http.request({
155
- method: 'DELETE',
156
- path: `/v1/standard-attribute-defaults/${encodeURIComponent(id)}`,
157
- });
158
- }
159
- /**
160
- * The PLATFORM-wide defaults, in display order — what a new tenant's copy is
161
- * seeded from. Readable by any tenant; only the platform tenant can write.
162
- */
163
- async listDefaults() {
164
- return this.http.request({
165
- method: 'GET',
166
- path: '/v1/standard-attribute-defaults',
167
- });
168
- }
169
- /**
170
- * Rename or reorder one platform default.
171
- *
172
- * Changes what the NEXT tenant is seeded with. It does not reach tenants
173
- * already provisioned — their copy is theirs to name.
174
- *
175
- * `key` is immutable — it is what every stored value references.
176
- */
177
- /** @deprecated Since 5.13.0 the server answers 410 Gone: standard attributes are default definitions, authored in `client.defaultAttributes` and switched per tenant with `attributeDefinitions.setEnabled`. */
178
- async updateDefault(id, input, idempotencyKey) {
179
- return this.http.request({
180
- method: 'PATCH',
181
- path: `/v1/standard-attribute-defaults/${encodeURIComponent(id)}`,
182
- body: input,
183
- idempotencyKey,
184
- });
185
- }
186
- }
187
- exports.StandardAttributeResource = StandardAttributeResource;
188
- //# sourceMappingURL=standardAttributes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standardAttributes.js","sourceRoot":"","sources":["../src/standardAttributes.ts"],"names":[],"mappings":"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"}