academe-kit 0.3.8 → 0.3.9

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.
@@ -4760,7 +4760,7 @@ export interface paths {
4760
4760
  };
4761
4761
  trace?: never;
4762
4762
  };
4763
- "/plans": {
4763
+ "/products": {
4764
4764
  parameters: {
4765
4765
  query?: never;
4766
4766
  header?: never;
@@ -4768,14 +4768,20 @@ export interface paths {
4768
4768
  cookie?: never;
4769
4769
  };
4770
4770
  /**
4771
- * Get all plans
4772
- * @description Retrieve a list of all subscription plans
4771
+ * List all products
4772
+ * @description Retrieve a paginated list of all products
4773
4773
  */
4774
4774
  get: {
4775
4775
  parameters: {
4776
4776
  query?: {
4777
- /** @description Search plans by name or code */
4777
+ /** @description Filter by product name (partial match) */
4778
+ name?: string;
4779
+ /** @description Search products by name */
4778
4780
  search?: string;
4781
+ /** @description Page number */
4782
+ page?: number;
4783
+ /** @description Number of items per page */
4784
+ limit?: number;
4779
4785
  };
4780
4786
  header?: never;
4781
4787
  path?: never;
@@ -4783,21 +4789,33 @@ export interface paths {
4783
4789
  };
4784
4790
  requestBody?: never;
4785
4791
  responses: {
4786
- /** @description List of plans */
4792
+ /** @description List of products */
4787
4793
  200: {
4788
4794
  headers: {
4789
4795
  [name: string]: unknown;
4790
4796
  };
4791
4797
  content: {
4792
- "application/json": components["schemas"]["Plan"][];
4798
+ "application/json": {
4799
+ /** @example success */
4800
+ status?: string;
4801
+ data?: components["schemas"]["Product"][];
4802
+ meta?: {
4803
+ total?: number;
4804
+ page?: number;
4805
+ limit?: number;
4806
+ totalPages?: number;
4807
+ };
4808
+ };
4793
4809
  };
4794
4810
  };
4811
+ 401: components["responses"]["Unauthorized"];
4812
+ 500: components["responses"]["ServerError"];
4795
4813
  };
4796
4814
  };
4797
4815
  put?: never;
4798
4816
  /**
4799
- * Create a new plan
4800
- * @description Create a new subscription plan
4817
+ * Create a new product
4818
+ * @description Create a new product in the system
4801
4819
  */
4802
4820
  post: {
4803
4821
  parameters: {
@@ -4808,26 +4826,40 @@ export interface paths {
4808
4826
  };
4809
4827
  requestBody: {
4810
4828
  content: {
4811
- "application/json": components["schemas"]["CreatePlanDto"];
4829
+ "application/json": components["schemas"]["CreateProductDto"];
4812
4830
  };
4813
4831
  };
4814
4832
  responses: {
4815
- /** @description Plan created successfully */
4833
+ /** @description Product created successfully */
4816
4834
  201: {
4817
4835
  headers: {
4818
4836
  [name: string]: unknown;
4819
4837
  };
4820
4838
  content: {
4821
- "application/json": components["schemas"]["Plan"];
4839
+ "application/json": {
4840
+ /** @example success */
4841
+ status?: string;
4842
+ data?: components["schemas"]["Product"];
4843
+ };
4822
4844
  };
4823
4845
  };
4824
- /** @description Plan with this code already exists */
4846
+ 400: components["responses"]["BadRequest"];
4847
+ 401: components["responses"]["Unauthorized"];
4848
+ /** @description Product with this name already exists */
4825
4849
  409: {
4826
4850
  headers: {
4827
4851
  [name: string]: unknown;
4828
4852
  };
4829
- content?: never;
4853
+ content: {
4854
+ "application/json": {
4855
+ /** @example error */
4856
+ status?: string;
4857
+ /** @example Product with this name already exists */
4858
+ message?: string;
4859
+ };
4860
+ };
4830
4861
  };
4862
+ 500: components["responses"]["ServerError"];
4831
4863
  };
4832
4864
  };
4833
4865
  delete?: never;
@@ -4836,7 +4868,7 @@ export interface paths {
4836
4868
  patch?: never;
4837
4869
  trace?: never;
4838
4870
  };
4839
- "/plans/{id}": {
4871
+ "/products/{id}": {
4840
4872
  parameters: {
4841
4873
  query?: never;
4842
4874
  header?: never;
@@ -4844,111 +4876,117 @@ export interface paths {
4844
4876
  cookie?: never;
4845
4877
  };
4846
4878
  /**
4847
- * Get a plan by ID
4848
- * @description Retrieve details of a specific plan
4879
+ * Get product by ID
4880
+ * @description Retrieve detailed information about a specific product including associated seats
4849
4881
  */
4850
4882
  get: {
4851
4883
  parameters: {
4852
4884
  query?: never;
4853
4885
  header?: never;
4854
4886
  path: {
4855
- /** @description Plan ID */
4887
+ /** @description Product ID */
4856
4888
  id: string;
4857
4889
  };
4858
4890
  cookie?: never;
4859
4891
  };
4860
4892
  requestBody?: never;
4861
4893
  responses: {
4862
- /** @description Plan found */
4894
+ /** @description Product information */
4863
4895
  200: {
4864
4896
  headers: {
4865
4897
  [name: string]: unknown;
4866
4898
  };
4867
4899
  content: {
4868
- "application/json": components["schemas"]["Plan"];
4869
- };
4870
- };
4871
- /** @description Plan not found */
4872
- 404: {
4873
- headers: {
4874
- [name: string]: unknown;
4900
+ "application/json": {
4901
+ /** @example success */
4902
+ status?: string;
4903
+ data?: components["schemas"]["Product"];
4904
+ };
4875
4905
  };
4876
- content?: never;
4877
4906
  };
4907
+ 400: components["responses"]["BadRequest"];
4908
+ 401: components["responses"]["Unauthorized"];
4909
+ 404: components["responses"]["NotFound"];
4910
+ 500: components["responses"]["ServerError"];
4878
4911
  };
4879
4912
  };
4880
4913
  put?: never;
4881
4914
  post?: never;
4882
4915
  /**
4883
- * Delete a plan
4884
- * @description Delete an existing plan
4916
+ * Delete product
4917
+ * @description Remove a product from the system
4885
4918
  */
4886
4919
  delete: {
4887
4920
  parameters: {
4888
4921
  query?: never;
4889
4922
  header?: never;
4890
4923
  path: {
4891
- /** @description Plan ID */
4924
+ /** @description Product ID */
4892
4925
  id: string;
4893
4926
  };
4894
4927
  cookie?: never;
4895
4928
  };
4896
4929
  requestBody?: never;
4897
4930
  responses: {
4898
- /** @description Plan deleted successfully */
4931
+ /** @description Product deleted successfully */
4899
4932
  204: {
4900
4933
  headers: {
4901
4934
  [name: string]: unknown;
4902
4935
  };
4903
4936
  content?: never;
4904
4937
  };
4905
- /** @description Plan not found */
4906
- 404: {
4907
- headers: {
4908
- [name: string]: unknown;
4909
- };
4910
- content?: never;
4911
- };
4938
+ 400: components["responses"]["BadRequest"];
4939
+ 401: components["responses"]["Unauthorized"];
4940
+ 404: components["responses"]["NotFound"];
4941
+ 500: components["responses"]["ServerError"];
4912
4942
  };
4913
4943
  };
4914
4944
  options?: never;
4915
4945
  head?: never;
4916
4946
  /**
4917
- * Update a plan
4918
- * @description Update an existing plan
4947
+ * Update product
4948
+ * @description Update product information
4919
4949
  */
4920
4950
  patch: {
4921
4951
  parameters: {
4922
4952
  query?: never;
4923
4953
  header?: never;
4924
4954
  path: {
4925
- /** @description Plan ID */
4955
+ /** @description Product ID */
4926
4956
  id: string;
4927
4957
  };
4928
4958
  cookie?: never;
4929
4959
  };
4930
4960
  requestBody: {
4931
4961
  content: {
4932
- "application/json": components["schemas"]["UpdatePlanDto"];
4962
+ "application/json": components["schemas"]["UpdateProductDto"];
4933
4963
  };
4934
4964
  };
4935
4965
  responses: {
4936
- /** @description Plan updated successfully */
4966
+ /** @description Product updated successfully */
4937
4967
  200: {
4938
4968
  headers: {
4939
4969
  [name: string]: unknown;
4940
4970
  };
4941
4971
  content: {
4942
- "application/json": components["schemas"]["Plan"];
4972
+ "application/json": {
4973
+ /** @example success */
4974
+ status?: string;
4975
+ data?: components["schemas"]["Product"];
4976
+ };
4943
4977
  };
4944
4978
  };
4945
- /** @description Plan not found */
4946
- 404: {
4979
+ 400: components["responses"]["BadRequest"];
4980
+ 401: components["responses"]["Unauthorized"];
4981
+ 404: components["responses"]["NotFound"];
4982
+ /** @description Product with this name already exists */
4983
+ 409: {
4947
4984
  headers: {
4948
4985
  [name: string]: unknown;
4949
4986
  };
4950
4987
  content?: never;
4951
4988
  };
4989
+ 500: components["responses"]["ServerError"];
4952
4990
  };
4953
4991
  };
4954
4992
  trace?: never;
@@ -7345,203 +7383,6 @@ export interface paths {
7345
7383
  };
7346
7384
  trace?: never;
7347
7385
  };
7348
- "/subscriptions": {
7349
- parameters: {
7350
- query?: never;
7351
- header?: never;
7352
- path?: never;
7353
- cookie?: never;
7354
- };
7355
- /**
7356
- * Get all subscriptions
7357
- * @description Retrieve a list of all subscriptions with optional filters
7358
- */
7359
- get: {
7360
- parameters: {
7361
- query?: {
7362
- /** @description Filter by plan ID */
7363
- planId?: string;
7364
- /** @description Filter by institution ID */
7365
- institutionId?: string;
7366
- /** @description Filter by group ID */
7367
- groupId?: string;
7368
- };
7369
- header?: never;
7370
- path?: never;
7371
- cookie?: never;
7372
- };
7373
- requestBody?: never;
7374
- responses: {
7375
- /** @description List of subscriptions */
7376
- 200: {
7377
- headers: {
7378
- [name: string]: unknown;
7379
- };
7380
- content: {
7381
- "application/json": components["schemas"]["Subscription"][];
7382
- };
7383
- };
7384
- };
7385
- };
7386
- put?: never;
7387
- /**
7388
- * Create a new subscription
7389
- * @description Create a subscription linking a plan to an institution or group
7390
- */
7391
- post: {
7392
- parameters: {
7393
- query?: never;
7394
- header?: never;
7395
- path?: never;
7396
- cookie?: never;
7397
- };
7398
- requestBody: {
7399
- content: {
7400
- "application/json": components["schemas"]["CreateSubscriptionDto"];
7401
- };
7402
- };
7403
- responses: {
7404
- /** @description Subscription created successfully */
7405
- 201: {
7406
- headers: {
7407
- [name: string]: unknown;
7408
- };
7409
- content: {
7410
- "application/json": components["schemas"]["Subscription"];
7411
- };
7412
- };
7413
- /** @description Invalid request (missing required fields) */
7414
- 400: {
7415
- headers: {
7416
- [name: string]: unknown;
7417
- };
7418
- content?: never;
7419
- };
7420
- };
7421
- };
7422
- delete?: never;
7423
- options?: never;
7424
- head?: never;
7425
- patch?: never;
7426
- trace?: never;
7427
- };
7428
- "/subscriptions/{id}": {
7429
- parameters: {
7430
- query?: never;
7431
- header?: never;
7432
- path?: never;
7433
- cookie?: never;
7434
- };
7435
- /**
7436
- * Get a subscription by ID
7437
- * @description Retrieve details of a specific subscription
7438
- */
7439
- get: {
7440
- parameters: {
7441
- query?: never;
7442
- header?: never;
7443
- path: {
7444
- /** @description Subscription ID */
7445
- id: string;
7446
- };
7447
- cookie?: never;
7448
- };
7449
- requestBody?: never;
7450
- responses: {
7451
- /** @description Subscription found */
7452
- 200: {
7453
- headers: {
7454
- [name: string]: unknown;
7455
- };
7456
- content: {
7457
- "application/json": components["schemas"]["Subscription"];
7458
- };
7459
- };
7460
- /** @description Subscription not found */
7461
- 404: {
7462
- headers: {
7463
- [name: string]: unknown;
7464
- };
7465
- content?: never;
7466
- };
7467
- };
7468
- };
7469
- put?: never;
7470
- post?: never;
7471
- /**
7472
- * Delete a subscription
7473
- * @description Delete an existing subscription
7474
- */
7475
- delete: {
7476
- parameters: {
7477
- query?: never;
7478
- header?: never;
7479
- path: {
7480
- /** @description Subscription ID */
7481
- id: string;
7482
- };
7483
- cookie?: never;
7484
- };
7485
- requestBody?: never;
7486
- responses: {
7487
- /** @description Subscription deleted successfully */
7488
- 204: {
7489
- headers: {
7490
- [name: string]: unknown;
7491
- };
7492
- content?: never;
7493
- };
7494
- /** @description Subscription not found */
7495
- 404: {
7496
- headers: {
7497
- [name: string]: unknown;
7498
- };
7499
- content?: never;
7500
- };
7501
- };
7502
- };
7503
- options?: never;
7504
- head?: never;
7505
- /**
7506
- * Update a subscription
7507
- * @description Update an existing subscription
7508
- */
7509
- patch: {
7510
- parameters: {
7511
- query?: never;
7512
- header?: never;
7513
- path: {
7514
- /** @description Subscription ID */
7515
- id: string;
7516
- };
7517
- cookie?: never;
7518
- };
7519
- requestBody: {
7520
- content: {
7521
- "application/json": components["schemas"]["UpdateSubscriptionDto"];
7522
- };
7523
- };
7524
- responses: {
7525
- /** @description Subscription updated successfully */
7526
- 200: {
7527
- headers: {
7528
- [name: string]: unknown;
7529
- };
7530
- content: {
7531
- "application/json": components["schemas"]["Subscription"];
7532
- };
7533
- };
7534
- /** @description Subscription not found */
7535
- 404: {
7536
- headers: {
7537
- [name: string]: unknown;
7538
- };
7539
- content?: never;
7540
- };
7541
- };
7542
- };
7543
- trace?: never;
7544
- };
7545
7386
  "/superset/dashboard/{dash_id}": {
7546
7387
  parameters: {
7547
7388
  query?: never;
@@ -9263,6 +9104,11 @@ export interface components {
9263
9104
  * @description Group ID
9264
9105
  */
9265
9106
  groupId?: string;
9107
+ /**
9108
+ * Format: uuid
9109
+ * @description Product ID associated with this seat
9110
+ */
9111
+ productId?: string;
9266
9112
  /** @description Available quantity for this group in the institution */
9267
9113
  availableQuantity?: number;
9268
9114
  /** @description Number of users currently assigned to this group in the institution */
@@ -9272,6 +9118,7 @@ export interface components {
9272
9118
  /** Format: date-time */
9273
9119
  updatedAt?: string;
9274
9120
  group?: components["schemas"]["Group"];
9121
+ product?: components["schemas"]["Product"];
9275
9122
  };
9276
9123
  CreateSeatsDto: {
9277
9124
  /**
@@ -9279,6 +9126,11 @@ export interface components {
9279
9126
  * @description Group ID to associate with the institution
9280
9127
  */
9281
9128
  groupId: string;
9129
+ /**
9130
+ * Format: uuid
9131
+ * @description Product ID to associate with the seat
9132
+ */
9133
+ productId: string;
9282
9134
  /**
9283
9135
  * @description Available quantity for this group
9284
9136
  * @default 0
@@ -9289,75 +9141,65 @@ export interface components {
9289
9141
  /** @description New available quantity for this group */
9290
9142
  availableQuantity: number;
9291
9143
  };
9292
- Plan: {
9144
+ /**
9145
+ * @example {
9146
+ * "id": "550e8400-e29b-41d4-a716-446655440000",
9147
+ * "name": "Premium Plan",
9148
+ * "description": "Full access to all platform features",
9149
+ * "createdAt": "2024-01-15T10:30:00Z",
9150
+ * "updatedAt": "2024-01-15T10:30:00Z"
9151
+ * }
9152
+ */
9153
+ Product: {
9293
9154
  /**
9294
9155
  * Format: uuid
9295
- * @description Unique identifier for the plan
9296
- */
9297
- id: string;
9298
- /**
9299
- * @description Unique code for the plan (e.g., gold_plan, free_tier)
9300
- * @example gold_plan
9156
+ * @description Unique identifier of the product
9301
9157
  */
9302
- code: string;
9303
- /**
9304
- * @description Display name of the plan
9305
- * @example Plano Gold
9306
- */
9307
- name: string;
9308
- /**
9309
- * @description JSON object with plan settings and configurations
9310
- * @example {
9311
- * "maxUsers": 100,
9312
- * "features": [
9313
- * "analytics",
9314
- * "support"
9315
- * ]
9316
- * }
9317
- */
9318
- settings: Record<string, never>;
9319
- /**
9320
- * @description Whether the plan is currently active
9321
- * @default true
9322
- */
9323
- isActive: boolean;
9158
+ id?: string;
9159
+ /** @description Name of the product */
9160
+ name?: string;
9161
+ /** @description Description of the product */
9162
+ description?: string | null;
9324
9163
  /**
9325
9164
  * Format: date-time
9326
- * @description Timestamp when the plan was created
9165
+ * @description Creation timestamp
9327
9166
  */
9328
9167
  createdAt?: string;
9329
- };
9330
- CreatePlanDto: {
9331
9168
  /**
9332
- * @description Unique code for the plan
9333
- * @example gold_plan
9169
+ * Format: date-time
9170
+ * @description Last update timestamp
9334
9171
  */
9335
- code: string;
9172
+ updatedAt?: string;
9173
+ };
9174
+ /**
9175
+ * @example {
9176
+ * "id": "550e8400-e29b-41d4-a716-446655440000",
9177
+ * "name": "Premium Plan",
9178
+ * "description": "Full access to all platform features"
9179
+ * }
9180
+ */
9181
+ CreateProductDto: {
9336
9182
  /**
9337
- * @description Display name of the plan
9338
- * @example Plano Gold
9183
+ * Format: uuid
9184
+ * @description Optional custom UUID for the product (auto-generated if not provided)
9339
9185
  */
9186
+ id?: string;
9187
+ /** @description Name of the product */
9340
9188
  name: string;
9341
- /**
9342
- * @description JSON object with plan settings
9343
- * @example {
9344
- * "maxUsers": 100
9345
- * }
9346
- */
9347
- settings?: Record<string, never>;
9348
- /**
9349
- * @description Whether the plan is active
9350
- * @default true
9351
- */
9352
- isActive: boolean;
9189
+ /** @description Description of the product */
9190
+ description?: string;
9353
9191
  };
9354
- UpdatePlanDto: {
9355
- /** @description Display name of the plan */
9192
+ /**
9193
+ * @example {
9194
+ * "name": "Premium Plan Updated",
9195
+ * "description": "Updated description"
9196
+ * }
9197
+ */
9198
+ UpdateProductDto: {
9199
+ /** @description Name of the product */
9356
9200
  name?: string;
9357
- /** @description JSON object with plan settings */
9358
- settings?: Record<string, never>;
9359
- /** @description Whether the plan is active */
9360
- isActive?: boolean;
9201
+ /** @description Description of the product */
9202
+ description?: string;
9361
9203
  };
9362
9204
  StudentWithClass: {
9363
9205
  /** Format: uuid */
@@ -9442,71 +9284,6 @@ export interface components {
9442
9284
  totalStudents?: number;
9443
9285
  year?: number;
9444
9286
  };
9445
- Subscription: {
9446
- /**
9447
- * Format: uuid
9448
- * @description Unique identifier for the subscription
9449
- */
9450
- id: string;
9451
- /**
9452
- * Format: uuid
9453
- * @description ID of the associated plan
9454
- */
9455
- planId: string;
9456
- /**
9457
- * Format: uuid
9458
- * @description ID of the associated institution (optional)
9459
- */
9460
- institutionId?: string | null;
9461
- /**
9462
- * Format: uuid
9463
- * @description ID of the associated group (optional)
9464
- */
9465
- groupId?: string | null;
9466
- /**
9467
- * Format: date-time
9468
- * @description Timestamp when the subscription was created
9469
- */
9470
- createdAt?: string;
9471
- plan?: components["schemas"]["Plan"];
9472
- institution?: components["schemas"]["Institution"];
9473
- group?: components["schemas"]["Group"];
9474
- };
9475
- /** @description At least one of institutionId or groupId must be provided */
9476
- CreateSubscriptionDto: {
9477
- /**
9478
- * Format: uuid
9479
- * @description ID of the plan to subscribe to
9480
- */
9481
- planId: string;
9482
- /**
9483
- * Format: uuid
9484
- * @description ID of the institution (required if groupId is not provided)
9485
- */
9486
- institutionId?: string | null;
9487
- /**
9488
- * Format: uuid
9489
- * @description ID of the group (required if institutionId is not provided)
9490
- */
9491
- groupId?: string | null;
9492
- };
9493
- UpdateSubscriptionDto: {
9494
- /**
9495
- * Format: uuid
9496
- * @description ID of the plan
9497
- */
9498
- planId?: string;
9499
- /**
9500
- * Format: uuid
9501
- * @description ID of the institution
9502
- */
9503
- institutionId?: string | null;
9504
- /**
9505
- * Format: uuid
9506
- * @description ID of the group
9507
- */
9508
- groupId?: string | null;
9509
- };
9510
9287
  CreateUserDto: {
9511
9288
  /** @example John */
9512
9289
  firstName: string;
@@ -9548,6 +9325,12 @@ export interface components {
9548
9325
  * @example 550e8400-e29b-41d4-a716-446655440001
9549
9326
  */
9550
9327
  institutionId?: string;
9328
+ /**
9329
+ * Format: uuid
9330
+ * @description Optional guardian ID to associate the user with a guardian
9331
+ * @example 550e8400-e29b-41d4-a716-446655440002
9332
+ */
9333
+ guardianId?: string;
9551
9334
  };
9552
9335
  UserResponse: components["schemas"]["User"];
9553
9336
  CreateInstitutionDto: {