feeef 0.12.1 → 0.12.2

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.
@@ -29,10 +29,42 @@ export interface StoreTemplateEntity {
29
29
  policy: TemplateComponentPolicy;
30
30
  parentId: string | null;
31
31
  version: number;
32
+ /** Marketplace enrichment (when `storeId` query is sent). */
33
+ owned?: boolean;
34
+ effectivePrice?: number;
35
+ updateAvailable?: boolean;
36
+ installedReleaseId?: string | null;
37
+ latestRelease?: StoreTemplateReleaseEntity | null;
32
38
  createdAt: any;
33
39
  updatedAt: any | null;
34
40
  deletedAt: any | null;
35
41
  }
42
+ /** Immutable published snapshot (`store_template_releases`). */
43
+ export interface StoreTemplateReleaseEntity {
44
+ id: string;
45
+ storeTemplateId: string;
46
+ version: string;
47
+ versionCode: number;
48
+ changelog: string | null;
49
+ schema?: Record<string, unknown>;
50
+ data?: Record<string, unknown>;
51
+ locales?: Record<string, unknown>;
52
+ publishedAt: any;
53
+ publishedBy?: string | null;
54
+ createdAt?: any;
55
+ updatedAt?: any | null;
56
+ }
57
+ export interface StoreTemplatePurchaseResult {
58
+ license: Record<string, unknown>;
59
+ created: boolean;
60
+ storeTemplate: StoreTemplateEntity;
61
+ }
62
+ export interface StoreTemplateReleaseCreateInput {
63
+ version?: string;
64
+ changelog?: string | null;
65
+ schema?: Record<string, unknown>;
66
+ data?: Record<string, unknown>;
67
+ }
36
68
  export interface StoreTemplateCreateInput {
37
69
  title: string;
38
70
  schema?: Record<string, unknown>;
@@ -1,6 +1,6 @@
1
1
  import { AxiosInstance } from 'axios';
2
2
  import { ListResponse, ModelRepository } from './repository.js';
3
- import { StoreTemplateEntity, StoreTemplateCreateInput, StoreTemplateUpdateInput, StoreTemplateLocaleEntity, StoreTemplateLocaleInput, StoreTemplateLocalesBundle } from '../../core/entities/store_template.js';
3
+ import { StoreTemplateEntity, StoreTemplateCreateInput, StoreTemplateUpdateInput, StoreTemplateLocaleEntity, StoreTemplateLocaleInput, StoreTemplateLocalesBundle, StoreTemplateReleaseEntity, StoreTemplatePurchaseResult, StoreTemplateReleaseCreateInput } from '../../core/entities/store_template.js';
4
4
  import { TemplateComponentPolicy } from '../../core/entities/template_component.js';
5
5
  export interface StoreTemplateListOptions {
6
6
  page?: number;
@@ -26,17 +26,35 @@ export declare class StoreTemplatesRepository extends ModelRepository<StoreTempl
26
26
  title?: string;
27
27
  }): Promise<StoreTemplateEntity>;
28
28
  /**
29
- * Set `stores.template_id` to this template (same row in `store_templates`)
30
- * and copy `data` into `store.metadata.templateData`. Does not create a new
31
- * `store_templates` row — use [fork] to duplicate a template into a store.
29
+ * Set `stores.template_id` (+ optional release pin) and copy release/listing
30
+ * `data` into `store.metadata.templateData`. Paid listings require a license.
32
31
  */
33
32
  install(options: {
34
33
  fromId: string;
35
34
  storeId: string;
35
+ releaseId?: string;
36
36
  }): Promise<{
37
37
  storeTemplate: StoreTemplateEntity;
38
38
  store: Record<string, unknown>;
39
+ release?: StoreTemplateReleaseEntity | null;
40
+ license?: Record<string, unknown> | null;
39
41
  }>;
42
+ /** One-time wallet purchase → forever store license. */
43
+ purchase(options: {
44
+ fromId: string;
45
+ storeId: string;
46
+ }): Promise<StoreTemplatePurchaseResult>;
47
+ /** List immutable releases (newest first). */
48
+ listReleases(templateId: string, options?: {
49
+ storeId?: string;
50
+ }): Promise<{
51
+ data: StoreTemplateReleaseEntity[];
52
+ }>;
53
+ getRelease(templateId: string, releaseId: string, options?: {
54
+ storeId?: string;
55
+ }): Promise<StoreTemplateReleaseEntity>;
56
+ /** Author publishes a new immutable release. */
57
+ createRelease(templateId: string, input: StoreTemplateReleaseCreateInput): Promise<StoreTemplateReleaseEntity>;
40
58
  /** GET locales bundle (`defaultLocale`, `locales`, `messages`). */
41
59
  listLocales(templateId: string): Promise<StoreTemplateLocalesBundle>;
42
60
  /** Create one locale row. */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "feeef",
3
3
  "description": "feeef sdk for javascript",
4
- "version": "0.12.1",
4
+ "version": "0.12.2",
5
5
  "main": "build/index.js",
6
6
  "type": "module",
7
7
  "files": [