diff --git a/packages/user-access-policy/src/rule/mongoose/indexes/mongooseIndex.ts b/packages/user-access-policy/src/rule/storage/mongoose/indexes/mongooseIndex.ts similarity index 100% rename from packages/user-access-policy/src/rule/mongoose/indexes/mongooseIndex.ts rename to packages/user-access-policy/src/rule/storage/mongoose/indexes/mongooseIndex.ts diff --git a/packages/user-access-policy/src/rule/mongoose/indexes/performanceRuleIndexes.ts b/packages/user-access-policy/src/rule/storage/mongoose/indexes/performanceRuleIndexes.ts similarity index 100% rename from packages/user-access-policy/src/rule/mongoose/indexes/performanceRuleIndexes.ts rename to packages/user-access-policy/src/rule/storage/mongoose/indexes/performanceRuleIndexes.ts diff --git a/packages/user-access-policy/src/rule/mongoose/indexes/uniqueRuleIndexes.ts b/packages/user-access-policy/src/rule/storage/mongoose/indexes/uniqueRuleIndexes.ts similarity index 100% rename from packages/user-access-policy/src/rule/mongoose/indexes/uniqueRuleIndexes.ts rename to packages/user-access-policy/src/rule/storage/mongoose/indexes/uniqueRuleIndexes.ts diff --git a/packages/user-access-policy/src/rule/mongoose/mongooseRule.ts b/packages/user-access-policy/src/rule/storage/mongoose/mongooseRule.ts similarity index 85% rename from packages/user-access-policy/src/rule/mongoose/mongooseRule.ts rename to packages/user-access-policy/src/rule/storage/mongoose/mongooseRule.ts index 02259b453..c02ba59dd 100644 --- a/packages/user-access-policy/src/rule/mongoose/mongooseRule.ts +++ b/packages/user-access-policy/src/rule/storage/mongoose/mongooseRule.ts @@ -1,7 +1,7 @@ import {Schema} from "mongoose"; -import type Rule from "../rule.js"; -import mongooseIp from "../../ip/mongooseIp.js"; -import mongooseConfig from "../../config/mongooseConfig.js"; +import type Rule from "../../rule.js"; +import mongooseIp from "../../../ip/mongooseIp.js"; +import mongooseConfig from "../../../config/mongooseConfig.js"; const mongooseRule = new Schema({ isUserBlocked: { type: Boolean, required: true }, diff --git a/packages/user-access-policy/src/rule/mongoose/mongooseRuleRecord.ts b/packages/user-access-policy/src/rule/storage/mongoose/mongooseRuleRecord.ts similarity index 51% rename from packages/user-access-policy/src/rule/mongoose/mongooseRuleRecord.ts rename to packages/user-access-policy/src/rule/storage/mongoose/mongooseRuleRecord.ts index 2e4f59ceb..f78e86cec 100644 --- a/packages/user-access-policy/src/rule/mongoose/mongooseRuleRecord.ts +++ b/packages/user-access-policy/src/rule/storage/mongoose/mongooseRuleRecord.ts @@ -1,7 +1,7 @@ import type { Types } from "mongoose"; -import type Rule from "../rule.js"; +import type RuleRecord from "../ruleRecord"; -interface MongooseRuleRecord extends Rule { +interface MongooseRuleRecord extends RuleRecord { _id: Types.ObjectId; } diff --git a/packages/user-access-policy/src/rule/mongoose/mongooseRuleSchema.ts b/packages/user-access-policy/src/rule/storage/mongoose/mongooseRuleSchema.ts similarity index 100% rename from packages/user-access-policy/src/rule/mongoose/mongooseRuleSchema.ts rename to packages/user-access-policy/src/rule/storage/mongoose/mongooseRuleSchema.ts diff --git a/packages/user-access-policy/src/rule/storage/mongooseRulesStorage.ts b/packages/user-access-policy/src/rule/storage/mongoose/mongooseRulesStorage.ts similarity index 89% rename from packages/user-access-policy/src/rule/storage/mongooseRulesStorage.ts rename to packages/user-access-policy/src/rule/storage/mongoose/mongooseRulesStorage.ts index 0728373ca..85b358350 100644 --- a/packages/user-access-policy/src/rule/storage/mongooseRulesStorage.ts +++ b/packages/user-access-policy/src/rule/storage/mongoose/mongooseRulesStorage.ts @@ -13,12 +13,12 @@ // limitations under the License. import { Address4, type Address6 } from "ip-address"; import type { Model } from "mongoose"; -import type RulesStorage from "./rulesStorage.js"; -import type Rule from "../rule.js"; -import type RuleRecord from "../mongoose/mongooseRuleRecord.js"; -import type SearchRuleFilters from "./filters/search/searchRuleFilters.js"; -import type SearchRuleFilterSettings from "./filters/search/searchRuleFilterSettings.js"; -import IpVersion from "../../ip/ipVersion.js"; +import type RulesStorage from "../rulesStorage.js"; +import type Rule from "../../rule.js"; +import type SearchRuleFilters from "../filters/search/searchRuleFilters.js"; +import type SearchRuleFilterSettings from "../filters/search/searchRuleFilterSettings.js"; +import IpVersion from "../../../ip/ipVersion.js"; +import type MongooseRuleRecord from "../mongoose/mongooseRuleRecord.js"; class MongooseRulesStorage implements RulesStorage { private model: Model | null; @@ -27,7 +27,7 @@ class MongooseRulesStorage implements RulesStorage { this.model = model; } - public async insertMany(records: Rule[]): Promise { + public async insertMany(records: Rule[]): Promise { if (!this.model) { throw new Error("Model is not set"); } @@ -38,7 +38,7 @@ class MongooseRulesStorage implements RulesStorage { public async find( filters: SearchRuleFilters, filterSettings?: SearchRuleFilterSettings, - ): Promise { + ): Promise { if (!this.model) { throw new Error("Model is not set"); } diff --git a/packages/user-access-policy/src/rule/storage/ruleRecord.ts b/packages/user-access-policy/src/rule/storage/ruleRecord.ts new file mode 100644 index 000000000..d19bf86da --- /dev/null +++ b/packages/user-access-policy/src/rule/storage/ruleRecord.ts @@ -0,0 +1,7 @@ +import type Rule from "../rule"; + +interface RuleRecord extends Rule { + _id: unknown; +} + +export default RuleRecord; diff --git a/packages/user-access-policy/src/rule/storage/rulesStorage.ts b/packages/user-access-policy/src/rule/storage/rulesStorage.ts index 8cdd03aaf..094b85fd6 100644 --- a/packages/user-access-policy/src/rule/storage/rulesStorage.ts +++ b/packages/user-access-policy/src/rule/storage/rulesStorage.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. import type Rule from "../rule.js"; -import type RuleRecord from "../ruleRecord.js"; +import type RuleRecord from "./ruleRecord.js"; import type DeleteRuleFilters from "./filters/deleteRuleFilters.js"; import type SearchRuleFilters from "./filters/search/searchRuleFilters.js"; import type SearchRuleFilterSettings from "./filters/search/searchRuleFilterSettings.js";