You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

112 lines
2.5 KiB

// ------------------------------------------------------------------------
// 🚀 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",
},
},
}
)

Powered by TurnKey Linux.