// ------------------------------------------------------------------------ // 🚀 Project Active8 // 🔗 Active Thing (activething.com) git.activething.com/go // // File name active.go // ✍️ Created by DEV // 📅 Modified 11/12/2024 // // 🔒 Copyright 2024 activething.com // // 📜 LICENSE -------------------------------------------------------------- // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // ------------------------------------------------------------------------ package vigil import "errs" var ( // G Public vars G = struct { ErrInvalidActor errs.ErrCode } { ErrInvalidActor : errs.ErrCode("invalid-actor-type"), } // g Private vars g = struct { actorFlags []ActorStateFlags actorFlagNames []string actorModeNames []string actorTypesInfo []ActorTypeInfo }{ actorFlags: []ActorStateFlags{ ActorFlagVerified, ActorFlagRequired, ActorFlagRestricted, ActorFlagLimited, ActorFlagCompromised, }, actorFlagNames: []string { "Verified", "Required", "Restricted", "Limited", "Compromised", }, actorModeNames: []string{ "Active", "Inactive", "Pending", "Suspended ", "Revoked", "Paused", "Expired", "Deleted", }, actorTypesInfo: []ActorTypeInfo { { Name: "User", Atts: ActorTypeAttCanLogin | ActorTypeAttExclusive | ActorTypeAttAcceptCredentials, AcceptFrom: []ActorType{ActorTypeRole,ActorTypeGroup,ActorTypeOrganization}, }, { Name: "Role", Atts: ActorTypeAttGrantCredentials | ActorTypeAttAcceptCredentials, GrantFor: []ActorType{ActorTypeRole,ActorTypeUser}, AcceptFrom: []ActorType{ActorTypeRole}, }, { Name: "Group", Atts: ActorTypeAttGrantCredentials, GrantFor: []ActorType{ActorTypeRole,ActorTypeUser}, }, { Name: "Organization", Atts: ActorTypeAttGrantCredentials, GrantFor: []ActorType{ActorTypeRole,ActorTypeUser}, }, { Name: "Service", }, { Name: "Device", }, }, } )