@cyc-seattle/platform 1.41.0 → 1.42.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.
@@ -2,7 +2,11 @@
2
2
  export interface Schema {
3
3
  accounts: Accounts[];
4
4
  audit_findings: AuditFindings[];
5
+ boat_charters: BoatCharters[];
5
6
  boat_classes: BoatClasses[];
7
+ boat_damage: BoatDamage[];
8
+ boat_stage_changes: BoatStageChanges[];
9
+ boats: Boats[];
6
10
  catalog_offerings: CatalogOfferings[];
7
11
  clubspot_camps: ClubspotCamps[];
8
12
  clubspot_classes: ClubspotClasses[];
@@ -68,9 +72,12 @@ export interface Schema {
68
72
  registrations: Registrations[];
69
73
  resource_kinds: ResourceKinds[];
70
74
  schools: Schools[];
75
+ storage_agreements: StorageAgreements[];
76
+ storage_spaces: StorageSpaces[];
71
77
  sync_leases: SyncLeases[];
72
78
  sync_runs: SyncRuns[];
73
79
  sync_tasks: SyncTasks[];
80
+ terms: Terms[];
74
81
  venues: Venues[];
75
82
  version_set_members: VersionSetMembers[];
76
83
  version_sets: VersionSets[];
@@ -125,6 +132,21 @@ export interface AuditFindings {
125
132
  /** Identifies the finding, so a dismissal survives the next run. */
126
133
  fingerprint: string;
127
134
  }
135
+ /** Which sailor charters which boat each term. */
136
+ export interface BoatCharters {
137
+ id: string;
138
+ boat_id: string | Boats;
139
+ person_id: string | People;
140
+ term_id: string | Terms;
141
+ /** The charter product the boat's costs go to. */
142
+ product_id: string | Products;
143
+ starts_on: string;
144
+ ends_on: string;
145
+ /** What the sailor pays for the charter. In cents: 12500 is $125.00. */
146
+ fee_cents: number;
147
+ /** A link to the signed charter agreement. */
148
+ agreement_url: string | null;
149
+ }
128
150
  /** A kind of boat offerings sail, such as Opti or 420. */
129
151
  export interface BoatClasses {
130
152
  id: string;
@@ -133,6 +155,51 @@ export interface BoatClasses {
133
155
  /** Dry-storage area one boat takes. */
134
156
  footprint_sq_ft: string | null;
135
157
  }
158
+ /** Damage to CSC's boats, what it cost to repair, and what the sailor was charged. */
159
+ export interface BoatDamage {
160
+ id: string;
161
+ boat_id: string | Boats;
162
+ occurred_on: string;
163
+ description: string;
164
+ status: "open" | "repaired" | "written_off";
165
+ /** What the repair cost, or will cost. In cents: 12500 is $125.00. */
166
+ repair_cost_cents: number | null;
167
+ /** The sailor charged for the damage, if anyone is. */
168
+ person_id: string | People | null;
169
+ /** What the sailor was charged. In cents: 12500 is $125.00. */
170
+ charged_cents: number | null;
171
+ }
172
+ /** When each boat started its charter life, moved to its beginner life, or retired. A boat's stage is its latest row. Add a row to move a boat on. A row can't be changed once it's added. */
173
+ export interface BoatStageChanges {
174
+ id: string;
175
+ boat_id: string | Boats;
176
+ /** A boat wears down over its charter life, then its beginner life. */
177
+ stage: "charter" | "beginner" | "retired";
178
+ changed_on: string;
179
+ /** Why it moved, such as hull damage. */
180
+ note: string | null;
181
+ }
182
+ /** Each of CSC's own boats. Sailors' own boats aren't listed here. */
183
+ export interface Boats {
184
+ id: string;
185
+ boat_class_id: string | BoatClasses;
186
+ sail_number: string | null;
187
+ /** The hull identification number on the transom. */
188
+ hull_number: string;
189
+ /** The boat's name, if it has one. */
190
+ name: string | null;
191
+ acquired_how: "bought" | "donated";
192
+ /** What CSC paid, or what a donated boat was worth when it arrived. In cents: 12500 is $125.00. */
193
+ value_cents: number;
194
+ /** The day CSC got the boat. */
195
+ acquired_on: string | null;
196
+ /** The day the boat first sailed in a program. */
197
+ in_service_on: string | null;
198
+ storage_space_id: string | StorageSpaces | null;
199
+ note: string | null;
200
+ stage_changes: (string | BoatStageChanges)[];
201
+ damage: (string | BoatDamage)[];
202
+ }
136
203
  /** An offering of a program that plans and Clubspot both point to, such as "J-Pod · fall practices" or "Summer camp · week 3". Each Financial Plan sets its own price, schedule, and size for it, and Clubspot's offerings are linked to it. */
137
204
  export interface CatalogOfferings {
138
205
  id: string;
@@ -1067,6 +1134,35 @@ export interface Schools {
1067
1134
  /** Other ways families write this school on their Clubspot forms. An answer matching the name or one of these, ignoring capitals and punctuation and counting a run of spaces as one, is this school. Anything else is kept as their own words. */
1068
1135
  aliases: string[] | null;
1069
1136
  }
1137
+ /** Storage CSC sells to sailors for their own boats. */
1138
+ export interface StorageAgreements {
1139
+ id: string;
1140
+ person_id: string | People;
1141
+ storage_space_id: string | StorageSpaces;
1142
+ /** The storage product the agreement is sold as. */
1143
+ product_id: string | Products;
1144
+ /** The sailor's own boat, such as its class and sail number. */
1145
+ boat_description: string | null;
1146
+ starts_on: string;
1147
+ /** Empty while the agreement runs on. */
1148
+ ends_on: string | null;
1149
+ /** What the sailor pays for the agreement. In cents: 12500 is $125.00. */
1150
+ fee_cents: number;
1151
+ /** A link to the signed storage agreement. */
1152
+ agreement_url: string | null;
1153
+ }
1154
+ /** The racks and deck space CSC keeps boats on, each for one boat class. */
1155
+ export interface StorageSpaces {
1156
+ id: string;
1157
+ kind: "rack" | "deck";
1158
+ /** Where it is, such as Rack 3 or North deck. */
1159
+ location: string;
1160
+ boat_class_id: string | BoatClasses;
1161
+ /** How many boats it holds. */
1162
+ capacity: number;
1163
+ /** The floor space it takes. */
1164
+ footprint_sq_ft: string | null;
1165
+ }
1070
1166
  /** Which syncs are running now. A sync holds its queue while it runs, so a second run waits its turn. Written by the syncs. */
1071
1167
  export interface SyncLeases {
1072
1168
  id: string;
@@ -1108,6 +1204,16 @@ export interface SyncTasks {
1108
1204
  /** Set once the task has failed too many times. It keeps retrying; this flags it for staff. */
1109
1205
  needs_attention: boolean;
1110
1206
  }
1207
+ /** A season of the year, such as Fall 2026, that boat charters and boat costs count in. */
1208
+ export interface Terms {
1209
+ id: string;
1210
+ /** Such as Fall 2026. */
1211
+ name: string;
1212
+ starts_on: string;
1213
+ ends_on: string;
1214
+ /** The day a program director closed the term, so its boat costs stop changing. Clear it to reopen the term. */
1215
+ closed_on: string | null;
1216
+ }
1111
1217
  /** Where events are sailed, and who runs each place. Only an admin changes them. */
1112
1218
  export interface Venues {
1113
1219
  id: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyc-seattle/platform",
3
- "version": "1.41.0",
3
+ "version": "1.42.0",
4
4
  "description": "Pulumi components for CYC's shared Google Cloud platform: WebService, the platform outputs reader, and the stacks that build the platform",
5
5
  "author": "CYC Community Sailing Center",
6
6
  "license": "Apache-2.0",