Skip to content

Commit c5821d9

Browse files
committed
bring models back
1 parent e7cfad5 commit c5821d9

File tree

12 files changed

+276
-136
lines changed

12 files changed

+276
-136
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.flagsmith.flagengine.environments;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.flagsmith.flagengine.features.FeatureStateModel;
5+
import com.flagsmith.flagengine.identities.IdentityModel;
6+
import com.flagsmith.flagengine.projects.ProjectModel;
7+
import com.flagsmith.utils.models.BaseModel;
8+
import java.util.List;
9+
import lombok.Data;
10+
11+
@Data
12+
public class EnvironmentModel extends BaseModel {
13+
private Integer id;
14+
15+
@JsonProperty("api_key")
16+
private String apiKey;
17+
18+
@JsonProperty("name")
19+
private String name;
20+
21+
private ProjectModel project;
22+
23+
@JsonProperty("feature_states")
24+
private List<FeatureStateModel> featureStates;
25+
26+
@JsonProperty("identity_overrides")
27+
private List<IdentityModel> identityOverrides;
28+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.flagsmith.flagengine.features;
2+
3+
import lombok.Data;
4+
5+
@Data
6+
public class FeatureModel {
7+
private Integer id;
8+
private String name;
9+
private String type;
10+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.flagsmith.flagengine.features;
2+
3+
import com.flagsmith.flagengine.utils.models.BaseModel;
4+
import lombok.Data;
5+
6+
@Data
7+
public class FeatureSegmentModel extends BaseModel {
8+
private Integer priority;
9+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.flagsmith.flagengine.features;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.flagsmith.utils.models.BaseModel;
5+
import java.util.List;
6+
import java.util.UUID;
7+
import lombok.Data;
8+
9+
@Data
10+
public class FeatureStateModel extends BaseModel {
11+
private FeatureModel feature;
12+
private Boolean enabled;
13+
@JsonProperty("django_id")
14+
private Integer djangoId;
15+
@JsonProperty("featurestate_uuid")
16+
private String featurestateUuid = UUID.randomUUID().toString();
17+
@JsonProperty("multivariate_feature_state_values")
18+
private List<MultivariateFeatureStateValueModel> multivariateFeatureStateValues;
19+
@JsonProperty("feature_state_value")
20+
private Object value;
21+
@JsonProperty("feature_segment")
22+
private FeatureSegmentModel featureSegment;
23+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.flagsmith.flagengine.features;
2+
3+
import com.flagsmith.utils.models.BaseModel;
4+
import lombok.Data;
5+
6+
@Data
7+
public class MultivariateFeatureOptionModel extends BaseModel {
8+
private String value;
9+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.flagsmith.flagengine.features;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.flagsmith.utils.models.BaseModel;
5+
import java.util.UUID;
6+
import lombok.Data;
7+
8+
@Data
9+
public class MultivariateFeatureStateValueModel extends BaseModel {
10+
@JsonProperty("multivariate_feature_option")
11+
private MultivariateFeatureOptionModel multivariateFeatureOption;
12+
@JsonProperty("percentage_allocation")
13+
private Float percentageAllocation;
14+
private Integer id;
15+
@JsonProperty("mv_fs_value_uuid")
16+
private String mvFsValueUuid = UUID.randomUUID().toString();
17+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.flagsmith.flagengine.identities;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.flagsmith.flagengine.features.FeatureStateModel;
5+
import com.flagsmith.utils.models.BaseModel;
6+
import java.sql.Date;
7+
import java.util.ArrayList;
8+
import java.util.List;
9+
import java.util.UUID;
10+
import lombok.Data;
11+
12+
@Data
13+
public class IdentityModel extends BaseModel {
14+
@JsonProperty("django_id")
15+
private Integer djangoId;
16+
private String identifier;
17+
@JsonProperty("created_date")
18+
private Date createdDate;
19+
@JsonProperty("identity_uuid")
20+
private String identityUuid = UUID.randomUUID().toString();
21+
@JsonProperty("identity_features")
22+
private List<FeatureStateModel> identityFeatures = new ArrayList<>();
23+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.flagsmith.flagengine.projects;
2+
3+
import com.flagsmith.flagengine.segments.SegmentModel;
4+
import com.flagsmith.utils.models.BaseModel;
5+
import java.util.List;
6+
import lombok.Data;
7+
8+
@Data
9+
public class ProjectModel extends BaseModel {
10+
private List<SegmentModel> segments;
11+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.flagsmith.flagengine.segments;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.flagsmith.flagengine.segments.constants.SegmentConditions;
5+
import lombok.Data;
6+
7+
@Data
8+
public class SegmentConditionModel {
9+
private SegmentConditions operator;
10+
private String value;
11+
@JsonProperty("property_")
12+
private String property;
13+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.flagsmith.flagengine.segments;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.flagsmith.flagengine.features.FeatureStateModel;
5+
import com.flagsmith.utils.models.BaseModel;
6+
import java.util.List;
7+
import lombok.Data;
8+
9+
@Data
10+
public class SegmentModel extends BaseModel {
11+
private Integer id;
12+
private String name;
13+
private List<SegmentRuleModel> rules;
14+
@JsonProperty("feature_states")
15+
private List<FeatureStateModel> featureStates;
16+
}

0 commit comments

Comments
 (0)