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